:root {
    --text: #151515;
    --muted: #767676;
    --line: #ececec;
    --brand: #d88913;
    --brand-dark: #a76212;
    --accent: #f7b72f;
    --white: #fff;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--text);
    font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.45;
    background: #fff;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
}

.inner {
    width: min(100% - 40px, 1500px);
    margin: 0 auto;
}

/* 헤더는 shop.head.php에서 통합 관리 */

.hero{position:relative;width:100%;min-height:clamp(520px,31.5vw,605px);overflow:hidden;background:#17191a url('../images/main_bg.jpg') center/cover no-repeat;color:#fff}
.hero:before{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,21,.45) 0%,rgba(18,20,21,.13) 45%,rgba(18,20,21,0) 70%);content:"";pointer-events:none}
.hero-inner{position:relative;z-index:1;display:flex;align-items:center;width:min(100% - 48px,1500px);min-height:inherit;margin:0 auto;padding:42px 0 38px}
.hero-copy{width:min(100%,600px)}
.hero-eyebrow{margin:0 0 8px;font-size:24px;font-weight:400;line-height:1.35;letter-spacing:-.04em}
.hero h1{display:flex;align-items:flex-start;flex-direction:column;margin:0;font-size:72px;font-weight:900;line-height:.94;letter-spacing:-.065em}
.hero h1 span{color:#fff}
.hero h1 strong{color:#ffd400;font:inherit}
.hero-description{margin:18px 0 0;font-size:24px;font-weight:500;line-height:1.4;letter-spacing:-.045em}
.hero-actions{display:flex;gap:12px;margin-top:24px}
.hero-button{display:inline-flex;align-items:center;justify-content:center;min-width:188px;height:48px;padding:0 22px;border:1px solid #fff;border-radius:7px;font-size:17px;font-weight:800;line-height:1}
.hero-button-primary{background:#ffd400;color:#171717}
.hero-button:hover{transform:translateY(-2px)}
.hero-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:26px 0 0;padding:0;list-style:none}
.hero-values li{position:relative;display:flex;align-items:center;gap:11px;min-width:0;padding:0 17px}
.hero-values li:first-child{padding-left:0}
.hero-values li:last-child{padding-right:0}
.hero-values li+li:before{position:absolute;top:50%;left:0;width:1px;height:52px;background:rgba(255,255,255,.38);transform:translateY(-50%);content:""}
.hero-values img{display:block;width:58px!important;max-width:none;height:58px!important;flex:none;object-fit:contain}
.hero-values span{display:flex;min-width:0;flex-direction:column}
.hero-values strong{font-size:15px;font-weight:800;line-height:1.3;white-space:nowrap}
.hero-values small{margin-top:3px;font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap}
.notice-grid em::after,
.section-head a::after {
    display: inline-block;width: 8px;height: 8px;margin-left: 1px;border-top: 2px solid currentColor;border-right: 2px solid currentColor;transform: rotate(45deg);content: "";
}

.notice-grid em::after{
    display: inline-block;width: 22px;height: 17px;margin-left: 10px;border:none;transform: rotate(0);content: "";
    background: url('../images/wide-card_arr.png')no-repeat center/cover;
}

.notice-grid .ntbg em::after{
    display: inline-block;width: 22px;height: 17px;margin-left: 10px;border:none;transform: rotate(0);content: "";
    background: url('../images/ntbg_arr.png')no-repeat center/cover;
}

/* category s */
.quick-menu {display: grid;grid-template-columns: repeat(3, 1fr);gap: 20px;padding: 70px 0 32px;}
.quick-card {
    min-height: 160px;height:275px;padding: 30px 34px;border: 1px solid var(--line);border-radius: 10px;background: #fff;position:relative;
    display:flex;align-items: center;
}
.quick-card.quick_01 {background: url('../images/cate_img_bg1.png')no-repeat center / cover;}
.quick-card.quick_02 {background: url('../images/cate_img_bg2.png')no-repeat center / cover;}
.quick-card.quick_03 {background: url('../images/cate_img_bg3.png')no-repeat center / cover;}
.quick-card .quick_btn{position:absolute;inset:0;display:block;padding:34px;color:#fff}
.quick-card .quick_btn>img{position:absolute;left:24px;bottom:22px;left:auto;width:120px}
.quick-menu-copy{
    position:absolute;top:50%;transform:translateY(-65%);z-index:2;display:flex!important;align-items:flex-start;flex-direction:column;font-size:inherit!important;line-height:inherit!important;gap:2%;
}
.quick-menu-copy strong{margin:0;color:#ffd400;font-size:40px;font-weight:900;line-height:1.02;letter-spacing:-.055em}
.quick-menu-copy small{margin-top:12px;color:#fff;font-size:18px;font-weight:500;line-height:1.35;letter-spacing:-.025em}
.quick_02 .quick-menu-copy strong,.quick_02 .quick-menu-copy small{color:#242422}
/* category e */

/* partner s */
.partner {padding: 44px 0 50px;text-align: center;}
.partner h2 {margin: 0 0 16px;font-size: 22px;font-weight: 800;}
.partner-slider-wrap {position: relative;display: flex;align-items: center;gap: 10px;}
.partner-swiper {width: 100%;overflow: hidden;}

.partner-card {
    display: flex;align-items: center;justify-content: center;height: 100px;border: 1px solid #e6e6e6;border-radius: 10px;background: #fff;
}

.partner-card img {/* max-width: 70%;max-height: 56px; */object-fit: contain;}
.slide-btn {flex: 0 0 28px;width: 28px;height: 28px;padding: 0;border: 0;background: transparent;cursor: pointer;}
.slide-btn img {width: 100%;height: 100%;display: block;}
/* partner e */

/* 구매혜택 , 조리보관 s */
.info-section {padding: 22px 0;}
.info-section h2 {margin: 0 0 14px;font-size: 28px;font-weight: 800;}
.benefit-grid,
.cook-grid {display: grid;border: 1px solid #e6e6e6;border-radius: 10px;background: #fff;}
.benefit-grid {grid-template-columns: repeat(5, 1fr);}
.cook-grid {grid-template-columns: auto auto auto auto;align-items: center;padding: 0 28px;}

.benefit-grid > div,
.cook-grid > div {padding:40px 20px;display:flex;align-items:center;justify-content:space-between;position:relative;}
.cook-grid > div {padding: 40px 30px;justify-content: space-between;gap: 50px;white-space: nowrap;}
.cook-grid > div:first-child {padding-left: 0;}
.cook-grid > div:last-child {padding-right: 0;}

.benefit-grid div:last-child,
.cook-grid div:last-child {border-right: 0;}
.benefit-grid > div:after, .cook-grid > div:after {
    content:"";display:block;width: 1px;height: 60px;background: #e6e6e6;position:absolute;right:0;top:50%;transform:translateY(-50%);
}
.benefit-grid > div:last-child:after, .cook-grid > div:last-child:after {display: none;}

.benefit-grid .bnf_img {padding:0;}
.benefit-grid .bnf_img.bnf01 {width: 77px;height: 48px;}
.benefit-grid .bnf_img.bnf02 {width: 64px;height: 67px;}
.benefit-grid .bnf_img.bnf03 {width: 69px;height: 45px;}
.benefit-grid .bnf_img.bnf04 {width: 68px;height: 68px;}
.benefit-grid .bnf_img.bnf05 {width: 68px;height: 46px;}
.benefit-grid .bnf_img img {width: 100%;}

.cook-grid .cook_img {padding:0;}
.cook-grid .cook_img.cook01 {width: 78px;height: 52px;}
.cook-grid .cook_img.cook02 {width: 53px;height: 63px;}
.cook-grid .cook_img.cook03 {width: 172px;height: 63px;}
.cook-grid .cook_img.cook04 {width: 58px;height: 58px;}
.cook-grid .cook_img img {width: 100%;}

.benefit-grid strong,
.cook-grid strong {display: block;font-size: 22px;font-weight: 700;}

.benefit-grid span,
.cook-grid span {color: #9b9b9b;font-size: 18px;font-weight: 700;}
.cook-grid span.spanColor {color: #f5a200;font-size: 22px;}

.cook-grid .span {display:flex;align-items:center;gap:5px;}

.cook-grid span.highlight {color: #9b9b9b;font-size: 16px;font-weight: 700;padding:4px;background:#f5a200;color:#fff;}
.cook-grid .is-point {color: var(--brand);}
.caption {margin: 15px 0 0;color: #9b9b9b;font-size: 18px;text-align: center;font-weight: 700;}
/* 구매혜택 , 조리보관 e */

/* 매장안내 , 제휴문의 , 창업 문의 s */
.notice-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px;padding: 42px 0 60px;}
.notice-grid a {display:flex;align-items:center;}
.notice-grid .wide-card {
    width:100%;min-height:250px;
    grid-column: 1 / -1;
    background: url('../images/stoye_bg_new_2.png')no-repeat center /cover;
    color:#040000;
}
.notice-grid .wide-card span {
    color:#040000;
}
.notice-grid .wide-card em {
    background: #040000;border:none;border-radius:10px;
    color:#f2c41c;font-style: normal;font-weight: 900;display: inline-flex;
}
.notice-grid .ntbg_02 {
    width:100%;min-height:250px;
    background: url('../images/news_bg_new.png')no-repeat center /cover;
    color:#f2c41c;
}
.notice-grid .ntbg_03 {
    width:100%;min-height:250px;
    background: url('../images/inquiry_bg_new.png')no-repeat center /cover;
    color:#f2c41c;
}

.notice-grid .ntbg span {
    color:#fff;
}
.notice-grid .ntbg em {
    background: #f2c41c;border:none;border-radius:10px;
    color:#040000;font-style: normal;font-weight: 900;display: inline-flex;
}

.notice-grid a {border: 1px solid #e6e6e6;border-radius: 10px;background: #fff;}
.notice-grid a {min-height: 118px;padding: 26px 28px;}
.notice-grid strong {display: block;margin-bottom: 14px;font-size: 35px;font-weight: 800;line-height: 1;}
.notice-grid span {display: block;color: #9b9b9b;font-size: 24px;font-weight: 700;line-height: 38px;}

.notice-grid strong span {display: inline;margin-bottom: 14px;font-size: 28px;font-weight: 800;color:#f5a200;}

.notice-grid em {color: #f5a200;background: #fff;font-size: 18px;line-height: 1;padding:10px;margin-top: 20px;}
/* 매장안내 , 제휴문의 , 창업 문의 e */

/* CS s */
.site-cs {background: #eeeeee;}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    padding: 40px 0;
}

.footer-grid .cs_box {display:flex;justify-content: space-between;padding-right: 18px;border-right:1px solid #fff;}
.footer-grid .cs_box:last-child {border-right:0;}

.footer-grid .cs_box.cs_faq img.cs_icon {width: 88px;height: 88px;}
.footer-grid .cs_box.cs_inquiry img.cs_icon {width: 88px;height: 88px;}
.footer-grid .cs_box.cs_span img.cs_icon {width: 88px;height: 88px;}
.footer-grid .cs_box.cs_brand img.cs_icon {width: 88px;height: 88px;}

.footer-grid .cs_box.cs_faq .cs_btn_wrap  {margin-top: 30px;}
.footer-grid .cs_box.cs_faq .cs_btn_wrap img {width: 248px;}

.footer-grid .cs_box.cs_inquiry .cs_btn_wrap  {margin-top: 30px;}
.footer-grid .cs_box.cs_inquiry .cs_btn_wrap img {width: 168px;}

.footer-grid .cs_box.cs_brand .cs_btn_wrap  {margin-top: 30px;}
.footer-grid .cs_box.cs_brand .cs_btn_wrap img {width: 194px;}

.footer-grid strong {
  display: block;
  margin-bottom: 14px;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
}

.footer-grid span {
  display: block;
  color: #9b9b9b;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
}

.footer-grid .cs_span span {
    color:#000;
}
.footer-grid .cs_bar {border:1px solid #e6e6e6;background: #fff;border-radius:30px;width: 210px;text-align: center;height:35px;margin-bottom: 10px;}
.footer-grid .cs_bar a {font-size: 16px;font-weight: 700;color:#000;line-height: 35px;}

.footer-grid em {
  display: inline-flex;
  margin-top: 12px;
  padding: 7px 14px;
  border-radius: 999px;
  color: #fff;
  background: var(--accent);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.site-footer {
  background: #1f1f1f;
  color: #ddd;
  font-size: 14px;
}

.footer-inner {
  max-width: 1230px;
  margin: 0 auto;
  padding: 48px 24px;
}

.footer-row {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 56px;
  align-items: start;
}

.footer-logo h2,
.footer-purchase h3 {
  margin: 0;
  color: #fff;
  font-size: 20px;
}

.footer-purchase h3 {
  margin-bottom: 16px;
  font-size: 16px;
}

.footer-policy {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,0.16);
}

.footer-policy a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.footer-policy a:hover {
  text-decoration: underline;
}

.footer-company {
  padding-top: 22px;
  color: #aaa;
  line-height: 1.8;
}

.footer-company p {
  margin: 0;
}

.footer-company span {
  display: inline-block;
  margin-right: 20px;
}

.copyright {
  margin-top: 14px !important;
  color: #888;
}

.footer-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.footer-btns a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,0.22);
  color: #ddd;
  text-decoration: none;
}

.footer-btns a:hover {
  color: #fff;
  border-color: rgba(255,255,255,0.42);
}

.product-section{padding-top:72px;padding-bottom:20px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.section-head .main_tit{position:relative;margin:0;padding-left:14px;color:#080808;font-size:30px;line-height:1.2;font-weight:900;letter-spacing:-1.5px}
.section-head .main_tit:before{position:absolute;top:0;bottom:0;left:0;width:5px;background:#f4a000;content:""}
.section-head>a{position:relative;padding-right:23px;color:#111;font-size:17px;font-weight:800}
.section-head>a:after{position:absolute;top:50%;right:3px;width:9px;height:9px;border-top:2px solid #111;border-right:2px solid #111;content:"";transform:translateY(-50%) rotate(45deg)}
.product-row{position:relative}
.gnuboard-product-list{min-width:0;width:100%;overflow:hidden}
.product-swiper{width:100%;overflow:hidden}
.product-swiper .swiper-wrapper{align-items:stretch}
.product-card{position:relative;display:flex!important;height:auto!important;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #e3e3e3;border-radius:11px;background:#fff}
.product-thumb{position:relative;overflow:hidden;width:100%;background:#fff;aspect-ratio:1/1}
.product-image-link{display:flex;width:100%;height:100%;align-items:center;justify-content:center;padding:10px}
.product-image-link img{display:block;width:100%;height:100%;object-fit:contain}
.tag-wrap{position:absolute;top:10px;left:10px;z-index:3;display:flex;align-items:center;gap:4px}
.tag-wrap img{display:block;width:auto!important;height:23px!important;object-fit:contain}
.product-tag{display:inline-flex;align-items:center;justify-content:center;height:23px;padding:0 8px;border-radius:999px;color:#fff;font-size:11px;line-height:23px;font-weight:900;letter-spacing:-.2px}
.tag-best{background:#073fc4}
.tag-pick{background:#f29c00}
.tag-new{background:#f20b18}
.tag-hot{background:#7b39c8}
.tag-sale{background:#14945d}
.heart{position:absolute;top:10px;right:10px;z-index:4;width:27px;height:27px;padding:0;border:0;background:transparent;cursor:pointer}
.heart:before{display:block;color:#aaa;font-family:Arial,sans-serif;font-size:30px;font-weight:400;line-height:25px;content:"♡"}
.heart:hover:before,.heart.on:before,.heart.active:before{color:#f19a00;}
.shop_icon_soldout{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.42);color:#fff;font-weight:900}
.product-info{position:relative;display:flex;min-height:148px;flex:1;flex-direction:column;padding:13px 54px 15px 16px}
.rating{min-height:20px;margin:0 0 4px;color:#8c8c8c;font-size:13px;line-height:20px}
.rating:before{margin-right:4px;color:#f6a000;content:"★"}
.product-info h3{display:-webkit-box;overflow:hidden;margin:0;color:#080808;font-size:17px;line-height:1.42;font-weight:800;letter-spacing:-.7px;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.product-basic{margin:6px 0 0;color:#777;font-size:13px}
.product-price{display:flex;margin-top:auto;flex-direction:column;align-items:flex-start;gap:1px;padding-top:18px}
.product-price del{color:#aaa;font-size:13px}
.product-price strong{color:#050505;font-size:20px;line-height:1.2;font-weight:900}
.cart-btn{position:absolute;right:16px;bottom:16px;width:40px;height:40px;padding:0;border:0;background-color:transparent;background-image:url('../images/cart_on.png');background-repeat:no-repeat;background-position:center;background-size:contain;cursor:pointer}
.cart-btn:hover,.cart-btn:focus-visible{background-image:url('../images/cart_off.png')}
.cart-layer{position:absolute;right:0;bottom:0;z-index:20}
.product-row>.slide-btn{position:absolute;top:50%;z-index:8;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;transform:translateY(-50%);cursor:pointer}
.product-row>.slide-btn img{display:block;width:100%;height:100%;object-fit:contain}
.product-row>.prev{left:-36px}
.product-row>.next{right:-36px}
.product-row>.swiper-button-disabled{visibility:hidden}
.sct_noitem{width:100%;padding:60px 0;text-align:center;color:#888}

/* 메인 공통 안전 영역 · 반응형 파일과 분리 */
#shop-main,.site-cs{max-width:100%;overflow:hidden}
.quick-menu,.product-section,.partner,.info-section,.notice-grid,.footer-grid{min-width:0}
.product-row,.gnuboard-product-list,.product-swiper,.partner-slider-wrap,.partner-swiper{min-width:0;max-width:100%}

.notice-grid a{position:relative;width:100%;overflow:hidden;background-position:center;background-size:cover}
.notice-grid a>div{position:relative;z-index:1;max-width:48%}
