/* Mobile nav patch */
.mobile-nav{display:none;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#fff}
.mobile-nav .scroll{display:flex;gap:10px;overflow-x:auto;white-space:nowrap;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:10px 12px; scrollbar-width:none}
.mobile-nav .scroll::-webkit-scrollbar{display:none}
.mobile-nav a{flex:0 0 auto;scroll-snap-align:center;padding:10px 14px;border-radius:999px;border:1px solid #eee;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04);font-size:14px}
.mobile-nav a.active{border-color:#2b6f62}
@media (max-width: 991px){
  nav.desktop-nav{display:none;}
  .mobile-nav{display:block;}
  .hamburger,.menu-toggle,.mobile-menu-button{display:none !important}
}


/* ---- Enforced patch: hide hamburger/toggle buttons on mobile, force our footer ---- */
@media (max-width: 991px){
  .hamburger,
  .menu-toggle,
  .mobile-menu-button,
  .nav-toggle,
  .gnb-toggle,
  .btn-menu,
  [class*="hamburger"],
  [class*="menu-toggle"],
  [class*="nav-toggle"],
  [id*="hamburger"],
  [id*="menuToggle"],
  button[aria-label*="menu" i]{
    display:none !important;
  }
}
/* Hide any existing footers and show only our injected footer */
footer:not(#gtc-footer){ display:none !important; }
#gtc-footer{ display:block !important; }



/* ---- Stronger mobile hamburger suppression ---- */
@media (max-width: 991px){
  /* Common toggle widgets */
  .hamburger, .hamburger-box, .hamburger--squeeze,
  .menu-toggle, .mobile-menu-button, .mobile-toggle, .btn-menu, .btn--menu,
  .nav-toggle, .gnb-toggle, .drawer-toggle, .offcanvas-toggle,
  .header__toggle, .gnb__toggle, .gnb-open, .toggle-menu,
  /* Anything labeled or controlling menu */
  [aria-label*="menu" i], [aria-label*="메뉴" i],
  [aria-controls*="nav" i], [aria-controls*="menu" i],
  /* Label+checkbox based toggles */
  label[for*="menu" i], input[type="checkbox"][id*="menu" i],
  label[for*="nav" i], input[type="checkbox"][id*="nav" i],
  /* Classname contains heuristics */
  [class*="hamburger" i], [class*="menu-btn" i], [class*="menu_button" i], [class*="menuButton" i]{
    display:none !important;
  }
}



/* ===== Fix #1: DO NOT hide desktop nav on mobile; we only hide hamburger buttons ===== */
@media (max-width: 991px){
  nav { display: block !important; }
  nav.desktop-nav { display: block !important; }
}

/* ===== Fix #2: Make existing nav menus render as one-line horizontal scroll on mobile ===== */
@media (max-width: 991px){
  /* Common containers that hold menu items */
  nav ul, nav .menu, nav .gnb, nav .nav, .gnb, .nav, #gnb, #menu, .navbar-nav, .menu-list, .global-nav {
    display: flex !important;
    gap: 10px;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
    padding: 10px 12px;
    scrollbar-width: none;
  }
  nav ul::-webkit-scrollbar,
  .navbar-nav::-webkit-scrollbar,
  .menu-list::-webkit-scrollbar { display: none; }

  /* Ensure each item doesn't wrap and looks like a pill */
  nav ul > li, .navbar-nav > li, .menu-list > li { flex: 0 0 auto; }
  nav a, .navbar-nav a, .menu-list a, .gnb a, .nav a, #gnb a {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid #eee;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.04);
    font-size: 14px;
  }
}

/* ===== Fix #3: Strong hamburger hide on mobile (keep) ===== */
@media (max-width: 991px){
  .hamburger, .hamburger-box, .hamburger--squeeze,
  .menu-toggle, .mobile-menu-button, .mobile-toggle, .btn-menu, .btn--menu,
  .nav-toggle, .gnb-toggle, .drawer-toggle, .offcanvas-toggle,
  .header__toggle, .gnb__toggle, .gnb-open, .toggle-menu,
  [aria-label*="menu" i], [aria-label*="메뉴" i],
  [aria-controls*="nav" i], [aria-controls*="menu" i],
  label[for*="menu" i], input[type="checkbox"][id*="menu" i],
  label[for*="nav" i], input[type="checkbox"][id*="nav" i],
  [class*="hamburger" i], [class*="menu-btn" i], [class*="menu_button" i], [class*="menuButton" i]{
    display: none !important;
  }
}

/* ===== Fix #4: Footer center alignment on desktop with two-line layout ===== */
#gtc-footer .container { 
  max-width: 1200px; 
  margin: 0 auto !important; 
  text-align: center !important; 
}
#gtc-footer .line {
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 6px 0;
}
#gtc-footer .line span { display: inline-flex; align-items: center; }
#gtc-footer .line .sep { opacity: .6; margin: 0 4px; }

@media (max-width: 991px){
  #gtc-footer .line { display: block; }
  #gtc-footer .line .sep { display: none; }
  #gtc-footer .line span { display: block; margin: 4px 0; }
}



/* ===== GTC Mobile Strip: persistent mobile top menu ===== */
#gtc-mobile-strip{display:none;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#fff}
#gtc-mobile-strip .gtc-strip-scroll{display:flex;gap:10px;overflow-x:auto;white-space:nowrap;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:10px 12px; scrollbar-width:none}
#gtc-mobile-strip .gtc-strip-scroll::-webkit-scrollbar{display:none}
#gtc-mobile-strip a{flex:0 0 auto;scroll-snap-align:center;padding:10px 14px;border-radius:999px;border:1px solid #eee;
  background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04);font-size:14px}
@media (max-width: 991px){
  #gtc-mobile-strip{display:block !important;}
}



/* ===== Footer grid (2 columns on desktop, 1 on mobile), left-aligned inside container ===== */
#gtc-footer .gtc-foot{padding-left:16px;padding-right:16px;}
#gtc-footer .grid-2col{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:32px;
  row-gap:6px;
  align-items:start;
}
#gtc-footer .copy{margin-top:10px;opacity:.9}
@media (max-width: 991px){
  #gtc-footer .grid-2col{grid-template-columns:1fr;row-gap:8px}
}



/* ===== Footer left-edge alignment for left column items ===== */
#gtc-footer .grid-2col{
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
}
#gtc-footer .grid-2col > div{
  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
  text-align: left !important;
}
#gtc-footer .gtc-foot{ text-align: left !important; }
#gtc-footer a{ color:#fff; text-decoration:underline; }



/* ===== Footer: desktop vs mobile behavior ===== */
#gtc-footer .meta-mobile{display:none}
#gtc-footer .meta-desktop{display:block}
#gtc-footer .grid-2col{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:32px;
  row-gap:6px;
  align-items:start;
}
@media (max-width: 991px){
  #gtc-footer .meta-desktop{display:none}
  #gtc-footer .meta-mobile{display:block}
  #gtc-footer .row-inline{
    display:flex; flex-wrap:wrap; gap:8px 12px;
    align-items:flex-start; justify-content:flex-start;
  }
  #gtc-footer .row-inline > span{display:inline-flex}
  #gtc-footer .row-contact{margin-top:8px}
  #gtc-footer .row-contact > div{margin:4px 0}
}



/* ===== Mobile menu enhancements ===== */
#gtc-mobile-strip{
  position: sticky; top: 0; z-index: 60;
  background: rgba(255,255,255,.92);
  backdrop-filter: saturate(160%) blur(4px);
  -webkit-backdrop-filter: saturate(160%) blur(4px);
}
#gtc-mobile-strip{ position: relative; }
#gtc-mobile-strip::before, #gtc-mobile-strip::after{
  content: ""; position: absolute; top:0; bottom:0; width: 28px; pointer-events: none;
}
#gtc-mobile-strip::before{ left:0; background: linear-gradient(90deg, rgba(255,255,255,1), rgba(255,255,255,0)); }
#gtc-mobile-strip::after{ right:0; background: linear-gradient(270deg, rgba(255,255,255,1), rgba(255,255,255,0)); }

#gtc-mobile-strip .gtc-strip-scroll a{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
#gtc-mobile-strip .gtc-strip-scroll a:active{ transform: translateY(1px) scale(.98); }
#gtc-mobile-strip .gtc-strip-scroll a:hover{ box-shadow: 0 4px 14px rgba(0,0,0,.08); }

/* Active pill style */
#gtc-mobile-strip .gtc-strip-scroll a.active{
  background: #2b6f62; color: #fff; border-color: #2b6f62;
  box-shadow: 0 6px 16px rgba(43,111,98,.25);
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce){
  #gtc-mobile-strip .gtc-strip-scroll a{ transition: none; }
}

/* Ensure on mobile the strip is visible and above content */
@media (max-width: 991px){
  #gtc-mobile-strip{ display:block !important; }
}



/* ===== Rectangular mobile menu (match PC colors) ===== */
#gtc-mobile-strip .gtc-strip-scroll a{
  border-radius: 6px !important;   /* rectangle, not pill */
  background: #fff;                /* same as PC header bg */
  border: 1px solid #ddd;
  color: inherit;                  /* inherit PC link color */
}
#gtc-mobile-strip .gtc-strip-scroll a.active{
  background: #fff;                                /* keep white like PC */
  color: var(--accent, #2b6f62);                   /* use PC accent */
  border-color: var(--accent, #2b6f62);
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
#gtc-mobile-strip{ background: rgba(255,255,255,.96); }


/* ===== Footer phone placement rules ===== */
#gtc-footer .grid-2col .footer-phone{ grid-column: 2; }
@media (max-width: 991px){
  #gtc-footer .meta-mobile .row-contact .footer-phone{ order: -1; margin-bottom: 6px; }
}
