/* Shared interior-page theme. Existing content, forms and gallery behavior stay intact. */
body.subpage { background: var(--paper); color: var(--ink); }
.subpage .site-header { border-bottom-color: var(--line); }
.site-nav .current-section > summary, .site-nav a[aria-current="page"] { color: var(--blue); }
.subpage .site-footer { border-top: 1px solid var(--line); }
.page-masthead { padding: 29px 0 65px; background: var(--paper); }
.breadcrumbs { display: flex; gap: 12px; align-items: center; color: var(--muted); font-size: 11px; margin-bottom: 48px; }
.breadcrumbs a:hover { color: var(--blue); }
.masthead-content { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.masthead-content .eyebrow { margin-bottom: 18px; }
.page-masthead h1 { font-size: clamp(36px,4.6vw,62px); line-height: 1.2; font-weight: 800; letter-spacing: -.06em; color: var(--ink); }
.page-description { color: var(--muted); margin-top: 21px; font-size: 15px; line-height: 1.9; }
.masthead-mark { border: 1px solid #bccac8; width: 106px; height: 106px; display: grid; place-items: center; border-radius: 50%; font-size: 75px; font-weight: 400; color: var(--ink); flex-shrink: 0; }
.section-nav { border-block: 1px solid var(--line); background: var(--paper); }
.section-nav .wrap { display: flex; gap: 38px; overflow-x: auto; scrollbar-width: thin; }
.section-nav a { padding: 23px 0; font-size: 13px; white-space: nowrap; color: var(--muted); border-bottom: 2px solid transparent; }
.section-nav a:hover { color: var(--blue); }
.section-nav a[aria-current="page"] { border-bottom-color: var(--blue); color: var(--blue); font-weight: 700; }
.subpage-content > section:not(.page-masthead) { padding-block: 64px; background: var(--paper); background-image: none; }
.subpage-content > section > .container { width: min(1320px,calc(100% - 112px)); max-width: none; margin-inline: auto; padding-inline: 0; }
.subpage-content h2 { color: var(--ink); letter-spacing: -.045em; font-size: clamp(25px,2.6vw,36px); line-height: 1.4; }
.subpage-content h3 { letter-spacing: -.035em; line-height: 1.5; }
.subpage-content p, .subpage-content li { line-height: 1.85; }
.subpage-content :is(.text-gray-800,.text-gray-900,.text-blue-900,.text-blue-800) { color: var(--ink); }
.subpage-content :is(.text-gray-600,.text-gray-500) { color: var(--muted); }
.subpage-content :is(.text-blue-600,.text-blue-500,.text-purple-600,.text-indigo-600,.text-green-600,.text-cyan-600) { color: var(--blue); }
.subpage-content :is(.shadow-sm,.shadow,.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl) { box-shadow: none; }
.subpage-content :is(.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-3xl) { border-radius: 5px; }
.subpage-content :is(.bg-white,.bg-white\/90)[class*="shadow"] { border: 1px solid var(--line); background: #fffefa; }
.subpage-content :is(.bg-blue-50,.bg-indigo-50,.bg-green-50,.bg-purple-50,.bg-gray-100,.bg-cyan-50) { background: #eaf0ec; }
.subpage-content :is(.border-blue-200,.border-blue-300,.border-green-500,.border-gray-200,.border-gray-300) { border-color: var(--line); }
.subpage-content .theme-panel-dark { background: var(--ink) !important; background-image: none !important; }
.subpage-content .theme-panel-soft { background: #eaf0ec !important; background-image: none !important; }
.subpage-content .theme-panel-dark :is(h2,h3,.text-blue-100,.text-gray-700) { color: #fff; }
.subpage-content > .theme-panel-dark { background: var(--ink); }
.subpage-content :is(.bg-blue-500,.bg-blue-600,.bg-purple-600) { background-color: var(--blue); }
.subpage-content :is(a,button).bg-blue-600:hover { background-color: #0644ca; }
.subpage-content :is(a,button).bg-gradient-to-r { background: var(--blue) !important; }
.subpage-content button { cursor: pointer; }
.subpage-content button:disabled { opacity: .55; cursor: wait; }
.subpage-content :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border-radius: 4px; border: 1px solid #c8d2cf; background-color: #fffefa; color: var(--ink); min-height: 48px; font: inherit; font-size: 14px; }
.subpage-content :is(input,select,textarea):focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.subpage-content :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--blue); }
.subpage-content :is(.tour-card,.news-card,.organization-card):hover { transform: translateY(-3px); box-shadow: none; }
.subpage-content .category-filter { border-radius: 3px; min-height: 42px; }
.subpage-content .category-filter.bg-gray-200 { background: transparent; border: 1px solid var(--line); color: var(--muted); }
.subpage-content :is(#photoEmpty,#videoEmpty,#emptyState) { border: 1px solid var(--line); background: #f0f1eb; border-radius: 4px; padding: 64px 24px; }
.subpage-content :is(#photoEmpty,#videoEmpty,#emptyState) > i { font-size: 36px; color: #8fa5aa; margin-bottom: 22px; }
.subpage-content :is(#photoGrid,#videoGrid) { gap: 24px; }
.subpage-content :is(#photoGrid,#videoGrid) img { aspect-ratio: 4/3; object-fit: cover; }
.subpage-content .section-title::after { background: var(--blue); }
.page-tour .tour-card > .relative > .theme-panel-dark { height: 180px; background: var(--ink) !important; }
.page-tour .tour-card:nth-child(3n+2) > .relative > .theme-panel-dark { background: #1459ed !important; }
.page-tour .tour-card:nth-child(3n+3) > .relative > .theme-panel-dark { background: #32616b !important; }
.page-tour .tour-card .text-7xl { font-size: 42px; }
.page-tour .tour-card .text-3xl { font-size: 22px; }
.page-tour .badge { font-size: 10px; border: 1px solid #ffffff70; background: transparent; border-radius: 3px; }
.page-tour .tour-card h3 { font-size: 21px; }
.page-tour .tour-card > .p-6 { padding: 27px; }
.page-tour .tour-card a[href^="tel:"] { background: var(--blue); }
.page-about img[src$="president.jpg"] { max-height: 620px; object-fit: contain; background: #f0f1eb; }
.page-about :is(.blur-sm,.blur) { display: none; }
.page-register .page-masthead { padding-bottom: 42px; }
.page-register .subpage-content > section:not(.page-masthead) { padding-top: 12px; }
.page-register #registerForm { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.page-register #registerForm > .mb-8, .page-register #registerForm > .flex { grid-column: 1/-1; }
.page-register #registerForm > label[aria-hidden] { position: absolute; }
.page-register #registerForm > .mb-6:has(#name, #address, #birthDate, #memberType, #email) { grid-column: 1/-1; }
.page-register .max-w-3xl { max-width: 960px; }
.page-register #registerForm > div > label.block > i { display: none; }
.page-register #registerForm .mb-6 { margin-bottom: 26px; }
.page-register #registerForm button[type="submit"] { background: var(--blue) !important; min-height: 58px; font-size: 16px; }
.page-register #accountNumber { font-size: 20px; letter-spacing: 0; }
.page-register #registerForm .border-2 { border-width: 1px; }
.subpage .site-header :is(a,summary), .subpage .site-footer a { text-decoration: none; }
@media(max-width:1150px) { .subpage-content > section > .container { width: calc(100% - 64px); } }
@media(max-width:650px) {
  .page-masthead { padding: 23px 0 38px; }
  .breadcrumbs { margin-bottom: 32px; font-size: 10px; }
  .masthead-mark { width: 54px; height: 54px; font-size: 38px; }
  .masthead-content { align-items: flex-start; gap: 18px; }
  .page-masthead h1 { font-size: 34px; }
  .page-masthead .eyebrow { font-size: 8px; letter-spacing: 1.1px; }
  .page-description { font-size: 13px; margin-top: 17px; }
  .section-nav .wrap { gap: 25px; }
  .section-nav a { padding: 18px 0; font-size: 12px; }
  .subpage-content > section:not(.page-masthead) { padding-block: 38px; }
  .subpage-content > section > .container { width: calc(100% - 40px); }
  .subpage-content .p-12 { padding: 24px; }
  .subpage-content .p-8 { padding: 22px; }
  .subpage-content .px-20 { padding-inline: 24px; }
  .subpage-content .text-lg { font-size: 15px; }
  .subpage-content .text-xl { font-size: 18px; }
  .subpage-content .text-3xl { font-size: 24px; }
  .subpage-content .text-4xl { font-size: 28px; }
  .subpage-content .grid { min-width: 0; }
  .subpage-content .grid > * { min-width: 0; }
  .subpage-content .gap-8 { gap: 22px; }
  .subpage-content :is(#photoGrid,#videoGrid) { grid-template-columns: 1fr; }
  .page-register #registerForm { display: block; }
  .page-register #registerForm :is(.p-5,.p-6) { padding: 16px; }
  .page-register #accountNumber { font-size: 16px; white-space: nowrap; }
  .page-register #registerForm .space-y-2 > .flex { flex-wrap: wrap; gap: 8px; }
  .page-register .page-masthead { padding-bottom: 28px; }
}
