/* 정적 Tailwind 대체 CSS — 실제 사용 클래스만 (cdn.tailwindcss.com 제거)
   커스텀 클래스(btn/card/serif/prose-k/rounded-sm/lb*)는 config.php 인라인 <style>에 유지 */

/* ── 최소 Preflight (리셋) ── */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid}
html{-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,ul,ol{margin:0}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
ul,ol{list-style:none;padding:0}
a{color:inherit;text-decoration:inherit}
img,svg,video{display:block;vertical-align:middle}
img,video{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{background-color:transparent;background-image:none;padding:0;cursor:pointer;text-align:inherit}
summary{cursor:pointer}
:where([hidden]){display:none}

/* ── display / position ── */
.block{display:block}
.flex{display:flex}
.grid{display:grid}
.hidden{display:none}
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}

/* ── flex / grid ── */
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}

/* ── gap ── */
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}

/* ── padding ── */
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-7{padding-left:1.75rem;padding-right:1.75rem}
.px-8{padding-left:2rem;padding-right:2rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.pt-6{padding-top:1.5rem}
.pb-8{padding-bottom:2rem}
.pb-10{padding-bottom:2.5rem}

/* ── margin ── */
.mx-auto{margin-left:auto;margin-right:auto}
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.mb-2{margin-bottom:.5rem}
.mb-6{margin-bottom:1.5rem}
.space-y-1>*+*{margin-top:.25rem}
.space-y-3>*+*{margin-top:.75rem}
.space-y-4>*+*{margin-top:1rem}

/* ── sizing ── */
.w-full{width:100%}
.w-11{width:2.75rem}
.h-11{height:2.75rem}
.h-16{height:4rem}
.h-40{height:10rem}
.h-56{height:14rem}
.h-\[52vh\]{height:52vh}
.h-\[56vh\]{height:56vh}
.min-h-screen{min-height:100vh}
.max-w-xl{max-width:36rem}
.max-w-3xl{max-width:48rem}
.max-w-5xl{max-width:64rem}

/* ── position offsets ── */
.inset-0{top:0;right:0;bottom:0;left:0}
.inset-x-0{left:0;right:0}
.top-0{top:0}
.top-2{top:.5rem}
.bottom-4{bottom:1rem}
.bottom-20{bottom:5rem}
.right-4{right:1rem}
.left-2{left:.5rem}
.z-40{z-index:40}

/* ── typography ── */
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.font-bold{font-weight:700}
.text-center{text-align:center}
.text-white{color:#fff}
.opacity-90{opacity:.9}
.cursor-pointer{cursor:pointer}

/* ── misc ── */
.object-cover{object-fit:cover}
.overflow-hidden{overflow:hidden}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.hover\:underline:hover{text-decoration-line:underline}

/* ── sangdam/404 등 render_head 페이지 추가 유틸 ── */
.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.flex-wrap{flex-wrap:wrap}
.text-left{text-align:left}
.max-w-2xl{max-width:42rem}
.mt-10{margin-top:2.5rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-20{padding-top:5rem;padding-bottom:5rem}

/* ── sm: (>=640px) — base 뒤 / md 앞 ── */
@media (min-width:640px){
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:flex-row{flex-direction:row}
}

/* ── md: (>=768px) — base 뒤에 와야 오버라이드됨 ── */
@media (min-width:768px){
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:h-\[60vh\]{height:60vh}
  .md\:h-\[64vh\]{height:64vh}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
}
