/* Public-site request 1 (2026-10-08). Admin, photographs and course cards are unchanged. */
.academy-header .desktop-nav > a,
.academy-header .desktop-nav__item > a,
.academy-inner > .site-header .desktop-nav > a,
.academy-inner > .site-header .desktop-nav__item > a {
  min-height:44px; font-size:18px !important; font-weight:600 !important;
  line-height:1.5; white-space:nowrap;
}
.academy-header .mobile-nav__group,
.academy-header .mobile-nav a,
.academy-inner > .site-header .mobile-nav a,
.academy-inner > .site-header .template-mobile-nav__title {
  min-height:44px; box-sizing:border-box; font-size:18px !important;
  font-weight:600 !important; line-height:1.5 !important;
}
.academy-header .mobile-nav a,
.academy-inner > .site-header .mobile-nav a {
  display:flex; align-items:center; white-space:nowrap; word-break:keep-all;
}
.academy-header .mobile-menu-button,
.academy-inner > .site-header .mobile-menu-button { min-width:44px; min-height:44px; }
body .site-footer.academy-footer .site-footer__links {
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; flex-shrink:0;
}
body .site-footer.academy-footer .site-footer__links a {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px; box-sizing:border-box;
  padding:10px 18px; border:1px solid #D5C6CF !important; border-radius:10px;
  background:#FFF; color:#513A49; box-shadow:0 2px 3px rgba(70,35,53,.035);
  font-size:16px !important; font-weight:600 !important; line-height:1.5; letter-spacing:-.025em;
  white-space:nowrap; text-decoration:none; cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease;
}
@media (hover:hover) {
  body .site-footer.academy-footer .site-footer__links a:hover {
    border-color:#E776AD !important; background:#FFF3F9; color:#B0005B;
    box-shadow:0 3px 8px rgba(131,30,78,.08);
  }
}
body .site-footer.academy-footer .site-footer__links a:active { background:#FCE3EF; color:#A60056; box-shadow:none; }
body .site-footer.academy-footer .site-footer__links a:focus-visible { outline:2px solid #C9006D !important; outline-offset:3px; }
@media (max-width:760px) {
  body .site-footer.academy-footer .site-footer__links {
    display:grid; grid-template-columns:1.25fr 1fr .85fr; width:100%; max-width:420px;
  }
  body .site-footer.academy-footer .site-footer__links a { min-width:0; padding:10px 8px; }
}
@media (prefers-reduced-motion:reduce) {
  body .site-footer.academy-footer .site-footer__links a { transition:none; }
}
/* Keep the existing menu panel; switch before enlarged desktop links collide. */
@media (max-width:1320px) {
  .academy-header .site-header__inner,
  .academy-inner > .site-header .site-header__inner { display:flex; }
  .academy-header .desktop-nav,.academy-header .academy-header__call,
  .academy-inner > .site-header .desktop-nav,.academy-inner > .site-header .academy-header__call { display:none; }
  .academy-header .mobile-menu-button,
  .academy-inner > .site-header .mobile-menu-button { display:flex; margin-left:auto; flex-shrink:0; }
}
@media (min-width:1321px) {
  .academy-header .mobile-nav,.academy-inner > .site-header .mobile-nav { display:none !important; }
}

/* Only the specified notices and FAQ pages. */
html[data-smile-readable-board] .dynamic-board__row,
html[data-smile-readable-board] .faq-list summary { min-height:48px; }
html[data-smile-readable-board] .dynamic-board__title { min-width:0; flex-wrap:wrap; }
html[data-smile-readable-board] .dynamic-board__title strong,
html[data-smile-readable-board] .faq-list summary strong {
  display:-webkit-box; -webkit-box-orient:vertical;
  -webkit-line-clamp:2; line-clamp:2; max-height:3em;
  overflow:hidden; text-overflow:ellipsis; white-space:normal;
  font-size:18px !important; font-weight:600 !important; line-height:1.5;
  color:#48113E; word-break:keep-all; overflow-wrap:anywhere;
}
/* Opening a row reveals its complete title along with the answer. */
html[data-smile-readable-board] :is(.dynamic-board__item.is-open,.dynamic-board__item[open]) .dynamic-board__title strong,
html[data-smile-readable-board] .faq-list details[open] summary strong {
  display:block; -webkit-line-clamp:unset; line-clamp:unset; max-height:none;
  overflow:visible; text-overflow:clip;
}
html[data-smile-readable-board] :is(.dynamic-board__row time,.dynamic-board__author,.dynamic-board__qna-mobile-meta) {
  font-size:14px !important; line-height:1.5; color:#6B6268;
}
html[data-smile-readable-board] .dynamic-board__author { white-space:normal; text-overflow:clip; overflow:visible; }
html[data-smile-readable-board] :is(.dynamic-board__answer,.dynamic-board__rich-content,.dynamic-board__faq-content,.faq-list details > div),
html[data-smile-readable-board] .dynamic-board__rich-content :is(p,span,li) { font-size:18px !important; }
@media (min-width:601px) {
  html[data-smile-readable-board] .dynamic-board__row { grid-template-columns:84px minmax(0,1fr) 112px 22px; }
  html[data-smile-readable-board] .dynamic-board__qna-item .dynamic-board__row { grid-template-columns:70px minmax(0,1fr) 120px 112px 22px; }
  html[data-smile-readable-board] .dynamic-board--compact-line .dynamic-board__row { grid-template-columns:64px minmax(0,1fr) 96px 18px; }
  html[data-smile-readable-board] .dynamic-board--compact-line .dynamic-board__qna-item .dynamic-board__row { grid-template-columns:58px minmax(0,1fr) 106px 96px 18px; }
  html[data-smile-readable-board] :is(.dynamic-board__qna-header,.dynamic-board__notice-header) { display:grid; }
  html[data-smile-readable-board] :is(.dynamic-board__row time,.dynamic-board__author) { display:block; }
  html[data-smile-readable-board] .dynamic-board__qna-mobile-meta { display:none; }
  html[data-smile-readable-board] .dynamic-board__title { flex-direction:row; align-items:center; }
  html[data-smile-readable-board] .dynamic-board__title strong { width:auto; flex:1 1 150px; }
}
@media (max-width:600px) {
  html[data-smile-readable-board] :is(.dynamic-board__qna-header,.dynamic-board__notice-header) { display:none; }
  html[data-smile-readable-board] .dynamic-board__row,
  html[data-smile-readable-board] .dynamic-board__qna-item .dynamic-board__row { grid-template-columns:44px minmax(0,1fr) 22px; column-gap:10px; row-gap:6px; padding:14px 8px; }
  html[data-smile-readable-board] .dynamic-board__title { grid-column:2; grid-row:1; flex-direction:column; align-items:flex-start; }
  html[data-smile-readable-board] .dynamic-board__title strong { width:100%; }
  html[data-smile-readable-board] .dynamic-board__row > :is(.dynamic-board__badge,.dynamic-board__number) { grid-column:1; grid-row:1; min-width:0; }
  html[data-smile-readable-board] .dynamic-board__row > i { grid-column:3; grid-row:1; }
  html[data-smile-readable-board] .dynamic-board__row > time { display:block; grid-column:2; grid-row:2; text-align:left; }
  html[data-smile-readable-board] .dynamic-board__qna-item .dynamic-board__row > :is(.dynamic-board__author,time) { display:none; }
  html[data-smile-readable-board] .dynamic-board__qna-mobile-meta { display:block; }
}

/* Course tables retain their cells, merged spans and published text. */
html[data-smile-readable-tables] :is(.custom-table-template,.template-ssr-content,.content-layout-block,.content-layout-surface) { min-width:0; max-width:100%; }
html[data-smile-readable-tables] :is(.custom-table-scroll,.template-ssr-table) {
  width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
html[data-smile-readable-tables] :is(.custom-table-scroll,.template-ssr-table) table {
  table-layout:auto !important; width:max(100%,var(--custom-table-min-width,0px)) !important;
  min-width:100%; font-size:18px;
}
html[data-smile-readable-tables] .custom-table-scroll col { width:revert !important; }
html[data-smile-readable-tables] :is(.custom-table-scroll,.template-ssr-table) :is(th,td) {
  min-width:0; max-width:none; padding:10px 14px; overflow:visible;
  font-size:18px !important; line-height:1.5; white-space:normal;
  overflow-wrap:break-word; word-break:normal;
}
html[data-smile-readable-tables] :is(.custom-table-scroll,.template-ssr-table) :is(th,td) * { font-size:18px !important; }
html[data-smile-readable-tables] :is(.custom-table-scroll,.template-ssr-table) :is(th,.readable-table-heading,.readable-table-number) {
  white-space:nowrap !important; overflow-wrap:normal; word-break:normal;
}
html[data-smile-readable-tables] :is(th,.readable-table-heading,.readable-table-number) * { white-space:nowrap !important; }
html[data-smile-readable-tables] :is(th,.readable-table-heading,.readable-table-number) br { display:none; }
html[data-smile-readable-tables] .readable-table-hours { min-width:100px !important; }
.readable-table-frame { position:relative; isolation:isolate; width:100%; max-width:100%; min-width:0; }
.readable-table-hint {
  position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  width:184px; max-width:calc(100% - 24px); box-sizing:border-box;
  margin:0 !important; padding:16px 14px 18px; border:1px solid rgba(255,255,255,.22); border-radius:18px;
  background:linear-gradient(145deg,rgba(62,35,56,.89),rgba(36,24,34,.91));
  box-shadow:0 10px 28px rgba(42,14,32,.2); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  color:#FFF; text-align:center !important; pointer-events:none; user-select:none;
  opacity:1; transition:opacity .22s ease,transform .22s ease;
}
.readable-table-hint__gesture { display:block; width:120px; height:76px; color:#FFF; }
.readable-table-hint__gesture svg { display:block; width:100%; height:100%; overflow:visible; }
.readable-table-hint__hand { animation:readable-table-swipe 1.65s ease-in-out infinite; transform-origin:60px 44px; }
.readable-table-hint .readable-table-hint__title {
  margin:0; color:#FFF !important; font-size:16px !important; font-weight:600; line-height:1.5; letter-spacing:-.025em;
}
.readable-table-hint.is-dismissed { opacity:0; transform:translate(-50%,-45%); }
.readable-table-hint.is-dismissed .readable-table-hint__hand { animation-play-state:paused; }
@keyframes readable-table-swipe {
  0%,100% { transform:translateX(-20px) rotate(-9deg); }
  50% { transform:translateX(20px) rotate(9deg); }
}
@media (prefers-reduced-motion:reduce) {
  .readable-table-hint { transition:none; }
  .readable-table-hint__hand { animation:none; }
}
.readable-table-hint[hidden] { display:none !important; }
.readable-table-scroll:focus-visible { outline:2px solid #48113E; outline-offset:2px; }


/* Vendor handoff: merge photos and focus styles; retain current board/table fixes. */
.academy-header a:focus-visible, .academy-inner > .site-header a:focus-visible, .academy-footer a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.academy-story .academy-story__grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; }
.academy-story .academy-story__media {
  width:100%; height:auto; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto; gap:16px; border-radius:0; background:transparent; box-shadow:none; overflow:visible;
}
.academy-story .academy-story__shot { grid-column:auto; grid-row:auto; border-radius:0; background:transparent; }
.academy-story .academy-story__shot::after { display:none; }
.academy-story .academy-story__shot:hover img { transform:none; }
.academy-story .academy-story__shot img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:16px; }
.academy-story .academy-story__shot--practice img { object-position:center 47%; }
.academy-story .academy-story__shot figcaption {
  position:static; margin-top:10px; color:var(--academy-ink); font-size:18px !important; line-height:1.5; font-weight:600; text-shadow:none;
}
@media(max-width:900px) { .academy-story .academy-story__grid, .academy-story .academy-story__media { grid-template-columns:minmax(0,1fr); } }
html[data-smile-readable-photos] #templateContent .media-block.layout-grid .media-entry__image { aspect-ratio:4/3; }
html[data-smile-readable-photos] #templateContent .media-block.layout-grid .media-entry__image img { object-fit:cover; }
html[data-smile-readable-photos] #templateContent .media-block.layout-grid img[alt="주간보호센터 실습"] { object-position:center 45%; }
