/* foodmart shop pages — 상품 상세·목록·장바구니 등을 모바일 프레임에 맞게 강제
   default_shop.css 의 min-width:1200px 및 고정폭 규칙을 강제 초기화 */

/* ============================================================ 프레임 강제 (최우선) */
html, body{ min-width:0 !important; overflow-x:hidden; }
body{ max-width:500px !important; margin:0 auto !important; }
#hd, #wrapper, #ft, #hd_wrapper, #container_wr, #ft_wr, #hd_pop, #hd_menu, #container{
  min-width:0 !important; width:100% !important; max-width:100% !important; margin:0 !important;
}

/* ============================================================ 컨테이너 */
.fm-shop{ padding:0; }
.fm-shop #container{ padding:12px 14px 24px !important; width:100% !important; float:none !important; }
.fm-shop #wrapper{ padding:0 !important; margin:0 !important; width:100% !important; }
.fm-shop #aside{ display:none !important; }        /* 좌측 사이드바 (인기상품·설문·배너) 숨김 */
.fm-shop #side_menu{ display:none !important; }    /* 우측 side_menu 위젯 숨김 */
.fm-shop #hd_wrapper, .fm-shop #tnb, .fm-shop #hd, .fm-shop #hd_menu{ display:none !important; }
.fm-shop #text_size{ display:none !important; }
.fm-shop #hd_h1{ position:absolute; left:-9999px; }
.fm-shop .shop-content{ margin:0; width:100% !important; }
.fm-shop .fm-page-title{ font-size:16px; font-weight:800; letter-spacing:-.03em; margin:8px 0 14px; }
.fm-shop #wrapper_title{ font-size:16px; font-weight:800; margin:0 0 12px; }

/* ============================================================ 상품 상세 — 기본 스킨의 desktop 레이아웃 강제 리셋 */
.fm-shop #sit_ov_wrap{
  display:block !important; overflow:hidden;
  width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important;
  border:0 !important; background:transparent !important;
}
.fm-shop #sit_ov_wrap::after{ content:''; display:block; clear:both; }
.fm-shop #sit_ov_from{ margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }

/* 상품 이미지 */
.fm-shop #sit_pvi{ float:none !important; width:100% !important; margin:0 0 16px !important; padding:0 !important; }
.fm-shop #sit_pvi_big{ position:relative; float:none !important; width:100% !important; text-align:center; }
.fm-shop #sit_pvi_big img{ width:100% !important; max-width:100% !important; height:auto !important; border-radius:14px; display:block; }
.fm-shop #sit_pvi_big a{ display:block; }
.fm-shop #sit_pvi_big a.visible{ display:block !important; }
.fm-shop #popup_item_image{ position:absolute; right:10px; bottom:10px; z-index:2;
  width:40px; height:40px; border-radius:50%; background:rgba(0,0,0,.6); color:#fff;
  display:grid; place-items:center; font-size:14px; }
.fm-shop #popup_item_image .sound_only{ position:absolute; left:-9999px; }
.fm-shop #sit_pvi_thumb{ list-style:none; margin:8px 0 0 !important; padding:0 !important;
  display:grid !important; grid-template-columns:repeat(5, 1fr) !important; gap:6px; }
.fm-shop #sit_pvi_thumb li{ display:block !important; float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
.fm-shop #sit_pvi_thumb img{ width:100%; height:auto; aspect-ratio:1/1; object-fit:cover;
  border-radius:8px; border:1px solid var(--line); }

/* 상품 요약·옵션·구매 */
.fm-shop #sit_ov{ float:none !important; width:100% !important; max-width:100% !important;
  min-height:0 !important; height:auto !important; padding:0 !important; margin:0 !important; }
.fm-shop #sit_rel{ padding:12px !important; margin:16px 0 !important; border-radius:12px; }
.fm-shop #sit_rel h2{ font-size:14px !important; margin:0 0 10px !important; text-align:left !important; }
.fm-shop #sit_rel .bx-wrapper{ margin:0 !important; }
.fm-shop #sit_title{ font-size:17px !important; font-weight:700 !important; margin:0 0 8px !important; line-height:1.45; letter-spacing:-.02em; color:#111 !important; padding:0 !important; border:0 !important; }
.fm-shop #sit_desc{ font-size:13px; color:var(--muted-2); margin:0 0 10px !important; padding:0 !important; }
.fm-shop #sit_opt_info{ font-size:11px; color:var(--muted); margin:0 0 8px !important; padding:0 !important; border:0 !important; }
.fm-shop #sit_star_sns{ padding:8px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin:0 0 14px !important; font-size:12px; color:var(--muted-2); display:flex; gap:10px; align-items:center; }
.fm-shop #sit_star_sns .sit_star{ height:14px; width:auto; }

/* 가격/옵션 테이블 */
.fm-shop #sit_ov_soldout{ margin:0 0 14px; }
.fm-shop table.tbl_frm01,
.fm-shop #sit_tbl,
.fm-shop #sit_opt_added,
.fm-shop #sit_ov table{
  width:100% !important; border-collapse:collapse; margin:0 0 12px;
  border:0 !important; background:transparent !important; }
.fm-shop table.tbl_frm01 caption,
.fm-shop #sit_tbl caption{ display:none; }
.fm-shop table.tbl_frm01 tr, .fm-shop #sit_tbl tr,
.fm-shop #sit_ov table tr{ display:grid; grid-template-columns:90px 1fr; gap:0 12px;
  padding:10px 0; border-bottom:1px solid var(--line-soft); }
.fm-shop table.tbl_frm01 th, .fm-shop #sit_tbl th,
.fm-shop #sit_ov table th{ text-align:left !important; padding:0 !important; background:transparent !important;
  font-size:11.5px !important; color:var(--muted-2) !important; font-weight:500 !important;
  border:0 !important; vertical-align:middle; align-self:center; }
.fm-shop table.tbl_frm01 td, .fm-shop #sit_tbl td,
.fm-shop #sit_ov table td{ padding:0 !important; background:transparent !important;
  font-size:14px; color:#111; border:0 !important; text-align:left !important; }
.fm-shop #sit_tot_price{ font-size:22px !important; font-weight:800 !important; letter-spacing:-.03em; color:#111 !important; }
.fm-shop .sit_disp{ font-size:14px; font-weight:700; }
.fm-shop .sit_cost{ font-size:12px; color:var(--muted); text-decoration:line-through; }
.fm-shop .sit_price_view{ font-size:20px; font-weight:800; letter-spacing:-.03em; }

/* 옵션 선택 */
.fm-shop select, .fm-shop input[type=text], .fm-shop input[type=number], .fm-shop input[type=email], .fm-shop input[type=tel], .fm-shop input[type=password], .fm-shop textarea{
  padding:11px 12px !important; border:1px solid var(--line) !important; border-radius:10px !important;
  font-size:14px !important; width:100% !important; background:#fff !important; height:auto !important;
  font-family:inherit; }
.fm-shop textarea{ min-height:80px; }

/* 수량·개별금액 리스트 */
.fm-shop #sit_opt_added li, .fm-shop #sit_sel_option li{ display:block; padding:10px 0; border-bottom:1px solid var(--line-soft);
  background:transparent !important; margin:0 !important; }
.fm-shop .sit_opt_prc{ font-size:13px; font-weight:600; }

/* 구매 버튼 */
.fm-shop #sit_ov_btn, .fm-shop .sit_btn{
  display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:16px 0 0 !important; padding:0 !important; }
.fm-shop #sit_ov_btn .btn_frmline, .fm-shop #sit_ov_btn button, .fm-shop #sit_ov_btn a.btn_frmline,
.fm-shop #sit_ov_btn a.btn_cart, .fm-shop #sit_ov_btn a.btn_buy, .fm-shop #sit_ov_btn input[type=button]{
  display:block; width:100% !important; padding:14px 0 !important; margin:0 !important; height:auto !important;
  border-radius:10px !important; font-size:14px !important; font-weight:700 !important;
  background:#111 !important; color:#fff !important; border:0 !important;
  text-align:center; letter-spacing:-.01em; line-height:1.2 !important; }
.fm-shop #sit_ov_btn .btn_cart, .fm-shop button[value*="장바구니"], .fm-shop input[value*="장바구니"], .fm-shop .btn_cart{
  background:var(--accent) !important; }
.fm-shop #sit_ov_btn .btn_wish, .fm-shop .btn_wish{ background:#fff !important; color:#111 !important; border:1px solid var(--line) !important; }

/* 하단 상세정보 탭 (상품정보/사용후기/상품문의/배송교환) */
.fm-shop #sit_info{
  display:block !important; width:100% !important; max-width:100% !important;
  min-height:0 !important; margin:16px 0 !important; padding:0 !important;
  border:0 !important; background:transparent !important;
}
.fm-shop #sit_tab{
  display:block !important; width:100% !important; max-width:100% !important;
  padding:0 !important; margin:0 !important;
}
.fm-shop #sit_tab .tab_tit{
  display:grid !important; grid-template-columns:repeat(4, 1fr) !important;
  border-bottom:1px solid var(--line) !important; background:#fff !important;
  padding:0 !important; margin:0 !important; list-style:none;
}
.fm-shop #sit_tab .tab_tit li{
  display:block !important; float:none !important; width:auto !important; padding:0 !important; margin:0 !important;
}
.fm-shop #sit_tab .tab_tit li button{
  display:block !important; width:100% !important; padding:12px 4px !important; margin:0 !important;
  font-size:12.5px !important; font-weight:600 !important;
  color:var(--muted-2) !important; background:#fff !important; border:0 !important;
  line-height:1.2 !important; text-align:center !important; letter-spacing:-.02em !important;
  border-bottom:2px solid transparent !important;
}
.fm-shop #sit_tab .tab_tit li .selected{
  color:#111 !important; font-weight:800 !important; border-bottom-color:#111 !important; background:#fff !important;
}
.fm-shop #sit_tab .tab_tit li .selected:after{ display:none !important; }
.fm-shop #sit_tab .tab_con{ padding:14px 0 !important; background:transparent !important; }
.fm-shop #sit_tab .item_use_count, .fm-shop #sit_tab .item_qa_count{
  display:inline-block; min-width:16px; height:16px; padding:0 5px; margin-left:2px;
  font-size:10px; line-height:16px; background:#eee; border-radius:8px; color:#666;
}

.fm-shop #sit_inf{ margin:12px 0 !important; padding:0 !important; }
.fm-shop #sit_inf h2, .fm-shop #sit_inf h3{ position:absolute !important; left:-9999px !important; }
.fm-shop #sit_inf_basic{ margin:0 0 16px !important; font-size:13px; line-height:1.6; }
.fm-shop #sit_inf_explan{ margin:0 0 16px !important; padding:0 !important; width:auto !important; overflow:visible !important; line-height:1.6; }
.fm-shop #sit_inf_explan img{ max-width:100% !important; height:auto !important; }
.fm-shop #sit_inf_open{ width:100% !important; margin:12px 0; border-collapse:collapse; }
.fm-shop #sit_inf_open th{ padding:8px 10px !important; font-size:12px; background:#f7f7f8 !important; border:0 !important; text-align:left !important; color:var(--muted-2) !important; }
.fm-shop #sit_inf_open td{ padding:8px 10px !important; font-size:13px; background:#fff !important; border:0 !important; border-bottom:1px solid var(--line-soft) !important; }

.fm-shop #sit_use, .fm-shop #sit_qa, .fm-shop #sit_dex{ padding:14px 0 !important; }
.fm-shop .sit_empty{ padding:40px 20px !important; text-align:center; color:var(--muted); font-size:13px; }
.fm-shop .btn02, .fm-shop .btn01{
  display:inline-block !important; padding:8px 14px !important; margin:0 4px 0 0 !important;
  border-radius:8px !important; font-size:12px !important; font-weight:600 !important;
  background:#f2f4f7 !important; color:#111 !important; border:0 !important;
}
.fm-shop .btn02.itemuse_form, .fm-shop .btn02.itemqa_form{ background:#111 !important; color:#fff !important; }

/* 상품 리스트 (list.php) */
.fm-shop .sct{ display:grid !important; grid-template-columns:repeat(2, 1fr) !important; gap:16px 10px !important;
  margin:0 !important; padding:0 !important; list-style:none; }
.fm-shop .sct li{ display:block !important; list-style:none; padding:0 !important; margin:0 !important; border:0 !important; float:none !important; width:auto !important; }
.fm-shop .sct .sct_li_last, .fm-shop .sct .sct_last{ margin-right:0 !important; }
.fm-shop .sct_img{ margin:0 0 8px !important; }
.fm-shop .sct_img img{ width:100% !important; aspect-ratio:1/1; object-fit:cover; border-radius:14px; height:auto !important; }
.fm-shop .sct_img a{ display:block; }
.fm-shop .sct_txt{ font-size:12.5px !important; font-weight:600 !important; line-height:1.35;
  margin:0 0 4px !important; padding:0 !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; color:#111; }
.fm-shop .sct_cost{ font-size:10.5px !important; color:var(--muted) !important; text-decoration:line-through !important; }
.fm-shop .sct_price{ font-size:15px !important; font-weight:800 !important; letter-spacing:-.03em !important; color:#111 !important; }
.fm-shop .sct_icon img{ height:16px; margin-right:2px; }

/* 리뷰/QA 리스트 */
.fm-shop .sit_use_list, .fm-shop .sit_qa_list{ padding:12px 0; border-bottom:1px solid var(--line-soft); }
.fm-shop .sit_use_list h4, .fm-shop .sit_qa_list h4{ font-size:13px; margin:0 0 6px; }

/* 카트/주문 폼 */
.fm-shop #sod_bsk_tot, .fm-shop #sod_bsk_list{ margin:0 0 16px; }
.fm-shop #sod_bsk_list table{ width:100%; }
.fm-shop #sod_bsk_list th, .fm-shop #sod_bsk_list td{ font-size:12.5px; padding:10px 6px; }

/* 페이지네이션 */
.fm-shop .pg_wrap{ text-align:center; margin:20px 0; }
.fm-shop .pg_wrap .pg_page, .fm-shop .pg_wrap .pg_current{
  display:inline-block; min-width:32px; padding:6px 10px; margin:0 2px; border-radius:6px;
  border:1px solid var(--line); font-size:12px; }
.fm-shop .pg_wrap .pg_current{ background:#111; color:#fff; border-color:#111; }

/* ============================================================ 검색 페이지 (search.php) — 모바일 프레임에 맞게 재조립 */
.fm-shop #ssch{ margin:8px 0 !important; padding:0 !important; }
.fm-shop #ssch h2{
  font-size:16px !important; font-weight:800 !important; letter-spacing:-.02em;
  line-height:1.3 !important; margin:0 0 14px !important; padding:0 !important;
  display:flex; align-items:baseline; justify-content:space-between; gap:8px;
}
.fm-shop #ssch h2 strong{ color:var(--accent) !important; font-weight:800 !important; }
.fm-shop #ssch h2 .ssch_result_total{
  float:none !important; font-size:12px !important; color:var(--muted-2) !important; font-weight:500 !important;
}
.fm-shop #ssch_frm{
  background:#fafafa !important; border:1px solid var(--line) !important; border-radius:12px !important;
  margin:0 0 14px !important; padding:12px !important; overflow:hidden;
}
.fm-shop #ssch_frm form{ margin:0; padding:0; }
.fm-shop #ssch_frm .ssch_scharea{
  padding:0 !important; border:0 !important;
  display:grid !important; grid-template-columns:1fr auto auto; gap:6px; align-items:center;
}
.fm-shop #ssch_frm .ssch_scharea label.sound_only{ display:none !important; }
.fm-shop #ssch_frm .ssch_scharea .ssch_input{
  height:auto !important; padding:10px 12px !important; border-radius:10px !important;
  font-size:13px !important; margin:0 !important; width:100% !important; border:1px solid var(--line) !important;
  box-shadow:none !important;
}
.fm-shop #ssch_frm .ssch_scharea .btn_submit{
  width:auto !important; height:auto !important; padding:10px 14px !important;
  border-radius:10px !important; background:#111 !important; color:#fff !important;
  border:0 !important; font-size:12.5px !important; font-weight:700 !important; margin:0 !important;
}
.fm-shop #ssch_frm .ssch_scharea .btn_submit i{ margin-right:2px; }
.fm-shop #ssch_frm .ssch_scharea .tooltip_icon{
  background:transparent !important; border:0 !important; color:var(--muted) !important; padding:6px !important;
  font-size:16px !important; cursor:pointer;
}
.fm-shop #ssch_frm .ssch_scharea .tooltip{
  display:none !important;
  position:absolute !important; z-index:5;
  padding:10px 12px !important; background:#333 !important; color:#fff !important;
  border-radius:8px !important; font-size:11px !important; line-height:1.5 !important;
  max-width:260px; margin-top:4px;
}
.fm-shop #ssch_frm .ssch_option{
  padding:10px 0 0 !important; margin:10px 0 0 !important;
  border:0 !important; border-top:1px solid var(--line) !important;
  display:flex !important; flex-wrap:wrap; gap:6px 8px; align-items:center;
}
.fm-shop #ssch_frm .ssch_option strong.sound_only{ display:none !important; }
.fm-shop #ssch_frm .ssch_option input[type=checkbox]{
  width:auto !important; height:auto !important; margin:0 3px 0 0 !important; padding:0 !important;
  transform:scale(.9);
}
.fm-shop #ssch_frm .ssch_option label{
  margin:0 !important; padding:0 !important; font-size:11.5px !important; color:var(--muted-2) !important;
  cursor:pointer; display:inline-flex; align-items:center;
}
.fm-shop #ssch_frm .ssch_option label span{ display:none; }
.fm-shop #ssch_frm .ssch_option .ssch_input{
  display:none !important;   /* 가격 범위 입력은 모바일에선 숨김 (뒤에 별도 UI로) */
}

/* 검색된 분류 */
.fm-shop #ssch_cate{
  background:transparent !important; border:0 !important; padding:0 !important; margin:0 0 10px !important;
}
.fm-shop #ssch_cate ul{
  display:flex !important; flex-wrap:wrap; gap:4px; margin:0 !important; padding:0 !important; list-style:none;
}
.fm-shop #ssch_cate li{
  float:none !important; width:auto !important; border:0 !important;
}
.fm-shop #ssch_cate li a{
  display:inline-block !important; padding:5px 10px !important;
  border-radius:999px !important; background:#f2f4f7 !important; color:#333 !important;
  font-size:11.5px !important; font-weight:500 !important; line-height:1 !important;
}
.fm-shop #ssch_cate li a span{ color:var(--muted) !important; font-size:10.5px !important; }

/* 정렬 옵션 */
.fm-shop #ssch_sort_all{
  display:flex !important; flex-wrap:wrap; gap:4px 6px;
  margin:0 0 14px !important; padding:0 !important; list-style:none;
  border:0 !important;
}
.fm-shop #ssch_sort_all li{
  float:none !important; height:auto !important; padding:0 !important; margin:0 !important;
  border:0 !important; line-height:1 !important; position:relative !important;
}
.fm-shop #ssch_sort_all li a{
  display:inline-block !important; padding:6px 10px !important;
  border:1px solid var(--line) !important; border-radius:999px !important;
  background:#fff !important; color:#4b5563 !important;
  font-size:11.5px !important; font-weight:500 !important; line-height:1 !important;
}
.fm-shop #ssch_sort_all li.active a{ background:#111 !important; color:#fff !important; border-color:#111 !important; }
.fm-shop #ssch_sort_all li:hover:after{ display:none !important; }

/* 결과 리스트 (item_list 출력) */
.fm-shop #ssch .sct,
.fm-shop #ssch > div .sct{
  margin-top:12px !important;
}
/* 결과 없음 상태 (총 0건일 때) */
.fm-shop #ssch > .empty,
.fm-shop #ssch > div:last-child:empty{ min-height:120px; }
.fm-shop #ssch > div:last-child:empty::before{
  content:'검색 결과가 없습니다.\A다른 검색어를 입력해 보세요.'; white-space:pre-line;
  display:block; padding:40px 20px; text-align:center; color:var(--muted-2); font-size:13px; line-height:1.7;
}

/* 접근성 sound_only */
.fm-shop .sound_only{ position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden; }
