/* ============================================================
   리앤양 디자인 개선 — Impeccable Design System v1.0
   /typeset /colorize /arrange /adapt /distill /animate /clarify /polish
   ============================================================ */

/* ---- CSS 변수 (색상·타이포·간격 시스템) ---- */
:root {
  --la-charcoal:      #1d1d1f;
  --la-charcoal-2:    #272729;
  --la-charcoal-soft: #3a3a3c;
  --la-cream:         #f5f5f7;
  --la-cream-dark:    #ededf2;
  --la-white:         #ffffff;
  --la-text:          #1d1d1f;
  --la-text-muted:    #6e6e73;
  --la-accent:        #e31b23;
  --la-accent-hov:    #b5121b;
  --la-accent-dark:   #ff453a;
  --la-accent-light:  rgba(227, 27, 35, 0.10);
  --la-border:        #d2d2d7;
  --la-border-light:  #e8e8ed;
  --la-font-body:     'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  --la-font-head:     'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  --la-radius:        6px;
  --la-radius-lg:     8px;
  --la-shadow-sm:     0 1px 4px rgba(0,0,0,0.07);
  --la-shadow-md:     0 4px 16px rgba(0,0,0,0.09);
  --la-shadow-lg:     3px 5px 30px rgba(0,0,0,0.22);
}


/* ================================================================
   /typeset — 폰트 시스템 전면 개선
   구형 기본 폰트 제거, Pretendard Variable 통합 적용 (본문 + 헤딩)
   ================================================================ */

body {
  font-family: var(--la-font-body) !important;
  color: var(--la-text) !important;
  background-color: var(--la-cream) !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
  word-break: keep-all;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 헤딩 — Apple식 타이트한 한글 산세리프 톤 */
h1, h2, h3, h4,
.section-heading,
.card-header,
.notice-title {
  font-family: var(--la-font-head) !important;
  letter-spacing: -0.025em;
  line-height: 1.35;
}

/* 영문/숫자까지 같은 스택으로 통일 */
.en, .pagination, .btn,
.item-col .wr-price,
.item-col .item-price { font-family: var(--la-font-body) !important; }

a       { color: var(--la-text); transition: color 0.18s ease; }
a:hover { color: var(--la-accent); text-decoration: none; }


/* ================================================================
   /colorize — 색상 시스템 전환
   순수 #000/#fff → Apple charcoal/gray, 강조색 → Lee&Yang red
   ================================================================ */

/* 전체 배경 크림으로 */
.wrapper,
body { background-color: var(--la-cream) !important; }

/* LNB (최상단 바) */
.at-lnb { background-color: var(--la-charcoal) !important; }

/* PC 헤더 */
.pc-header { background-color: var(--la-charcoal) !important; }
.pc-header .header-logo a {
  color: var(--la-white) !important;
  font-family: var(--la-font-head) !important;
  letter-spacing: 0.06em;
}
.pc-header .header-desc { color: rgba(255,255,255,0.7) !important; }

/* PC 메뉴 */
.pc-menu { background: var(--la-charcoal-2) !important; }
.pc-menu .nav-top .menu-a,
.pc-menu .nav-full .menu-a { background: var(--la-charcoal-2) !important; }

/* 서브메뉴 hover accent */
.pc-menu .nav-top .sub-1dli.on .sub-1da,
.pc-menu .nav-top .sub-1dli:hover .sub-1da,
.pc-menu .nav-mega .sub-1dli.on .sub-1da,
.pc-menu .nav-mega .sub-1dli:hover .sub-1da,
.pc-menu .nav-full .sub-1dli.on .sub-1da,
.pc-menu .nav-full .sub-1dli:hover .sub-1da {
  background: var(--la-accent) !important;
  border-color: var(--la-accent) !important;
}

/* 서브메뉴 보더 accent */
.pc-menu .nav-top .sub-1div,
.pc-menu .nav-mega .sub-1div,
.pc-menu .nav-full .menu-li:hover .sub-1div {
  border-top-color: var(--la-accent) !important;
}

/* 모바일 메뉴 active */
.m-menu .m-nav ul li.active a,
.m-menu .m-nav-sub ul li.active a { color: var(--la-accent) !important; font-weight: 700; }

/* colorset.css 레거시 orangered/crimson 색상 override — 브랜드 레드 통일 */
.m-menu .m-nav ul li.active a,
.m-menu .m-nav-sub ul li.active a,
.pc-menu .nav-top .menu-li.on .menu-a,
.at-body a:hover { color: inherit; }
a:not(.btn):not([class*="btn-"]):not([class*="nav-"]):hover { color: var(--la-accent); }
.m-menu .m-nav ul li a:hover { color: var(--la-accent) !important; }

/* 모바일 메뉴 수평 스크롤 개선: 항목이 잘리지 않도록 스크롤 허용 */
.m-menu .m-nav,
.m-menu .m-nav-sub {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}
.m-menu .m-nav::-webkit-scrollbar,
.m-menu .m-nav-sub::-webkit-scrollbar { display: none; }
/* table-cell 레이아웃이 overflow-x에서 작동하도록 table로 감쌈 유지하되 컨테이너 폭 해제 */
.m-menu .m-nav ul,
.m-menu .m-nav-sub ul { display: -webkit-box; display: -ms-flexbox; display: flex; flex-wrap: nowrap; }
.m-menu .m-nav ul li,
.m-menu .m-nav-sub ul li { display: block; flex-shrink: 0; padding: 0 10px; }

/* 모바일 헤더 */
.m-header { background: var(--la-charcoal) !important; }

/* 우측 아이콘 메뉴 */
.pc-menu .nav-right { background: var(--la-charcoal-2) !important; }
.pc-menu .nav-right > ul > li > a:hover { background: var(--la-charcoal-soft) !important; }


/* ================================================================
   /arrange — 레이아웃 & 상품 카드 그리드 개선
   ================================================================ */

/* 메인 products-section 투명화 (크림 배경이 보이도록) */
.products-section {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
}

/* 상품 카드 컨테이너 */
.item-col {
  position: relative;
  overflow: hidden;
  transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 이미지 컨테이너 — 가죽 배경색 + 고정 비율 */
.item-col .wr-img {
  overflow: hidden;
  background: #ece8e1;
  border-radius: var(--la-radius) var(--la-radius) 0 0;
  border: 1px solid var(--la-border-light);
}

.item-col .wr-img img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: 10px;
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* 상품명 — 세리프, 1줄 clamp */
.item-col strong,
.item-col .item-name,
.miso-shop-item .it-name {
  font-family: var(--la-font-head) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--la-charcoal) !important;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  margin: 10px 0 4px;
}

/* /distill — 설명 텍스트 2줄 clamp */
.item-col .wr-text,
.item-col .item-desc,
.miso-shop-item .it-text {
  font-size: 11px !important;
  color: var(--la-text-muted) !important;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 6px;
}

/* 가격 — accent red */
.item-col .wr-price,
.item-col .it-price,
.miso-shop-item .it-price {
  font-weight: 700 !important;
  color: var(--la-accent) !important;
  font-size: 13px !important;
}

/* 별점 영역 */
.item-col .item-use,
.miso-shop-item .it-use {
  font-size: 11px;
  color: var(--la-text-muted);
  margin-top: 4px;
}

/* 카드 하단 정보 영역 */
.item-col .item-info {
  padding: 0 2px 8px;
  background: var(--la-white);
  border: 1px solid var(--la-border-light);
  border-top: none;
  border-radius: 0 0 var(--la-radius) var(--la-radius);
  padding: 8px 10px 10px;
}


/* ================================================================
   /animate — 상품 이미지 hover + 섹션 진입 애니메이션
   ================================================================ */

/* 이미지 scale + 오버레이 */
.is-pc .item-col:hover .wr-img img {
  transform: scale(1.07) !important;
}

/* 카드 전체 살짝 부상 */
.is-pc .item-col:hover {
  transform: translateY(-4px);
}

/* 섹션 진입 페이드업 */
@keyframes la-fade-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 초기 상태: 숨김 — IntersectionObserver가 la-visible 추가 시 재생 */
.la-anim {
  opacity: 0;
  transform: translateY(20px);
  transition: none;
}

.la-anim.la-visible {
  animation: la-fade-up 0.55s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.la-anim.la-visible.la-d1 { animation-delay: 0.05s; }
.la-anim.la-visible.la-d2 { animation-delay: 0.12s; }
.la-anim.la-visible.la-d3 { animation-delay: 0.19s; }
.la-anim.la-visible.la-d4 { animation-delay: 0.26s; }
.la-anim.la-visible.la-d5 { animation-delay: 0.33s; }
.la-anim.la-visible.la-d6 { animation-delay: 0.40s; }

/* 페이지 로드 시 기존 wr-img 트랜지션 덮어쓰기 */
.is-pc .item-col .wr-img { transition: none !important; }
.is-pc .post-col .wr-img { transition: none !important; }

/* 버튼 hover 화살표 */
.btn-custom::after {
  content: ' →';
  display: inline-block;
  transition: transform 0.2s ease;
}
.btn-custom:hover::after { transform: translateX(5px); }
.btn-custom { color: var(--la-accent) !important; font-weight: 700 !important; }
.btn-custom:hover { color: var(--la-accent-hov) !important; }


/* ================================================================
   /colorize — 정보 카드 색상 개선
   ================================================================ */

.card {
  background: var(--la-white) !important;
  border: 1px solid var(--la-border) !important;
  border-radius: var(--la-radius-lg) !important;
  box-shadow: var(--la-shadow-sm) !important;
  transition: box-shadow 0.25s ease, transform 0.25s ease !important;
}

.card:hover {
  box-shadow: var(--la-shadow-md) !important;
  transform: translateY(-3px) !important;
}

.card-header {
  background: var(--la-charcoal) !important;
  color: var(--la-white) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 13px 18px !important;
  border-bottom: 2px solid var(--la-accent) !important;
  border-radius: var(--la-radius-lg) var(--la-radius-lg) 0 0 !important;
  letter-spacing: -0.01em;
}

.notice-box {
  background: var(--la-white) !important;
  border: 1px solid var(--la-border) !important;
  border-left: 3px solid var(--la-accent) !important;
  border-radius: var(--la-radius-lg) !important;
  box-shadow: var(--la-shadow-sm);
}

.notice-title { color: var(--la-charcoal) !important; }
.notice-title i { color: var(--la-accent) !important; }

.info-icon {
  background: var(--la-charcoal) !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: var(--la-radius) !important;
  font-size: 0.95rem !important;
}

.info-label  { color: var(--la-text-muted) !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: 0.04em; }
.info-value  { color: var(--la-charcoal) !important; font-size: 13px !important; font-weight: 600; }


/* ================================================================
   /clarify — 히어로 배너 카피 & CTA 개선
   ================================================================ */

.miso-title-body .miso-title-over {
  background: linear-gradient(
    105deg,
    rgba(28, 28, 28, 0.80) 0%,
    rgba(28, 28, 28, 0.45) 55%,
    transparent 100%
  ) !important;
}

/* 히어로 타이틀 */
.miso-title-body .title-tit {
  font-family: var(--la-font-head) !important;
  font-size: clamp(20px, 4.5vw, 42px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  color: #fff !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.45);
  line-height: 1.2 !important;
}

/* 히어로 설명 텍스트 */
.miso-title-body .title-txt {
  font-family: var(--la-font-body) !important;
  font-size: clamp(12px, 1.6vw, 15px) !important;
  color: rgba(255,255,255,0.85) !important;
  line-height: 1.7 !important;
}

/* 히어로 CTA 버튼 */
.miso-title-body .title-btn,
.miso-title-body .title-btn a,
.miso-title-body .btn {
  background: var(--la-accent) !important;
  border-color: var(--la-accent) !important;
  color: #fff !important;
  border-radius: 2px !important;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 10px 22px !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.miso-title-body .title-btn:hover,
.miso-title-body .btn:hover {
  background: var(--la-accent-hov) !important;
  transform: translateY(-1px);
}


/* ================================================================
   /adapt — 모바일 반응형 최적화
   ================================================================ */

@media (max-width: 991px) {
  .item-col .wr-img img {
    aspect-ratio: 1 / 1;
    padding: 6px;
  }

  /* 모바일에서 상품명 2줄 허용 */
  .item-col strong,
  .item-col .item-name,
  .miso-shop-item .it-name {
    -webkit-line-clamp: 2;
    font-size: 12px !important;
  }

  /* 설명 텍스트 1줄로 압축 */
  .item-col .wr-text,
  .item-col .item-desc {
    -webkit-line-clamp: 1;
    font-size: 10px !important;
  }

  .section { padding: 28px 0 !important; }
  .grid-container { gap: 14px !important; }
  .card-body { padding: 14px !important; }
}

@media (max-width: 767px) {
  /* 배경 약간 더 진하게 */
  body { background-color: #ede9e2 !important; }

  /* 모바일 헤더 여백 */
  .m-header .header-logo a {
    font-size: 18px !important;
    letter-spacing: 0.06em;
    font-family: var(--la-font-head) !important;
    color: var(--la-white) !important;
  }

  /* 터치 타겟 44px 확보 */
  .m-header .header-icon a,
  .m-menu .m-icon a {
    min-height: 44px;
    min-width: 44px;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  /* 카드 패딩 */
  .card-header { padding: 11px 14px !important; font-size: 13px !important; }
  .card-body   { padding: 14px !important; }
  .info-icon   { width: 34px !important; height: 34px !important; margin-right: 10px !important; }
  .info-value  { font-size: 12px !important; }
  .notice-box  { padding: 16px !important; }

  .grid-container { gap: 12px !important; }
}

@media (max-width: 480px) {
  .at-container.w-main { padding: 0 12px !important; }
  .products-section,
  .section { padding: 20px 0 !important; }
}


/* ================================================================
   /polish — 디테일 마감
   ================================================================ */

/* 페이지 타이틀 바 */
.at-title {
  background-color: var(--la-charcoal) !important;
  border-bottom: 2px solid var(--la-accent) !important;
}
.at-title .page-title {
  color: var(--la-white) !important;
  font-family: var(--la-font-head) !important;
  font-weight: 700;
}
.at-title .page-desc { color: rgba(255,255,255,0.6) !important; }

/* 푸터 */
.at-footer .at-links { background-color: var(--la-charcoal) !important; }
.at-footer .at-links ul > li > a { color: rgba(255,255,255,0.55) !important; }
.at-footer .at-links ul > li > a:hover { color: var(--la-white) !important; }
.at-footer .at-copyright strong { color: var(--la-text) !important; }
.at-footer .at-about > li,
.at-footer .at-about > li > a { color: var(--la-text-muted) !important; }

/* 페이지네이션 */
.pagination li a { border-color: var(--la-border) !important; }
.pagination li.active a {
  background: var(--la-charcoal) !important;
  border-color: var(--la-charcoal) !important;
}

/* 폼 컨트롤 */
.form-control:focus {
  border-color: var(--la-accent) !important;
  box-shadow: 0 0 0 2px var(--la-accent-light) !important;
}

/* 버튼 기본 */
.btn-primary,
.btn-danger {
  background-color: var(--la-accent) !important;
  border-color: var(--la-accent) !important;
}
.btn-primary:hover,
.btn-danger:hover {
  background-color: var(--la-accent-hov) !important;
  border-color: var(--la-accent-hov) !important;
}

/* 테이블 헤더 */
.table > thead > tr > th {
  background: var(--la-charcoal) !important;
  color: var(--la-white) !important;
  border-color: var(--la-charcoal-soft) !important;
}

/* 스크롤바 */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--la-cream); }
::-webkit-scrollbar-thumb { background: #bbb5ab; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--la-charcoal-soft); }

/* 선택 영역 */
::selection {
  background: var(--la-accent);
  color: #fff;
}

/* 상품 목록 페이지 border-color 교체 */
.border-color,
.tabs-color-top { border-color: var(--la-accent) !important; }

/* 카테고리 위젯 헤더 */
.miso-category .ca-head a { background: var(--la-charcoal) !important; }

/* hr 색상 */
hr { border-color: var(--la-border) !important; }

/* 섹션 헤딩 — 장인 브랜드 타이틀 */
.section-heading {
  font-family: var(--la-font-head) !important;
  font-size: clamp(18px, 3vw, 26px);
  font-weight: 900;
  color: var(--la-charcoal);
  letter-spacing: -0.03em;
  margin: 0 0 24px 2px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--la-accent);
  display: inline-block;
}


/* ================================================================
   전체 페이지 공통 — 페이지 타이틀 바 & 브레드크럼
   ================================================================ */

/* at-title 이미 위에 있으나 브레드크럼 추가 */
.at-breadcrumb,
.at-breadcrumb a { color: rgba(255,255,255,0.55) !important; font-size: 12px; }
.at-breadcrumb a:hover { color: var(--la-white) !important; }
.at-breadcrumb .fa { color: var(--la-accent) !important; }


/* ================================================================
   게시판 공통 — 목록/뷰/폼
   ================================================================ */

/* 게시판 목록 테이블 헤더 */
.tbl_head01 thead th,
#bo_list table thead th {
  background: var(--la-charcoal) !important;
  color: var(--la-white) !important;
  font-family: var(--la-font-body) !important;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.02em;
  border-color: var(--la-charcoal-soft) !important;
  padding: 10px 8px !important;
}

/* 테이블 행 hover */
.tbl_head01 tbody tr:hover td,
#bo_list table tbody tr:hover td {
  background: var(--la-accent-light) !important;
}

/* 공지 행 */
.bo_notice td { background: rgba(201, 55, 32, 0.04) !important; }
.bo_notice .td_subject a { font-weight: 700 !important; }

/* 제목 링크 */
.td_subject a,
#bo_list .td_subject a {
  color: var(--la-text) !important;
  font-size: 13px;
  transition: color 0.15s;
}
.td_subject a:hover,
#bo_list .td_subject a:hover { color: var(--la-accent) !important; }

/* Re: 답글 들여쓰기 — 리앤양 답글 구분 */
.td_subject .re_img { opacity: 0.4; }

/* 번호/날짜/조회 셀 */
.td_num, .td_date { color: var(--la-text-muted) !important; font-size: 12px !important; }

/* 글쓰기 버튼 */
.btn_b01,
.btn_bo_user .btn_b01,
#bo_list .btn_b01 {
  background: var(--la-accent) !important;
  border-color: var(--la-accent) !important;
  color: #fff !important;
  border-radius: var(--la-radius) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  transition: background 0.18s !important;
}
.btn_b01:hover { background: var(--la-accent-hov) !important; border-color: var(--la-accent-hov) !important; }

/* 일반 버튼 */
.btn_b02,
.btn_bo_user .btn_b02 {
  background: var(--la-charcoal) !important;
  border-color: var(--la-charcoal) !important;
  color: #fff !important;
  border-radius: var(--la-radius) !important;
  font-size: 12px !important;
}

/* 페이지네이션 */
.pg_wrap a,
.pg_wrap strong {
  border-color: var(--la-border) !important;
  color: var(--la-text) !important;
  border-radius: var(--la-radius) !important;
  font-size: 12px !important;
}
.pg_wrap strong,
.pg_wrap .pg_current {
  background: var(--la-charcoal) !important;
  border-color: var(--la-charcoal) !important;
  color: #fff !important;
}
.pg_wrap a:hover { background: var(--la-accent-light) !important; border-color: var(--la-accent) !important; color: var(--la-accent) !important; }

/* 검색 폼 */
#bo_sch input[type=text],
#bo_sch input[type=search] {
  border-color: var(--la-border) !important;
  border-radius: var(--la-radius) !important;
  font-size: 13px !important;
}
#bo_sch input[type=text]:focus { border-color: var(--la-accent) !important; }
#bo_sch .btn_sch {
  background: var(--la-charcoal) !important;
  border-color: var(--la-charcoal) !important;
  color: #fff !important;
  border-radius: var(--la-radius) !important;
}


/* ================================================================
   게시판 글쓰기 폼 (#bo_w)
   ================================================================ */

#bo_w .tbl_frm01 { border-color: var(--la-border) !important; border-radius: var(--la-radius-lg) !important; overflow: hidden; }
#bo_w .tbl_frm01 th {
  background: var(--la-cream-dark) !important;
  color: var(--la-charcoal) !important;
  font-weight: 600;
  font-size: 12px;
  border-color: var(--la-border-light) !important;
}
#bo_w .tbl_frm01 td { border-color: var(--la-border-light) !important; }

/* 입력 필드 포커스 */
#bo_w input[type=text]:focus,
#bo_w input[type=number]:focus,
#bo_w textarea:focus {
  border-color: var(--la-accent) !important;
  box-shadow: 0 0 0 2px var(--la-accent-light) !important;
}

/* 제출 버튼 */
#bo_w .btn_submit,
#bo_w .btn_confirm .btn_submit {
  background: var(--la-accent) !important;
  border-color: var(--la-accent) !important;
  color: #fff !important;
  border-radius: var(--la-radius) !important;
  font-weight: 700 !important;
  transition: background 0.18s !important;
}
#bo_w .btn_submit:hover { background: var(--la-accent-hov) !important; }

/* 취소 버튼 */
#bo_w .btn_cancel,
#bo_w .btn_confirm .btn_cancel {
  border-color: var(--la-border) !important;
  color: var(--la-text-muted) !important;
  border-radius: var(--la-radius) !important;
}


/* ================================================================
   게시판 뷰 (#bo_v)
   ================================================================ */

#bo_v .view-wrap { border-color: var(--la-border) !important; }

/* 뷰 헤더 */
#bo_v #bo_v_title,
#bo_v .bo_v_tit {
  border-bottom: 1px solid var(--la-border) !important;
  padding-bottom: 12px !important;
}
#bo_v #bo_v_title h2,
#bo_v .bo_v_tit h2 {
  font-family: var(--la-font-head) !important;
  font-size: 17px !important;
  color: var(--la-charcoal) !important;
  font-weight: 700 !important;
}

/* 메타 정보 (작성자, 날짜) */
#bo_v .bo_v_info { color: var(--la-text-muted) !important; font-size: 12px !important; }
#bo_v .bo_v_info strong { color: var(--la-charcoal) !important; }

/* 본문 영역 */
#bo_v #bo_v_con { font-size: 14px !important; line-height: 1.8 !important; color: var(--la-text) !important; }

/* 댓글 */
#bo_v #cmt_write .tbl_frm01 th { background: var(--la-cream-dark) !important; }
#bo_v .btn_cmt_write {
  background: var(--la-charcoal) !important;
  color: #fff !important;
  border-radius: var(--la-radius) !important;
  border-color: var(--la-charcoal) !important;
}

/* 이전/다음 글 */
#bo_v .bo_v_nb { border-color: var(--la-border) !important; font-size: 13px !important; }
#bo_v .bo_v_nb a:hover { color: var(--la-accent) !important; }

/* 뷰 하단 버튼 */
#bo_v .btn_b01 { background: var(--la-accent) !important; border-color: var(--la-accent) !important; }
#bo_v .btn_b02 { background: var(--la-charcoal) !important; border-color: var(--la-charcoal) !important; }


/* ================================================================
   갤러리형 게시판 (창갈이 전/후모습)
   ================================================================ */

/* 갤러리 이미지 카드 */
.bo_gallery .gallery_col { overflow: hidden; border-radius: var(--la-radius-lg) !important; border: 1px solid var(--la-border) !important; transition: transform 0.25s ease, box-shadow 0.25s ease !important; }
.bo_gallery .gallery_col:hover { transform: translateY(-3px) !important; box-shadow: var(--la-shadow-md) !important; }
.bo_gallery .gallery_col .gallery_img img { transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important; }
.bo_gallery .gallery_col:hover .gallery_img img { transform: scale(1.06) !important; }
.bo_gallery .gallery_col .gallery_info { background: var(--la-white) !important; padding: 10px 12px !important; border-top: 1px solid var(--la-border-light) !important; }
.bo_gallery .gallery_col .gallery_info a { color: var(--la-charcoal) !important; font-size: 12px !important; font-weight: 600 !important; }
.bo_gallery .gallery_col .gallery_info a:hover { color: var(--la-accent) !important; }


/* ================================================================
   상품 목록 페이지 (shop/list.php)
   ================================================================ */

/* 카테고리 타이틀 */
.shop-cate-title,
.at-shop .ca-title,
.miso-category .ca-head a {
  font-family: var(--la-font-head) !important;
  font-weight: 900 !important;
}

/* 카테고리 사이드바 */
.at-shop aside,
.at-shop .shop-aside { background: transparent !important; }

/* 상품 정렬 바 */
.shop_sort { border-color: var(--la-border) !important; font-size: 12px !important; }
.shop_sort a:hover, .shop_sort a.on { color: var(--la-accent) !important; }


/* ================================================================
   상품 상세 페이지 (shop/item.php)
   ================================================================ */

/* 상품명 */
.shop-item-detail .it_name,
#bo_v_title h1.item-title,
.it_name_wrap h1,
.it_name { font-family: var(--la-font-head) !important; font-weight: 900 !important; color: var(--la-charcoal) !important; }

/* 상품 가격 */
.it_price,
.shop-price .it_price,
.item-detail .price { color: var(--la-accent) !important; font-weight: 700 !important; }

/* 구매/장바구니 버튼 */
.btn_go_cart,
input[value="장바구니"],
.it_go_cart {
  background: var(--la-charcoal) !important;
  border-color: var(--la-charcoal) !important;
  color: #fff !important;
  border-radius: var(--la-radius) !important;
  font-weight: 700 !important;
  transition: background 0.18s !important;
}
.btn_go_cart:hover { background: var(--la-charcoal-soft) !important; }

.btn_go_order,
input[value="바로구매"],
.it_go_order {
  background: var(--la-accent) !important;
  border-color: var(--la-accent) !important;
  color: #fff !important;
  border-radius: var(--la-radius) !important;
  font-weight: 700 !important;
  transition: background 0.18s !important;
}
.btn_go_order:hover { background: var(--la-accent-hov) !important; }

/* 상품 옵션 선택 */
.it_option select,
.it_option_wrap select {
  border-color: var(--la-border) !important;
  border-radius: var(--la-radius) !important;
  font-size: 13px !important;
}
.it_option select:focus { border-color: var(--la-accent) !important; }

/* 상품 이미지 썸네일 네비 */
.item-imgs .thumb-list li { border-color: var(--la-border) !important; border-radius: var(--la-radius) !important; overflow: hidden; }
.item-imgs .thumb-list li.on,
.item-imgs .thumb-list li:hover { border-color: var(--la-accent) !important; }

/* 탭 (상품 상세/리뷰/Q&A) */
.shop-tabs .tab-link,
.it_tab li a { border-color: var(--la-border) !important; color: var(--la-text-muted) !important; font-size: 13px !important; }
.shop-tabs .tab-link.active,
.it_tab li.on a {
  border-color: var(--la-accent) !important;
  color: var(--la-accent) !important;
  font-weight: 700 !important;
}


/* ================================================================
   스태틱 페이지 (page.php?hid=...)
   ================================================================ */

/* 페이지 본문 공통 */
.page-content h2,
.page-content h3,
#bo_v_con h2,
#bo_v_con h3 {
  font-family: var(--la-font-head) !important;
  color: var(--la-charcoal) !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

/* 이미지 반응형 */
.page-content img,
#bo_v_con img { max-width: 100% !important; height: auto !important; border-radius: var(--la-radius) !important; }


/* ================================================================
   모바일 하단 탭바 accent 동기화
   ================================================================ */

.m-tabbar .tabbar-item.active,
.m-tabbar .tabbar-item.on { color: var(--la-accent) !important; }
.m-tabbar .tabbar-item.active svg path,
.m-tabbar .tabbar-item.on svg path { fill: var(--la-accent) !important; }


/* ================================================================
   모바일 개선 — 상품 카드·목록 2열·게시판 테이블 최적화
   ================================================================ */

/* 상품 카드 설명 — PC·모바일 공통 2줄 제한 */
.shop-list .item-content .item-desc {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* 480px 이하 — 상품 목록/위젯 2열 강제 적용 */
/* .shop-list: shop/list.php 직접 접근, .miso-item: 메인 위젯 */
@media (max-width: 480px) {
  .responsive .shop-list .item-row,
  .responsive .miso-item .item-row {
    width: 50% !important;
  }
  /* 2열에서는 설명 숨김 (공간 부족) */
  .responsive .shop-list .item-content .item-desc,
  .responsive .miso-item .item-content .item-desc {
    display: none !important;
  }
  /* 2열 상품명 폰트 축소 */
  .responsive .shop-list .item-content strong,
  .responsive .miso-item .item-content strong {
    font-size: 12px !important;
  }
  /* 2열 가격 폰트 축소 */
  .responsive .shop-list .item-price .font-15,
  .responsive .miso-item .item-price .font-15 { font-size: 12px !important; }
  .responsive .shop-list .item-price .font-18,
  .responsive .miso-item .item-price .font-18 { font-size: 13px !important; }
  /* 2열 별점/정보 폰트 축소 */
  .responsive .shop-list .item-info,
  .responsive .miso-item .item-info { font-size: 12px !important; padding: 6px 10px !important; }
}

/* 게시판 목록 모바일 — 아래 P3 섹션 @media (max-width: 768px) 에서 통합 처리 */


/* ================================================================
   리앤양 공통 CSS v2 — Apple 기반 폰트·색상 최종 통일
   ================================================================ */

html,
body,
button,
input,
select,
textarea {
  font-family: var(--la-font-body) !important;
  letter-spacing: 0;
}

.ko,
.ko small,
.en,
h1,
h2,
h3,
h4,
h5,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
.pc-menu .menu-a,
.pc-menu .nav-content .nav-btn,
.pc-menu .nav-content .sub-shows .sub-a,
.btn,
.pagination,
.progress .sr-only,
.sr-score {
  font-family: var(--la-font-body) !important;
}

body.is-pc .ko {
  font-size: 14px;
}

a,
a:link,
a:visited {
  color: var(--la-text);
}

a:hover,
a:focus,
a:active {
  color: var(--la-accent);
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
.btn:focus {
  outline: 2px solid var(--la-accent) !important;
  outline-offset: 2px;
}

.wrapper,
.at-body,
.at-content,
.at-container {
  background-color: transparent;
}

.pc-header,
.pc-menu,
.m-header,
.at-lnb,
.at-title,
.at-footer .at-links {
  background-color: var(--la-charcoal) !important;
}

.pc-menu {
  box-shadow: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pc-menu .nav-top .menu-a,
.pc-menu .nav-mega .menu-a,
.pc-menu .nav-full .menu-a {
  background: var(--la-charcoal) !important;
  color: rgba(255,255,255,0.86) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.pc-menu .nav-top .menu-li:hover .menu-a,
.pc-menu .nav-top .menu-li.on .menu-a,
.pc-menu .nav-mega .menu-li:hover .menu-a,
.pc-menu .nav-mega .menu-li.on .menu-a,
.pc-menu .nav-full .menu-li:hover .menu-a,
.pc-menu .nav-full .menu-li.on .menu-a {
  background: var(--la-charcoal-2) !important;
  color: #fff !important;
}

.pc-menu .nav-top .sub-1div::before,
.pc-menu .nav-full .menu-li:hover .sub-1div::before {
  border-color: var(--la-accent) transparent !important;
}

.pc-menu .nav-top .sub-1div,
.pc-menu .nav-mega .sub-1div,
.pc-menu .nav-full .menu-li:hover .sub-1div,
.pc-menu .nav-full .sub-2dul {
  border-top-color: var(--la-accent) !important;
}

.pc-menu .nav-top .sub-1dli.on .sub-1da,
.pc-menu .nav-top .sub-1dli:hover .sub-1da,
.pc-menu .nav-top .sub-2dli.on .sub-2da,
.pc-menu .nav-top .sub-2dli:hover .sub-2da,
.pc-menu .nav-mega .sub-1dli.on .sub-1da,
.pc-menu .nav-mega .sub-1dli:hover .sub-1da,
.pc-menu .nav-mega .sub-2dli.on .sub-2da,
.pc-menu .nav-mega .sub-2dli:hover .sub-2da,
.pc-menu .nav-full .sub-1dli.on .sub-1da,
.pc-menu .nav-full .sub-1dli:hover .sub-1da,
.pc-menu .nav-full .sub-2dli.on .sub-2da,
.pc-menu .nav-full .sub-2dli:hover .sub-2da {
  background: var(--la-accent) !important;
  border-color: var(--la-accent) !important;
  color: #fff !important;
}

.orangered,
.crimson,
.sch_word,
.copymove_current,
.m-menu .m-nav ul li.active a,
.m-menu .m-nav-sub ul li.active a,
.pc-menu-all .table td.on .menu-a,
.pc-menu-all .sub-1dli:hover .sub-1da {
  color: var(--la-accent) !important;
}

.bg-orangered,
.btn_submit,
.btn-primary,
.btn-danger,
a.btn_admin,
button.btn_admin {
  background: var(--la-accent) !important;
  border-color: var(--la-accent) !important;
  color: #fff !important;
}

.btn_submit:hover,
.btn-primary:hover,
.btn-danger:hover,
a.btn_admin:hover,
button.btn_admin:hover {
  background: var(--la-accent-hov) !important;
  border-color: var(--la-accent-hov) !important;
}

.btn,
a.btn01,
button.btn01,
a.btn02,
button.btn02,
a.btn_b01,
a.btn_b02,
a.btn_cancel,
button.btn_cancel,
a.btn_frmline,
button.btn_frmline {
  border-radius: var(--la-radius) !important;
  letter-spacing: 0 !important;
}

.frm_input,
.form-control,
.tbl_frm01 textarea,
.tbl_frm01 select,
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
textarea,
select {
  font-family: var(--la-font-body) !important;
  border-color: var(--la-border) !important;
  border-radius: var(--la-radius) !important;
}

.tbl_head01 thead th,
.tbl_head02 thead th {
  background: var(--la-charcoal) !important;
  color: #fff !important;
  border-color: var(--la-charcoal-soft) !important;
  letter-spacing: 0 !important;
}

.tbl_head01 td,
.tbl_head02 td,
.tbl_frm01 th,
.tbl_frm01 td {
  border-color: var(--la-border-light) !important;
}

.pc-header .header-logo a,
.m-header .header-logo a {
  font-family: var(--la-font-head) !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

@media (max-width: 767px) {
  body {
    font-size: 14px !important;
    line-height: 1.58 !important;
  }

  .m-header .header-logo a {
    font-size: 17px !important;
  }

  /* 모바일 글쓰기 폼 폭 잘림 방지 */
  #bo_w,
  #bo_w form,
  #bo_w .tbl_wrap,
  #bo_w .tbl_frm01 {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  #bo_w .tbl_wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #bo_w .tbl_frm01 table,
  #bo_w .tbl_frm01 tbody,
  #bo_w .tbl_frm01 tr,
  #bo_w .tbl_frm01 th,
  #bo_w .tbl_frm01 td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #bo_w .tbl_frm01 tr[style*="display: none"] {
    display: none !important;
  }

  #bo_w .tbl_frm01 th {
    padding: 14px 12px 6px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--la-charcoal) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  #bo_w .tbl_frm01 td {
    padding: 0 12px 14px !important;
    border-top: 0 !important;
    word-break: keep-all !important;
  }

  #bo_w input,
  #bo_w select,
  #bo_w textarea,
  #bo_w .frm_input,
  #bo_w .form-control {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #bo_w input[type="text"],
  #bo_w input[type="password"],
  #bo_w input[type="email"],
  #bo_w input[type="url"],
  #bo_w input[type="tel"],
  #bo_w input[type="number"],
  #bo_w select,
  #bo_w textarea,
  #bo_w .frm_input,
  #bo_w .form-control {
    width: 100% !important;
    min-height: 44px !important;
    font-size: 16px !important;
  }

  #bo_w input[type="file"] {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 14px !important;
  }

  #bo_w .wr_content,
  #bo_w .wr_content iframe,
  #bo_w .wr_content table,
  #bo_w .cke,
  #bo_w .cke_inner,
  #bo_w .cke_contents,
  #bo_w .cke_wysiwyg_frame,
  #bo_w .cke_wysiwyg_div {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #bo_w .radio-segment-wrap,
  #bo_w .brand-pill-wrap-m,
  #bo_w .size-pill-wrap-m,
  #bo_w .stud-img-grid-m {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #bo_w .radio-segment-wrap label,
  #bo_w .brand-pill-wrap-m label,
  #bo_w .size-pill-wrap-m label,
  #bo_w .stud-card-m,
  #bo_w .file-upload-btn {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #bo_w .stud-card-m img {
    max-width: 100% !important;
    height: auto !important;
  }

  #bo_w #autosave_wrapper {
    width: 100% !important;
  }

  #bo_w #autosave_pop {
    left: 0 !important;
    right: auto !important;
    width: calc(100vw - 32px) !important;
    max-width: 100% !important;
  }

  #bo_w .btn_confirm {
    display: flex !important;
    gap: 8px !important;
    padding: 0 12px 18px !important;
  }

  #bo_w .btn_confirm .btn_submit,
  #bo_w .btn_confirm .btn_cancel {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 44px !important;
    text-align: center !important;
    line-height: 44px !important;
    box-sizing: border-box !important;
  }

  #captcha,
  #captcha.m_captcha {
    max-width: 100% !important;
  }

  #captcha #captcha_img,
  #captcha.m_captcha #captcha_img {
    max-width: 160px !important;
  }

  .ui-datepicker {
    max-width: calc(100vw - 24px) !important;
    box-sizing: border-box !important;
  }
}

/* ================================================================
   P0 — 상품 상세 CTA 버튼 브랜드 레드 통일
   btn-navy(장바구니), btn-color(바로구매) → var(--la-accent)
   ================================================================ */
.btn.btn-navy,
.btn.btn-color,
a.btn-navy,
a.btn-color,
input.btn-navy,
input.btn-color,
button.btn-navy,
button.btn-color {
    background-color: var(--la-accent) !important;
    border-color: var(--la-accent) !important;
    color: #fff !important;
    font-family: var(--la-font-body) !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    border-radius: var(--la-radius) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
.btn.btn-navy:hover,
.btn.btn-color:hover,
.btn.btn-navy:focus,
.btn.btn-color:focus,
a.btn-navy:hover,
a.btn-color:hover,
input.btn-navy:hover,
input.btn-color:hover,
button.btn-navy:hover,
button.btn-color:hover {
    background-color: var(--la-accent-hov) !important;
    border-color: var(--la-accent-hov) !important;
    color: #fff !important;
    opacity: 1 !important;
}
/* btn-sm 사이즈 오버라이드 (사이드바 등) */
.btn-navy.btn-sm { font-size: 12px !important; padding: 4px 10px !important; }

/* ================================================================
   P1 — 카테고리 탭(창 번호/수선 유형) 모바일 가로 스크롤
   ================================================================ */
#bo_cate {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
#bo_cate::-webkit-scrollbar { display: none; }
#bo_cate_ul {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    padding: 8px 12px !important;
    margin: 0 !important;
    list-style: none !important;
    min-width: max-content;
}
#bo_cate_ul li {
    display: block !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
#bo_cate_ul li a {
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    min-width: 44px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 20px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    color: var(--la-text) !important;
    background: var(--la-cream-dark) !important;
    border: 1px solid var(--la-border) !important;
    transition: background 0.15s, border-color 0.15s, color 0.15s !important;
}
#bo_cate_ul li a:hover,
#bo_cate_ul li.bo_cate_on a {
    background: var(--la-accent) !important;
    border-color: var(--la-accent) !important;
    color: #fff !important;
}
@media (max-width: 767px) {
    #bo_cate_ul { padding: 6px 8px !important; gap: 3px !important; }
    #bo_cate_ul li a { height: 36px !important; padding: 0 10px !important; font-size: 12px !important; }
}

/* ================================================================
   P1 — repair 게시판 모바일 FAB(신청하기) 버튼 개선
   .rly-fab: 겹침 해소 + 브랜드 색상 통일
   ================================================================ */
.rly-fab-btn {
    background: var(--la-accent) !important;
    box-shadow: 0 4px 20px rgba(227,27,35,0.4) !important;
}
.rly-fab-btn:hover {
    background: var(--la-accent-hov) !important;
    color: #fff !important;
}
/* FAB·board padding — Phase 1-D 섹션에서 safe-area 포함 통일 처리 */

/* ================================================================
   P2 — 상품명 하이픈 줄바꿈 방지
   ================================================================ */
.item-name,
.item_name,
.gall_text_href .bo_tit,
.miso-item .item-name,
.apms-item-name,
#bo_gall .gall_text_href a,
#bo_list td.td_subject a {
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
}

/* ================================================================
   P2 — 발 측정법 파란색 버튼 브랜드 레드로 override
   ================================================================ */
.page-sub .btn-primary,
.page-sub .btn-info,
.page-sub .btn-default,
.page-sub a[class*="btn"],
.at-content .btn-primary,
.at-content .btn-info {
    background-color: var(--la-accent) !important;
    border-color: var(--la-accent) !important;
    color: #fff !important;
}
.page-sub .btn-primary:hover,
.page-sub .btn-info:hover,
.at-content .btn-primary:hover,
.at-content .btn-info:hover {
    background-color: var(--la-accent-hov) !important;
    border-color: var(--la-accent-hov) !important;
}

/* ================================================================
   P3 — 수선/창갈이 게시판 기본 테이블(.tbl_head01) 전면 개선
   ================================================================ */
.tbl_head01 table {
    border-collapse: collapse !important;
    width: 100% !important;
    font-family: var(--la-font-body) !important;
    font-size: 14px !important;
}
.tbl_head01 caption {
    caption-side: bottom !important;
    font-size: 0 !important;
}
.tbl_head01 thead tr th {
    background: var(--la-charcoal) !important;
    color: rgba(255,255,255,0.86) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    padding: 11px 14px !important;
    border: none !important;
    border-bottom: 2px solid var(--la-charcoal-soft) !important;
    white-space: nowrap !important;
}
.tbl_head01 thead tr th:first-child { border-radius: 6px 0 0 0 !important; }
.tbl_head01 thead tr th:last-child  { border-radius: 0 6px 0 0 !important; }
.tbl_head01 tbody tr {
    border-bottom: 1px solid var(--la-border-light) !important;
    transition: background 0.12s !important;
}
.tbl_head01 tbody tr:hover { background: var(--la-cream-dark) !important; }
.tbl_head01 tbody tr td {
    padding: 12px 14px !important;
    border: none !important;
    color: var(--la-text) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
}
/* 글 번호 열 — default.css word-break:break-all + width 50px 줄바꿈 방지 */
.tbl_head01 tbody tr td.td_num:first-child,
.tbl_head01 tbody tr td.td_chk + td.td_num,
#bo_list .tbl_head01 tbody tr td.td_num:first-child,
#bo_list .tbl_head01 tbody tr td.td_chk + td.td_num {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 72px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    color: var(--la-text-muted) !important;
    font-size: 12px !important;
    font-variant-numeric: tabular-nums !important;
}
/* 조회수 열(마지막 td_num) */
.tbl_head01 tbody tr td.td_num:last-child,
#bo_list .tbl_head01 tbody tr td.td_num:last-child {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 52px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    white-space: nowrap !important;
    word-break: normal !important;
    color: var(--la-text-muted) !important;
    font-size: 12px !important;
}
.tbl_head01 tbody tr td.td_subject a {
    color: var(--la-text) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}
.tbl_head01 tbody tr td.td_subject a:hover { color: var(--la-accent) !important; }
.tbl_head01 tbody tr td.td_name {
    color: var(--la-text-muted) !important;
    font-size: 12px !important;
}
/* 날짜 열 — MM-DD 줄바꿈 방지 */
.tbl_head01 tbody tr td.td_date,
.tbl_head01 tbody tr td.td_datetime,
#bo_list .tbl_head01 tbody tr td.td_date,
#bo_list .tbl_head01 tbody tr td.td_datetime {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 64px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: center !important;
    color: var(--la-text-muted) !important;
    font-size: 12px !important;
    font-variant-numeric: tabular-nums !important;
}
/* 모바일 게시판 목록 — 제목+날짜 2열, flex 아이콘 정렬 (th_* 클래스 기반) */
@media (max-width: 768px) {
    #bo_list .tbl_head01 table,
    .tbl_head01 table {
        table-layout: fixed !important;
        width: 100% !important;
    }
    .tbl_head01 thead th.th_num,
    .tbl_head01 thead th.th_name,
    .tbl_head01 thead th.th_hit,
    .tbl_head01 thead th.th_good,
    .tbl_head01 thead th.th_nogood,
    .tbl_head01 thead th.th_chk {
        display: none !important;
    }
    .tbl_head01 tbody td.td_num,
    .tbl_head01 tbody td.td_name,
    .tbl_head01 tbody td.td_chk {
        display: none !important;
    }
    .tbl_head01 thead th.th_date {
        display: table-cell !important;
        width: 58px !important;
    }
    .tbl_head01 thead th.th_subject {
        width: auto !important;
    }
    .tbl_head01 tbody td.td_date,
    .tbl_head01 tbody td.td_datetime {
        display: table-cell !important;
        width: 58px !important;
        min-width: 58px !important;
        max-width: 64px !important;
        padding: 10px 4px !important;
        font-size: 11px !important;
    }
    .tbl_head01 tbody td.td_subject {
        width: auto !important;
        padding: 10px 6px 10px 10px !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 4px !important;
    }
    .tbl_head01 tbody td.td_subject > a {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: block !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    .tbl_head01 tbody td.td_subject > a.bo_cate_link {
        flex: 0 1 auto !important;
        max-width: 28% !important;
        font-size: 11px !important;
    }
    .tbl_head01 tbody td.td_subject img {
        flex-shrink: 0 !important;
        width: 14px !important;
        height: 14px !important;
        margin: 0 !important;
        vertical-align: middle !important;
    }
    .tbl_head01 tbody td.td_subject .bo-list-icons {
        display: inline-flex !important;
        align-items: center !important;
        flex-shrink: 0 !important;
        gap: 2px !important;
        margin-left: auto !important;
    }
    .tbl_head01 tbody tr td {
        padding: 10px 8px !important;
    }
}

/* ================================================================
   Phase 1-C — 갤러리 게시판 모바일 (.list-wrap)
   ================================================================ */
@media (max-width: 768px) {
    .list-wrap .list-container {
        margin-right: 0 !important;
    }
    .list-wrap .list-row {
        width: 50% !important;
    }
    .list-wrap .list-item .img-wrap {
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
    }
    .list-wrap .list-item .img-wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    .list-wrap .list-item .post-subject,
    .list-wrap .list-item .ellipsis {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }
}
@media (max-width: 480px) {
    .list-wrap .list-row {
        width: 50% !important;
    }
}

/* ================================================================
   Phase 1-D / Phase 3 — FAB·CTA·safe-area 통일
   ================================================================ */
:root {
    --la-bp-sm: 480px;
    --la-bp-md: 768px;
    --la-bp-lg: 1024px;
    --la-fixed-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 768px) {
    .rly-fab {
        bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
        right: 16px !important;
        z-index: 200 !important;
    }
    #bo_list,
    #bo_gall,
    .board-list,
    .list-wrap {
        padding-bottom: var(--la-fixed-bottom) !important;
    }
    body.la-landing {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }
    .la-cta-bar {
        bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 400 !important;
    }
    body.la-landing #bo_list,
    body.la-landing .board-list {
        padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ================================================================
   Phase 2 — 게시판 상세/글쓰기 모바일
   ================================================================ */
@media (max-width: 768px) {
    #bo_v_info {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px 12px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }
    #bo_v_info strong {
        font-weight: 600 !important;
    }
    #bo_v_con {
        overflow-x: auto !important;
        word-break: keep-all !important;
    }
    #bo_v_con img {
        max-width: 100% !important;
        height: auto !important;
    }
    #bo_v_con table {
        display: block !important;
        overflow-x: auto !important;
        max-width: 100% !important;
    }
    #bo_v_file ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    #bo_v_file li {
        margin-bottom: 8px !important;
    }
    #bo_v_file .view_file_download {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        overflow: hidden !important;
        text-decoration: none !important;
        padding: 10px 12px !important;
        background: var(--la-cream-dark) !important;
        border-radius: var(--la-radius) !important;
    }
    #bo_v_file .view_file_download img {
        flex-shrink: 0 !important;
        width: 16px !important;
        height: 16px !important;
    }
    #bo_v_file .view_file_download strong {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 13px !important;
    }
    #bo_v_file .bo_v_file_cnt,
    #bo_v_file li > span {
        display: block !important;
        font-size: 11px !important;
        color: var(--la-text-muted) !important;
        margin-top: 4px !important;
        padding-left: 24px !important;
    }
    #bo_w .write_div,
    #bo_w .bo_w_tit,
    #bo_w .bo_w_info {
        display: block !important;
        width: 100% !important;
    }
    #bo_w .bo_w_tit label,
    #bo_w .bo_w_info label {
        display: block !important;
        margin-bottom: 6px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }
    #bo_w input[type="text"],
    #bo_w input[type="password"],
    #bo_w input[type="email"],
    #bo_w input[type="tel"],
    #bo_w select,
    #bo_w textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        font-size: 16px !important;
    }
    #bo_w .btn_submit,
    #bo_w .btn_cancel {
        min-height: 44px !important;
        padding: 10px 20px !important;
    }
    .cmt_contents img[src*="icon_reply"] {
        margin-left: 0 !important;
    }
}

/* ================================================================
   Phase 5 — 쇼핑몰 목록/상세 모바일
   ================================================================ */
@media (max-width: 768px) {
    #sit_ov_wrap {
        display: block !important;
    }
    #sit_pvi,
    #sit_ov {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #sit_pvi_thumb ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    #sit_pvi_thumb li {
        width: calc(20% - 6px) !important;
        float: none !important;
    }
    .sit_ov_height,
    #sit_ov h1,
    #sit_title {
        font-size: clamp(18px, 5vw, 24px) !important;
        line-height: 1.3 !important;
        word-break: keep-all !important;
    }
    .btn_buy,
    .btn_cart,
    .sit_btn_buy,
    .sit_btn_cart,
    #sit_ov_btn .btn-navy,
    #sit_ov_btn .btn-color {
        min-height: 44px !important;
        font-size: 15px !important;
        padding: 12px 16px !important;
    }
    .sct_10 .sct_li {
        width: 50% !important;
        max-width: 50% !important;
        box-sizing: border-box !important;
    }
    .sct_10 .sct_img {
        max-width: 100% !important;
        height: auto !important;
    }
    /* 상품 탭 — APMS tabs 플러그인 가로 3000px overflow 방지 */
    .item-tab .tabs,
    .item-tab .nav-tabs.tabs-top,
    .item-tab .nav-tabs.tabs-bottom {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        display: flex !important;
        flex-wrap: wrap !important;
        box-sizing: border-box !important;
    }
    .item-tab .nav-tabs > li {
        float: none !important;
        width: auto !important;
        flex: 1 1 45% !important;
        max-width: 100% !important;
    }
    .item-tab .nav-tabs > li > a {
        padding: 12px 10px !important;
        font-size: 13px !important;
        text-align: center !important;
        white-space: normal !important;
        line-height: 1.35 !important;
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    #sit_ov_wrap,
    .item-tab {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
}

/* ================================================================
   Phase 6 — 회사소개·정적 페이지 모바일
   ================================================================ */
@media (max-width: 768px) {
    .page-content {
        overflow-x: auto !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .page-content table {
        display: block !important;
        overflow-x: auto !important;
        max-width: 100% !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .page-content .slogan {
        font-size: clamp(18px, 5vw, 23px) !important;
        line-height: 1.4 !important;
    }
    .page-content .div-ring,
    .page-content .person {
        margin-bottom: 16px !important;
    }
}

/* ================================================================
   주문서(orderform) — 쇼핑몰 헤더·레거시 스타일 정리
   ================================================================ */
.la-order-form .btn-color,
.la-order-form .btn-navy,
#display_pay_button .btn-color {
    background-color: var(--la-accent) !important;
    border-color: var(--la-accent) !important;
    color: #fff !important;
}
#forderform #od_coupon_btn,
#forderform #sc_coupon_btn {
    background: var(--la-cream-dark) !important;
    border: 1px solid var(--la-border) !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    color: var(--la-text) !important;
    font-family: var(--la-font-body) !important;
}
#forderform #od_coupon_btn:hover,
#forderform #sc_coupon_btn:hover {
    border-color: var(--la-accent) !important;
    color: var(--la-accent) !important;
}
.at-body:has(#forderform) .at-content {
    padding-top: 8px !important;
    padding-bottom: 24px !important;
}

/* ================================================================
   SEO sr-only H1
   ================================================================ */
.la-seo-h1 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

/* ================================================================
   UI/UX — 페이지 크롬·타이포·쇼핑·회사소개 통일 (la=16)
   ================================================================ */

/* 공통 페이지 제목 */
:root {
    --la-nav-h: 60px;
}
#container_title.la-page-heading,
.la-page-heading {
    font-size: clamp(20px, 4.5vw, 26px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.25 !important;
    color: var(--la-text) !important;
    margin: 0 0 16px !important;
    padding: 20px 16px 0 !important;
    border: none !important;
    background: transparent !important;
}
.at-title {
    background: var(--la-white) !important;
    border-bottom: 1px solid var(--la-border-light) !important;
    margin-bottom: 0 !important;
}
.at-title .page-title {
    font-size: clamp(18px, 4vw, 22px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    color: var(--la-text) !important;
    padding: 16px 0 8px !important;
}
.at-title .page-title .fa {
    display: none !important;
}
.at-title .page-desc {
    font-size: 14px !important;
    color: var(--la-text-muted) !important;
    line-height: 1.5 !important;
}

/* 쇼핑몰·게시판 네비 높이 통일 */
.pc-header,
.at-navbar,
.at-menu .navbar,
.m-menu {
    min-height: var(--la-nav-h) !important;
}
.at-navbar .navbar-nav > li > a,
.pc-menu .nav > li > a {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* 갤러리 카드 */
.la-board-gall .list-wrap .list-item {
    border-radius: var(--la-radius-lg) !important;
    overflow: hidden !important;
    background: var(--la-white) !important;
    box-shadow: var(--la-shadow-sm) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.la-board-gall .list-wrap .list-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--la-shadow-md) !important;
}
.la-board-gall .list-wrap .post-subject {
    font-weight: 600 !important;
    color: var(--la-text) !important;
    padding: 8px 4px 4px !important;
}

/* 쇼핑 목록 카드 */
.sct_10 .sct_li {
    padding: 8px !important;
}
.sct_10 .sct_img {
    border-radius: var(--la-radius-lg) !important;
    overflow: hidden !important;
    background: var(--la-white) !important;
}
.sct_10 .sct_txt a {
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    color: var(--la-text) !important;
}
.sct_10 .sct_cost {
    color: var(--la-accent) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* 상품 상세 — 옵션·버튼 터치 */
#sit_sel_option label,
#sit_ov .sit_opt_list li,
.sit_sel_btn,
.sit_opt_added li {
    min-height: 44px !important;
}
#sit_ov .sit_opt_list button,
#sit_ov .btn_frmline,
.sit_sel_option button {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 10px 14px !important;
    border-radius: var(--la-radius) !important;
    font-size: 14px !important;
}
#sit_ov_btn {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 16px !important;
}
#sit_ov_btn .btn_buy,
#sit_ov_btn .btn_cart,
#sit_ov_btn .btn-navy,
#sit_ov_btn .btn-color {
    flex: 1 1 140px !important;
    border-radius: var(--la-radius-lg) !important;
    font-weight: 600 !important;
}

/* 장바구니 빈 상태 */
#sod_bsk #sod_bsk_list:empty,
.sod_list:empty {
    min-height: 120px !important;
}
.at-body:has(#sod_bsk) .btn_submit,
.at-body:has(#sod_bsk) .btn01 {
    min-height: 44px !important;
    border-radius: var(--la-radius-lg) !important;
    background: var(--la-accent) !important;
    border-color: var(--la-accent) !important;
    font-weight: 600 !important;
}

/* FAQ */
#faq_wrap .faq_li {
    border: 1px solid var(--la-border-light) !important;
    border-radius: var(--la-radius-lg) !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
    background: var(--la-white) !important;
}
#faq_wrap .faq_li button,
#faq_wrap .faq_li dt {
    min-height: 48px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--la-text) !important;
    width: 100% !important;
    text-align: left !important;
    background: transparent !important;
    border: none !important;
}
#faq_wrap .faq_li dd,
#faq_wrap .con_inner {
    padding: 12px 16px 16px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: var(--la-text-muted) !important;
    border-top: 1px solid var(--la-border-light) !important;
}

/* 로그인 */
#login_fs .frm_input,
#login_fs .btn_submit {
    min-height: 48px !important;
    border-radius: var(--la-radius) !important;
    font-size: 16px !important;
}
#login_fs .btn_submit {
    background: var(--la-accent) !important;
    border-color: var(--la-accent) !important;
    font-weight: 600 !important;
    width: 100% !important;
    margin-top: 8px !important;
}

/* 회사소개 cp-* */
.page-content {
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 8px 16px 40px !important;
}
.page-content .div-title-underbar {
    margin: 24px 0 16px !important;
    border: none !important;
}
.page-content .div-title-underbar-bold {
    font-size: clamp(22px, 5vw, 28px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    color: var(--la-text) !important;
    border-bottom: 3px solid var(--la-accent) !important;
    padding-bottom: 8px !important;
    display: inline-block !important;
}
.page-content .page-nav {
    display: none !important;
}
.page-content > p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: var(--la-text-muted) !important;
}

/* 게시판 글쓰기 */
#bo_w h2,
#bo_w .bo_w_tit {
    font-size: clamp(18px, 4vw, 22px) !important;
    font-weight: 700 !important;
}
#bo_w .btn_submit {
    background: var(--la-accent) !important;
    border-color: var(--la-accent) !important;
    border-radius: var(--la-radius-lg) !important;
    font-weight: 600 !important;
}

/* 주문서 빈 장바구니 안내 (alert 대체 불가, 폼 영역 여백) */
.la-order-page + .la-order-form,
.la-order-form {
    padding: 0 16px 32px !important;
}

@media (max-width: 768px) {
    html,
    body.responsive.is-mobile {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
    .at-container,
    .at-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    #bo_list,
    .board-list,
    .la-board-gall .list-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .at-title .at-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .la-board-gall .list-wrap .list-item {
        transition: none !important;
    }
    .la-board-gall .list-wrap .list-item:hover {
        transform: none !important;
    }
}

/* ================================================================
   device=mobile 강제 모드 — body.is-mobile (뷰포트 무관)
   데스크톱 브라우저에서 ?device=mobile 접속 시 PC메뉴·레이아웃 붕괴 방지
   ================================================================ */
body.responsive.is-mobile .at-lnb,
body.responsive.is-mobile .pc-header,
body.responsive.is-mobile .pc-menu,
body.responsive.is-mobile .pc-menu-all,
body.responsive.is-mobile .pc-menu .sub-1div,
body.responsive.is-mobile .pc-menu .sub-2dul,
body.responsive.is-mobile .pc-menu .nav-full.on {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

body.responsive.is-mobile .m-header {
    display: block !important;
}

body.responsive.is-mobile .m-menu {
    display: block !important;
}

body.responsive.is-mobile .at-wrapper,
body.responsive.is-mobile .at-body,
body.responsive.is-mobile .at-container,
body.responsive.is-mobile .at-content {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

body.responsive.is-mobile .item-wrap,
body.responsive.is-mobile .item-head,
body.responsive.is-mobile .item-head .row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.responsive.is-mobile .item-head .col,
body.responsive.is-mobile .item-head [class*="col-"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.responsive.is-mobile .item-page,
body.responsive.is-mobile .item-page.pull-left {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
}

body.responsive.is-mobile #sit_ov_wrap {
    display: block !important;
    width: 100% !important;
}

body.responsive.is-mobile #sit_pvi,
body.responsive.is-mobile #sit_ov {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.responsive.is-mobile .item-tab .tabs,
body.responsive.is-mobile .item-tab .nav-tabs {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: hidden !important;
}

body.responsive.is-mobile .item-tab .nav-tabs > li {
    float: none !important;
    flex: 1 1 45% !important;
    max-width: 100% !important;
}

body.responsive.is-mobile .item-tab .nav-tabs > li.tab-right {
    display: none !important;
}

body.responsive.is-mobile html,
body.responsive.is-mobile {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* ================================================================
   상품 상세 모바일 UI 현대화 (.la-item-page)
   실제 모바일 뷰포트 + device=mobile(is-mobile) 공통
   ================================================================ */
@media (max-width: 768px) {
    body:has(.la-item-page) .at-title,
    body:has(.la-item-page) .div-title-underbar-bold {
        display: none !important;
    }

    .la-item-page {
        padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important;
        background: var(--la-cream) !important;
    }

    .la-item-page .item-head {
        border: none !important;
        margin: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .la-item-page .item-head .img-container {
        background: var(--la-white) !important;
        padding: 0 !important;
    }

    .la-item-page #sit_pvi {
        margin: 0 !important;
    }

    .la-item-page #sit_pvi_big {
        padding: 20px 16px 8px !important;
        background: var(--la-white) !important;
    }

    .la-item-page #sit_pvi_big img {
        max-height: min(72vw, 420px) !important;
        width: auto !important;
        border-radius: var(--la-radius-lg) !important;
    }

    .la-item-page #sit_pvi_thumb {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 12px 16px 16px !important;
        margin: 0 !important;
        text-align: left !important;
        scroll-snap-type: x proximity !important;
        background: var(--la-white) !important;
    }

    .la-item-page #sit_pvi_thumb a {
        flex: 0 0 64px !important;
        margin: 0 !important;
        scroll-snap-align: start !important;
    }

    .la-item-page #sit_pvi_thumb img {
        width: 64px !important;
        height: 64px !important;
        object-fit: cover !important;
        border-radius: var(--la-radius) !important;
        border: 2px solid var(--la-border-light) !important;
    }

    .la-item-page #sit_pvi_thumb a:hover img,
    .la-item-page #sit_pvi_thumb a:focus img {
        border-color: var(--la-accent) !important;
    }

    .la-item-page .item-head .form-container {
        background: var(--la-white) !important;
        border-top: none !important;
        border-radius: 16px 16px 0 0 !important;
        margin-top: -8px !important;
        position: relative !important;
        z-index: 2 !important;
        box-shadow: var(--la-shadow-sm) !important;
    }

    .la-item-page .item-head .text {
        padding: 20px 16px 12px !important;
    }

    .la-item-page .item-head h1 {
        font-size: clamp(22px, 5.5vw, 28px) !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        letter-spacing: -0.03em !important;
        color: var(--la-text) !important;
        margin-bottom: 8px !important;
    }

    .la-item-page .item-rating-bar {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 12px !important;
        font-size: 14px !important;
    }

    .la-item-page .item-rating-count {
        color: var(--la-text-muted) !important;
        text-decoration: underline !important;
        text-underline-offset: 2px !important;
    }

    .la-item-page .item-head .desc {
        font-size: 15px !important;
        line-height: 1.5 !important;
        color: var(--la-text-muted) !important;
        padding-top: 0 !important;
    }

    .la-item-page .item-head .price {
        margin-top: 16px !important;
        padding: 16px 0 4px !important;
        border-top: 1px solid var(--la-border-light) !important;
    }

    .la-item-page .item-head .price .font-18,
    .la-item-page .item-head .price b.red {
        font-size: 26px !important;
        font-weight: 700 !important;
        color: var(--la-accent) !important;
    }

    .la-item-page .item-head .price strike {
        display: block !important;
        margin: 4px 0 0 !important;
        font-size: 14px !important;
    }

    .la-item-page .option-line {
        display: none !important;
    }

    .la-item-page .option-tbl {
        width: 100% !important;
        margin: 0 !important;
    }

    .la-item-page .option-tbl tr {
        display: flex !important;
        flex-direction: column !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid var(--la-border-light) !important;
    }

    .la-item-page .option-tbl th,
    .la-item-page .option-tbl td {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        border: none !important;
    }

    .la-item-page .option-tbl th {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: var(--la-text-muted) !important;
        margin-bottom: 8px !important;
    }

    .la-item-page .option-tbl td {
        font-size: 15px !important;
        color: var(--la-text) !important;
    }

    .la-item-page select.it_option,
    .la-item-page select.it_supply,
    .la-item-page select.form-control,
    .la-item-page #ct_send_cost {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 14px !important;
        font-size: 15px !important;
        border: 1px solid var(--la-border) !important;
        border-radius: var(--la-radius-lg) !important;
        background: var(--la-white) !important;
        color: var(--la-text) !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236e6e73' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: right 14px center !important;
    }

    .la-item-page .price-sum {
        text-align: left !important;
        margin: 16px 0 8px !important;
        padding: 14px 16px !important;
        background: var(--la-cream) !important;
        border-radius: var(--la-radius-lg) !important;
        font-size: 15px !important;
        color: var(--la-text) !important;
    }

    .la-item-page .price-sum #it_tot_price {
        font-size: 22px !important;
        font-weight: 700 !important;
        color: var(--la-accent) !important;
    }

    .la-item-page .item-form-footer {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 950 !important;
        background: rgba(255, 255, 255, 0.96) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border-top: 1px solid var(--la-border-light) !important;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        margin: 0 !important;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.08) !important;
    }

    .la-item-page .item-form-btn {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    .la-item-page .item-form-btn li {
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .la-item-page .item-form-btn li:nth-child(1),
    .la-item-page .item-form-btn li:nth-child(2) {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .la-item-page .item-form-btn li:nth-child(1) .btn-item,
    .la-item-page .item-form-btn li:nth-child(2) .btn-item {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        border: 1px solid var(--la-border) !important;
        background: var(--la-white) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important;
    }

    .la-item-page .item-form-btn li:nth-child(1) .fa,
    .la-item-page .item-form-btn li:nth-child(2) .fa {
        font-size: 18px !important;
        margin: 0 !important;
    }

    .la-item-page .item-form-btn li:nth-child(3),
    .la-item-page .item-form-btn li:nth-child(4) {
        flex: 1 1 calc(50% - 30px) !important;
        width: auto !important;
        max-width: none !important;
    }

    .la-item-page .item-form-btn input[type="submit"],
    .la-item-page .item-form-btn .btn-block {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 16px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        border-radius: var(--la-radius-lg) !important;
        border: none !important;
    }

    .la-item-page .item-form-btn li:nth-child(3) input {
        background: var(--la-accent) !important;
        color: var(--la-white) !important;
    }

    .la-item-page .item-form-btn li:nth-child(4) input {
        background: var(--la-charcoal) !important;
        color: var(--la-white) !important;
    }

    .la-item-page .form-container > .btn-block[onclick*="stud"] {
        margin: 12px 16px 16px !important;
        width: calc(100% - 32px) !important;
        min-height: 44px !important;
        padding: 10px 16px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        border-radius: var(--la-radius-lg) !important;
        background: var(--la-white) !important;
        color: var(--la-text) !important;
        border: 1px solid var(--la-border) !important;
    }

    .la-item-page .item-tab {
        margin: 12px 0 0 !important;
        padding: 0 12px !important;
        background: transparent !important;
    }

    .la-item-page .item-tab .nav.nav-tabs.tabs-top,
    .la-item-page .item-tab .nav.nav-tabs.tabs-bottom {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        border: none !important;
        border-bottom: 1px solid var(--la-border-light) !important;
        background: var(--la-white) !important;
        border-radius: var(--la-radius-lg) var(--la-radius-lg) 0 0 !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .la-item-page .item-tab .nav-tabs > li {
        flex: 1 1 auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .la-item-page .item-tab .nav-tabs > li > a {
        min-height: 48px !important;
        padding: 14px 12px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: var(--la-text-muted) !important;
        border: none !important;
        border-bottom: 2px solid transparent !important;
        border-radius: 0 !important;
        background: transparent !important;
        margin: 0 !important;
    }

    .la-item-page .item-tab .nav-tabs > li.active > a,
    .la-item-page .item-tab .nav-tabs > li.active > a:hover {
        color: var(--la-accent) !important;
        border-bottom-color: var(--la-accent) !important;
        background: transparent !important;
    }

    .la-item-page .item-tab .tab-content {
        background: var(--la-white) !important;
        border: none !important;
        border-radius: 0 0 var(--la-radius-lg) var(--la-radius-lg) !important;
        padding: 0 !important;
        box-shadow: var(--la-shadow-sm) !important;
    }

    .la-item-page .item-explan {
        padding: 0 !important;
    }

    .la-item-page .item-explan .vf-wrap {
        margin: 0 !important;
    }

    .la-item-page .item-explan .vf-header {
        padding: 28px 18px 20px !important;
    }

    .la-item-page .item-explan .vf-specs {
        padding: 16px 12px !important;
        gap: 8px !important;
    }

    .la-item-page .item-explan .vf-spec-item {
        min-width: calc(50% - 8px) !important;
        padding: 12px 8px !important;
    }

    .la-item-page .item-explan .vf-spec-num {
        font-size: 20px !important;
    }

    .la-item-page .panel.panel-default {
        margin: 16px 12px !important;
        border: none !important;
        border-radius: var(--la-radius-lg) !important;
        box-shadow: var(--la-shadow-sm) !important;
        overflow: hidden !important;
    }

    .la-item-page .panel.panel-default > .panel-heading {
        background: var(--la-white) !important;
        border-bottom: 1px solid var(--la-border-light) !important;
        padding: 16px !important;
    }

    .la-item-page .panel.panel-default > .panel-heading .panel-title {
        font-size: 17px !important;
        font-weight: 700 !important;
        color: var(--la-text) !important;
    }

    .la-item-page .panel.panel-default > .panel-heading .fa {
        color: var(--la-accent) !important;
    }

    .la-item-page .div-head.border-black {
        display: none !important;
    }

    .la-item-page + .panel,
    .la-item-page ~ .panel {
        margin-left: 12px !important;
        margin-right: 12px !important;
    }
}

/* device=mobile: 뷰포트가 넓어도 상품 상세 모바일 UI 적용 */
body.responsive.is-mobile:has(.la-item-page) .at-title,
body.responsive.is-mobile:has(.la-item-page) .div-title-underbar-bold {
    display: none !important;
}

body.responsive.is-mobile .la-item-page {
    padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important;
    background: var(--la-cream) !important;
}

body.responsive.is-mobile .la-item-page .item-head {
    border: none !important;
    margin: 0 !important;
    background: transparent !important;
}

body.responsive.is-mobile .la-item-page .item-head .form-container {
    background: var(--la-white) !important;
    border-radius: 16px 16px 0 0 !important;
    margin-top: -8px !important;
    box-shadow: var(--la-shadow-sm) !important;
}

body.responsive.is-mobile .la-item-page #sit_pvi_thumb {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding: 12px 16px 16px !important;
}

body.responsive.is-mobile .la-item-page .item-form-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 950 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.08) !important;
}

body.responsive.is-mobile .la-item-page .item-form-btn {
    display: flex !important;
    gap: 8px !important;
}

body.responsive.is-mobile .la-item-page .item-form-btn li:nth-child(3),
body.responsive.is-mobile .la-item-page .item-form-btn li:nth-child(4) {
    flex: 1 1 calc(50% - 30px) !important;
}

body.responsive.is-mobile .la-item-page .item-form-btn input[type="submit"] {
    min-height: 48px !important;
    border-radius: var(--la-radius-lg) !important;
}

body.responsive.is-mobile .la-item-page .item-tab .nav-tabs > li > a {
    min-height: 48px !important;
    border-bottom: 2px solid transparent !important;
}

body.responsive.is-mobile .la-item-page .item-tab .nav-tabs > li.active > a {
    color: var(--la-accent) !important;
    border-bottom-color: var(--la-accent) !important;
}

/* ================================================================
   Bootstrap collapse 폴백 — colorset 미로드 시 전체메뉴 노출 방지
   ================================================================ */
.collapse:not(.in) {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.pc-menu-all:not(:has(#menu-all.in)) {
    background: transparent !important;
    box-shadow: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* PC(992px+) 모바일 메뉴 숨김 폴백 */
@media (min-width: 992px) {
    body.responsive.is-pc .m-menu,
    body.responsive.is-pc .m-header {
        display: none !important;
    }
}

/* 전체메뉴 펼침 시 정리 */
.pc-menu-all #menu-all.in {
    padding-bottom: 16px !important;
}

.pc-menu-all #menu-all.in .table {
    border: none !important;
    margin-bottom: 0 !important;
}

.pc-menu-all #menu-all.in .table td {
    vertical-align: top !important;
    border: 1px solid var(--la-border-light) !important;
    border-radius: var(--la-radius-lg) !important;
    padding: 0 !important;
    background: var(--la-white) !important;
}

.pc-menu-all #menu-all.in .menu-a {
    background: var(--la-cream) !important;
    border-bottom: 1px solid var(--la-border-light) !important;
    color: var(--la-text) !important;
    font-weight: 600 !important;
    border-radius: var(--la-radius-lg) var(--la-radius-lg) 0 0 !important;
}

.pc-menu-all #menu-all.in .sub-1da {
    padding: 6px 12px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

/* ================================================================
   상품 상세 PC UI 현대화 (.la-item-page, 769px+)
   Bootstrap col-sm-6 미로드 시 flex 2열 복구
   ================================================================ */
body:has(.la-item-page) .at-title,
body:has(.la-item-page) .div-title-underbar-bold {
    display: none !important;
}

@media (min-width: 769px) {
    .at-body:has(.la-item-page) .at-content {
        padding: 24px 20px 48px !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    .la-item-page {
        background: transparent !important;
        padding-bottom: 0 !important;
    }

    .la-item-page .item-head {
        display: block !important;
        border: none !important;
        margin: 0 0 24px !important;
        background: var(--la-white) !important;
        background-image: none !important;
        border-radius: var(--la-radius-lg) !important;
        box-shadow: var(--la-shadow-sm) !important;
        overflow: hidden !important;
    }

    .la-item-page .item-head .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        margin: 0 !important;
    }

    .la-item-page .item-head .img-container,
    .la-item-page .item-head .form-container {
        float: none !important;
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        box-sizing: border-box !important;
    }

    .la-item-page .item-head .img-container {
        background: var(--la-cream) !important;
        border-right: 1px solid var(--la-border-light) !important;
        padding: 32px 28px 24px !important;
    }

    .la-item-page #sit_pvi_big {
        padding: 0 !important;
    }

    .la-item-page #sit_pvi_big img {
        max-height: 520px !important;
        border-radius: var(--la-radius-lg) !important;
    }

    .la-item-page #sit_pvi_thumb {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        padding: 20px 0 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .la-item-page #sit_pvi_thumb a {
        margin: 0 !important;
    }

    .la-item-page #sit_pvi_thumb img {
        width: 72px !important;
        height: 72px !important;
        object-fit: cover !important;
        border-radius: var(--la-radius) !important;
        border: 2px solid var(--la-border-light) !important;
        transition: border-color 0.18s ease !important;
    }

    .la-item-page #sit_pvi_thumb a:hover img,
    .la-item-page #sit_pvi_thumb a:focus img {
        border-color: var(--la-accent) !important;
    }

    .la-item-page .item-head .form-container {
        background: var(--la-white) !important;
        border-top: none !important;
    }

    .la-item-page .item-head .text {
        padding: 32px 32px 24px !important;
    }

    .la-item-page .item-head h1 {
        font-size: clamp(28px, 2.4vw, 36px) !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        letter-spacing: -0.03em !important;
        color: var(--la-text) !important;
        margin-bottom: 10px !important;
    }

    .la-item-page .item-rating-bar {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin-bottom: 14px !important;
        font-size: 14px !important;
    }

    .la-item-page .item-head .desc {
        font-size: 16px !important;
        line-height: 1.55 !important;
        color: var(--la-text-muted) !important;
    }

    .la-item-page .item-head .price {
        margin-top: 20px !important;
        padding-top: 18px !important;
        border-top: 1px solid var(--la-border-light) !important;
    }

    .la-item-page .item-head .price .font-18,
    .la-item-page .item-head .price b.red {
        font-size: 32px !important;
        font-weight: 700 !important;
        color: var(--la-accent) !important;
    }

    .la-item-page .option-line {
        display: none !important;
    }

    .la-item-page .option-tbl {
        width: 100% !important;
        margin: 8px 0 0 !important;
    }

    .la-item-page .option-tbl tr {
        border-bottom: 1px solid var(--la-border-light) !important;
    }

    .la-item-page .option-tbl th {
        width: 110px !important;
        max-width: 110px !important;
        padding: 14px 0 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: var(--la-text-muted) !important;
        vertical-align: top !important;
    }

    .la-item-page .option-tbl td {
        padding: 14px 0 !important;
        font-size: 15px !important;
        color: var(--la-text) !important;
    }

    .la-item-page select.it_option,
    .la-item-page select.it_supply,
    .la-item-page select.form-control,
    .la-item-page #ct_send_cost {
        width: 100% !important;
        max-width: 360px !important;
        min-height: 44px !important;
        padding: 10px 14px !important;
        font-size: 14px !important;
        border: 1px solid var(--la-border) !important;
        border-radius: var(--la-radius-lg) !important;
        background-color: var(--la-white) !important;
    }

    .la-item-page .price-sum {
        text-align: left !important;
        margin: 20px 0 16px !important;
        padding: 16px 18px !important;
        background: var(--la-cream) !important;
        border-radius: var(--la-radius-lg) !important;
        font-size: 16px !important;
    }

    .la-item-page .price-sum #it_tot_price {
        font-size: 26px !important;
        font-weight: 700 !important;
        color: var(--la-accent) !important;
    }

    .la-item-page .item-form-footer {
        position: static !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .la-item-page .item-form-btn {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin: 0 !important;
    }

    .la-item-page .item-form-btn li {
        float: none !important;
        width: auto !important;
        padding: 0 !important;
    }

    .la-item-page .item-form-btn li:nth-child(1),
    .la-item-page .item-form-btn li:nth-child(2) {
        flex: 0 0 auto !important;
    }

    .la-item-page .item-form-btn li:nth-child(1) .btn-item,
    .la-item-page .item-form-btn li:nth-child(2) .btn-item {
        min-width: 88px !important;
        width: auto !important;
        height: 48px !important;
        padding: 0 16px !important;
        border-radius: var(--la-radius-lg) !important;
        border: 1px solid var(--la-border) !important;
        background: var(--la-white) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
    }

    .la-item-page .item-form-btn li:nth-child(3),
    .la-item-page .item-form-btn li:nth-child(4) {
        flex: 1 1 calc(50% - 60px) !important;
        min-width: 140px !important;
    }

    .la-item-page .item-form-btn input[type="submit"],
    .la-item-page .item-form-btn .btn-block {
        width: 100% !important;
        min-height: 52px !important;
        padding: 14px 20px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        border-radius: var(--la-radius-lg) !important;
        border: none !important;
    }

    .la-item-page .item-form-btn li:nth-child(3) input {
        background: var(--la-accent) !important;
        color: var(--la-white) !important;
    }

    .la-item-page .item-form-btn li:nth-child(3) input:hover {
        background: var(--la-accent-hov) !important;
    }

    .la-item-page .item-form-btn li:nth-child(4) input {
        background: var(--la-charcoal) !important;
        color: var(--la-white) !important;
    }

    .la-item-page .item-form-btn li:nth-child(4) input:hover {
        background: var(--la-charcoal-soft) !important;
    }

    .la-item-page .form-container > .btn-block[onclick*="stud"] {
        margin: 16px 0 0 !important;
        width: 100% !important;
        min-height: 48px !important;
        border-radius: var(--la-radius-lg) !important;
        background: var(--la-white) !important;
        color: var(--la-text) !important;
        border: 1px solid var(--la-border) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
    }

    .la-item-page .item-tab {
        margin: 0 0 24px !important;
        padding: 0 !important;
    }

    .la-item-page .item-tab .tabs {
        background: var(--la-white) !important;
        border-radius: var(--la-radius-lg) !important;
        box-shadow: var(--la-shadow-sm) !important;
        overflow: hidden !important;
    }

    .la-item-page .item-tab .nav.nav-tabs.tabs-top,
    .la-item-page .item-tab .nav.nav-tabs.tabs-bottom {
        display: flex !important;
        flex-wrap: nowrap !important;
        border: none !important;
        border-bottom: 1px solid var(--la-border-light) !important;
        background: var(--la-white) !important;
        margin: 0 !important;
        padding: 0 8px !important;
    }

    .la-item-page .item-tab .nav-tabs > li {
        float: none !important;
        flex: 0 0 auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .la-item-page .item-tab .nav-tabs > li > a {
        min-height: 52px !important;
        padding: 16px 20px !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: var(--la-text-muted) !important;
        border: none !important;
        border-bottom: 2px solid transparent !important;
        border-radius: 0 !important;
        background: transparent !important;
        margin: 0 !important;
    }

    .la-item-page .item-tab .nav-tabs > li.active > a,
    .la-item-page .item-tab .nav-tabs > li.active > a:hover {
        color: var(--la-accent) !important;
        border-bottom-color: var(--la-accent) !important;
    }

    .la-item-page .item-tab .tab-content {
        background: var(--la-white) !important;
        border: none !important;
        padding: 0 !important;
    }

    .la-item-page .panel.panel-default {
        margin: 0 0 24px !important;
        border: none !important;
        border-radius: var(--la-radius-lg) !important;
        box-shadow: var(--la-shadow-sm) !important;
        overflow: hidden !important;
    }

    .la-item-page .panel.panel-default > .panel-heading {
        background: var(--la-white) !important;
        border-bottom: 1px solid var(--la-border-light) !important;
        padding: 18px 24px !important;
    }

    .la-item-page .panel.panel-default > .panel-heading .panel-title {
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    .la-item-page .panel.panel-default > .panel-body {
        padding: 20px 24px !important;
    }

    .la-item-page .div-head.border-black {
        display: none !important;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .la-item-page .item-head .row {
        flex-wrap: wrap !important;
    }

    .la-item-page .item-head .img-container,
    .la-item-page .item-head .form-container {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .la-item-page .item-head .img-container {
        border-right: none !important;
        border-bottom: 1px solid var(--la-border-light) !important;
    }
}

/* ================================================================
   푸터 + 사이드바 UI 수정 (PC float 붕괴·sidebar CSS 미로드)
   ================================================================ */

/* dotum 레거시 폰트 제거 (푸터·사이드바) */
.at-footer,
.at-footer .at-links,
.at-footer .at-infos,
.at-footer .at-about,
.at-footer .copyright,
#sidebar-box.ko {
    font-family: var(--la-font-body) !important;
    font-size: 14px !important;
}

body.is-pc .ko.at-footer,
body.is-pc .at-footer.ko,
body.is-pc #sidebar-box.ko {
    font-size: 14px !important;
}

/* 사이드바 — widget.css 미로드 시 푸터 아래 850px 블록 방지 */
#sidebar-box {
    top: 0 !important;
    width: 280px !important;
    height: 100% !important;
    max-height: 100vh !important;
    position: fixed !important;
    z-index: 99998 !important;
    background: var(--la-white) !important;
    overflow: hidden !important;
}

@media (min-width: 481px) {
    #sidebar-box {
        right: -320px;
        left: auto !important;
        border-left: 1px solid var(--la-border) !important;
        margin-left: 40px !important;
    }

    #sidebar-box.sidebar-open {
        right: 0 !important;
    }
}

@media (max-width: 480px) {
    #sidebar-box {
        left: -320px;
        right: auto !important;
        border-right: 1px solid var(--la-border) !important;
        margin-right: 40px !important;
    }

    #sidebar-box.sidebar-open {
        left: 0 !important;
    }
}

#sidebar-box-mask {
    display: none;
    position: fixed !important;
    z-index: 99997 !important;
    background: rgba(0, 0, 0, 0.75) !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

#sidebar-box-mask.is-visible {
    display: block !important;
}

/* 푸터 상단 링크 바 — pull-left/right float 대신 flex */
.at-footer {
    background: #111 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    border-top: none !important;
}

.at-footer .at-links {
    background: rgba(255, 255, 255, 0.04) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 14px 0 !important;
}

.at-footer .at-links .at-container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px 20px !important;
}

.at-footer .at-links .clearfix {
    display: none !important;
}

.at-footer .at-links ul.pull-left,
.at-footer .at-links ul.pull-right {
    float: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: auto !important;
    max-width: 100% !important;
}

.at-footer .at-links ul > li {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.at-footer .at-links ul > li:last-child {
    border-right: none !important;
}

.at-footer .at-links ul > li::after {
    content: none !important;
    display: none !important;
}

.at-footer .at-links ul > li > a {
    display: block !important;
    padding: 4px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.65) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.at-footer .at-links ul > li > a:hover {
    color: var(--la-white) !important;
}

/* 회사정보 리스트 */
.at-footer .at-infos {
    padding: 36px 0 40px !important;
}

.at-footer .at-about {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.at-footer .at-about > li {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    padding-right: 14px !important;
    margin-right: 14px !important;
    margin-bottom: 4px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.at-footer .at-about > li:last-child {
    border-right: none !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
}

.at-footer .footer-brand {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--la-white) !important;
    letter-spacing: -0.03em !important;
}

.at-footer .footer-tagline {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.55) !important;
    margin-bottom: 16px !important;
}

.at-footer .footer-tel {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(227, 27, 35, 0.15) !important;
    border: 1px solid rgba(227, 27, 35, 0.35) !important;
    border-radius: var(--la-radius-lg) !important;
    padding: 10px 16px !important;
    margin-bottom: 20px !important;
    text-decoration: none !important;
}

.at-footer .footer-tel i {
    color: var(--la-accent) !important;
}

.at-footer .footer-tel span {
    color: var(--la-white) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
}

.at-footer .copyright {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.45) !important;
    margin-top: 16px !important;
    line-height: 1.55 !important;
}

.at-footer .copyright strong {
    color: rgba(255, 255, 255, 0.7) !important;
    font-weight: 600 !important;
}

@media (max-width: 768px) {
    .at-footer .at-links .at-container {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .at-footer .at-links ul.pull-left {
        display: none !important;
    }

    .at-footer .at-links ul.pull-right {
        justify-content: center !important;
        width: 100% !important;
    }

    .at-footer .at-about > li {
        display: block !important;
        width: 100% !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
        margin-right: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 8px !important;
    }

    .at-footer .at-about > li:last-child {
        border-bottom: none !important;
    }
}

