/* BASIC css start */
/* ========== 글로벌 변수 ========== */
:root{
  --white:#ffffff;
  --text-main:#111827;          /* gray-900 */
  --text-subtle:#6b7280;        /* gray-500 */
  --brand-primary:#234087;      /* thelab blue */
  --brand-primary-strong:#1a2e6c;
  --brand-light-purple:rgba(35,64,135,0.08);
  --border-color:#e5e7eb;       /* gray-200 */
  --shadow-soft:0 2px 8px rgba(80,90,120,0.07);
}

/* 드로어 오픈 강제 표출 */
.category-drawer.open { display:block !important; }


/* ========== 헤더 ========== */
.mobile-header{
  width:100%;
  background:#fff;
  box-shadow:var(--shadow-soft);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding:0 0 16px 0;
}
.header_user{background:#f7faff;border-bottom:1px solid #e2e6ef;width:100%;}
.header_user ul{display:flex;justify-content:flex-end;align-items:center;gap:12px;list-style:none;padding:0 16px;margin:0;height:36px;}
.header_user li a{font-family:'Noto Sans KR','Pretendard',Arial,sans-serif;font-size:14px;font-weight:500;color:#234087;padding:4px 12px;border-radius:16px;text-decoration:none;transition:color .18s,background .18s;}
.header_user li a:hover,.header_user li a:focus{background:#e7f1ff;color:#1966d2;}
@media (max-width:600px){
  .header_user ul{gap:8px;padding:0 4px;height:34px;}
  .header_user li a{font-size:13px;padding:3px 8px;border-radius:12px;}
}
.mobile-header .header_logo{display:flex;justify-content:center;align-items:center;padding:8px 0;}
.mobile-header .header_logo img{max-height:50px;height:auto;}

/* 검색 */
form[action="/shop/shopbrand.html"]{
  display:flex;max-width:600px;margin:0 auto;padding:4px;background:#fff;border-radius:30px;box-shadow:0 2px 6px rgba(0,0,0,.1);box-sizing:border-box;align-items:center;gap:0;
}
form[action="/shop/shopbrand.html"] input[type="text"]{
  flex:1;padding:10px 20px;font-size:14px;border:none;border-radius:30px 0 0 30px;outline-offset:2px;font-family:'Noto Sans KR','Jost',sans-serif;background:transparent;box-shadow:none;transition:box-shadow .2s ease;
}
form[action="/shop/shopbrand.html"] input[type="text"]:focus{outline:none;box-shadow:inset 0 0 3px 2px rgba(35,64,135,.4);}
form[action="/shop/shopbrand.html"] button[type="submit"]{
  background-color:var(--brand-primary);border:none;border-radius:0 30px 30px 0;padding:0 16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .25s ease;height:48px;width:48px;
}
form[action="/shop/shopbrand.html"] button[type="submit"]:hover,
form[action="/shop/shopbrand.html"] button[type="submit"]:focus{background-color:var(--brand-primary-strong);outline:none;}
form[action="/shop/shopbrand.html"] button[type="submit"] svg{stroke:#fff;width:28px;height:28px;}
@media (max-width:480px){
  form[action="/shop/shopbrand.html"]{max-width:100%;padding:4px;}
  form[action="/shop/shopbrand.html"] button[type="submit"]{width:38px;height:38px;padding:0 12px;}
}

/* ========== 하단 고정 바 ========== */
#btmMenuBar{background:#fff;position:fixed;bottom:0;left:50%;border-top:1px solid #ececec;transform:translateX(-50%);width:100%;z-index:9;}
#btmMenuBar .head_inner ul{display:flex;padding:21px 5%;}
#btmMenuBar .head_inner ul li{flex-grow:1;}
#btmMenuBar .head_inner ul li a{height:55px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;text-decoration:none;}
#btmMenuBar .head_inner ul li a p{color:#555;font-size:13px;font-weight:500;}

/* ========== 카테고리 드로어 ========== */
.category-drawer{position:fixed;inset:0;z-index:2000;display:none;}
.category-drawer.open{display:block;}
.category-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.32);opacity:0;transition:opacity .25s ease;}
.category-drawer.open .category-backdrop{opacity:1;}

.category-panel{
  position:absolute;left:0;right:0;bottom:0;
  max-height:80vh;background:var(--white);
  border-radius:24px 24px 0 0;box-shadow:0 -4px 24px rgba(0,0,0,.12);
  transform:translateY(100%); transition:transform .35s ease-in-out;
  display:flex;flex-direction:column;overflow:hidden;
}
.category-drawer.open .category-panel{transform:translateY(0);}

.category-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0;
}
.category-header h2{font-size:16px;font-weight:700;color:var(--text-main);margin:0;}
.category-close{font-size:28px;font-weight:300;background:none;border:none;color:var(--text-subtle);cursor:pointer;line-height:1;padding:4px;}
.category-close:hover{color:var(--text-main);}

.category-nav{padding:12px 20px 20px;overflow-y:auto;}
.category-list, .subcategory-list, .third-list{list-style:none;margin:0;padding:0;}
.category-item{position:relative;margin-bottom:8px;}
.category-item > .brand-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 0;font-size:16px;font-weight:700;color:var(--text-main);
}
.brand-toggle{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;}
.brand-toggle:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:6px;}
.brand-name{display:inline-flex;align-items:center;gap:8px;}
.brand-arrow{margin-left:auto;font-size:20px;color:var(--text-subtle);transition:transform .2s ease;}
.category-item.open .brand-arrow{transform:rotate(45deg);} /* + -> x */

.brand-all{
  margin-left:8px;font-weight:500;font-size:13px;
  color:var(--brand-primary);text-decoration:none;border:1px solid var(--border-color);
  padding:4px 8px;border-radius:6px;background:#fff;transition:background .2s,color .2s,border-color .2s;
}
.brand-all:hover{background:var(--brand-light-purple);border-color:var(--brand-primary);}

.subcategory-list{display:none;margin:0;padding:8px 0 12px 16px;border-left:1px solid var(--border-color);}
.category-item.open > .subcategory-list{display:block;}
.subcategory-item{margin-bottom:4px;}
.subcategory-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 12px;font-size:14px;color:var(--text-subtle);text-decoration:none;border-radius:6px;transition:all .2s ease;background:transparent;
}
.subcategory-link:hover{color:var(--brand-primary);background:var(--brand-light-purple);}
.subcategory-link.active{font-weight:600;color:var(--brand-primary);background:var(--brand-light-purple);}

.third-list{display:none;margin-top:6px;margin-left:8px;padding-left:12px;border-left:1px dashed var(--border-color);}
.subcategory-item.open > .third-list{display:block;}
.third-link{
  display:block;padding:6px 10px;margin:2px 0;font-size:13px;border-radius:6px;color:var(--text-subtle);text-decoration:none;transition:all .2s;
}
.third-link:hover{color:var(--brand-primary);background:var(--brand-light-purple);}
.third-link.active{font-weight:600;color:var(--brand-primary);background:var(--brand-light-purple);}

/* 스크롤 잠금 시 바디 흔들림 방지 */
.body-lock{overflow:hidden;touch-action:none;}

/* 다찾다 자동완성*/
.search-auto-complete-list { display:none; z-index:1; position:absolute; top:43px; left:0; width:100%; line-height:14px; background:#fff; box-shadow:0px 0px 5px 0px rgb(0 0 0 / 20%); }
.search-auto-complete-list ul { width:100%; padding:8px 5px 10px 5px; border-bottom:1px solid #ddd; display: flex; flex-wrap: wrap;}
.search-auto-complete-list ul li { text-align:center; margin: 3px; }
.search-auto-complete-list ul li a { display:block; padding:8px 14px; color:#000; border: 1px solid #eee; border-radius: 10px; background:none; font-family:'malgun gothic'; font-size:11px; letter-spacing:-1px; } 
.search-auto-complete-list ul li a strong { color:#ab3e41; }
.search-auto-complete-list ul li a:hover { background:#f2f2f2; }
.search-auto-complete-list ul li a:hover span {}
.search-auto-complete-list .search-list-close { display:block; padding:10px 11px; text-align:right; color:#666; font-size:11px; }


/* 다찾다 검색 파인더 - 레이어 */
#allfinder-ctr { z-index: 100; position: fixed; right:0; bottom:50%; }
#allfinder-ctr a { display:block; width:77px; height:64px; background:url('/images/common/allfinder_ctrl_mo.png') no-repeat 0 0; background-size:100% 100%; border:none; outline:none; font-size:0; }

.all-finder-layer { z-index:200; position:fixed; top:0; left:0; width:100%; height:100%; background:#fff; overflow-y:auto; }
.all-finder-layer .finder-hd { z-index:1; position:fixed; top:0; left:0; width:100%; height:60px; border-bottom:1px solid #e7e7e7; background:#fff; }
.all-finder-layer .finder-hd .fa-close { position:absolute; top:17px; right:10px; font-size:26px; color:#000; }
.all-finder-layer .finder-hd .finder-tit { height:60px; line-height:60px; padding:0 10px; font-size:16px; font-weight:bold; color:#000; letter-spacing:-2px; }
.all-finder-layer .finder-search { position:relative; margin:0 10px 20px; border:2px solid #000; border-radius:3px; }
.all-finder-layer .finder-search .fa-search { display: inline-block; width: 40px; height: 42px; line-height: 42px; text-align: center; font-size: 18px; }
.all-finder-layer .finder-search .txt-input { width:85%; height:42px; line-height:42px; margin:0; padding:0; font-size:14px; outline:none; border:none; color: #000; vertical-align:top; letter-spacing:-1px; }
.all-finder-layer .finder-search .txt-input::-webkit-input-placeholder { color:#b1b1b1; }
.all-finder-layer .finder-search dd { background:#FFF; }
.all-finder-layer .finder-opt { padding:60px 0 55px; color:#000; }
.all-finder-layer .finder-opt dl dt { position:relative; height:53px; line-height:53px; padding:0 10px; border-top:1px solid #e7e7e7; font-size:14px; font-weight:bold; color:#000; letter-spacing:-1px; }
.all-finder-layer .finder-opt dl dt .fa { position:absolute; top:50%; right:10px; margin-top:-13px; font-size:25px; color:#b2b2b2; }
.all-finder-layer .finder-opt dl dt > .finder-tooltip-btn { display:inline-block; width:20px; height:20px; line-height:20px; margin-top:0; border:1px solid #cecece; border-radius:20px; color:#666; font-size:11px; background:#fff; text-align:center; outline:none; }
.all-finder-layer .finder-opt dl dt .finder-comm-layer { display:none; position:absolute; top:43px; left:10px; width:70%; padding:0 15px 11px; border:1px solid #000; background:#fff; text-align:left; font-weight:normal; color:#000; z-index:1 }
.all-finder-layer .finder-opt dl dt .finder-comm-layer .finder-btn-close { display:inline-block; position:absolute; top:10px; right:14px; margin:0; font-size:19px; color:#000; outline:none; }
.all-finder-layer .finder-opt dl dt .finder-comm-layer .finder-layer-tit { padding:13px 0; border-bottom:1px solid #e5e5e5; font-size:14px; font-weight:bold; line-height:14px; }
.all-finder-layer .finder-opt dl dt .finder-comm-layer .finder-layer-cnt { padding-top:13px; line-height:1.5; font-size:13px; }
.all-finder-layer .finder-opt dl dd { display:none; padding:10px 5px 0; border-top:1px solid #e7e7e7; background:#f4f4f4; font-size:0; }
.all-finder-layer .finder-opt dl dd label { display:inline-block; width:33.3333%; text-align:center; line-height:18px;}
.all-finder-layer .finder-opt .finder-color label { width:12.5%; }
.all-finder-layer .finder-opt .finder-price .finder-price-input { padding:0 5px 10px; text-align:right; font-size:12px; }
.all-finder-layer .finder-opt .finder-price .finder-price-input:after { clear: both; content: ""; display: block; }
.all-finder-layer .finder-opt .finder-price .finder-price-input span { float:left; display:inline-block; height:34px; line-height:34px; }
.all-finder-layer .finder-opt .finder-price .finder-price-input label { display: inline-block; width: 33%; padding: 0 8px; border: 1px solid #ccc; border-radius:3px; color: #666; background:#fff; }
.all-finder-layer .finder-opt .finder-price .finder-price-input label .txt-input { display: inline-block; width: 84%; height: 32px; line-height: 32px; padding: 0; border: none; background: none; color: #000; outline:none; text-align:right; }
.all-finder-layer .finder-opt .finder-child-category { padding:0; }
.all-finder-layer .finder-opt .finder-child-category .mobile-select-category { padding:15px; margin-bottom:9px; border-bottom:1px solid #e7e7e7; font-size:14px; font-weight:bold; color:#9a9a9a; background:#fff; word-break:break-all; letter-spacing:-1px; }
.all-finder-layer .finder-opt .finder-child-category .mobile-select-category .pd-2px { padding:0 2px; }
.all-finder-layer .finder-opt .finder-child-category .mobile-select-category .fc-black { color:#000; }
.all-finder-layer .finder-opt .finder-child-category .mobile-select-category .fa { margin-left:2px; color:#000; }
.all-finder-layer .finder-btn-c { z-index:1; position:fixed; bottom:0; left:0; width:100%; height:55px; text-align: center; font-size:0; }
.all-finder-layer .finder-btn-c a.reset { display: inline-block; width: 30%; height: 55px; line-height: 55px; background: #999; color: #fff; font-size: 16px; font-weight: bold; letter-spacing: 1px; border:none; }
.all-finder-layer .finder-btn-c button { display: inline-block; width: 70%; height: 55px; line-height: 55px; background: #000; color: #fff; font-size: 16px; font-weight: bold; letter-spacing: -0.5px; border:none; }
.all-finder-layer .finder-btn-c button span.fa-search { margin-right:5px; margin-top:-2px; vertical-align:middle; font-size:0.750em; }
.all-finder-layer .finder-btn-c button span.finder-count { display:inline-block; color:#ffd800; font-size:18px; vertical-align:middle; }

.all-finder-layer .finder-opt .finder-options { display:inline-block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:80%; height:22px; padding: 5px 5%; line-height:22px; border: 1px solid #ccc; word-break:break-all; border-radius: 20px; background:#fff; color:#000; text-align:center; font-size:12px; }
.all-finder-layer .finder-opt .finder-options.on { font-weight: bold; border: 1px solid #000; box-shadow:2px 2px 3px #d2d2d2; }
.all-finder-layer .finder-opt .finder-option-color em { display: inline-block; width: 33px; height: 33px; border-radius:20px; font-size:0; vertical-align:middle; }
.all-finder-layer .finder-opt .finder-option-color.color-picker { width:33px; height:33px; padding: 0; border: none; } 
.all-finder-layer .finder-opt .finder-option-color.color-picker .fa-check { display:none; width:33px; height:33px; margin-top:-25px; color:#fff; text-align:center; font-size:16px; }
.all-finder-layer .finder-opt .finder-option-color.color-picker.on .fa-check { display:block; }
.all-finder-layer .finder-opt .finder-option-color.color-picker.on.finder-option-color-white .fa-check { color:#000; }

.finder-option-color.finder-option-color-black em { background-color: #000; }
.finder-option-color.finder-option-color-white em { background-color: #FFF; width: 20px; height: 20px; border: 1px solid #e5e5e5; }
.finder-option-color.finder-option-color-gray em { background-color: #808080; }
.finder-option-color.finder-option-color-beige em { background-color: #e5d0b2; }
.finder-option-color.finder-option-color-brown em { background-color: #aa6810; }
.finder-option-color.finder-option-color-navy em { background-color: #425583; }
.finder-option-color.finder-option-color-blue em { background-color: #0000ff; }
.finder-option-color.finder-option-color-light-blue em { background-color: #62acff; }
.finder-option-color.finder-option-color-red em { background-color: #ff0000; }
.finder-option-color.finder-option-color-orange em { background-color: #ffa500; }
.finder-option-color.finder-option-color-yellow em { background-color: #ffff00; }
.finder-option-color.finder-option-color-pink em { background-color: #ffc0cb; }
.finder-option-color.finder-option-color-purple em { background-color: #800080; }
.finder-option-color.finder-option-color-jaju em { background-color: #a63f7f; }
.finder-option-color.finder-option-color-khaki em { background-color: #2f5e2f; }
.finder-option-color.finder-option-color-green em { background-color: #008000; }
.finder-option-color.finder-option-color-light-green em { background-color: #72dd95; }
.finder-option-color.finder-option-color-silver em { background-color: #dfdfdf; }
.finder-option-color.finder-option-color-gold em { background-color: #cfbc4e; }
.finder-option-color.finder-option-color-apricot em { background-color: #fbceb1;  }

.all-finder-layer .search-auto-complete-list { display:none; z-index:1; position:absolute; top:43px; left:0; width:100%; line-height:14px; background:#fff; box-shadow:0px 0px 5px 0px rgb(0 0 0 / 20%); }
.all-finder-layer .search-auto-complete-list ul { width:100%; padding:8px 5px 10px 5px; border-bottom:1px solid #ddd; display: flex; flex-wrap: wrap;}
.all-finder-layer .search-auto-complete-list ul li { text-align:center; margin: 3px; }
.all-finder-layer .search-auto-complete-list ul li a { display:block; padding:8px 14px; color:#000; border: 1px solid #eee; border-radius: 10px; background:none; font-family:'malgun gothic'; font-size:11px; letter-spacing:-1px; } 
.all-finder-layer .search-auto-complete-list ul li a strong { color:#ab3e41; }
.all-finder-layer .search-auto-complete-list ul li a:hover { background:#f2f2f2; }
.all-finder-layer .search-auto-complete-list ul li a:hover span {}
.all-finder-layer .search-auto-complete-list .search-list-close { display:block; padding:10px 11px; text-align:right; color:#666; font-size:11px; }
/* BASIC css end */

