/*
 * Lingualloops v32 — original-front polish layer
 * 원래 랜딩페이지의 섹션 순서/문구/구조는 유지하고, 간격·타이포·헤더·카드·편집 UI만 정돈합니다.
 */
:root{
  --ll32-ink:#0b1324;
  --ll32-navy:#0f172a;
  --ll32-green:#10b981;
  --ll32-green-dark:#047857;
  --ll32-mint:#1ad685;
  --ll32-gold:#facc15;
  --ll32-red:#dc2626;
  --ll32-line:#dbe5ee;
  --ll32-soft:#f4f8fb;
  --ll32-shadow:0 22px 70px rgba(15,23,42,.10);
  --ll32-shadow-hover:0 30px 90px rgba(15,23,42,.16);
}

/* ─────────────────────────────────────────────
   공통 품질 보정
   ───────────────────────────────────────────── */
body.thll-v32{
  background:#fff;
  color:var(--ll32-ink);
  text-rendering:optimizeLegibility;
}
body.thll-v32 :where(h1,h2,h3,h4){
  text-wrap:balance;
  letter-spacing:-.035em;
}
body.thll-v32 :where(p,li){text-wrap:pretty}
body.thll-v32 :where(a,button,input,select,textarea):focus-visible{
  outline:3px solid rgba(26,214,133,.42)!important;
  outline-offset:3px!important;
}
body.thll-v32 :where(a,button){-webkit-tap-highlight-color:transparent}
body.thll-v32 img{image-rendering:auto}

/* ─────────────────────────────────────────────
   헤더: 풀사이즈 + 한 줄 + 프리미엄 글래스
   ───────────────────────────────────────────── */
body.thll-v32 #earlybird-bar{
  box-shadow:0 8px 28px rgba(153,27,27,.18);
  border-bottom:1px solid rgba(255,255,255,.14);
}
body.thll-v32 .nav.thll-full-header{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(148,163,184,.18);
  box-shadow:0 9px 36px rgba(15,23,42,.055);
  backdrop-filter:blur(22px) saturate(1.55);
  -webkit-backdrop-filter:blur(22px) saturate(1.55);
}
body.thll-v32 .nav.thll-full-header.scrolled{
  background:rgba(255,255,255,.975);
  box-shadow:0 15px 45px rgba(15,23,42,.10);
}
body.thll-v32 .thll-full-header .thll-header-inner{
  width:min(100%,1760px)!important;
  margin:0 auto!important;
}
body.thll-v32 .thll-full-header .thll-header-inner>a:first-child{
  transition:transform .2s ease;
}
body.thll-v32 .thll-full-header .thll-header-inner>a:first-child:hover{transform:translateY(-1px)}
body.thll-v32 .thll-main-menu>a,
body.thll-v32 .thll-main-menu .thll-nav-dd-btn{
  position:relative;
  min-height:38px;
  padding:0 10px!important;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:color .18s ease,background .18s ease,transform .18s ease;
}
body.thll-v32 .thll-main-menu>a:hover,
body.thll-v32 .thll-main-menu .thll-nav-dd-btn:hover{
  color:#047857!important;
  background:#ecfdf5;
  transform:translateY(-1px);
}
body.thll-v32 .thll-main-menu>a.text-mint-600,
body.thll-v32 .thll-main-menu .thll-nav-dd-btn.text-mint-600{
  color:#047857!important;
  background:#ecfdf5;
}
body.thll-v32 .thll-admin-dd-btn,
body.thll-v32 .thll-header-actions>a{
  min-height:42px;
  box-shadow:none;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
body.thll-v32 .thll-admin-dd-btn:hover,
body.thll-v32 .thll-header-actions>a:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(15,23,42,.13);
}
body.thll-v32 .thll-header-actions>a.bg-red-600{
  background:linear-gradient(135deg,#ef4444,#b91c1c)!important;
  box-shadow:0 12px 28px rgba(220,38,38,.24)!important;
}
body.thll-v32 .thll-header-actions>a.bg-mint-600{
  background:linear-gradient(135deg,#16d891,#059669)!important;
  box-shadow:0 12px 28px rgba(5,150,105,.20)!important;
}
body.thll-v32 .thll-nav-dd-panel,
body.thll-v32 .thll-admin-dd-panel{
  border-color:rgba(203,213,225,.84);
  box-shadow:0 34px 90px rgba(15,23,42,.19);
}
body.thll-v32 .thll-nav-dd-item,
body.thll-v32 .thll-admin-dd-panel a{border:1px solid transparent}
body.thll-v32 .thll-nav-dd-item:hover,
body.thll-v32 .thll-admin-dd-panel a:hover{
  border-color:#dbe5ee;
  background:linear-gradient(135deg,#f8fafc,#f0fdf4);
}

@media(min-width:1024px){
  body.thll-v32 .thll-full-header .thll-header-inner{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:clamp(10px,1.45vw,26px)!important;
    padding-left:clamp(14px,2.2vw,42px)!important;
    padding-right:clamp(14px,2.2vw,42px)!important;
  }
  body.thll-v32 .thll-main-menu{
    min-width:0;
    width:100%;
    justify-content:center;
    gap:clamp(3px,.75vw,16px)!important;
    white-space:nowrap;
  }
  body.thll-v32 .thll-header-actions{min-width:max-content}
}
@media(min-width:1024px) and (max-width:1220px){
  body.thll-v32 .thll-main-menu>a,
  body.thll-v32 .thll-main-menu .thll-nav-dd-btn{padding-left:7px!important;padding-right:7px!important;font-size:12px!important}
  body.thll-v32 .thll-main-menu>a[href*="/apply/"]{display:none!important}
  body.thll-v32 .thll-header-actions>a[href*="/mypage/"]{display:none!important}
  body.thll-v32 .thll-header-inner .leading-tight span:last-child{display:none!important}
}
@media(min-width:1024px) and (max-width:1110px){
  body.thll-v32 .thll-header-actions>a[href*="/videos/"]{
    width:43px!important;
    min-width:43px!important;
    padding:0!important;
    font-size:0!important;
    overflow:hidden;
  }
  body.thll-v32 .thll-header-actions>a[href*="/videos/"]::after{content:"▶";font-size:14px!important}
  body.thll-v32 .thll-admin-dd-btn{padding-left:10px!important;padding-right:10px!important}
}

/* ─────────────────────────────────────────────
   원래 메인 랜딩: 구조는 그대로, 시각 완성도만 향상
   ───────────────────────────────────────────── */
.thll-home-original{
  overflow:clip;
  background:#fff;
}
.thll-home-original>section{
  isolation:isolate;
  scroll-margin-top:112px;
}
.thll-home-original>section:first-child{
  min-height:min(920px,calc(100vh - 20px));
  display:flex;
  align-items:center;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.10),0 30px 100px rgba(15,23,42,.16);
}
.thll-home-original>section:first-child::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:90px;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(2,6,23,.14));
}
.thll-home-original>section:first-child .bg-white\/10{
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.07))!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 24px 70px rgba(2,6,23,.18);
}
.thll-home-original>section:first-child img{
  filter:saturate(1.03) contrast(1.02);
  transform:scale(1.001);
  transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
@media(hover:hover){
  .thll-home-original>section:first-child .relative:hover img{transform:scale(1.035);filter:saturate(1.08) contrast(1.04)}
}
.thll-home-original :where(.rounded-3xl,.rounded-\[2rem\],.rounded-\[2\.5rem\]){
  backface-visibility:hidden;
}
.thll-home-original .rv{
  will-change:opacity,transform;
}
.thll-home-original .rv :where(.rounded-3xl,.rounded-2xl){
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,filter .25s ease;
}
@media(hover:hover){
  .thll-home-original .rv>a.rounded-3xl:hover,
  .thll-home-original .rv>a.rounded-2xl:hover,
  .thll-home-original .rv>div.rounded-3xl:hover{
    transform:translateY(-4px);
    box-shadow:var(--ll32-shadow-hover);
  }
}
.thll-home-original :where(a[class*="bg-red-"],a[class*="bg-yellow-"],a[class*="bg-mint-"],button[class*="bg-red-"],button[class*="bg-yellow-"],button[class*="bg-mint-"]){
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
}
.thll-home-original :where(a[class*="bg-red-"],a[class*="bg-yellow-"],a[class*="bg-mint-"]):hover{
  transform:translateY(-2px);
  filter:saturate(1.05);
}
.thll-home-original section:not(:first-child):not(:last-child){
  border-top:1px solid rgba(226,232,240,.58);
}
.thll-home-original section.bg-white{
  background:
    radial-gradient(circle at 12% 7%,rgba(26,214,133,.045),transparent 28%),
    #fff!important;
}
.thll-home-original section.bg-gray-50,
.thll-home-original section[class*="bg-gray-50"]{
  background:
    radial-gradient(circle at 88% 9%,rgba(250,204,21,.08),transparent 28%),
    linear-gradient(180deg,#f8fafc,#f3f7fa)!important;
}
.thll-home-original :where(h1,h2,h3){word-break:keep-all}
.thll-home-original :where(.shadow-2xl,.shadow-xl){box-shadow:var(--ll32-shadow)}
.thll-home-original :where([class*="border-2"]){border-color:rgba(203,213,225,.90)}
.thll-home-original [class*="max-w-"]{min-width:0}
.thll-home-original a[href*="/apply/"]{text-decoration:none!important}

/* 이미지 편집 대상은 원본 비율을 유지 */
.thll-home-original img[data-thll-inline-edited="1"]{
  object-fit:cover;
  object-position:center;
}

/* ─────────────────────────────────────────────
   테스트센터/운영 페이지 미세 개선
   ───────────────────────────────────────────── */
body.thll-v32 .thll-test-hub .tch-card,
body.thll-v32 .thll-test-hub .tch-section,
body.thll-v32 .thll-test-hub .tch-summary-card{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
@media(hover:hover){
  body.thll-v32 .thll-test-hub .tch-card:hover{
    transform:translateY(-5px);
    box-shadow:0 28px 80px rgba(15,23,42,.13);
    border-color:#cbd5e1;
  }
  body.thll-v32 .thll-test-hub .tch-btn:hover{transform:translateY(-2px);filter:brightness(1.02)}
}
body.thll-v32 .thll-test-hub .tch-card-icon{box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}

/* ─────────────────────────────────────────────
   프론트 직접수정 UI — 기능은 기존 그대로, 사용성 강화
   ───────────────────────────────────────────── */
body.thll-v32 .thll-inline-toolbar{
  left:18px!important;
  bottom:18px!important;
  min-height:58px;
  padding:9px 10px!important;
  border-radius:20px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  background:linear-gradient(135deg,rgba(6,16,31,.97),rgba(15,23,42,.96))!important;
  box-shadow:0 24px 80px rgba(2,6,23,.38)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
body.thll-v32 .thll-inline-toolbar strong{
  display:inline-flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  font-size:13px;
}
body.thll-v32 .thll-inline-toolbar strong::before{content:"✏️"}
body.thll-v32 .thll-inline-toolbar .toggle{
  min-width:58px;
  background:#334155!important;
  color:#e2e8f0!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
body.thll-v32.thll-inline-active .thll-inline-toolbar .toggle,
body.thll-v32 .thll-inline-toolbar .toggle[data-active="1"]{
  background:linear-gradient(135deg,#34d399,#10b981)!important;
  color:#03261a!important;
  box-shadow:0 10px 24px rgba(16,185,129,.28)!important;
}
body.thll-v32 .thll-inline-toolbar .link{background:rgba(255,255,255,.09)!important}
body.thll-v32 .thll-inline-toolbar .link:hover{background:rgba(255,255,255,.16)!important}
body.thll-v32 .thll-inline-toolbar .status{white-space:nowrap}
body.thll-v32.thll-inline-active::after{
  content:"편집 모드 · 수정할 문구 또는 이미지를 클릭하세요";
  position:fixed;
  top:calc(var(--bar-h,40px) + var(--nav-h,64px) + 14px);
  left:50%;
  transform:translateX(-50%);
  z-index:999998;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(6,78,59,.94);
  color:#ecfdf5;
  border:1px solid rgba(110,231,183,.48);
  box-shadow:0 16px 40px rgba(6,78,59,.22);
  font-size:12px;
  font-weight:900;
  pointer-events:none;
}
body.thll-v32.thll-inline-active [data-thll-inline-hover="1"]{
  outline:3px solid #22c55e!important;
  outline-offset:4px!important;
  border-radius:8px;
  box-shadow:0 0 0 7px rgba(34,197,94,.12)!important;
}
body.thll-v32 .thll-inline-modal{
  background:rgba(2,6,23,.72)!important;
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
body.thll-v32 .thll-inline-dialog{
  width:min(720px,calc(100vw - 28px))!important;
  border-radius:28px!important;
  border:1px solid rgba(226,232,240,.95);
  box-shadow:0 40px 130px rgba(0,0,0,.40)!important;
}
body.thll-v32 .thll-inline-dialog textarea,
body.thll-v32 .thll-inline-dialog input,
body.thll-v32 .thll-inline-dialog select{
  border-color:#cbd5e1!important;
  background:#fbfdff;
}
body.thll-v32 .thll-inline-dialog textarea:focus,
body.thll-v32 .thll-inline-dialog input:focus,
body.thll-v32 .thll-inline-dialog select:focus{
  border-color:#10b981!important;
  box-shadow:0 0 0 4px rgba(16,185,129,.12);
  outline:0!important;
}
body.thll-v32 .thll-inline-preview{background:linear-gradient(135deg,#f8fafc,#ecfdf5)!important}
body.thll-v32 .thll-inline-toast{box-shadow:0 18px 55px rgba(2,6,23,.32)}

/* 푸터 */
body.thll-v32 .site-footer{
  background:
    radial-gradient(circle at 18% 0,rgba(16,185,129,.11),transparent 28%),
    linear-gradient(180deg,#101a2d,#0b1220)!important;
  border-top:1px solid rgba(148,163,184,.15);
}

@media(max-width:1023px){
  body.thll-v32 .mob-menu{
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  body.thll-v32 .mob-menu>a{border-radius:12px;padding-left:12px;padding-right:12px}
  body.thll-v32 .mob-menu>a:hover{background:#f0fdf4}
}
@media(max-width:760px){
  .thll-home-original>section:first-child{min-height:auto}
  body.thll-v32 .thll-inline-toolbar{
    left:10px!important;
    right:10px!important;
    bottom:88px!important;
    width:auto;
    justify-content:center;
    flex-wrap:wrap;
  }
  body.thll-v32 .thll-inline-toolbar .status{display:none}
  body.thll-v32.thll-inline-active::after{
    top:auto;
    bottom:154px;
    width:calc(100% - 28px);
    text-align:center;
  }
  body.thll-v32 .thll-inline-style-tools{grid-template-columns:1fr 1fr!important}
}
@media(prefers-reduced-motion:reduce){
  body.thll-v32 *,body.thll-v32 *::before,body.thll-v32 *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
