/* ── 사이트 전역 앱 크롬 (W1) — includes/site-chrome.php 가 wp_footer 에 그린다 ──
 *
 * 팔레트 = 클로드디자인 앱 크롬 (allo-app/src/theme/tokens.ts dc 실측값):
 *   잉크 #1A1710 · 활성 #E2600F · 비활성 #A39C8F · 주황 그라디언트 #F2751A→#DE5B0B
 *   유리 = blur(12) + rgba(255,255,255,.72) + 0.5px 링 · 바 라운드 22 · 좌우 12px 띄움
 *
 * 전 규칙 #allo-sc 스코프 — 테마/엘리멘터에 한 픽셀도 새지 않게.
 * (예외 1개: body.allo-sc-on 모바일 하단 여백 — 바가 마지막 콘텐츠·위저드 버튼을 안 가리게)
 * 폰트는 Pretendard 를 선언만 한다 — 없는 페이지는 시스템 폰트로 폴백 (site-chrome 이
 * 폰트 CSS 를 새로 싣지는 않는다: 전 페이지 렌더차단 요청 추가 금지, SEO/속도 보호).
 */

#allo-sc,
#allo-sc * { box-sizing: border-box; margin: 0; padding: 0; }
#allo-sc {
  font-family: Pretendard, 'Pretendard JP', -apple-system, BlinkMacSystemFont, 'Segoe UI',
               Roboto, 'Noto Sans KR', 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ── ⓪ 앱식 사이트 헤더 (W5 — 앱 app-header.tsx 실측 이식) ─────────────────────
 * 크림 판(#F7F3ED — 리스킨 --akrs-cream 과 같은 값) + 0.5px 잉크 헤어라인.
 * 높이 60px = 앱 HEADER_BAR_H 62 에서 여유 2 를 뺀 웹 실측치 — 이 값이 3단 레일
 * topFixedBottom 실측의 새 기준이 된다 (fixed·전폭이라 topCands 에 걸린다 — 의도).
 * z-index 630: 페이지 콘텐츠 위 / 레일·필(640)·포탈 akp-nav(900)·모달(9999+) 아래.
 * top 은 site-chrome.js 가 관리자바·TP 언어바 실측만큼 내려준다 (기본 0).
 * 상태 3버전(사장님 7차 ⓐ): data-hd = guest(Log in) / member(Apply Now + 사람) /
 * applied(My page). 서버 초기값 → 쿠키 → mystate 순으로 JS 가 덮는다. */
#allo-sc .allo-hd {
  position: fixed; top: 0; left: 0; right: 0; z-index: 630;
  height: 60px; display: flex; align-items: center; gap: 8px;
  padding: 0 16px;                                   /* max() 미지원 구형 폴백 */
  /* 내용물 1140 중앙 정렬 (사장님 2026-08-14 ③) — 바는 전폭, 홈버튼·우측 버튼은 본문
     1140 컬럼의 좌우 세로선에 맞춘다. 1140+32 미만 화면에선 그냥 16px 패딩. */
  padding: 0 max(16px, calc((100% - 1140px) / 2));
  background: #F7F3ED;
  box-shadow: 0 .5px 0 rgba(26,23,16,.08);
}
/* 워드마크 — 정중앙 고정 (앱: 로고 중앙 배치), 누르면 홈 */
#allo-sc .allo-hd-brand {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: inline-flex; align-items: center; padding: 8px 4px; line-height: 0;
  text-decoration: none; -webkit-tap-highlight-color: transparent;
}
/* 153×29 = 기존 118×22 의 +30% (사장님 2026-08-14 ② — 헤더 높이 60px 유지, 모바일 동일 비율) */
#allo-sc .allo-hd-brand img { display: block; width: 153px; height: 29px; object-fit: contain; }
#allo-sc .allo-hd-brand b { font-size: 21px; font-weight: 800; letter-spacing: .02em; color: #1A1710; line-height: 1; }
/* <768px 의 헤더 구성은 아래 "모바일 = 앱 헤더 클론(A-2)" 블록이 통째로 맡는다.
   (2026-08-14 저녁 사장님: "모바일 헤더는 우리 앱꺼랑 똑같이" — 워드마크는 앱처럼 다시
   **중앙 고정**이고, 우측은 사람 아이콘 하나뿐이라 예전의 375px 오버플로가 사라졌다.
   그래서 옛 좌측정렬·위저드 압축 규칙은 필요 없어져 제거했다.) */
/* 홈 버튼 — 위저드 페이지 전용 (서버가 위저드에서만 렌더). 44×44 = 앱 터치 표준 */
#allo-sc .allo-hd-home {
  width: 44px; height: 44px; border-radius: 15px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  color: #1A1710; background: rgba(255,255,255,.92); text-decoration: none;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.08),
              0 2px 6px rgba(25,31,40,.10);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-hd-home:active { transform: scale(.92); }
/* 우측 버튼 묶음 */
#allo-sc .allo-hd-r { margin-left: auto; display: flex; align-items: center; gap: 8px; }
/* Log in — 흰 알약 (접힘 버블 재질: 흰 배경 + 0.5px 잉크 링) */
#allo-sc .allo-hd-login {
  height: 40px; padding: 0 16px; border-radius: 14px;
  display: inline-flex; align-items: center;
  background: rgba(255,255,255,.92); color: #1A1710; text-decoration: none;
  font-size: 13px; font-weight: 600; letter-spacing: -.01em; line-height: 1; white-space: nowrap;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.08),
              0 2px 6px rgba(25,31,40,.10);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-hd-login:active { transform: scale(.96); }
/* Apply Now — 앱 실측: h40 · r14 · 그라디언트(#F2751A→#DE5B0B) + 상단 스페큘러 + 주황 글로우 */
#allo-sc .allo-hd-apply {
  height: 40px; padding: 0 16px; border-radius: 14px; position: relative; overflow: hidden;
  display: inline-flex; align-items: center;
  background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff; text-decoration: none;
  font-size: 13px; font-weight: 700; letter-spacing: -.01em; line-height: 1; white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 4px 14px -4px rgba(242,117,26,.6);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-hd-apply:active { transform: scale(.96); }
/* 사람 아이콘 — my-page 바로가기 (member 상태에서 Apply Now 옆) */
#allo-sc .allo-hd-ic {
  width: 40px; height: 40px; border-radius: 14px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.92); color: #1A1710; text-decoration: none;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.08),
              0 2px 6px rgba(25,31,40,.10);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-hd-ic:active { transform: scale(.92); }
/* My page — 흰 알약 + 미니 주황 아바타 (필 .allo-sc-my 와 같은 문법) */
#allo-sc .allo-hd-my {
  height: 40px; padding: 0 14px 0 10px; border-radius: 14px;
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(255,255,255,.92); color: #1A1710; text-decoration: none;
  font-size: 13px; font-weight: 600; letter-spacing: -.01em; line-height: 1; white-space: nowrap;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.08),
              0 2px 6px rgba(25,31,40,.10);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-hd-my:active { transform: scale(.96); }
#allo-sc .allo-hd-myav {
  width: 24px; height: 24px; border-radius: 999px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
}
#allo-sc .allo-hd-myav svg { width: 13px; height: 13px; }
/* 상태 토글 — 기본 전부 숨기고 data-hd 가 켠다 (서버 초기값 → 쿠키 → mystate) */
#allo-sc .allo-hd-login, #allo-sc .allo-hd-apply,
#allo-sc .allo-hd-ic, #allo-sc .allo-hd-my { display: none; }
#allo-sc .allo-hd[data-hd="guest"] .allo-hd-login { display: inline-flex; }
#allo-sc .allo-hd[data-hd="member"] .allo-hd-apply,
#allo-sc .allo-hd[data-hd="member"] .allo-hd-ic { display: inline-flex; }
#allo-sc .allo-hd[data-hd="applied"] .allo-hd-my { display: inline-flex; }
/* 위저드: Log in 금지 — OAuth 왕복이 작성 중 입력을 날린다 (필 제거와 같은 이유, W1 major#2) */
#allo-sc .allo-hd[data-wizard="1"] .allo-hd-login { display: none; }

/* ── ☰ 메뉴 버튼 (A-2) — 앱 app-header.tsx RoundBtn 44×44 · BUBBLE_R 15 실측 ──
 * 데스크톱(≥768)에서는 안 쓴다 (헤더 폴리시 v2 = 로고+언어칩+상태버튼 그대로). */
#allo-sc .allo-hd-burger {
  display: none; width: 44px; height: 44px; border-radius: 15px; flex: 0 0 auto;
  align-items: center; justify-content: center; border: 0; padding: 0; cursor: pointer;
  background: rgba(255,255,255,.92); color: #1A1710; line-height: 0;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.08),
              0 2px 6px rgba(25,31,40,.10);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-hd-burger:active { transform: scale(.9); }
/* 커뮤니티 전용 돋보기 (A-3) — 기존 aq-toolbar 검색 시트를 여는 트리거(data-aq-msearch) */
#allo-sc .allo-hd-search {
  display: none; width: 40px; height: 40px; border-radius: 14px; flex: 0 0 auto;
  align-items: center; justify-content: center; border: 0; padding: 0; cursor: pointer;
  background: rgba(255,255,255,.92); color: #1A1710; line-height: 0;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.08),
              0 2px 6px rgba(25,31,40,.10);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-hd-search:active { transform: scale(.92); }

/* ══════════════════════════════════════════════════════════════════════════
   모바일(<768) = 앱 헤더 클론 (A-2 — 사장님 2026-08-14 저녁)
   [좌 ☰ 메뉴 · 중앙 ALLO KOREA 워드마크(→홈) · 우 사람(→my-page)]
   · 언어 선택기·Log in·Apply Now·My page 알약은 **드로어 안으로** 들어갔다 (앱과 같은 자리).
   · 위저드 홈 버튼도 숨긴다 — ☰ 와 같은 좌측 자리를 두고 다툰다. 홈으로 가는 길은 없어지지
     않는다: 가운데 워드마크 자체가 홈 링크다(.allo-hd-brand → $u['home'], 앱과 같은 규칙).
     ※ 드로어에는 Home 행이 없다 — GUIDES 4 · SERVICES 3 · 유틸 2 뿐이다(allo_sc_drawer_render).
   · 폭 실측(375, <a> 박스 = img + 좌우 패딩 4): ☰ 16~60 … 중앙 107~268 … 우 319~359 — 겹침 0.
     커뮤니티(돋보기 +48)에서도 271 시작 = 3px 여유로 통과. 320px 는 아래 로고 축소로 처리.
   이 블록은 위 상태 토글(1,3,0)들보다 **뒤**에 있어 같은 특정도로 이긴다 — 순서가 계약이다.
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  /* 고정 보장 — 테마/엘리멘터가 흐름을 건드려도 헤더는 화면에 붙어 있어야 한다
     (사장님 스크린샷 "헤더 말려올라감" 방어). top 은 site-chrome.js 가 관리자바만큼 내려준다. */
  #allo-sc .allo-hd {
    position: fixed !important; left: 0 !important; right: 0 !important;
    transform: none !important; margin: 0 !important;
  }
  #allo-sc .allo-hd-burger { display: inline-flex; }
  #allo-sc .allo-hd[data-hd] .allo-hd-home,
  #allo-sc .allo-hd[data-hd] .allo-hd-lang,
  #allo-sc .allo-hd[data-hd] .allo-hd-login,
  #allo-sc .allo-hd[data-hd] .allo-hd-apply,
  #allo-sc .allo-hd[data-hd] .allo-hd-my { display: none; }
  /* 사람 아이콘은 로그인 상태와 무관하게 항상 (앱 헤더 우측 = 사람 하나) */
  #allo-sc .allo-hd[data-hd] .allo-hd-ic { display: inline-flex; }
  #allo-sc .allo-hd[data-hd] .allo-hd-search { display: inline-flex; }
}
/* 320px 급 화면 — 중앙 워드마크가 우측 버튼과 만나기 전에 한 단계 줄인다 */
@media (max-width: 359.98px) {
  #allo-sc .allo-hd-brand img { width: 120px; height: 23px; }
  /* 커뮤니티는 우측에 돋보기가 하나 더 붙는다(40 + gap 8) — 우측 묶음 시작점이 320px 에서
     264(일반) → 216 으로 당겨진다. 위 120px 워드마크는 <a> 박스가 128(96~224)이라 그 돋보기를
     8px 파고든다 (실측 2026-08-14 통합검증). 돋보기·사람은 40px 터치 타깃이라 줄일 수 없으니
     이 조합에서만 워드마크를 한 단계 더 줄인다: 96px → <a> 104(108~212) → 216 앞에 4px 남는다.
     ≥360 과 비커뮤니티는 한 글자도 안 바뀐다 — 실제로 깨지는 조합에만 건다. */
  body.allo-sc-com #allo-sc .allo-hd-brand img { width: 96px; height: 18px; }
}

/* ── 헤더 언어 선택기 (사장님 2026-08-14 ④) — 앱 웰컴 언어칩 감각의 작은 알약 ──
 * 우측 버튼 왼쪽. 스크롤 내리면(scrollY>80) 선택기만 fade — site-chrome.js 가 hd-lang-hide 를 단다. */
#allo-sc .allo-hd-lang {
  position: relative; flex: 0 0 auto; line-height: 0;
  transition: opacity .22s ease, visibility .22s;
}
#allo-sc .allo-hd.hd-lang-hide .allo-hd-lang { opacity: 0; visibility: hidden; pointer-events: none; }
#allo-sc .allo-hd-lang-btn {
  height: 32px; padding: 0 11px; border-radius: 999px; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(255,255,255,.92); color: #1A1710;
  font-family: inherit; font-size: 12px; font-weight: 700; letter-spacing: .02em; line-height: 1;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.08),
              0 2px 6px rgba(25,31,40,.10);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-hd-lang-btn:active { transform: scale(.94); }
#allo-sc .allo-hd-lang-btn svg { display: block; opacity: .55; }
#allo-sc .allo-hd-lang-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
#allo-sc .allo-hd-lang-menu {
  position: absolute; top: calc(100% + 8px); right: 0; min-width: 74px; z-index: 5;
  padding: 6px; border-radius: 14px; background: #fff;
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.08),
              0 14px 34px -12px rgba(26,23,16,.32);
}
#allo-sc .allo-hd-lang-menu[hidden] { display: none; }
#allo-sc .allo-hd-lang-menu a {
  display: block; padding: 9px 12px; border-radius: 9px;
  color: #1A1710; text-decoration: none; text-align: center;
  font-size: 12.5px; font-weight: 600; letter-spacing: .02em; line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
#allo-sc .allo-hd-lang-menu a:hover { background: #F7F3ED; }
#allo-sc .allo-hd-lang-menu a[aria-current="true"] { color: #E2600F; font-weight: 800; }

/* ══════════════════════════════════════════════════════════════════════════
   A-1 모바일 헤더 깨짐 수리 (사장님 2026-08-14 저녁 스크린샷: 상단 English 행 + 큰 흰 여백)

   원인 (라이브 저장본 실측 — scratchpad/home-live.html):
     테마 헤더는 `<header class="elementor-location-header">` 안에 인플로우 컨테이너
     `[data-id="ada04ee"]`(TP 언어 스위처 행)로 들어 있다. site-chrome.js hideThemeNav 는
     이런 **인플로우** 행을 display:none 이 아니라 visibility:hidden 으로 감춘다
     (데스크톱 히어로 정렬·3단 paddingTop 실측이 그 자리에 의존하기 때문 — 의도된 설계).
     그래서 모바일에서는 "안 보이지만 자리는 그대로인 행" = **큰 흰 여백**이 남고,
     그 위에 우리 fixed 헤더(60px)가 겹쳐 얹혀 헤더가 말려 올라간 것처럼 보인다.

   수리 (뷰포트 분기 — 데스크톱 실측 계약은 한 글자도 안 건드린다):
     ① <768 에서만 그 행들의 **자리까지 접는다** (height:0 · overflow:hidden · 여백 0).
        표식은 data-allo-hd-hidden="v:…" — hideThemeNav 가 visibility 로 숨긴 것만 골라낸다
        (display:none 로 숨긴 것은 값이 'v:' 로 시작하지 않는다).
     ② 접은 만큼 본문이 fixed 헤더 밑으로 올라오므로 body 에 60px 상단 보정.
        조건은 allo-sc-hd (헤더가 실제로 그려진 요청) — 옵션으로 헤더만 끄면 여백도 사라진다.
     조기 가림막(PHP allo_sc_early_hide)도 같은 모바일 규칙을 함께 주입한다 — first paint 부터
     여백이 없고, 가림막이 걷힌 뒤엔 아래 규칙이 끊김 없이 이어받는다.

   ⚠ #allo-sc 스코프 예외 3번째 — 하단 여백(body.allo-sc-on)과 같은 이유로 불가피하다.
     선택자는 우리가 직접 단 표식/클래스에만 걸리므로 테마로 새지 않는다.
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {
  body.allo-sc-hd [data-allo-hd-hidden^="v:"] {
    height: 0 !important; min-height: 0 !important; overflow: hidden !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
  }
  body.allo-sc-hd { padding-top: 60px; }
}
/* 커뮤니티(A-3)는 **전 폭**에서 같은 보정이 필요하다 — allo-qa 가 테마 헤더를
   `header.elementor-location-header{display:none}` 로 통째로 지우므로(allo_qa_hide_header 기본 1,
   라이브 실측 확인) 데스크톱에도 보존 공간이 0 이다. 그대로 두면 우리 60px 고정 헤더가
   피드 첫 카드를 덮는다. 값은 위 모바일 규칙과 같은 60px 이라 겹쳐도 합산되지 않는다.
   ⚠ 전제: 커뮤니티에서 테마 헤더가 숨겨져 있다는 것. allo-qa 설정에서 '헤더 숨김'을 끄면
     테마 헤더가 살아나 이 60px 이 이중 여백이 된다 — 그때는 이 한 줄을 빼면 된다. */
body.allo-sc-hd.allo-sc-com { padding-top: 60px; }

/* ══════════════════════════════════════════════════════════════════════════
   ⓪-4 모바일 앱 드로어 클론 (A-2) — allo-app/src/components/drawer.tsx 실측 이식
   왼쪽 308px 슬라이드 패널 + 스크림. 팔레트·치수는 앱 D/TINT 상수 그대로.
   z-index 660: 우리 헤더(630)·레일(640) 위 / 포탈 akp-nav(900)·모달(9999+) 아래.
   ══════════════════════════════════════════════════════════════════════════ */
#allo-sc .allo-dw { position: fixed; inset: 0; z-index: 660; }
#allo-sc .allo-dw[hidden] { display: none; }
#allo-sc .allo-dw-scrim {
  position: absolute; inset: 0; background: rgba(26,23,16,.44);
  opacity: 0; transition: opacity .3s cubic-bezier(.32,.72,0,1);
}
#allo-sc .allo-dw-panel {
  position: absolute; top: 0; bottom: 0; left: 0; width: 308px; max-width: 86vw;
  display: flex; flex-direction: column; overflow: hidden;
  background: #F7F3ED;                                   /* 앱 안드로이드 폴백과 같은 불투명 값 */
  box-shadow: 24px 0 60px -20px rgba(26,23,16,.5), inset -1px 0 0 rgba(255,255,255,.6);
  transform: translateX(-100%);
  transition: transform .34s cubic-bezier(.32,.72,0,1);
}
/* 블러가 되는 브라우저에서만 앱 iOS 재질(rgba(247,243,237,.86) + blur 34) */
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  #allo-sc .allo-dw-panel {
    background: rgba(247,243,237,.86);
    -webkit-backdrop-filter: blur(34px) saturate(160%); backdrop-filter: blur(34px) saturate(160%);
  }
}
#allo-sc .allo-dw.dw-open .allo-dw-scrim { opacity: 1; }
#allo-sc .allo-dw.dw-open .allo-dw-panel { transform: translateX(0); }

/* 프로필 헤더 — 게스트/로그인 두 변형을 다 내보내고 data-in 이 고른다 (캐시 안전) */
#allo-sc .allo-dw-head { padding: calc(16px + env(safe-area-inset-top, 0px)) 20px 16px; }
#allo-sc[data-in="1"] .allo-dw-guest { display: none; }
#allo-sc[data-in="0"] .allo-dw-authed { display: none; }
#allo-sc .allo-dw-prow, #allo-sc .allo-dw-authed {
  display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit;
}
#allo-sc .allo-dw-authed { -webkit-tap-highlight-color: transparent; }
#allo-sc .allo-dw-av {
  width: 44px; height: 44px; border-radius: 999px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(26,23,16,.06); color: #A39C8F;
  box-shadow: 0 0 0 .5px rgba(26,23,16,.08);
}
#allo-sc .allo-dw-av-on {
  background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 12px -4px rgba(242,117,26,.5);
}
/* 닫기 X(우상단 32px)가 프로필 글줄 위에 겹치지 않게 첫 행만 오른쪽을 비운다
   — 구글 버튼·아래 목록은 전폭 그대로 (앱 head 패딩 20 유지) */
#allo-sc .allo-dw-prow, #allo-sc .allo-dw-authed { padding-right: 32px; }
#allo-sc .allo-dw-pt { min-width: 0; flex: 1 1 auto; }
#allo-sc .allo-dw-pt b {
  display: block; font-size: 15.5px; font-weight: 800; letter-spacing: -.5px; color: #1A1710; line-height: 1.25;
}
#allo-sc .allo-dw-pt i {
  display: block; margin-top: 2px; font-style: normal;
  font-size: 12px; font-weight: 400; line-height: 1.4; color: #8C857A;
}
/* 구글 로그인 — 앱 gBtn 실측: h44 r14 흰 배경 + 헤어라인 + 그림자 */
#allo-sc .allo-dw-g {
  margin-top: 13px; height: 44px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: #fff; color: #1A1710; text-decoration: none;
  font-size: 13.5px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap;
  box-shadow: 0 0 0 .5px rgba(26,23,16,.09), 0 4px 8px rgba(0,0,0,.14);
  transition: transform .18s ease;
}
#allo-sc .allo-dw-g:active { transform: scale(.97); }
#allo-sc .allo-dw-g svg { flex: 0 0 auto; }

/* 본문 스크롤 */
#allo-sc .allo-dw-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding-bottom: 8px; }
#allo-sc .allo-dw-body h6 {
  margin: 0; padding: 10px 20px 8px;
  font-size: 9.5px; font-weight: 800; letter-spacing: 1.5px; line-height: 1;
  color: #B0A99C; text-transform: uppercase;
}
#allo-sc .allo-dw-row, #allo-sc .allo-dw-util {
  display: flex; align-items: center; gap: 13px; padding: 11px 20px; min-height: 46px;
  text-decoration: none; color: inherit; -webkit-tap-highlight-color: transparent;
  transition: background .16s ease;
}
#allo-sc .allo-dw-row:active, #allo-sc .allo-dw-util:active { background: rgba(26,23,16,.05); }
#allo-sc .allo-dw-row > span:not(.allo-dw-tile) {
  flex: 1 1 auto; min-width: 0; font-size: 14.5px; font-weight: 600; letter-spacing: -.3px; color: #1A1710;
}
#allo-sc .allo-dw-util { min-height: 44px; }
#allo-sc .allo-dw-util > span {
  flex: 1 1 auto; min-width: 0; font-size: 14px; font-weight: 600; letter-spacing: -.3px; color: #5E574C;
}
#allo-sc .allo-dw-chev { flex: 0 0 auto; color: #C7C0B4; }
/* 타일 30×30 r10 — 앱 TINT [연한 배경, 진한 전경, 인셋 링] 그대로 */
#allo-sc .allo-dw-tile {
  width: 30px; height: 30px; border-radius: 10px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center; line-height: 0;
}
#allo-sc .allo-dw-tile.t-orange { background: rgba(242,117,26,.12); color: #D0530A; box-shadow: 0 0 0 .5px rgba(242,117,26,.3); }
#allo-sc .allo-dw-tile.t-teal   { background: rgba(20,98,90,.11);   color: #146259; box-shadow: 0 0 0 .5px rgba(20,98,90,.3); }
#allo-sc .allo-dw-tile.t-indigo { background: rgba(46,58,140,.11);  color: #2E3A8C; box-shadow: 0 0 0 .5px rgba(46,58,140,.3); }
#allo-sc .allo-dw-tile.t-wine   { background: rgba(140,47,57,.11);  color: #8C2F39; box-shadow: 0 0 0 .5px rgba(140,47,57,.3); }
#allo-sc .allo-dw-tile.t-olive  { background: rgba(95,107,47,.13);  color: #5F6B2F; box-shadow: 0 0 0 .5px rgba(95,107,47,.3); }
#allo-sc .allo-dw-div { height: 1px; margin: 10px 20px; background: rgba(26,23,16,.09); }

/* LANGUAGE 칩 — 앱 langChip 실측: h29 r10 흰 칩 / 선택 = 잉크 채움 */
#allo-sc .allo-dw-langs { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 20px 14px; }
#allo-sc .allo-dw-chip {
  height: 29px; padding: 0 11px; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: #5E574C; text-decoration: none;
  font-size: 12px; font-weight: 700; letter-spacing: .02em; line-height: 1;
  box-shadow: 0 0 0 .5px rgba(26,23,16,.08);
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-dw-chip:active { transform: scale(.94); }
#allo-sc .allo-dw-chip.on {
  background: #1A1710; color: #fff;
  box-shadow: 0 0 0 .5px #1A1710, 0 4px 6px rgba(26,23,16,.3);
}

/* 푸터 — 소셜 4 원형 + 회사 표기 */
#allo-sc .allo-dw-foot {
  flex: 0 0 auto; padding: 14px 20px calc(14px + env(safe-area-inset-bottom, 0px));
  box-shadow: inset 0 .5px 0 rgba(26,23,16,.09);
}
#allo-sc .allo-dw-soc { display: flex; gap: 14px; justify-content: center; }
#allo-sc .allo-dw-s {
  width: 42px; height: 42px; border-radius: 999px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center; line-height: 0;
  -webkit-tap-highlight-color: transparent; transition: transform .18s ease;
}
#allo-sc .allo-dw-s:active { transform: scale(.92); }
#allo-sc .allo-dw-s.s-wa { background: #25D366; }
#allo-sc .allo-dw-s.s-ln { background: #06C755; }
#allo-sc .allo-dw-s.s-tt { background: #1A1710; }
#allo-sc .allo-dw-s.s-ig { background: linear-gradient(135deg, #833AB4, #E1306C, #FCB045); }
#allo-sc .allo-dw-foot p {
  margin-top: 11px; font-size: 10.5px; line-height: 17px; font-weight: 400; color: #B0A99C;
}
/* 닫기 X — 앱엔 없지만(스크림 탭) 웹은 마우스·키보드 사용자를 위해 명시적 출구를 둔다 */
#allo-sc .allo-dw-x {
  position: absolute; top: calc(14px + env(safe-area-inset-top, 0px)); right: 12px;
  width: 32px; height: 32px; border-radius: 999px; border: 0; padding: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(26,23,16,.06); color: #8C857A; line-height: 0;
  -webkit-tap-highlight-color: transparent;
}
/* 드로어는 모바일 전용 — ≥768 에서는 데스크톱 헤더가 같은 링크를 이미 갖고 있다
   (열린 채로 창을 넓히면 site-chrome.js 가 닫기도 한다 — 이중 안전장치) */
@media (min-width: 768px) { #allo-sc .allo-dw { display: none; } }
/* 드로어가 열려 있는 동안 배경 스크롤 잠금 (#allo-sc 스코프 예외 4번째 — 우리 클래스에만) */
body.allo-dw-lock { overflow: hidden; }

/* ── ① 우상단 로그인/마이페이지 필 ─────────────────────────────
 * 기본 top 76px = 흔한 헤더 높이 아래. site-chrome.js 가 실제 헤더 바닥(+관리자바·고정 상단바)을
 * 재서 그 아래 10px 로 보정한다 — 헤더 행(Apply 버튼)과 같은 줄에 놓이지 않게 (사장님 스크린샷 v2).
 * z-index 640: 페이지 콘텐츠 위 / 포탈 akp-nav(900)·모달(9999)·위저드 모달(99999) 아래. */
#allo-sc .allo-sc-pills { position: fixed; top: 76px; right: 14px; z-index: 640; line-height: 0; }
#allo-sc .allo-sc-pill {
  display: inline-flex; align-items: center; gap: 7px;
  height: 38px; padding: 0 14px 0 12px; border-radius: 999px;
  background: rgba(255,255,255,.72);
  -webkit-backdrop-filter: blur(12px) saturate(160%); backdrop-filter: blur(12px) saturate(160%);
  box-shadow: inset 0 .5px 0 rgba(255,255,255,.9),           /* 상단 스페큘러 */
              0 0 0 .5px rgba(26,23,16,.08),                  /* 0.5px 링 */
              0 8px 24px -10px rgba(26,23,16,.28);
  color: #1A1710; font-size: 13px; font-weight: 600; letter-spacing: -.01em; line-height: 1;
  text-decoration: none; white-space: nowrap; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .18s ease, box-shadow .18s ease;
}
#allo-sc .allo-sc-pill:hover { box-shadow: inset 0 .5px 0 rgba(255,255,255,.9), 0 0 0 .5px rgba(26,23,16,.12), 0 10px 28px -10px rgba(26,23,16,.34); }
#allo-sc .allo-sc-pill:active { transform: scale(.96); }
#allo-sc .allo-sc-pill svg { flex: 0 0 auto; display: block; }
/* My page — 미니 주황 그라디언트 아바타 (앱 FAB 문법 축소판) */
#allo-sc .allo-sc-pill-av {
  width: 22px; height: 22px; border-radius: 999px; flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
}
/* 상태 토글 — data-in 은 서버 초기값, site-chrome.js 가 힌트 쿠키로 확정 */
#allo-sc[data-in="0"] .allo-sc-my { display: none; }
#allo-sc[data-in="1"] .allo-sc-login { display: none; }

/* ── ② 하단 플로팅 유리바 (모바일 전용) ───────────────────────── */
#allo-sc .allo-sc-bar { display: none; }

@media (max-width: 767.98px) {
  #allo-sc .allo-sc-bar {
    position: fixed; z-index: 640;
    left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    height: 62px; border-radius: 22px;
    display: flex; align-items: center; padding: 0 4px;
    background: rgba(255,255,255,.72);
    -webkit-backdrop-filter: blur(12px) saturate(160%); backdrop-filter: blur(12px) saturate(160%);
    box-shadow: inset 0 .5px 0 rgba(255,255,255,.85),
                0 0 0 .5px rgba(26,23,16,.06),
                0 14px 34px -12px rgba(26,23,16,.34);      /* dc.barShadow */
  }

  /* 탭 3칸 — 아이콘 20 + 라벨 9.5 Bold, 활성 #E2600F / 비활성 #A39C8F */
  #allo-sc .allo-sc-t {
    flex: 1 1 0; min-width: 0; height: 50px;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    color: #A39C8F; text-decoration: none; -webkit-tap-highlight-color: transparent;
    transition: transform .18s ease;
  }
  #allo-sc .allo-sc-t:active { transform: scale(.95); }
  #allo-sc .allo-sc-ic {
    height: 22px; display: inline-flex; align-items: center; justify-content: center; line-height: 0;
    transition: transform .18s ease;
  }
  #allo-sc .allo-sc-t em {
    font-style: normal; font-size: 9.5px; font-weight: 700; letter-spacing: -.1px; line-height: 1;
    max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  #allo-sc .allo-sc-t.on { color: #E2600F; }
  #allo-sc .allo-sc-t.on .allo-sc-ic { transform: scale(1.05); }

  /* Apply — 주황 그라디언트 FAB (앱: 슬롯 58 · 버튼 50×50 · 라운드 17 · 글로우 · 상단 스페큘러) */
  #allo-sc .allo-sc-fab {
    flex: 0 0 58px; display: flex; align-items: center; justify-content: center;
    text-decoration: none; -webkit-tap-highlight-color: transparent;
  }
  #allo-sc .allo-sc-fabin {
    width: 50px; height: 50px; border-radius: 17px;
    display: inline-flex; align-items: center; justify-content: center;
    /* MY FAB 끝색은 앱 tokens.ts dc.gradFab 실측 #D9560A (버튼 그라디언트 #DE5B0B 와 다름) */
    background: linear-gradient(180deg, #F2751A, #D9560A); color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3),
                0 4px 14px -4px rgba(242,117,26,.6);        /* dc.glow */
    transition: transform .18s ease;
  }
  #allo-sc .allo-sc-fab:active .allo-sc-fabin { transform: scale(.95); }

  /* 바가 마지막 콘텐츠(위저드 제출 버튼 포함)를 가리지 않게 — qa 의 .aq-shell 여백과 같은 이유.
     포탈 대시보드처럼 자기 하단바(.akp-nav)가 뜨면 JS 가 allo-sc-on 을 떼며 함께 사라진다. */
  body.allo-sc-on { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
}

/* 포탈 자체 하단 탭바(.akp-nav 62px, z 900)와 충돌 시 — site-chrome.js 가 no-bar 를 단다.
   :has 지원 브라우저는 JS 타이밍과 무관하게 즉시 겹침이 사라진다 (이중 안전장치). */
#allo-sc.no-bar .allo-sc-bar { display: none; }
body:has(#ak-portal .akp-nav) #allo-sc .allo-sc-bar { display: none; }

/* ── ③ PC 레딧식 좌우 레일 (W2) ─────────────────────────────────
 * 기본 숨김 — site-chrome.js 가 뷰포트 ≥1200px 이고 (뷰포트폭-콘텐츠폭)/2 ≥ 레일폭+24 일 때만
 * #allo-sc 에 sc-rails 를 단다 (엘리멘터 박스 콘텐츠 침범 금지 안전장치).
 * 레일이 뜨면 우상단 필은 숨긴다 — 왼쪽 레일 카드와 역할 중복. */
#allo-sc .allo-sc-rails { display: none; }

@media (min-width: 1200px) {
  #allo-sc.sc-rails .allo-sc-rails { display: block; }
  #allo-sc.sc-rails .allo-sc-pills { display: none; }

  #allo-sc .allo-sc-rail {
    position: fixed; z-index: 640; width: 230px;
    top: 45%; transform: translateY(-50%);          /* 세로 중앙보다 살짝 위 */
    display: flex; flex-direction: column; gap: 14px;
  }
  #allo-sc .allo-sc-rail-l { left: 24px; }
  #allo-sc .allo-sc-rail-r { right: 24px; }

  /* 카드 — 앱 팔레트: 흰 카드 + 0.5px 잉크 유리 링 + 넓은 그림자, 라운드 18 */
  #allo-sc .allo-sc-card {
    display: block; border-radius: 18px; padding: 16px;
    background: #fff; color: #1A1710; text-decoration: none;
    box-shadow: inset 0 .5px 0 rgba(255,255,255,.9),
                0 0 0 .5px rgba(26,23,16,.08),
                0 12px 30px -14px rgba(26,23,16,.25);
  }
  #allo-sc .allo-sc-card > b {
    display: block; font-size: 14px; font-weight: 700; letter-spacing: -.01em; line-height: 1.35;
  }
  #allo-sc .allo-sc-card > p {
    margin-top: 4px; font-size: 12px; font-weight: 500; line-height: 1.45; color: #A39C8F;
  }

  /* 왼쪽: 로그인/마이페이지 카드 — 미니 주황 아바타(필과 같은 문법) */
  #allo-sc .allo-sc-rav {
    width: 30px; height: 30px; border-radius: 999px; margin-bottom: 10px;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 12px -4px rgba(242,117,26,.5);
  }
  #allo-sc[data-in="0"] .allo-sc-rmy { display: none; }
  #allo-sc[data-in="1"] .allo-sc-rlogin { display: none; }

  /* 구글 로그인 버튼 — 흰 배경 + 링 (구글 브랜드 마크는 원본 그대로) */
  #allo-sc .allo-sc-gbtn {
    margin-top: 12px; height: 38px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    background: #fff; color: #1A1710; text-decoration: none;
    font-size: 13px; font-weight: 600; letter-spacing: -.01em; white-space: nowrap;
    box-shadow: 0 0 0 1px rgba(26,23,16,.12), 0 4px 12px -6px rgba(26,23,16,.2);
    transition: transform .18s ease, box-shadow .18s ease;
  }
  #allo-sc .allo-sc-gbtn:hover { box-shadow: 0 0 0 1px rgba(26,23,16,.18), 0 6px 16px -6px rgba(26,23,16,.28); }
  #allo-sc .allo-sc-gbtn:active { transform: scale(.97); }
  #allo-sc .allo-sc-gbtn svg { flex: 0 0 auto; }

  /* 주황 그라디언트 버튼 (My page) — 앱 FAB 문법 */
  #allo-sc .allo-sc-obtn {
    margin-top: 12px; height: 38px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff; text-decoration: none;
    font-size: 13px; font-weight: 700; letter-spacing: -.01em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 4px 14px -4px rgba(242,117,26,.6);
    transition: transform .18s ease;
  }
  #allo-sc .allo-sc-obtn:active { transform: scale(.97); }

  /* 오른쪽: 앱 QR — 크림 타일 위 SVG */
  #allo-sc .allo-sc-rqr { text-align: center; }
  #allo-sc .allo-sc-qr {
    display: block; margin: 12px auto 0; padding: 14px; border-radius: 14px;
    background: #F7F3ED; line-height: 0;
  }
  #allo-sc .allo-sc-qr img { display: block; width: 100%; height: auto; max-width: 150px; margin: 0 auto; }
  #allo-sc .allo-sc-rqr > p { margin-top: 10px; }

  /* 오른쪽: 겨울학기 배너 — 주황 그라디언트 카드 */
  #allo-sc .allo-sc-rban {
    background: linear-gradient(180deg, #F2751A, #DE5B0B); color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3),
                0 0 0 .5px rgba(26,23,16,.06),
                0 12px 30px -12px rgba(242,117,26,.55);
    transition: transform .18s ease;
  }
  #allo-sc .allo-sc-rban:active { transform: scale(.98); }
  #allo-sc .allo-sc-rban > span {
    display: inline-flex; align-items: center; margin-top: 10px; height: 28px; padding: 0 12px;
    border-radius: 999px; background: rgba(255,255,255,.18); color: #fff;
    font-size: 12px; font-weight: 700; box-shadow: inset 0 .5px 0 rgba(255,255,255,.35);
  }
}

/* 움직임 줄이기 설정 존중 */
@media (prefers-reduced-motion: reduce) {
  #allo-sc, #allo-sc * { transition-duration: .01ms !important; }
}
