/*********************************************************
 * 2026-10-01 메인 페이지 아래 영역 (ABOUT US · PRODUCT · 카탈로그/문의 · PARTNERS · NEWS)
 * 서브 페이지와 같은 디자인 : 빨간 영문 소제목 + 한글 제목 + 설명 · 둥근 카드 · 부드러운 마우스 반응
 * 빨강 #e9382f · 제목 #111 · 본문 #555 · 테두리 #ececec · 바탕 #f7f7f7
 * 원복 : main.php 에서 이 파일을 불러오는 줄과 geo-* 마크업을 되돌리면 됨
 *********************************************************/

/* ── 공통 : 영역 여백 · 머리말 · 버튼 ── */
.geo-ms { min-height:0 !important; padding:110px 0; }
.geo-ms-head { text-align:center; max-width:760px; margin:0 auto 48px; }
.geo-ms-kicker { margin:0 0 12px; font-size:0.9rem; font-weight:700; letter-spacing:0.2em; color:#e9382f; }
.geo-ms-head h2 { margin:0 0 14px; font-size:2.3rem; font-weight:800; line-height:1.3; color:#333; letter-spacing:-0.02em; word-break:keep-all; }
.geo-ms-head p:not(.geo-ms-kicker) { margin:0; font-size:1.08rem; line-height:1.7; color:#666; word-break:keep-all; }
.geo-ms-cta { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:40px; }
.geo-ms-btn { display:inline-flex; align-items:center; gap:8px; height:50px; padding:0 26px; border-radius:999px; background:#111; color:#fff !important; font-size:0.98rem; font-weight:600; text-decoration:none !important; transition:background .2s, transform .2s; }
.geo-ms-btn:hover { background:#e9382f; transform:translateY(-2px); }
.geo-ms-btn i { font-style:normal; transition:transform .2s; }
.geo-ms-btn:hover i { transform:translateX(3px); }
.geo-ms-btn.is-line { background:#fff; color:#333 !important; border:1px solid #ddd; }
.geo-ms-btn.is-line:hover { border-color:#e9382f; color:#e9382f !important; background:#fff; }

/* ── ABOUT US : 아이콘 카드 3장 ── */
.main_sec02.geo-ms { background:#f7f7f7; }
.geo-ms-about { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; }
.geo-ms-card { position:relative; display:flex; flex-direction:column; padding:36px 32px 30px; background:#fff; border:1px solid #ececec; border-radius:20px; color:#333 !important; text-decoration:none !important; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.geo-ms-card:hover { transform:translateY(-6px); border-color:#f2c4c0; box-shadow:0 24px 48px -28px rgba(0,0,0,.28); }
.geo-ms-ico { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:16px; background:#fdecea; margin-bottom:22px; transition:background .25s; }
.geo-ms-ico svg { width:28px; height:28px; fill:none; stroke:#e9382f; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:stroke .25s; }
.geo-ms-card:hover .geo-ms-ico { background:#e9382f; }
.geo-ms-card:hover .geo-ms-ico svg { stroke:#fff; }
.geo-ms-card b { font-size:1.4rem; font-weight:800; color:#333; margin-bottom:10px; }
.geo-ms-txt { flex:1 1 auto; font-size:1rem; line-height:1.7; color:#666; word-break:keep-all; }
.geo-ms-more { margin-top:26px; font-size:0.95rem; font-weight:700; color:#e9382f; }
.geo-ms-more i { font-style:normal; display:inline-block; transition:transform .2s; }
.geo-ms-card:hover .geo-ms-more i { transform:translateX(4px); }

/* ── PRODUCT : 엇갈린 배치 → 같은 높이 둥근 카드 ── */
.main_sec03.geo-ms { background:#fff; padding-bottom:100px; }
.main_sec03.geo-ms .sec03_swiper_padding,
.main_sec03.geo-ms .sec03_swiper_up_padding { margin:0 10px !important; }
.main_sec03.geo-ms .sw-width { width:22% !important; }
.main_sec03.geo-ms .sw-width a { display:block; color:inherit; text-decoration:none; }
.main_sec03.geo-ms .sec03_img_controll { overflow:hidden; border-radius:18px; aspect-ratio:4 / 3; background:#f3f3f3; }
.main_sec03.geo-ms .sec03_img_controll img { width:100%; height:100%; object-fit:cover; display:block; border-radius:0 !important; transition:transform .5s ease; }
.main_sec03.geo-ms .sec03_img_controll img:hover { transform:none; }
.main_sec03.geo-ms .sw-width a:hover .sec03_img_controll img { transform:scale(1.06); }
.main_sec03.geo-ms .sec03_txt { padding:18px 4px 0; }
.main_sec03.geo-ms .sec03_main_title { margin:0 0 6px; font-size:1.2rem; font-weight:800; color:#333; transition:color .2s; }
.main_sec03.geo-ms .sw-width a:hover .sec03_main_title { color:#e9382f; }
.main_sec03.geo-ms .sec03_main_txt { margin:0; font-size:0.95rem; line-height:1.65; color:#666; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.main_sec03.geo-ms .swiper-pagination3 { position:static; margin-top:34px; text-align:center; }

/* ── 슬라이드 쪽 번호(점) : 작은 회색 점 → 고른 점은 빨간 막대 ── */
.geo-ms .swiper-pagination-bullet { width:8px; height:8px; margin:0 4px !important; background:#d5d5d5; opacity:1; border-radius:999px; transition:width .25s, background .25s; }
.geo-ms .swiper-pagination-bullet-active { width:26px; background:#e9382f; }

/* ── 카탈로그 + 문의 : 나란히 놓인 둥근 카드 두 장 ── */
.geo-m4 { padding:0 0 110px; background:#fff; }
.geo-m4-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.geo-m4-cat, .geo-m4-contact { position:relative; overflow:hidden; border-radius:24px; padding:48px 44px; min-height:340px; box-sizing:border-box; display:flex; flex-direction:column; }
.geo-m4-cat { background:linear-gradient(135deg, #ef4a3f 0%, #d92d22 100%); color:#fff; }
.geo-m4-cat:after { content:""; position:absolute; right:-80px; bottom:-80px; width:280px; height:280px; border-radius:50%; background:rgba(255,255,255,.08); pointer-events:none; }
.geo-m4-logo { width:150px; height:auto; margin:0 0 26px; }
.geo-m4-kicker { display:block; margin:0 0 10px; font-size:0.85rem; font-weight:700; letter-spacing:0.2em; opacity:.85; }
.geo-m4-cat h3 { margin:0 0 10px; font-size:1.75rem; font-weight:800; line-height:1.35; color:#fff; }
.geo-m4-desc { margin:0; font-size:0.98rem; line-height:1.6; opacity:.9; word-break:keep-all; }
.geo-m4-btns { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:28px; }
.geo-m4-btns a { display:inline-flex; align-items:center; gap:10px; height:48px; padding:0 22px; border-radius:999px; background:#fff; color:#d92d22 !important; font-size:0.95rem; font-weight:700; text-decoration:none !important; transition:transform .2s, box-shadow .2s; }
.geo-m4-btns a:hover { transform:translateY(-2px); box-shadow:0 10px 22px -10px rgba(0,0,0,.35); }
.geo-m4-btns svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.geo-m4-contact { justify-content:flex-end; color:#fff !important; text-decoration:none !important; background:#222 url("../images/sec04_img_01.jpg") center / cover no-repeat; }
.geo-m4-contact:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.65) 100%); transition:background .3s; }
.geo-m4-contact > * { position:relative; }
.geo-m4-contact b { font-size:1.45rem; font-weight:700; line-height:1.5; color:#fff; word-break:keep-all; }
.geo-m4-go { display:inline-flex; align-self:flex-start; align-items:center; gap:8px; margin-top:24px; height:48px; padding:0 24px; border-radius:999px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.55); font-size:0.95rem; font-weight:700; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:background .2s, color .2s; }
.geo-m4-go i { font-style:normal; transition:transform .2s; }
.geo-m4-contact:hover:before { background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.72) 100%); }
.geo-m4-contact:hover .geo-m4-go { background:#fff; color:#333; }
.geo-m4-contact:hover .geo-m4-go i { transform:translateX(4px); }

/* ── PARTNERS : 로고 카드 ── */
.main_sec05.geo-ms { background:#f7f7f7; }
.main_sec05.geo-ms .mySwiper05 { padding-bottom:4px; }
.main_sec05.geo-ms .over-h { display:flex; align-items:center; justify-content:center; height:120px; padding:18px 24px; box-sizing:border-box; background:#fff; border:1px solid #ececec; border-radius:16px; box-shadow:none; overflow:hidden; transition:border-color .25s, box-shadow .25s, transform .25s; }
.main_sec05.geo-ms .over-h:hover { border-color:#f2c4c0; box-shadow:0 18px 36px -24px rgba(0,0,0,.3); transform:translateY(-3px); }
.main_sec05.geo-ms .over-h img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; transition:transform .3s; }
.main_sec05.geo-ms img:hover { transform:none; }
.main_sec05.geo-ms .over-h:hover img { transform:scale(1.05); }
.main_sec05.geo-ms .swiper-pagination5 { position:static; margin-top:30px; text-align:center; }

/* ── NEWS : 영상 썸네일 카드 ── */
.main_sec06.geo-ms { background:#fff; }
.main_sec06.geo-ms .mySwiper06 .swiper-slide a { display:block; overflow:hidden; border:0; border-radius:14px; aspect-ratio:16 / 9; background:#eee; position:relative; }
.main_sec06.geo-ms .mySwiper06 .swiper-slide a:after { content:""; position:absolute; left:50%; top:50%; width:46px; height:46px; margin:-23px 0 0 -23px; border-radius:50%; background:rgba(233,56,47,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%23fff'/%3E%3C/svg%3E") center / 22px no-repeat; opacity:0; transform:scale(.8); transition:opacity .25s, transform .25s; }
.main_sec06.geo-ms .mySwiper06 .swiper-slide a:hover:after { opacity:1; transform:scale(1); }
.main_sec06.geo-ms .mySwiper06 .swiper-slide img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.main_sec06.geo-ms img:hover { transform:none; }
.main_sec06.geo-ms .mySwiper06 .swiper-slide a:hover img { transform:scale(1.06); }
.main_sec06.geo-ms .swiper-pagination6 { position:static; margin-top:30px; text-align:center; }

/* ── 화면 폭별 ── */
@media (max-width: 1100px) {
  .geo-ms-about { grid-template-columns:1fr; max-width:640px; margin:0 auto; gap:14px; }
  .geo-ms-card { flex-direction:row; flex-wrap:wrap; align-items:center; column-gap:18px; padding:24px 24px; }
  .geo-ms-ico { margin:0; }
  .geo-ms-card b { margin:0; }
  .geo-ms-txt { flex:1 1 100%; margin-top:12px; }
  .geo-ms-more { margin-top:14px; }
  .main_sec03.geo-ms .sw-width { width:32% !important; }
  .geo-m4-grid { grid-template-columns:1fr; }
}
@media (max-width: 768px) {
  .geo-ms { padding:72px 0; }
  .geo-ms-head { margin-bottom:32px; padding:0 4px; }
  .geo-ms-head h2 { font-size:1.65rem; }
  .geo-ms-head p:not(.geo-ms-kicker) { font-size:0.98rem; }
  .main_sec03.geo-ms .sw-width { width:70% !important; }
  .geo-m4 { padding-bottom:72px; }
  .geo-m4-cat, .geo-m4-contact { padding:34px 26px; min-height:280px; border-radius:20px; }
  .geo-m4-cat h3 { font-size:1.4rem; }
  .geo-m4-contact b { font-size:1.15rem; }
  .geo-m4-contact b br, .geo-m4-cat h3 br { display:none; }
  .main_sec05.geo-ms .over-h { height:90px; padding:12px 14px; border-radius:12px; }
}
@media (prefers-reduced-motion: reduce) {
  .geo-ms-card, .geo-ms-btn, .geo-m4-btns a, .main_sec05.geo-ms .over-h, .main_sec03.geo-ms .sec03_img_controll img, .main_sec06.geo-ms .mySwiper06 .swiper-slide img { transition:none; }
  .geo-ms-card:hover, .geo-ms-btn:hover, .main_sec05.geo-ms .over-h:hover { transform:none; }
}

/* 다듬기 : 예전 바탕색·여백 정리 */
.main_sec02.geo-ms, .main_sec02.geo-ms .container { background:#f7f7f7 !important; }
.main_sec05.geo-ms .mySwiper05 .swiper-slide { background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
.main_sec05.geo-ms .over-h { width:100%; margin:0 !important; }
.main_sec03.geo-ms .swiper-pagination3 { margin-top:26px; }
.main_sec03.geo-ms .geo-ms-cta { margin-top:22px; }
.main_sec03.geo-ms .swiper-slide-box { padding-bottom:0 !important; margin-bottom:0 !important; }

/* 2026-10-01 소식(유튜브) : 큰 썸네일 한 줄 + 좌우 화살표 */
.main_sec06.geo-ms .mySwiper06 { position:relative; padding:0 0 4px; overflow:hidden; }
.main_sec06.geo-ms .mySwiper06 .swiper-slide a { border-radius:18px; }
.main_sec06.geo-ms .mySwiper06 .swiper-slide a:after { width:60px; height:60px; margin:-30px 0 0 -30px; background-size:28px; }
.main_sec06.geo-ms .container { position:relative; }
.geo-news-prev, .geo-news-next { position:absolute; top:calc(50% - 30px); z-index:5; width:48px; height:48px; margin-top:-24px; border-radius:50%; border:1px solid #e6e6e6; background:rgba(255,255,255,.95); color:#333; font-size:28px; line-height:44px; text-align:center; cursor:pointer; box-shadow:0 8px 20px -10px rgba(0,0,0,.3); transition:background .2s, color .2s, border-color .2s; }
.geo-news-prev { left:12px; } .geo-news-next { right:12px; }
.geo-news-prev:hover, .geo-news-next:hover { background:#e9382f; border-color:#e9382f; color:#fff; }
.geo-news-prev.swiper-button-disabled, .geo-news-next.swiper-button-disabled { opacity:.35; cursor:default; }
@media (max-width: 768px) { .geo-news-prev, .geo-news-next { display:none; } }

/* ══ 2026-10-01 메인 사진 위 요소 : 검색창 · 숫자로 보는 선인 · 신제품 카드 ══ */
.main_sec01 .mySwiper00:after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.28) 45%, rgba(0,0,0,.55) 100%); }
.main_sec01 .main_fixed_copy { z-index:4 !important; top:46% !important; }
.main_sec01 .main_fixed_copy .title { text-shadow:0 2px 18px rgba(0,0,0,.25); }

/* 검색창 */
.geo-hs { pointer-events:auto; width:640px; max-width:calc(100% - 40px); margin:34px auto 0; }
.geo-hs-box { display:flex; align-items:center; height:62px; padding:0 7px 0 7px; background:#fff; border-radius:999px; box-shadow:0 18px 40px -16px rgba(0,0,0,.45); }
.geo-hs-type { display:flex; flex:0 0 auto; padding:4px; background:#f3f3f3; border-radius:999px; }
.geo-hs-type button { border:0; background:none; height:40px; padding:0 16px; border-radius:999px; font-size:0.95rem; font-weight:600; color:#777; cursor:pointer; transition:background .2s, color .2s; }
.geo-hs-type button.on { background:#fff; color:#e9382f; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.geo-hs-box input { flex:1 1 auto; min-width:0; height:100%; border:0; outline:none; background:transparent; padding:0 14px; font-size:1.05rem; color:#333; }
.geo-hs-box input::-webkit-search-cancel-button { -webkit-appearance:none; }
.geo-hs-go { flex:0 0 48px; width:48px; height:48px; border:0; border-radius:50%; background:#e9382f; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s, transform .2s; }
.geo-hs-go:hover { background:#c4241a; transform:scale(1.05); }
.geo-hs-go svg { width:22px; height:22px; fill:none; stroke:#fff; stroke-width:2.4; stroke-linecap:round; }
.geo-hs-box:focus-within { box-shadow:0 0 0 4px rgba(233,56,47,.35), 0 18px 40px -16px rgba(0,0,0,.45); }
.geo-hs-hot { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin-top:16px; font-size:0.9rem; }
.geo-hs-hot span { color:rgba(255,255,255,.85); font-weight:600; margin-right:2px; }
.geo-hs-hot a { padding:5px 13px; border-radius:999px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.35); color:#fff !important; text-decoration:none !important; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:background .2s, color .2s; }
.geo-hs-hot a:hover { background:#fff; color:#e9382f !important; }

/* 숫자로 보는 선인 : 사진 맨 아래 반투명 띠 */
.geo-st { position:absolute; left:0; right:0; bottom:0; z-index:4; background:rgba(15,15,15,.38); border-top:1px solid rgba(255,255,255,.15); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.geo-st-in { display:flex; justify-content:center; max-width:1200px; margin:0 auto; }
.geo-st-in > div { flex:1 1 0; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; column-gap:2px; padding:20px 10px 18px; color:#fff; text-align:center; border-left:1px solid rgba(255,255,255,.14); }
.geo-st-in > div:first-child { border-left:0; }
.geo-st-in b { font-size:2rem; font-weight:800; line-height:1.1; letter-spacing:-0.02em; font-variant-numeric:tabular-nums; }
.geo-st-in em { font-style:normal; font-size:1rem; font-weight:600; opacity:.9; }
.geo-st-in span { flex:1 1 100%; margin-top:4px; font-size:0.85rem; opacity:.75; }
.main_sec01 .swiper-pagination00 { bottom:112px !important; z-index:5; }

/* 신제품 카드 : 오른쪽 아래 */
.geo-np { position:absolute; right:32px; bottom:124px; z-index:5; display:flex; align-items:center; gap:14px; width:340px; max-width:calc(100% - 40px); padding:12px 16px 12px 12px; background:rgba(255,255,255,.95); border-radius:18px; box-shadow:0 20px 40px -18px rgba(0,0,0,.45); text-decoration:none !important; color:#333 !important; transition:transform .25s, box-shadow .25s; animation:geoNpIn .8s .9s both; }
.geo-np:hover { transform:translateY(-4px); box-shadow:0 26px 46px -18px rgba(0,0,0,.5); }
.geo-np-img { flex:0 0 64px; width:64px; height:64px; border-radius:12px; background:#eee center / cover no-repeat; }
.geo-np-txt { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.geo-np-tag { align-self:flex-start; padding:2px 8px; border-radius:6px; background:#e9382f; color:#fff; font-size:0.72rem; font-weight:800; letter-spacing:.08em; margin-bottom:5px; }
.geo-np-txt b { font-size:1rem; font-weight:800; color:#333; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.geo-np-txt small { margin-top:2px; font-size:0.8rem; color:#777; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.geo-np-go { flex:0 0 32px; width:32px; height:32px; border-radius:50%; background:#f3f3f3; display:flex; align-items:center; justify-content:center; color:#e9382f; font-weight:700; transition:background .2s, color .2s; }
.geo-np:hover .geo-np-go { background:#e9382f; color:#fff; }
@keyframes geoNpIn { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }

@media (max-width: 900px) {
  .geo-np { right:16px; left:16px; width:auto; bottom:108px; padding:10px 12px 10px 10px; border-radius:14px; }
  .geo-np-img { flex-basis:48px; width:48px; height:48px; }
  .main_sec01 .swiper-pagination00 { bottom:186px !important; }
  .main_sec01 .main_fixed_copy { top:40% !important; }
}
@media (max-width: 768px) {
  .geo-hs { margin-top:22px; }
  .geo-hs-box { height:54px; }
  .geo-hs-type button { height:36px; padding:0 11px; font-size:0.85rem; }
  .geo-hs-box input { padding:0 10px; font-size:0.95rem; }
  .geo-hs-go { flex-basis:42px; width:42px; height:42px; }
  .geo-hs-hot { gap:6px; font-size:0.8rem; }
  .geo-hs-hot a:nth-child(n+5) { display:none; }
  .geo-st-in > div { padding:12px 4px 11px; }
  .geo-st-in b { font-size:1.3rem; }
  .geo-st-in em { font-size:0.8rem; }
  .geo-st-in span { font-size:0.7rem; }
  .geo-np { bottom:84px; }
  .main_sec01 .swiper-pagination00 { bottom:186px !important; }
}
@media (prefers-reduced-motion: reduce) { .geo-np { animation:none; } }
/* 신제품 카드가 없는 화면(영문)은 슬라이드 점을 숫자 띠 바로 위로 */
@media (max-width: 900px) { .main_sec01:not(:has(.geo-np)) .swiper-pagination00 { bottom:112px !important; } }
@media (max-width: 768px) { .main_sec01:not(:has(.geo-np)) .swiper-pagination00 { bottom:84px !important; } }
