/* winner 페이지 전용 */
.haetsal-winner-page{
  max-width:1180px;
  margin:0 auto;
  padding:20px 0;
}

.haetsal-winner-hero{
  background:#f4ede6;
  border-radius:30px;
  padding:40px;
  margin-bottom:30px;
}

.haetsal-winner-title{
  font-size:36px;
  font-weight:800;
}

.haetsal-winner-awards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.haetsal-winner-card{
  background:#fff;
  border-radius:24px;
  padding:20px;
  box-shadow:0 10px 30px rgba(0,0,0,0.05);
}

.haetsal-winner-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:30px;
}

@media(max-width:768px){
  .haetsal-winner-awards,
  .haetsal-winner-gallery{
    grid-template-columns:1fr;
  }
}
/* ===== winner 카드 강화 ===== */

.haetsal-winner-awards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}

.haetsal-winner-card{
  background:#fff;
  border-radius:26px;
  padding:20px;
  box-shadow:0 14px 34px rgba(0,0,0,0.06);
  transition:all .25s ease;
}

.haetsal-winner-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 44px rgba(0,0,0,0.12);
}

/* 이미지 강조 */
.haetsal-winner-card img{
  border-radius:16px;
  background:#fff;
  padding:10px;
}

/* 텍스트 톤 정리 */
.haetsal-winner-card h4{
  font-size:20px;
  font-weight:800;
  margin:12px 0 8px;
}

.haetsal-winner-card p{
  font-size:14px;
  color:#6a625b;
  line-height:1.8;
}

/* 중요 섹션 강조 */
.haetsal-winner-section-title{
  font-size:28px;
  font-weight:800;
  margin-bottom:8px;
}

/* 이유 박스 강화 */
.haetsal-winner-reason-item{
  background:#fff;
  border-radius:20px;
  padding:20px;
  box-shadow:0 10px 26px rgba(0,0,0,0.05);
}
.haetsal-winner-cta-box{
  margin-top:40px;
  padding:40px;
  border-radius:28px;
  background:linear-gradient(135deg,#8b5a3c,#a86c45);
  color:#fff;
}

.haetsal-winner-cta-box h3{
  font-size:28px;
  font-weight:800;
  margin-bottom:10px;
}

.haetsal-winner-cta-box p{
  opacity:0.9;
  line-height:1.7;
}

.haetsal-winner-cta-buttons{
  margin-top:20px;
  display:flex;
  gap:12px;
}

.cta-main{
  background:#fff;
  color:#8b5a3c;
  padding:12px 24px;
  border-radius:30px;
  font-weight:700;
  text-decoration:none;
}

.cta-sub{
  border:1px solid rgba(255,255,255,0.5);
  padding:12px 24px;
  border-radius:30px;
  color:#fff;
  text-decoration:none;
}
.cta-main{
  background:#fff;
  color:#8b5a3c;
  padding:13px 26px;
  border-radius:30px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 6px 14px rgba(0,0,0,0.15);
}

.cta-main:hover{
  transform:translateY(-2px);
}

/* ============================================
   햇살농원 전체 페이지 통일 패치
   공통 폭 / 상단 히어로 / 카드 / 게시판 / 상품리스트 / 플로팅 구매버튼
============================================ */

:root{
    --haetsal-max:1280px;
    --haetsal-side:20px;
    --haetsal-bg:#f7f5f2;
    --haetsal-surface:#ffffff;
    --haetsal-line:#ebe3da;
    --haetsal-soft:#f3ece4;
    --haetsal-hero:#efe7dc;
    --haetsal-text:#1f1a17;
    --haetsal-muted:#756c63;
    --haetsal-brown:#a86f45;
    --haetsal-brown-dark:#8f5c36;
    --haetsal-black:#111111;
    --haetsal-shadow:0 10px 30px rgba(31,26,23,.05);
    --haetsal-radius:24px;
}

html, body{
    background:var(--haetsal-bg);
    color:var(--haetsal-text);
}

#container,
#wrapper,
#contents_wrap,
.sub_container,
.shop-content,
#sct,
#sqa,
#bo_list,
#fview,
#sit,
#sit_ov,
#sit_inf,
#sit_use,
#sit_qa,
#sit_rel,
#qa_list,
#ctt_con,
#contents,
.page-wrap{
    box-sizing:border-box;
}

#container{
    width:100%;
}

/* 공통 최대폭 통일 */
#contents,
#ctt,
#ctt_con,
#bo_w,
#bo_list,
#bo_v,
#bo_gall,
#fview,
#sit,
#sit_ov,
#sit_inf,
#sit_use,
#sit_qa,
#sit_rel,
#sct,
#sct_sort,
#sct_ct,
#sqa,
#qa_list,
.qa-list,
.sod_fin,
.new_win,
#coupon,
#smb_my,
#smb_order,
#smb_addr,
#smb_inquiry,
#smb_review,
#smb_point,
#smb_coupon,
#smb_wish,
#smb_cart,
#smb_order_view,
#smb_pay,
#smb_cash,
#smb_memo,
#smb_config,
#smb_board,
#smb_shop,
#smb_content,
.haetsal-page-shell{
    max-width:var(--haetsal-max);
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:var(--haetsal-side) !important;
    padding-right:var(--haetsal-side) !important;
}

/* 내부 주요 박스 통일 */
#bo_list,
#bo_v,
#bo_w,
#qa_list,
#sct,
#sit,
#sit_ov,
#sit_use,
#sit_qa,
#ctt_con,
.haetsal-card-wrap{
    background:transparent;
}

.haetsal-unified-box,
#bo_list,
#bo_v,
#bo_w,
#qa_list,
#sct,
#sit,
#sit_ov,
#sit_use,
#sit_qa,
#ctt_con{
    background:var(--haetsal-surface);
    border:1px solid var(--haetsal-line);
    border-radius:28px;
    box-shadow:var(--haetsal-shadow);
}

/* ============================================
   공통 상단 히어로
============================================ */
.haetsal-subhero-wrap{
    max-width:var(--haetsal-max);
    margin:0 auto 34px;
    padding:0 var(--haetsal-side);
    box-sizing:border-box;
}

.haetsal-subhero{
    background:var(--haetsal-hero);
    border-radius:24px;
    padding:34px 38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.haetsal-subhero-copy{
    min-width:0;
}

.haetsal-subhero-label{
    display:block;
    margin-bottom:10px;
    font-size:11px;
    line-height:1;
    letter-spacing:.18em;
    color:var(--haetsal-brown);
    font-weight:700;
}

.haetsal-subhero-title{
    margin:0 0 10px;
    font-size:22px;
    line-height:1.35;
    letter-spacing:-0.03em;
    color:var(--haetsal-text);
    font-weight:800;
}

.haetsal-subhero-desc{
    margin:0;
    font-size:13px;
    line-height:1.8;
    color:var(--haetsal-muted);
}

.haetsal-subhero-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.haetsal-btn-black,
.haetsal-btn-line,
.haetsal-fab-buy{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none !important;
    white-space:nowrap;
    border-radius:999px;
    font-weight:700;
    line-height:1;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.haetsal-btn-black{
    min-width:138px;
    height:46px;
    padding:0 22px;
    background:var(--haetsal-black);
    color:#fff !important;
    box-shadow:0 12px 24px rgba(17,17,17,.12);
}

.haetsal-btn-black:hover{
    transform:translateY(-1px);
    box-shadow:0 16px 28px rgba(17,17,17,.18);
}

.haetsal-btn-line{
    min-width:126px;
    height:46px;
    padding:0 22px;
    border:1px solid rgba(17,17,17,.15);
    background:#fff;
    color:var(--haetsal-text) !important;
}

.haetsal-btn-line:hover{
    background:#faf8f5;
    transform:translateY(-1px);
}

/* ============================================
   플로팅 구매버튼
============================================ */
.haetsal-fab-buy{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:9999;
    height:52px;
    padding:0 22px;
    background:linear-gradient(135deg, #b66f3c 0%, #8f5c36 100%);
    color:#fff !important;
    box-shadow:0 14px 26px rgba(143,92,54,.28);
}

.haetsal-fab-buy:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 30px rgba(143,92,54,.34);
}

/* ============================================
   페이지별 카드 / 표 / 리스트 톤 통일
============================================ */
#bo_list .tbl_head01,
#bo_v .tbl_frm01,
#qa_list table,
#sct_sort,
#sct_ct,
#sit_inf .tbl_frm01,
#sit_use .tbl_head01,
#sit_qa .tbl_head01,
#ctt_con table{
    border-color:var(--haetsal-line) !important;
}

#bo_list table,
#qa_list table,
#sit_use table,
#sit_qa table,
#ctt_con table{
    width:100%;
    border-collapse:collapse;
}

#bo_list th,
#qa_list th,
#sit_use th,
#sit_qa th,
#ctt_con th{
    background:#faf7f3;
    color:#4e463f;
    font-weight:700;
}

#bo_list th,
#bo_list td,
#qa_list th,
#qa_list td,
#sit_use th,
#sit_use td,
#sit_qa th,
#sit_qa td,
#ctt_con th,
#ctt_con td{
    border-bottom:1px solid var(--haetsal-line) !important;
}

/* 내용관리 페이지 본문 영역 통일 */
#ctt_con,
#ctt_con .haetsal-content-body{
    padding:28px;
    line-height:1.9;
    color:#4e463f;
}

/* 상품 리스트 통일 */
#sct{
    padding:22px;
}

#sct_sort{
    margin-bottom:16px;
    border:1px solid var(--haetsal-line);
    border-radius:18px;
    background:#fff;
    padding:12px 14px;
}

#sct_sort a,
#sct_sort button{
    border-radius:999px;
}

.sct > li,
.sct_li,
#sct .sct_li,
#sct .sct_list > li{
    border:1px solid var(--haetsal-line) !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:var(--haetsal-shadow);
    overflow:hidden;
}

.sct_img,
.sct_img img{
    border-radius:0 !important;
}

.sct_txt{
    color:var(--haetsal-text) !important;
    font-weight:700;
}

.sct_cost,
.sct_cost strong,
.sct_cost b{
    color:#bb5d2d !important;
    font-weight:800 !important;
}

/* 게시판/QA 버튼 톤 */
.btn,
.btn_confirm a,
.btn_confirm button,
#bo_list .btn_b01,
#bo_list .btn_b02,
#bo_v .btn_b01,
#bo_v .btn_b02,
#qa_list .btn_b01,
#qa_list .btn_b02,
#sct .btn01,
#sct .btn02{
    border-radius:999px !important;
}

.btn_submit,
.btn_confirm .btn_submit,
.haetsal-tone-primary{
    background:#bb5d2d !important;
    border-color:#bb5d2d !important;
    color:#fff !important;
}

/* ============================================
   Q&A / 후기 / 문의 공통 상단 여백
============================================ */
#bo_list,
#qa_list,
#sct,
#ctt_con,
#sit,
#sit_use,
#sit_qa,
#bo_v,
#bo_w{
    margin-top:0 !important;
}

/* ============================================
   반응형
============================================ */
@media (max-width:1024px){
    :root{
        --haetsal-max:100%;
        --haetsal-side:16px;
    }

    .haetsal-subhero{
        padding:28px 24px;
    }
}

@media (max-width:768px){
    .haetsal-subhero{
        flex-direction:column;
        align-items:flex-start;
        gap:18px;
        padding:24px 20px;
        border-radius:20px;
    }

    .haetsal-subhero-title{
        font-size:18px;
    }

    .haetsal-subhero-desc{
        font-size:12px;
        line-height:1.7;
    }

    .haetsal-subhero-actions{
        width:100%;
    }

    .haetsal-btn-black,
    .haetsal-btn-line{
        flex:1 1 auto;
        min-width:0;
    }

    .haetsal-fab-buy{
        right:16px;
        bottom:16px;
        height:48px;
        padding:0 18px;
        font-size:14px;
    }

    #ctt_con,
    #ctt_con .haetsal-content-body,
    #sct{
        padding:18px;
    }
}
#ctt,
#ctt_con,
#ctt_con * {
    max-width: 100% !important;
}

#ctt_con img {
    max-width: 100%;
    height: auto;
}
#ctt {
    max-width: 1280px !important;
    margin: 0 auto;
    padding: 0 20px;
}
#ctt .inner,
#ctt .box,
#ctt .content-inner {
    max-width: 100% !important;
}
/* 전 페이지 공통 폭 */
#ctt,
#container,
.qa_wrap,
.tbl_wrap,
.shop-list-wrap,
.content-wrap {
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* 내용관리 본문 내부가 또 한번 좁아지는 것 방지 */
#ctt_con,
.ctt_admin,
.cnt_wr {
    max-width: 100%;
}

/* 내용관리 이미지 */
#ctt_con img,
.ctt_admin img,
.cnt_wr img {
    max-width: 100%;
    height: auto;
}