
/* Faithful source-pixel mobile slicing; source reference files remain untouched. */
.mobile-guide-slices,.mobile-split-gallery,.mobile-theme-story{display:none}
.castle-border-overlay{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:contain;pointer-events:none;z-index:1}
.exact-showcase .image-hitbox{z-index:3}
/* All screen sizes: clickable areas do not get hidden behind the border overlay. */
.image-hitbox{cursor:pointer}
@media(max-width:780px){
  /* Make homepage posters big enough to read, instead of tiny landscape tiles. */
  #home-themes .restored-four-themes{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  #home-themes .restored-theme-tile{width:100%;min-width:0!important}
  #home-themes .restored-theme-poster,#home-themes .restored-theme-poster img{display:block!important;width:100%!important;height:auto!important;max-width:none!important}
  #home-themes .restored-theme-tile .restored-theme-poster img{object-fit:contain!important}
  .original-book-guide.guide-desktop-only{display:none!important}
  .mobile-guide-slices{display:flex!important;flex-direction:column;gap:12px;width:100%;margin:0 auto}
  .mobile-guide-slices>img{display:block;width:100%;height:auto;object-fit:contain}
  .mobile-guide-slices>img:first-child{width:min(80%,540px);align-self:flex-start}
  .mobile-guide-note{font-size:12px;line-height:1.65;color:#cbbdb7;margin:4px 8px 8px}
  .about-showcase,.location-showcase,.original-stories .exact-showcase,.detail-showcase{display:none!important}
  .mobile-split-gallery,.mobile-theme-story{display:flex!important;flex-direction:column;gap:15px;width:100%}
  .mobile-split-gallery>img,.mobile-image-clickable>img,.mobile-theme-story>img,.mobile-report-sheet>img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
  .mobile-image-clickable{position:relative;width:100%}
  .mobile-image-clickable .image-hitbox{position:absolute;display:block}
  .mobile-report-sheet{width:100%;position:relative;margin:0;padding:0 0 12px;background:#0b0605}
  .mobile-theme-image-buttons{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 3% 3%;background-image:url('../assets/casefile-layered-landscape.png');background-size:100% 100%;background-repeat:no-repeat}
  .mobile-theme-image-buttons>a{display:block;min-width:0;padding:14px 0}
  .mobile-theme-image-buttons img{width:100%;height:auto;object-fit:contain}
  .mobile-theme-image-buttons a:focus-visible,.mobile-image-clickable .image-hitbox:focus-visible{outline:3px solid #f5d6ac;outline-offset:-2px}
  .mobile-theme-quote{max-width:100%;height:auto;display:block;margin-top:0}
  .large-theme-story{width:100%!important}
  .original-stories{gap:32px!important}
  .page-layout.shell{width:calc(100% - 22px)!important;padding-left:0!important;padding-right:0!important}
  .page-layout.shell .mobile-theme-story{padding:0}
}
@media(max-width:460px){
 .mobile-guide-slices{gap:7px}
 .mobile-theme-story{gap:10px}
 .mobile-theme-image-buttons>a{padding:8px 0}
 .mobile-report-sheet{padding-bottom:6px}
}

/* The replacement artwork already includes the heading and link: no duplicate title. */
#how-to-book>.section-header{display:none!important}
#how-to-book .original-book-guide{position:relative!important;display:block;margin:0 auto;width:100%;max-width:100%;}
#how-to-book .original-book-guide>img{display:block;width:100%;height:auto;object-fit:contain}
#how-to-book .original-book-guide>.image-hitbox{z-index:5}
@media(max-width:780px){#how-to-book .original-book-guide{display:none!important}.mobile-guide-slices>img:first-child{width:100%!important}}

/* === School detail: its note ends above the two independent links, just like the other themes. === */
.school-detached-desktop{display:block;width:100%;margin:0 auto;max-width:1450px;background:#080506;padding:0 0 12px}
.school-detached-columns{display:grid;grid-template-columns:1.08fr 1fr;gap:2.1%;align-items:start}
.school-detached-photo img,.school-detached-paper{width:100%;height:auto;display:block;object-fit:contain}
.school-detached-photo{padding-top:7.5%;min-width:0}
.school-detached-right{min-width:0;display:flex;flex-direction:column;align-items:stretch}
.school-detached-buttons{display:flex;gap:12px;align-items:center;margin:4px 2% 0}
.school-detached-buttons a{display:block;flex:1;min-width:0}
.school-detached-buttons a:first-child{flex:1.2}
.school-detached-buttons img{display:block;width:100%;height:auto}
.school-detached-buttons a:focus-visible{outline:3px solid #ead0b0;outline-offset:2px}
.school-detached-quote{display:block;width:min(54%,860px);height:auto;margin:-3% 0 0 1.6%}
@media(max-width:780px){
 .school-detached-desktop{display:none!important}
 /* No paper-shaped backing under the school buttons. Its real torn memo ends above them. */
 .school-mobile-story .mobile-theme-image-buttons{background:none!important;background-image:none!important;padding:0 2% 0!important;gap:9px!important;margin-top:10px!important}
 .school-mobile-story .mobile-theme-image-buttons>a{padding:0!important;background:transparent!important}
 .school-mobile-story .mobile-report-sheet{padding-bottom:0!important;background:transparent!important}
}

/* === Booking mobile: use the SAME full parchment image as the desktop reference art. === */
@media(max-width:850px){
 .full-original-booking{width:min(calc(100% - 18px),690px)!important}
 .booking-interactive{border:0!important;background:transparent!important;padding:0!important;gap:8px!important;overflow:visible!important;isolation:auto!important}
 .booking-calendar-controls,.booking-hot-form,.booking-live-summary{
    position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;
    border:0!important;border-image:none!important;
    background-color:transparent!important;
    background-image:url('../assets/casefile-layered-portrait.png')!important;
    background-size:100% 100%!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    box-shadow:none!important;
    border-radius:0!important;
    color:#1b100f!important;
 }
 .booking-calendar-controls{padding:95px 10% 88px!important;min-height:560px!important}
 .booking-calendar-controls::before{
    content:'SELECT DATE';position:absolute;top:45px;left:12%;font:900 italic 19px/1.3 'Noto Sans KR',sans-serif;
    color:#fff3e1;background:#170e10;padding:6px 16px;transform:rotate(-1.4deg);border-bottom:3px solid #a20e1e;
 }
 .booking-calendar-controls .live-calendar-title{top:88px!important;left:16%!important;right:16%!important;width:auto!important;height:42px!important;font-size:22px!important;background:transparent!important;color:#271111!important;border-bottom:3px solid #a10e1b!important}
 .booking-calendar-controls .hot-prev,.booking-calendar-controls .hot-next{top:88px!important;background:#ead1b5!important;border:1px solid #a47b64!important;color:#341717!important;box-shadow:1px 2px 3px #27130d70}
 .booking-calendar-controls .hot-prev{left:10%!important}
 .booking-calendar-controls .hot-next{right:10%!important;left:auto!important}
 .booking-calendar-controls .live-grid{margin-top:52px!important;gap:4px!important;background:transparent!important}
 .booking-calendar-controls .live-grid .calendar-day{background:#f3dfc8!important;border:1px solid #ae7e64!important;border-radius:1px!important;color:#231413!important}
 .booking-calendar-controls .live-grid .calendar-day.is-selected{background:#a50c1c!important;color:#fff!important}
 .booking-hot-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 10px!important;padding:74px 11% 96px!important;min-height:0!important}
 .booking-hot-form::before{content:'예약 정보 입력';display:block;grid-column:1/-1;margin:0 0 9px;font:900 25px/1.3 'Noto Sans KR',sans-serif;color:#26120e;border-bottom:4px solid #a51924;padding-bottom:7px}
 .booking-hot-form>label.visually-hidden{
   position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;
   overflow:visible!important;white-space:normal!important;margin:11px 0 0!important;padding:4px 9px!important;
   color:#fff4e8!important;background:#221414!important;font:900 13px/1.4 'Noto Sans KR',sans-serif!important;
   transform:rotate(-.8deg)!important;justify-self:start;grid-column:1/-1;display:block!important;
 }
 .booking-hot-form>label[for='visit-date-display'],.booking-hot-form>label[for='visit-theme'],
 .booking-hot-form>label[for='visit-time-preset'],.booking-hot-form>label[for='visit-time'],
 .booking-hot-form>label[for='visit-party'],.booking-hot-form>label[for='visit-category'],
 .booking-hot-form>label[for='contact-name'],.booking-hot-form>label[for='contact-phone'],
 .booking-hot-form>label[for='visit-note']{grid-column:1/-1!important}
 .booking-hot-form .hot-input{grid-column:1/-1!important;position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:46px!important;margin:0!important;padding:0 14px!important;font-size:15px!important;background:#f4dfc7!important;border:1px solid #90654e!important;color:#231614!important;box-shadow:1px 2px 3px #44251255!important}
 .booking-hot-form .hot-submit{grid-column:1/-1!important;margin:22px 0 0!important;position:relative!important;left:auto!important;top:auto!important;height:55px!important;width:100%!important;background:#990e1b!important;box-shadow:0 4px 0 #42050b!important;opacity:1!important;color:#fff!important}
 .booking-hot-form .hot-submit::after{content:'예약 신청하기 ↗';display:block;font:900 18px/1 'Noto Sans KR',sans-serif;color:#fff}
 .booking-hot-form>p#time-hint{display:none!important}
 .booking-live-summary{padding:85px 11% 90px!important;min-height:450px!important}
 .booking-live-summary::before{content:'선택하신 예약 정보'!important;position:static!important;display:block!important;background:#201212!important;color:#fff7e9!important;border-bottom:3px solid #a40d1c!important;width:max-content!important;max-width:100%!important;height:auto!important;padding:8px 11px!important;margin:0 0 13px!important;font:900 20px/1.3 'Noto Sans KR',sans-serif!important}
 .booking-live-summary .summary-overlay{position:relative!important;top:auto!important;right:auto!important;left:auto!important;width:100%!important;height:auto!important;min-height:37px!important;margin:0!important;padding:8px 0!important;box-sizing:border-box!important;background:transparent!important;border:0!important;border-bottom:1px solid #b38a70!important;box-shadow:none!important;display:flex!important;justify-content:space-between!important;color:#24120e!important;font-size:14px!important;overflow:visible!important;white-space:normal!important;gap:12px!important}
 .booking-live-summary .sum-price{font-size:19px!important;color:#9d0e1a!important;font-weight:900!important}
 .booking-result,.booking-local-notice{max-width:650px}
}
@media(max-width:460px){
 .booking-calendar-controls{padding:88px 9% 80px!important;min-height:535px!important}
 .booking-calendar-controls .hot-prev{left:9%!important}.booking-calendar-controls .hot-next{right:9%!important}
 .booking-calendar-controls .live-grid .calendar-day{font-size:14px!important;min-height:36px!important}
 .booking-hot-form{grid-template-columns:1fr!important;padding:70px 10% 90px!important}
 .booking-live-summary{padding:80px 10% 84px!important}
}


/* 2026-11-02 correction: BOTH theme listing and school detail use separated school controls. */
.original-stories #theme-school .school-detached-desktop,
.page-layout .school-detached-desktop{display:block!important;background:transparent!important;position:relative}
.original-stories #theme-school .school-detached-paper,
.page-layout .school-detached-paper{display:block!important;width:100%!important;object-fit:contain!important}
.original-stories #theme-school .school-detached-buttons,
.page-layout .school-detached-buttons{
  position:relative!important;z-index:2!important;display:flex!important;
  gap:16px!important;margin:19px 3% 0!important;padding:0!important;
  background:#090607!important;align-items:center!important;
}
.original-stories #theme-school .school-detached-buttons a,
.page-layout .school-detached-buttons a{display:block!important;cursor:pointer!important;min-width:0!important;isolation:isolate}
.original-stories #theme-school .school-detached-buttons img,
.page-layout .school-detached-buttons img{display:block!important;width:100%!important;height:auto!important}
.original-stories #theme-school .school-detached-buttons a:hover,
.page-layout .school-detached-buttons a:hover{filter:brightness(1.16);transform:translateY(-2px)}
.original-stories #theme-school .school-detached-buttons a:focus-visible,
.page-layout .school-detached-buttons a:focus-visible{outline:3px solid #f3ccaa;outline-offset:3px}
@media(max-width:780px){
  .original-stories #theme-school .school-detached-desktop,
  .page-layout .school-detached-desktop{display:none!important}
  .original-stories #theme-school .school-mobile-story,
  .page-layout .school-mobile-story{display:flex!important}
  .school-mobile-story .mobile-report-sheet{padding:0!important;margin:0!important;background:none!important}
  .school-mobile-story .mobile-theme-image-buttons{background:transparent!important;display:flex!important;gap:14px!important;padding:0 3%!important;margin:16px 0 0!important;}
  .school-mobile-story .mobile-theme-image-buttons>a{display:block!important;flex:1;min-width:0;padding:0!important;cursor:pointer}
  .school-mobile-story .mobile-theme-image-buttons img{display:block!important;max-width:100%;width:100%!important;height:auto!important}
}

/* SCHOOL / natural torn-photo composition – original source artwork, buttons remain clickable. */
.school-natural-desktop{display:block;position:relative;max-width:1450px;width:100%;margin:0 auto 0;background:transparent}
.school-natural-art{display:block;width:100%;height:auto;object-fit:contain}
.school-natural-actions{display:flex;position:absolute;top:87.5%;left:54.5%;width:40%;gap:2.5%;align-items:center;z-index:2}
.school-natural-actions a{display:block;min-width:0;flex:1;transition:filter .16s ease,transform .16s ease}
.school-natural-actions a:first-child{flex:1.18}
.school-natural-actions a:hover{filter:brightness(1.2);transform:translateY(-2px)}
.school-natural-actions img{display:block;width:100%;height:auto;object-fit:contain}
.school-natural-actions a:focus-visible{outline:3px solid #ead0b0;outline-offset:2px}
.school-natural-quote{display:block;width:min(55%,860px);height:auto;margin:-1.2% 0 0 2%}
.school-natural-mobile{display:none}
@media(max-width:780px){
 .original-stories #theme-school .school-natural-desktop,.page-layout .school-natural-desktop{display:none!important}
 .school-natural-mobile{display:flex!important;flex-direction:column;gap:8px;width:100%;margin:0 auto;background:transparent}
 .school-natural-mobile-photo,.school-natural-mobile-note,.school-natural-mobile-quote{display:block;width:100%;height:auto;object-fit:contain}
 .school-natural-mobile-note{margin-top:2px}
 .school-natural-mobile-actions{display:flex;gap:10px;width:94%;margin:2px auto 4px;align-items:center}
 .school-natural-mobile-actions a{display:block;min-width:0;flex:1}
 .school-natural-mobile-actions a:first-child{flex:1.18}
 .school-natural-mobile-actions img{display:block;width:100%;height:auto}
 .school-natural-mobile-actions a:focus-visible{outline:3px solid #ead0b0;outline-offset:2px}
 .school-natural-mobile-quote{margin:4px auto 0}
}
