
:root{
  --navy:#073b63;
  --deep:#052c4d;
  --blue:#0b8ed8;
  --blue2:#0066d6;
  --sky:#eaf8ff;
  --soft:#f5fbff;
  --white:#fff;
  --text:#183247;
  --muted:#60788a;
  --line:#dceaf2;
  --danger:#e55353;
  --success:#168c5b;
  --warning:#e7a500;
  --radius:24px;
  --shadow:0 18px 50px rgba(7,59,99,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font-family:inherit}
.site-header{
  height:78px;display:flex;align-items:center;justify-content:space-between;
  padding:0 6vw;position:sticky;top:0;background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid #e7f1f6;
}
.brand{display:flex;gap:12px;align-items:center;color:var(--navy)}
.brand-mark{
  display:grid;place-items:center;width:42px;height:42px;border-radius:15px;
  background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff;font-weight:900;font-size:15px;
}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text strong{font-size:21px;font-weight:900}
.brand-text small{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:800}
.main-nav{display:flex;gap:26px;font-weight:800;align-items:center}
.main-nav a{padding:9px 0;position:relative;color:#183247}
.main-nav a:hover,.main-nav a.active{color:var(--blue2)}
.main-nav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--blue2);border-radius:99px
}
.nav-reserve{
  padding:12px 18px!important;border-radius:999px;background:var(--blue2);color:#fff!important;
}
.nav-reserve.active::after{display:none}
.menu-button{display:none;border:0;background:none;font-size:28px;color:var(--navy)}
.hero{
  min-height:620px;padding:90px 8vw;display:flex;align-items:center;
  background:
    linear-gradient(120deg,rgba(2,45,76,.88),rgba(8,137,207,.42)),
    url('https://images.unsplash.com/photo-1502680390469-be75c86b636f?auto=format&fit=crop&w=1800&q=85') center/cover;
}
.hero-content{max-width:720px;color:#fff}
.eyebrow{font-weight:900;letter-spacing:.12em}
.hero h1{font-size:clamp(42px,7vw,86px);line-height:1.02;margin:18px 0}
.hero p{font-size:20px;line-height:1.7}
.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;
  padding:17px 30px;border-radius:999px;background:#fff;color:var(--navy);font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.14)
}
.cta.primary{background:var(--blue2);color:#fff}
.section{padding:80px 8vw}
.section-head{text-align:center;margin-bottom:42px}
.section-head h2{font-size:clamp(30px,4vw,50px);margin:0 0 12px;color:var(--navy)}
.section-head p{color:var(--muted);line-height:1.6}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{padding:30px;border-radius:var(--radius);background:var(--sky);box-shadow:0 14px 40px rgba(7,59,99,.08)}
.card .icon{font-size:34px}
.card h3{color:var(--navy)}
.card p{line-height:1.7;color:#3e5a6d}
.reserve-strip{margin:0 8vw 80px;padding:44px;border-radius:30px;background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px}
.reserve-strip h2{margin:0 0 8px;font-size:34px}
.page-hero{padding:70px 8vw;background:linear-gradient(135deg,var(--sky),#fff)}
.page-hero h1{font-size:48px;color:var(--navy);margin:0 0 12px}
.page-hero p{color:var(--muted);font-size:18px;line-height:1.7}
.content-box{margin:50px 8vw;padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff}
.site-footer{padding:48px 8vw;background:#062f50;color:#fff;display:flex;justify-content:space-between;gap:20px}
.site-footer p,.site-footer small{opacity:.75}

/* Reservation */
.reservation-wrap{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.7fr);gap:28px;
  margin:50px 8vw 80px;align-items:start;
}
.reservation-card,.summary-card{
  background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden
}
.reservation-inner{padding:30px}
.step-line{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:28px;
}
.step{
  text-align:center;color:var(--muted);font-size:13px;font-weight:800;position:relative
}
.step span{
  display:grid;place-items:center;width:30px;height:30px;margin:0 auto 8px;border-radius:50%;
  background:#eaf1f5;color:#8aa0ad
}
.step.active span{background:var(--blue2);color:#fff}
.form-section{border-top:1px solid #eaf1f5;padding-top:24px;margin-top:24px}
.form-section:first-of-type{border-top:0;padding-top:0;margin-top:0}
.form-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--navy)}
.calendar-box{
  border:1px solid var(--line);border-radius:20px;padding:18px;background:#fbfdff
}
.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-weight:900;color:var(--navy)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}
.weekday{font-size:12px;color:var(--muted);font-weight:900}
.day{
  min-height:42px;border:1px solid #e4eef5;background:#fff;border-radius:13px;cursor:pointer;font-weight:900;color:#213d50
}
.day:hover{border-color:var(--blue2)}
.day.selected{background:var(--blue2);border-color:var(--blue2);color:#fff}
.day.closed{background:#f2f4f6;color:#a0a9b0;cursor:not-allowed;text-decoration:line-through}
.day.today{border-color:var(--blue)}
.time-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.time-card{
  padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;cursor:pointer;
}
.time-card input{display:none}
.time-card strong{display:block;color:var(--navy);margin-bottom:7px}
.time-card small{display:block;color:var(--muted);line-height:1.45}
.time-card .seat{display:inline-flex;margin-top:12px;padding:6px 10px;border-radius:999px;background:#eaf8ff;color:var(--blue2);font-size:12px;font-weight:900}
.time-card.selected{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(0,102,214,.09)}
.time-card.closed{opacity:.55;background:#f4f6f7;cursor:not-allowed}
.time-card.closed .seat{background:#fff0f0;color:var(--danger)}
.person-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.person-btn{
  border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;cursor:pointer;font-weight:900
}
.person-btn.active{border-color:var(--blue2);background:#edf6ff;color:var(--blue2)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field label{display:block;font-size:13px;font-weight:900;color:#3a5264;margin-bottom:8px}
.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;font-size:15px;
}
.field textarea{min-height:110px;resize:vertical}
.participant-list{display:grid;gap:12px}
.participant-item{
  border:1px solid #e7f0f6;border-radius:18px;padding:16px;background:#fbfdff
}
.participant-title{font-weight:900;color:var(--navy);margin-bottom:12px}
.agree{
  display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.55;color:#40596b
}
.submit-btn{
  width:100%;border:0;background:linear-gradient(120deg,var(--blue2),var(--blue));color:#fff;
  border-radius:16px;padding:18px;font-size:17px;font-weight:900;cursor:pointer;margin-top:24px
}
.summary-card{position:sticky;top:100px}
.summary-head{padding:24px;background:linear-gradient(120deg,var(--navy),var(--blue));color:#fff}
.summary-head h3{margin:0 0 6px;font-size:24px}
.summary-body{padding:24px;display:grid;gap:14px}
.summary-row{display:flex;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #eef4f8}
.summary-row span:first-child{color:var(--muted);font-weight:800}
.summary-row span:last-child{font-weight:900;color:var(--navy);text-align:right}
.notice-box{padding:16px;border-radius:16px;background:#f0faf5;color:#166845;line-height:1.65;font-size:14px}
.placeholder-list{display:grid;gap:14px}
.placeholder-item{padding:20px;border-radius:18px;background:var(--soft);border:1px solid var(--line)}
.placeholder-item h3{margin:0 0 8px;color:var(--navy)}
.placeholder-item p{margin:0;color:var(--muted);line-height:1.7}

@media(max-width:980px){
  .reservation-wrap{grid-template-columns:1fr}
  .summary-card{position:static}
}
@media(max-width:800px){
 .site-header{height:68px;padding:0 20px}
 .brand-text small{display:none}
 .brand-text strong{font-size:18px}
 .brand-mark{width:38px;height:38px}
 .menu-button{display:block}
 .main-nav{display:none;position:absolute;top:68px;left:0;right:0;padding:12px 20px 20px;background:#fff;flex-direction:column;gap:0;box-shadow:0 16px 30px rgba(0,0,0,.08)}
 .main-nav.open{display:flex}
 .main-nav a{padding:15px 6px;border-bottom:1px solid #edf3f6}
 .main-nav a.active::after{display:none}
 .nav-reserve{margin-top:12px;text-align:center}
 .hero{min-height:560px;padding:70px 24px}
 .hero p{font-size:17px}
 .section{padding:60px 22px}
 .cards{grid-template-columns:1fr}
 .reserve-strip{margin:0 22px 60px;padding:30px;flex-direction:column;align-items:flex-start}
 .page-hero{padding:55px 22px}
 .page-hero h1{font-size:38px}
 .content-box{margin:30px 22px;padding:24px}
 .reservation-wrap{margin:30px 22px 60px}
 .reservation-inner{padding:22px}
 .step-line{grid-template-columns:repeat(4,1fr)}
 .step{font-size:11px}
 .form-grid{grid-template-columns:1fr}
 .time-options{grid-template-columns:1fr}
 .person-buttons{grid-template-columns:repeat(2,1fr)}
 .site-footer{display:block}
}

.month-nav{
  display:grid;place-items:center;width:34px;height:34px;border-radius:12px;
  background:#fff;border:1px solid var(--line);font-weight:900;color:var(--navy)
}
.month-nav:hover{border-color:var(--blue2);color:var(--blue2)}


/* Admin */
.admin-body{background:#f5fbff}
.admin-login-wrap{max-width:560px;margin:70px auto;padding:0 22px}
.admin-header{
  min-height:72px;padding:0 6vw;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:30
}
.admin-brand{font-weight:900;color:var(--navy);font-size:20px}
.admin-nav{display:flex;gap:16px;flex-wrap:wrap;font-weight:800;color:#40596b}
.admin-nav a:hover{color:var(--blue2)}
.admin-main{padding:42px 6vw 80px}
.admin-title{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:26px}
.admin-title h1{margin:0;color:var(--navy);font-size:40px}
.admin-title p{margin:8px 0 0;color:var(--muted)}
.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.admin-stat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(7,59,99,.08)}
.admin-stat span{display:block;color:var(--muted);font-weight:900;margin-bottom:10px}
.admin-stat strong{font-size:30px;color:var(--navy)}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;margin-top:22px;box-shadow:0 12px 32px rgba(7,59,99,.06)}
.admin-panel h2{color:var(--navy);margin-top:0}
.admin-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.admin-quick a{padding:18px;border-radius:16px;background:var(--sky);font-weight:900;color:var(--navy);text-align:center}
.admin-alert{padding:16px 18px;border-radius:16px;font-weight:800}
.admin-alert.success{background:#eaf8ef;color:#137145}
.admin-alert.error{background:#fff0f0;color:#c03535}
.admin-filter{display:grid;grid-template-columns:1fr 1fr 160px;gap:14px;align-items:end}
.admin-small-btn{margin-top:0;padding:14px}
.admin-reservation-list{display:grid;gap:14px}
.admin-reservation-card{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fbfdff}
.admin-res-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.admin-res-main strong{color:var(--navy);font-size:18px}
.admin-res-main p{margin:7px 0;color:#40596b}
.participant-mini{margin:12px 0;padding:12px;border-radius:14px;background:#fff;color:#40596b;line-height:1.7;font-size:14px}
.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 12px;font-weight:900;font-size:13px}
.status-badge.reserved{background:#eaf8ef;color:#137145}
.status-badge.cancelled{background:#fff0f0;color:#c03535}
.status-badge.weather_cancelled{background:#fff8df;color:#9a6900}
.danger-btn{border:0;background:#e55353;color:#fff;border-radius:12px;padding:11px 14px;font-weight:900;cursor:pointer}
.check-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:24px}
.check-grid label{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;font-weight:900;text-align:center}
@media(max-width:900px){
  .admin-header{display:block;padding:18px 22px}
  .admin-nav{margin-top:14px}
  .admin-main{padding:32px 22px 70px}
  .admin-title{display:block}
  .admin-cards{grid-template-columns:1fr 1fr}
  .admin-quick{grid-template-columns:1fr 1fr}
  .admin-filter{grid-template-columns:1fr}
  .check-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .admin-cards,.admin-quick{grid-template-columns:1fr}
  .admin-res-main{display:block}
}


/* Member */
.admin-entry{
  color:#073b63!important;
  border:1px solid #dceaf2;
  border-radius:999px;
  padding:10px 14px!important;
}
.auth-wrap{
  max-width:560px;
  margin:50px auto 80px;
  padding:0 22px;
}
.auth-link{
  margin-top:18px;
  text-align:center;
  color:#60788a;
}
.auth-link a{
  color:#0066d6;
  font-weight:900;
}
.member-notice{
  padding:14px 16px;
  border-radius:16px;
  background:#eaf8ff;
  color:#073b63;
  font-weight:800;
  line-height:1.6;
  margin:0 0 22px;
}
.mypage-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:24px;
}
.mypage-head h2{
  color:#073b63;
  margin:0 0 8px;
}
.mypage-head p{
  color:#60788a;
  margin:0;
}
@media(max-width:800px){
  .admin-entry{
    text-align:center;
    margin-top:10px;
  }
  .mypage-head{
    display:block;
  }
}


.footer-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.footer-admin-link{
  color:rgba(255,255,255,.32);
  font-size:12px;
}
.footer-admin-link:hover{
  color:#fff;
}
.mypage-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
@media(max-width:800px){
  .footer-side{
    align-items:flex-start;
    margin-top:20px;
  }
}


.person-btn.disabled,
.person-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
  background:#f3f5f7;
  color:#94a1aa;
}
.day-preset-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.day-preset-row button{
  border:1px solid #dceaf2;
  background:#eaf8ff;
  color:#073b63;
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  cursor:pointer;
}
.day-preset-row button:hover{
  border-color:#0066d6;
  color:#0066d6;
}
.weather-btn{
  border:0;
  background:#e7a500;
  color:#fff;
  border-radius:12px;
  padding:11px 14px;
  font-weight:900;
  cursor:pointer;
}
.restore-btn{
  border:0;
  background:#168c5b;
  color:#fff;
  border-radius:12px;
  padding:11px 14px;
  font-weight:900;
  cursor:pointer;
}
.admin-action-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.inline-reason-form{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.inline-reason-form input{
  border:1px solid #dceaf2;
  border-radius:12px;
  padding:10px 12px;
  min-width:180px;
}
.member-actions{
  align-items:center;
}


.mypage-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:24px 0;
}
.mypage-summary-grid article{
  padding:22px;
  border:1px solid #dceaf2;
  border-radius:20px;
  background:#f5fbff;
}
.mypage-summary-grid span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.mypage-summary-grid strong{
  color:#073b63;
  font-size:32px;
}
.reservation-filter-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:24px 0;
}
.reservation-filter-tabs a{
  padding:11px 16px;
  border-radius:999px;
  border:1px solid #dceaf2;
  color:#073b63;
  font-weight:900;
  background:#fff;
}
.reservation-filter-tabs a.active{
  background:#0066d6;
  color:#fff;
  border-color:#0066d6;
}
.reservation-history-list{
  display:grid;
  gap:12px;
}
.reservation-history-item{
  border:1px solid #dceaf2;
  border-radius:20px;
  background:#fbfdff;
  overflow:hidden;
}
.reservation-history-item summary{
  cursor:pointer;
  list-style:none;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.reservation-history-item summary::-webkit-details-marker{
  display:none;
}
.reservation-history-item summary::after{
  content:"＋";
  font-weight:900;
  color:#073b63;
}
.reservation-history-item[open] summary::after{
  content:"－";
}
.history-summary-left{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.history-summary-left strong{
  color:#073b63;
  font-size:18px;
}
.history-summary-left span{
  color:#60788a;
  font-weight:800;
}
.history-detail{
  padding:0 18px 18px;
}
.history-info{
  border:1px solid #dceaf2;
  border-radius:18px;
  background:#fff;
  margin-bottom:18px;
}
.history-note{
  padding:14px;
  border-radius:14px;
  background:#eaf8ff;
  color:#073b63;
  font-weight:800;
}
.compact-res-card{
  padding:16px;
}
@media(max-width:800px){
  .mypage-summary-grid{
    grid-template-columns:1fr 1fr;
  }
  .reservation-history-item summary{
    align-items:flex-start;
  }
}
@media(max-width:520px){
  .mypage-summary-grid{
    grid-template-columns:1fr;
  }
}


/* V9 Admin polish */
.admin-status-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.admin-status-tabs a{
  padding:10px 15px;
  border:1px solid #dceaf2;
  border-radius:999px;
  color:#073b63;
  background:#fff;
  font-weight:900;
  text-decoration:none;
}
.admin-status-tabs a.active{
  background:#0066d6;
  color:#fff;
  border-color:#0066d6;
}
.admin-action-box{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #e7f0f6;
}
.admin-action-btn{
  border:0;
  border-radius:14px;
  padding:12px 16px;
  font-weight:900;
  cursor:pointer;
  color:#fff;
  min-width:100px;
}
.admin-action-btn.cancel{background:#e55353}
.admin-action-btn.weather{background:#f0a500}
.admin-action-btn.restore{background:#168c5b}
.admin-member-card{
  border:1px solid #dceaf2;
  border-radius:24px;
  padding:20px;
  background:#fbfdff;
}
.member-control-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr 1fr;
  gap:14px;
  margin-top:16px;
}
.member-control-box{
  background:#fff;
  border:1px solid #e7f0f6;
  border-radius:18px;
  padding:16px;
}
.member-control-box h3{
  margin:0 0 12px;
  color:#073b63;
  font-size:16px;
}
.member-control-box.danger-zone{
  background:#fff8f8;
}
.black-reason{
  color:#c03535!important;
  font-weight:900;
}
.blacklist-form{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.blacklist-form input{
  flex:1;
  min-width:150px;
  border:1px solid #dceaf2;
  border-radius:12px;
  padding:11px 12px;
}
.setting-help{
  color:#60788a;
  margin-top:-8px;
}
.day-preset-panel{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:14px;
  border:1px solid #dceaf2;
  background:#f5fbff;
  border-radius:18px;
  margin:14px 0;
}
.day-preset-panel button{
  border:1px solid #cfe4ef;
  background:#fff;
  color:#073b63;
  border-radius:999px;
  padding:11px 16px;
  font-weight:900;
  cursor:pointer;
}
.day-preset-panel button:hover{
  border-color:#0066d6;
  color:#0066d6;
}
.day-check-grid{
  margin-bottom:28px;
}
.day-check-card{
  cursor:pointer;
  position:relative;
}
.day-check-card input{
  position:absolute;
  opacity:0;
}
.day-check-card span{
  display:block;
  padding:14px;
  border-radius:14px;
}
.day-check-card input:checked + span{
  background:#0066d6;
  color:#fff;
}
@media(max-width:900px){
  .member-control-grid{
    grid-template-columns:1fr;
  }
  .admin-action-btn{
    width:100%;
  }
  .admin-action-box form{
    flex:1;
    min-width:130px;
  }
}


/* V10 admin/member polish */
.admin-status-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:20px;
}
.status-card{
  text-decoration:none;
  border:2px solid #dceaf2;
  border-radius:18px;
  padding:18px;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.status-card span{
  font-weight:900;
  color:#60788a;
}
.status-card strong{
  font-size:28px;
  color:#073b63;
}
.status-card.active{
  border-color:#0066d6;
  box-shadow:0 10px 26px rgba(0,102,214,.12);
}
.status-card.reserved.active{background:#ecfff5}
.status-card.cancelled.active{background:#fff3f3}
.status-card.weather.active{background:#fff9e7}
.bulk-cancel-box{
  margin-top:18px;
  padding:18px;
  border:1px solid #dceaf2;
  border-radius:18px;
  background:#f8fcff;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
}
.bulk-cancel-box strong{
  color:#073b63;
}
.bulk-cancel-box p{
  margin:6px 0 0;
  color:#60788a;
}
.bulk-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.admin-action-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.member-list-panel{
  display:grid;
  gap:18px;
}
.member-card-v10{
  border:1px solid #dceaf2;
  border-radius:24px;
  background:#fff;
  padding:22px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.member-top{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.member-top strong{
  color:#073b63;
  font-size:19px;
}
.member-top p{
  color:#40596b;
  margin:8px 0;
}
.member-actions-v10{
  display:grid;
  grid-template-columns:1fr 1.4fr 1fr;
  gap:14px;
  margin-top:18px;
}
.member-actions-v10 section{
  border:1px solid #e7f0f6;
  border-radius:18px;
  background:#fbfdff;
  padding:16px;
}
.member-actions-v10 section h3{
  color:#073b63;
  margin:0 0 12px;
  font-size:16px;
}
.member-actions-v10 .danger-section{
  background:#fff8f8;
}
.blacklist-form-v10{
  display:flex;
  gap:8px;
}
.blacklist-form-v10 input{
  flex:1;
  min-width:140px;
  border:1px solid #dceaf2;
  border-radius:12px;
  padding:11px 12px;
}
.day-preset-panel{
  background:#edf8ff!important;
  border:1px solid #cfe7f6!important;
}
.day-preset-panel button{
  background:#fff!important;
  border:1px solid #c7e0ef!important;
  border-radius:14px!important;
  padding:12px 16px!important;
  font-weight:900!important;
  color:#073b63!important;
  box-shadow:0 6px 16px rgba(7,59,99,.06);
}
.day-check-card span{
  border:1px solid #dceaf2;
  background:#fff;
  transition:.15s;
}
.day-check-card input:checked + span{
  background:#0066d6!important;
  border-color:#0066d6!important;
  color:#fff!important;
}
@media(max-width:900px){
  .admin-status-cards{
    grid-template-columns:1fr 1fr;
  }
  .bulk-cancel-box{
    display:block;
  }
  .bulk-actions{
    margin-top:14px;
  }
  .member-actions-v10{
    grid-template-columns:1fr;
  }
}
@media(max-width:520px){
  .admin-status-cards{
    grid-template-columns:1fr;
  }
  .blacklist-form-v10{
    display:block;
  }
  .blacklist-form-v10 input{
    width:100%;
    margin-bottom:8px;
  }
}


/* V11 small polish */
.unified-member-actions .cta{
  margin-top:0;
}
.unified-member-actions .active-sub{
  background:#eaf8ff;
  color:#073b63;
  box-shadow:none;
  border:1px solid #cfe7f6;
}
.bulk-actions form{
  flex:0 0 auto;
}
@media(max-width:700px){
  .bulk-actions form,
  .bulk-actions .admin-action-btn{
    width:100%;
  }
}


/* V12 refinements */
.bulk-actions .admin-action-btn:disabled{
  opacity:.35;
  filter:grayscale(35%);
  cursor:not-allowed;
}
.unified-member-actions{
  align-items:center;
}
.unified-member-actions .active-sub{
  background:#eaf8ff!important;
  color:#073b63!important;
  border:1px solid #cfe7f6!important;
}
@media(max-width:820px){
  .unified-member-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .unified-member-actions .cta{
    width:100%;
    text-align:center;
  }
}


/* V13 emergency/contact and active page */
.page-current-badge{
  display:inline-flex;
  margin-top:14px;
  padding:10px 14px;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  font-weight:900;
}
.main-nav a.active{
  font-weight:900;
}
.summary-row span:last-child{
  word-break:keep-all;
}


/* V14 gender/inquiry/profile active */
.profile-actions{
  margin-bottom:20px;
}
.field textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  background:#fff;
  font-size:15px;
}


/* V15 pending/gender/cancel */
.status-badge.pending,
.status-card.pending.active{
  background:#fff6df;
  color:#8a5a00;
}
.pending-notice{
  border:2px solid #f0a500;
  background:#fff9e7;
}
.pending-notice h2{
  color:#8a5a00;
}
.reservation-filter-tabs a{
  white-space:nowrap;
}
@media(max-width:800px){
  .mypage-summary-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* V16 age/capacity summary */
.date-capacity-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:18px 0;
}
.date-capacity-summary article,
.date-capacity-summary p{
  border:1px solid #dceaf2;
  border-radius:18px;
  background:#f5fbff;
  padding:18px;
}
.date-capacity-summary span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.date-capacity-summary strong{
  color:#073b63;
  font-size:22px;
}
.date-capacity-summary small{
  display:block;
  margin-top:8px;
  color:#8a5a00;
  font-weight:900;
}
@media(max-width:850px){
  .date-capacity-summary{
    grid-template-columns:1fr;
  }
}


/* V17 slot filter */
.admin-slot-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:18px 0 0;
}
.admin-slot-tabs a{
  padding:11px 16px;
  border-radius:999px;
  border:1px solid #dceaf2;
  background:#fff;
  color:#073b63;
  font-weight:900;
  text-decoration:none;
}
.admin-slot-tabs a.active{
  background:#0066d6;
  color:#fff;
  border-color:#0066d6;
}


/* V20 guest lookup */
.pending-notice{
  padding:18px;
  border-radius:18px;
}


/* V21 delete button and lookup */
.admin-action-btn.delete{
  background:#4b5563;
}
.main-nav a[href="guest_reservation.php"]{
  font-weight:900;
}


/* V22 dashboard and guest status */
.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:24px;
}
.dashboard-card{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:22px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.dashboard-card span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:10px;
}
.dashboard-card strong{
  display:block;
  color:#073b63;
  font-size:30px;
  margin-bottom:8px;
}
.dashboard-card p{
  color:#60788a;
  margin:0;
}
.quick-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.guest-status-card{
  border-radius:20px;
  padding:20px;
  margin:16px 0;
  border:2px solid #dceaf2;
  background:#f5fbff;
}
.guest-status-card span{
  display:block;
  font-weight:900;
  color:#60788a;
  margin-bottom:8px;
}
.guest-status-card strong{
  display:block;
  font-size:28px;
  color:#073b63;
}
.guest-status-card.reserved{
  background:#ecfff5;
  border-color:#bdebd2;
}
.guest-status-card.pending{
  background:#fff9e7;
  border-color:#f0d37a;
}
.guest-status-card.cancelled,
.guest-status-card.weather_cancelled{
  background:#fff3f3;
  border-color:#ffcaca;
}
@media(max-width:1000px){
  .dashboard-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:560px){
  .dashboard-grid{
    grid-template-columns:1fr;
  }
}


/* V23 members/guests and draft polish */
.member-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-bottom:22px;
}
.member-summary-grid article{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:22px;
}
.member-summary-grid span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.member-summary-grid strong{
  color:#073b63;
  font-size:30px;
}
.guest-section{
  margin-top:28px;
}
.guest-card{
  border-left:6px solid #0066d6;
}
button.cta{
  border:0;
  cursor:pointer;
  font:inherit;
}
@media(max-width:700px){
  .member-summary-grid{
    grid-template-columns:1fr;
  }
}


/* V24 member tabs */
.member-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 22px;
}
.member-tabs a{
  padding:12px 18px;
  border-radius:999px;
  border:1px solid #dceaf2;
  background:#fff;
  color:#073b63;
  font-weight:900;
  text-decoration:none;
}
.member-tabs a.active{
  background:#0066d6;
  color:#fff;
  border-color:#0066d6;
}


/* V25 dashboard quick cards */
.section-title-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:18px;
}
.section-title-row h2{
  margin:0 0 6px;
  color:#073b63;
}
.section-title-row p{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.quick-card-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.quick-card{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:22px;
  min-height:170px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
  transition:.16s ease;
}
.quick-card:hover{
  transform:translateY(-3px);
  border-color:#0066d6;
  box-shadow:0 18px 38px rgba(0,102,214,.14);
}
.quick-card.primary{
  background:linear-gradient(135deg,#0066d6,#00a6d6);
  border-color:#0066d6;
}
.quick-card.primary strong,
.quick-card.primary p,
.quick-card.primary .quick-icon{
  color:#fff;
}
.quick-icon{
  display:flex;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:#eaf8ff;
  font-size:24px;
  margin-bottom:16px;
}
.quick-card strong{
  display:block;
  color:#073b63;
  font-size:20px;
  margin-bottom:10px;
}
.quick-card p{
  margin:0;
  color:#60788a;
  line-height:1.5;
  font-weight:800;
}
@media(max-width:1100px){
  .quick-card-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:560px){
  .quick-card-grid{
    grid-template-columns:1fr;
  }
  .quick-card{
    min-height:auto;
  }
}


/* V26 notices */
.notice-list{
  display:grid;
  gap:14px;
}
.notice-item{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:20px;
  border:1px solid #dceaf2;
  border-radius:20px;
  background:#fff;
  text-decoration:none;
  transition:.15s;
}
.notice-item:hover{
  transform:translateY(-2px);
  border-color:#0066d6;
  box-shadow:0 12px 28px rgba(0,102,214,.10);
}
.notice-item h3{
  margin:0 0 8px;
  color:#073b63;
}
.notice-item p{
  margin:0;
  color:#60788a;
}
.notice-item > span{
  color:#60788a;
  font-weight:900;
  white-space:nowrap;
}
.notice-pin{
  display:inline-block;
  margin-right:8px;
  padding:4px 8px;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  font-size:12px;
  vertical-align:middle;
}
.notice-content{
  color:#263f52;
  line-height:1.9;
  font-size:17px;
  white-space:normal;
}
.notice-detail-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}
.notice-form{
  display:grid;
  gap:18px;
}
.notice-form textarea{
  width:100%;
  border:1px solid #dceaf2;
  border-radius:14px;
  padding:14px;
  font-size:15px;
  resize:vertical;
  min-height:220px;
}
.notice-option-row{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.notice-preview{
  margin-top:14px;
  padding:14px;
  border-radius:14px;
  background:#f5fbff;
  color:#40596b;
  line-height:1.6;
}
@media(max-width:700px){
  .notice-item{
    display:block;
  }
  .notice-item > span{
    display:block;
    margin-top:12px;
  }
}


/* V27 notice usability */
.notice-admin-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:22px;
}
.notice-admin-summary a{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:20px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.notice-admin-summary a.active{
  background:#0066d6;
  border-color:#0066d6;
}
.notice-admin-summary span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.notice-admin-summary strong{
  color:#073b63;
  font-size:30px;
}
.notice-admin-summary a.active span,
.notice-admin-summary a.active strong{
  color:#fff;
}
.notice-write-panel{
  border-top:5px solid #0066d6;
}
.notice-admin-list{
  display:grid;
  gap:16px;
}
.notice-admin-card{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:24px;
  padding:22px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.notice-admin-card.is-hidden{
  opacity:.82;
  background:#fbfbfc;
}
.notice-admin-card-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
}
.notice-admin-card h3{
  margin:10px 0 8px;
  color:#073b63;
  font-size:22px;
}
.notice-admin-date{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.notice-admin-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.notice-state{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}
.notice-state.visible{
  background:#e9fff3;
  color:#007a3d;
}
.notice-state.hidden{
  background:#fff1f1;
  color:#b42318;
}
.notice-state.pinned{
  background:#eaf4ff;
  color:#0066d6;
}
.notice-state.normal{
  background:#eef2f6;
  color:#40596b;
}
.notice-admin-preview{
  margin:16px 0;
  padding:16px;
  border-radius:18px;
  background:#f5fbff;
  color:#40596b;
  line-height:1.7;
}
.notice-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.notice-admin-actions form{
  display:inline-flex;
}
.notice-admin-actions button[disabled]{
  opacity:.55;
  cursor:not-allowed;
}
.notice-check{
  padding:12px 14px;
  border:1px solid #dceaf2;
  border-radius:16px;
  background:#f8fcff;
}
.notice-public-hero{
  background:linear-gradient(135deg,#eaf8ff,#ffffff);
}
.notice-hero-inner{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
}
.notice-kicker{
  display:block;
  color:#0066d6;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:10px;
}
.notice-hero-count{
  min-width:150px;
  padding:20px;
  border-radius:24px;
  background:#fff;
  border:1px solid #dceaf2;
  text-align:center;
  box-shadow:0 12px 30px rgba(7,59,99,.07);
}
.notice-hero-count span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:6px;
}
.notice-hero-count strong{
  font-size:38px;
  color:#073b63;
}
.notice-public-section{
  margin-top:22px;
}
.notice-section-title{
  margin-bottom:18px;
}
.notice-section-title h2{
  margin:0 0 6px;
  color:#073b63;
}
.notice-section-title p{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.notice-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.notice-feature-card{
  display:block;
  text-decoration:none;
  padding:24px;
  border-radius:26px;
  background:linear-gradient(135deg,#0066d6,#00a6d6);
  color:#fff;
  box-shadow:0 18px 40px rgba(0,102,214,.18);
}
.notice-feature-card h3{
  color:#fff;
  font-size:24px;
  margin:14px 0 10px;
}
.notice-feature-card p{
  color:rgba(255,255,255,.9);
  line-height:1.7;
  margin:0;
}
.notice-card-bottom{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:22px;
  color:#fff;
  font-weight:900;
}
.notice-public-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}
.notice-public-badge.pinned{
  background:#fff;
  color:#0066d6;
}
.notice-public-badge.normal{
  background:#eaf4ff;
  color:#0066d6;
}
.notice-public-list{
  display:grid;
  gap:12px;
}
.notice-public-row{
  display:grid;
  grid-template-columns:78px 1fr auto;
  align-items:center;
  gap:18px;
  padding:20px;
  border:1px solid #dceaf2;
  border-radius:22px;
  background:#fff;
  text-decoration:none;
  transition:.15s;
}
.notice-public-row:hover{
  transform:translateY(-2px);
  border-color:#0066d6;
  box-shadow:0 14px 34px rgba(0,102,214,.10);
}
.notice-public-date{
  width:70px;
  height:70px;
  border-radius:20px;
  background:#f0f8ff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.notice-public-date strong{
  color:#073b63;
  font-size:26px;
  line-height:1;
}
.notice-public-date span{
  color:#60788a;
  font-size:12px;
  font-weight:900;
  margin-top:5px;
}
.notice-row-top{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.notice-row-top small{
  color:#60788a;
  font-weight:900;
}
.notice-public-text h3{
  margin:0 0 8px;
  color:#073b63;
}
.notice-public-text p{
  margin:0;
  color:#60788a;
  line-height:1.6;
}
.notice-row-arrow{
  color:#0066d6;
  font-size:24px;
  font-weight:900;
}
.notice-detail-hero{
  max-width:1100px;
  margin:34px auto 20px;
  padding:38px;
  border-radius:30px;
  background:linear-gradient(135deg,#eaf8ff,#fff);
  border:1px solid #dceaf2;
}
.notice-detail-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.notice-detail-meta span:not(.notice-public-badge){
  color:#60788a;
  font-weight:900;
}
.notice-detail-hero h1{
  color:#073b63;
  font-size:38px;
  margin:0 0 12px;
}
.notice-detail-hero p{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.notice-detail-layout{
  max-width:1100px;
  margin:0 auto 50px;
  display:grid;
  grid-template-columns:1fr 320px;
  gap:22px;
}
.notice-detail-card,
.notice-side-card{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:26px;
  padding:28px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.notice-side-card h2{
  margin:0 0 16px;
  color:#073b63;
}
.notice-side-card a{
  display:block;
  text-decoration:none;
  padding:14px 0;
  border-bottom:1px solid #eef5f8;
}
.notice-side-card a:last-child{
  border-bottom:0;
}
.notice-side-card strong{
  display:block;
  color:#073b63;
  margin-bottom:6px;
}
.notice-side-card span{
  color:#60788a;
  font-size:13px;
  font-weight:900;
}
@media(max-width:1000px){
  .notice-admin-summary,
  .notice-feature-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .notice-detail-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .notice-admin-summary,
  .notice-feature-grid{
    grid-template-columns:1fr;
  }
  .notice-hero-inner{
    display:block;
  }
  .notice-hero-count{
    margin-top:18px;
  }
  .notice-public-row{
    grid-template-columns:1fr;
  }
  .notice-public-date{
    flex-direction:row;
    width:auto;
    height:auto;
    padding:12px;
    gap:8px;
    justify-content:flex-start;
  }
  .notice-row-arrow{
    display:none;
  }
  .notice-detail-hero{
    padding:26px;
    margin:22px 14px 16px;
  }
  .notice-detail-hero h1{
    font-size:28px;
  }
  .notice-detail-layout{
    margin-left:14px;
    margin-right:14px;
  }
}


/* V28 gallery */
.gallery-hero{
  background:linear-gradient(135deg,#eaf8ff,#fff);
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-card{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.gallery-open{
  position:relative;
  display:block;
  width:100%;
  border:0;
  padding:0;
  background:#000;
  cursor:pointer;
  overflow:hidden;
}
.gallery-open img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
  transition:.18s ease;
}
.gallery-open span{
  position:absolute;
  right:14px;
  bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-weight:900;
}
.gallery-open:hover img{
  transform:scale(1.04);
  opacity:.88;
}
.gallery-card-text{
  padding:18px;
}
.gallery-card-text h3{
  margin:0 0 8px;
  color:#073b63;
}
.gallery-card-text p{
  margin:0;
  color:#60788a;
  line-height:1.6;
}
.gallery-modal[hidden]{
  display:none;
}
.gallery-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.gallery-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,22,38,.72);
}
.gallery-modal-card{
  position:relative;
  max-width:980px;
  width:min(980px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:26px;
  box-shadow:0 28px 80px rgba(0,0,0,.35);
}
.gallery-modal-card img{
  width:100%;
  max-height:68vh;
  object-fit:contain;
  background:#061725;
  display:block;
}
.gallery-modal-card div{
  padding:22px;
}
.gallery-modal-card h2{
  margin:0 0 8px;
  color:#073b63;
}
.gallery-modal-card p{
  margin:0;
  color:#60788a;
  line-height:1.7;
}
.gallery-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:rgba(0,0,0,.58);
  color:#fff;
  font-size:30px;
  cursor:pointer;
  z-index:2;
}
body.modal-open{
  overflow:hidden;
}
.gallery-admin-summary{
  grid-template-columns:repeat(3,1fr);
}
.gallery-admin-summary article{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:20px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.gallery-admin-summary span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.gallery-admin-summary strong{
  color:#073b63;
  font-size:30px;
}
.gallery-edit-preview{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:18px;
  background:#f5fbff;
  border:1px solid #dceaf2;
}
.gallery-edit-preview img{
  width:120px;
  height:90px;
  object-fit:cover;
  border-radius:14px;
}
.gallery-edit-preview p{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.gallery-admin-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-admin-card{
  border:1px solid #dceaf2;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.gallery-admin-card.is-hidden{
  opacity:.78;
}
.gallery-admin-thumb{
  position:relative;
}
.gallery-admin-thumb img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.gallery-admin-thumb .notice-state{
  position:absolute;
  left:12px;
  top:12px;
}
.gallery-admin-body{
  padding:18px;
}
.gallery-admin-body h3{
  margin:0 0 8px;
  color:#073b63;
}
.gallery-admin-body p{
  margin:0 0 12px;
  color:#60788a;
  line-height:1.6;
}
.gallery-admin-body small{
  color:#60788a;
  font-weight:900;
}
.gallery-admin-card .notice-admin-actions{
  padding:0 18px 18px;
}
@media(max-width:1100px){
  .gallery-grid,
  .gallery-admin-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:700px){
  .gallery-grid,
  .gallery-admin-grid,
  .gallery-admin-summary{
    grid-template-columns:1fr;
  }
  .gallery-open img{
    height:220px;
  }
}


/* V29 board-style notices and notice media */
.board-main{
  max-width:1220px;
  margin:0 auto 70px;
  padding:0 28px;
}
.board-title-section{
  text-align:center;
  padding:56px 0 36px;
}
.board-title-section h1{
  margin:0;
  font-size:48px;
  color:#333;
  font-weight:900;
}
.board-wrap{
  position:relative;
}
.board-search{
  display:flex;
  justify-content:flex-end;
  gap:0;
  margin-bottom:20px;
}
.board-search input{
  width:300px;
  height:42px;
  border:1px solid #d9dde4;
  border-radius:999px 0 0 999px;
  padding:0 18px;
  outline:none;
}
.board-search button{
  height:42px;
  border:0;
  border-radius:0 999px 999px 0;
  padding:0 30px;
  background:#0066d6;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.board-table{
  border-top:2px solid #0066d6;
}
.board-head,
.board-row{
  display:grid;
  grid-template-columns:110px 1fr 160px;
  align-items:center;
}
.board-head{
  height:54px;
  color:#0066d6;
  font-weight:900;
  text-align:center;
  border-bottom:1px solid #dce1e7;
}
.board-row{
  min-height:56px;
  border-bottom:1px solid #dce1e7;
  text-decoration:none;
  color:#071f33;
  transition:.12s ease;
}
.board-row:hover{
  background:#f4f9ff;
}
.board-row.is-pinned{
  background:#f0f3f9;
}
.board-no{
  text-align:center;
  color:#1b3144;
}
.board-no em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}
.board-subject{
  padding:0 18px;
  font-weight:800;
}
.board-date{
  text-align:center;
  color:#1b3144;
  font-size:14px;
}
.board-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  margin-right:6px;
  vertical-align:middle;
}
.board-badge.pinned{
  background:#0066d6;
  color:#fff;
}
.board-badge.media{
  background:#eaf4ff;
  color:#0066d6;
}
.board-empty{
  padding:50px;
  text-align:center;
  color:#60788a;
  border-bottom:1px solid #dce1e7;
}
.board-detail-main{
  max-width:1080px;
  margin:0 auto 70px;
  padding:0 28px;
}
.board-detail-head{
  text-align:center;
  padding:50px 0 30px;
}
.board-detail-head h1{
  margin:0;
  font-size:48px;
  color:#333;
  font-weight:900;
}
.board-detail-line{
  height:2px;
  background:#0066d6;
  margin:34px 0 28px;
}
.board-detail-head h2{
  margin:0 0 12px;
  font-size:30px;
  color:#111;
  font-weight:800;
}
.board-detail-meta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  color:#8a8f98;
  font-size:14px;
}
.board-detail-meta i{
  display:block;
  width:1px;
  height:13px;
  background:#c8ccd2;
}
.board-detail-body{
  border-top:1px solid #e1e4e8;
  padding-top:48px;
}
.board-detail-image{
  max-width:760px;
  margin:0 auto 28px;
  text-align:center;
}
.board-detail-image img{
  max-width:100%;
  border-radius:0;
  box-shadow:0 16px 34px rgba(0,0,0,.08);
}
.board-detail-video{
  max-width:760px;
  margin:0 auto 28px;
  aspect-ratio:16/9;
  background:#061725;
}
.board-detail-video iframe,
.board-detail-video video{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.board-detail-content{
  max-width:760px;
  margin:0 auto;
  color:#222;
  line-height:1.95;
  font-size:17px;
  word-break:keep-all;
}
.board-detail-actions{
  max-width:760px;
  margin:40px auto 0;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.notice-current-image{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border-radius:18px;
  background:#f5fbff;
  border:1px solid #dceaf2;
  margin-bottom:10px;
}
.notice-current-image img{
  width:150px;
  height:100px;
  object-fit:cover;
  border-radius:14px;
}
.notice-admin-thumb{
  width:130px;
  height:92px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid #dceaf2;
}
.notice-state.image{
  background:#edf7ff;
  color:#0066d6;
}
.notice-state.video{
  background:#fff3e6;
  color:#b45309;
}
@media(max-width:760px){
  .board-main,
  .board-detail-main{
    padding:0 16px;
  }
  .board-title-section h1,
  .board-detail-head h1{
    font-size:38px;
  }
  .board-search{
    justify-content:stretch;
  }
  .board-search input{
    width:100%;
  }
  .board-head{
    display:none;
  }
  .board-row{
    grid-template-columns:1fr;
    padding:16px 0;
    gap:8px;
  }
  .board-no,
  .board-date{
    text-align:left;
    padding:0 12px;
  }
  .board-subject{
    padding:0 12px;
  }
  .board-detail-head h2{
    font-size:24px;
  }
  .board-detail-meta{
    flex-wrap:wrap;
  }
  .board-detail-body{
    padding-top:28px;
  }
  .notice-admin-card-head{
    display:block;
  }
  .notice-admin-thumb{
    margin-bottom:14px;
  }
}


/* V30 blog-style notice editor */
.blog-block-editor{
  border:1px solid #dceaf2;
  border-radius:22px;
  background:#f8fcff;
  padding:20px;
}
.blog-block-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}
.blog-block-head h3{
  margin:0 0 6px;
  color:#073b63;
}
.blog-block-head p{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.blog-block-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.blog-block-buttons button,
.blog-block-item-head button{
  border:0;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  padding:9px 13px;
  font-weight:900;
  cursor:pointer;
}
.blog-block-item-head button{
  background:#4b5563;
}
.blog-block-list{
  display:grid;
  gap:14px;
}
.blog-block-item{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:18px;
  padding:16px;
}
.blog-block-item-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.blog-block-item-head strong{
  color:#073b63;
}
.blog-block-item textarea,
.blog-block-item input[type="text"]{
  width:100%;
  border:1px solid #dceaf2;
  border-radius:14px;
  padding:13px;
  font-size:15px;
}
.blog-block-item input[type="file"]{
  width:100%;
  padding:12px;
  border:1px dashed #b9d7e8;
  border-radius:14px;
  background:#f8fcff;
  margin-bottom:10px;
}
.blog-block-preview{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:16px;
  background:#f5fbff;
  margin-bottom:10px;
}
.blog-block-preview img{
  width:130px;
  height:90px;
  object-fit:cover;
  border-radius:12px;
}
.notice-state.blog{
  background:#edf2ff;
  color:#3730a3;
}
.blog-content{
  display:grid;
  gap:26px;
}
.blog-text-block{
  white-space:normal;
  line-height:1.95;
}
.blog-image-block{
  margin:0;
}
.blog-image-block img{
  display:block;
  max-width:100%;
  margin:0 auto;
  border-radius:10px;
}
.blog-image-block figcaption{
  max-width:760px;
  margin:12px auto 0;
  color:#60788a;
  font-size:14px;
  text-align:center;
  line-height:1.6;
}
.blog-video-block{
  max-width:760px;
  margin:0 auto;
  aspect-ratio:16/9;
  background:#061725;
}
.blog-video-block iframe,
.blog-video-block video{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
@media(max-width:700px){
  .blog-block-head{
    display:block;
  }
  .blog-block-buttons{
    margin-top:12px;
  }
  .blog-block-preview{
    display:block;
  }
  .blog-block-preview img{
    width:100%;
    height:auto;
    margin-bottom:10px;
  }
}


/* V31 rich text editor for notices */
.rich-editor{
  border:1px solid #dceaf2;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.rich-toolbar{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  padding:10px;
  background:#f4f9ff;
  border-bottom:1px solid #dceaf2;
}
.rich-toolbar button,
.rich-toolbar select{
  min-height:34px;
  border:1px solid #cfe2ee;
  border-radius:10px;
  background:#fff;
  color:#073b63;
  font-weight:900;
  padding:6px 9px;
  cursor:pointer;
}
.rich-toolbar button:hover,
.rich-toolbar select:hover{
  border-color:#0066d6;
}
.rich-divider{
  display:block;
  width:1px;
  height:28px;
  background:#dceaf2;
  margin:0 3px;
}
.rich-color{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:34px;
  padding:0 9px;
  border:1px solid #cfe2ee;
  border-radius:10px;
  background:#fff;
  color:#073b63;
  font-size:13px;
  font-weight:900;
}
.rich-color input{
  width:28px;
  height:24px;
  padding:0;
  border:0;
  background:transparent;
}
.rich-editable{
  min-height:210px;
  padding:16px;
  outline:none;
  line-height:1.8;
  color:#263f52;
}
.rich-editable:empty:before{
  content:attr(data-placeholder);
  color:#9aaab5;
}
.rich-editable h2,
.rich-output h2{
  font-size:30px;
  color:#073b63;
  margin:20px 0 12px;
}
.rich-editable h3,
.rich-output h3{
  font-size:24px;
  color:#073b63;
  margin:18px 0 10px;
}
.rich-editable h4,
.rich-output h4{
  font-size:20px;
  color:#073b63;
  margin:16px 0 8px;
}
.rich-editable blockquote,
.rich-output blockquote{
  margin:18px 0;
  padding:14px 18px;
  border-left:4px solid #0066d6;
  background:#f5fbff;
  color:#40596b;
}
.rich-output{
  line-height:1.95;
}
.rich-output p{
  margin:0 0 16px;
}
.rich-output ul,
.rich-output ol{
  margin:12px 0 18px 24px;
}
.rich-output a{
  color:#0066d6;
  font-weight:900;
}
@media(max-width:760px){
  .rich-toolbar{
    align-items:flex-start;
  }
  .rich-toolbar button,
  .rich-toolbar select,
  .rich-color{
    flex:1 1 auto;
  }
}


/* V32 cleaner notice block editor */
.blog-block-editor{
  background:linear-gradient(180deg,#f8fcff,#ffffff);
}
.blog-block-head{
  padding-bottom:14px;
  border-bottom:1px solid #dceaf2;
}
.blog-block-buttons button[data-add-block="text"]{
  background:#0066d6;
}
.blog-block-buttons button[data-add-block="image"]{
  background:#0f8f5f;
}
.blog-block-buttons button[data-add-block="video"]{
  background:#b45309;
}
.blog-block-item{
  position:relative;
}
.blog-block-item:has(input[value="image"]){
  border-left:5px solid #0f8f5f;
}
.blog-block-item:has(input[value="video"]){
  border-left:5px solid #b45309;
}
.blog-block-item:has(input[value="text"]){
  border-left:5px solid #0066d6;
}
.blog-block-item input[type="file"]{
  margin-bottom:0;
}
.blog-block-item input[name="block_text[]"][type="text"]{
  margin-top:0;
}
.rich-toolbar{
  gap:7px;
}
.rich-toolbar:before{
  content:"서식";
  display:inline-flex;
  align-items:center;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  font-weight:900;
  font-size:13px;
}
.blog-block-item-head strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.blog-block-item-head strong:before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:#0066d6;
}
.blog-block-item:has(input[value="image"]) .blog-block-item-head strong:before{
  background:#0f8f5f;
}
.blog-block-item:has(input[value="video"]) .blog-block-item-head strong:before{
  background:#b45309;
}


/* V34 notice video block custom size */
.blog-video-block{
  width:100%;
  max-width:var(--notice-video-width, 760px);
  aspect-ratio:var(--notice-video-ratio, 16/9);
}

/* V35 notice image block custom size */
.blog-image-block{
  width:100%;
  max-width:var(--notice-image-width, 760px);
  margin-left:auto;
  margin-right:auto;
}
.blog-image-block img{
  width:100%;
  max-width:100%;
  height:var(--notice-image-height, auto);
  object-fit:contain;
}


/* V36 admin account summary and HWP-style notice editor */
.admin-account-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:22px;
}
.admin-account-summary article{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:20px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.admin-account-summary article.super{
  border-color:#0066d6;
  background:linear-gradient(135deg,#edf6ff,#fff);
}
.admin-account-summary span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.admin-account-summary strong{
  display:block;
  color:#073b63;
  font-size:30px;
  margin-bottom:8px;
}
.admin-account-summary p,
.admin-help-text{
  margin:0;
  color:#60788a;
  font-weight:800;
  line-height:1.5;
}
.admin-account-list{
  display:grid;
  gap:14px;
}
.admin-account-card{
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(7,59,99,.05);
}
.admin-account-card.role-super_admin{
  border-left:6px solid #0066d6;
}
.admin-account-card.role-manager{
  border-left:6px solid #0f8f5f;
}
.admin-account-card.role-instructor{
  border-left:6px solid #b45309;
}
.admin-account-card.is-disabled{
  opacity:.65;
  background:#f8fafc;
}
.admin-account-main{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.account-role-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2f6;
  color:#40596b;
  font-weight:900;
  font-size:12px;
  margin-right:6px;
}
.account-role-badge.super{
  background:#0066d6;
  color:#fff;
}
.account-role-badge.me{
  background:#fff3e6;
  color:#b45309;
}
.admin-account-card h3{
  margin:10px 0 6px;
  color:#073b63;
}
.admin-account-card p{
  margin:0;
  color:#60788a;
  font-weight:800;
}

/* HWP-like toolbar */
.rich-toolbar-hwp{
  display:grid;
  grid-template-columns:1.4fr .8fr .8fr .7fr .7fr 1fr 1.2fr 1.35fr 1.8fr;
  gap:8px;
  align-items:end;
  padding:12px;
  background:#eef5fb;
  border-bottom:1px solid #cfe2ee;
}
.rich-toolbar-hwp:before{
  display:none !important;
}
.rich-tool-group{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.rich-tool-group label{
  color:#40596b;
  font-size:12px;
  font-weight:900;
}
.rich-tool-group select{
  width:100%;
  min-height:36px;
  border:1px solid #cfe2ee;
  border-radius:8px;
  background:#fff;
  color:#073b63;
  font-weight:800;
  padding:6px 8px;
}
.rich-tool-group.buttons,
.rich-tool-group.colors{
  flex-direction:row;
  flex-wrap:wrap;
  align-items:end;
  gap:6px;
}
.rich-tool-group.buttons > label,
.rich-tool-group.colors > label{
  width:100%;
}
.rich-tool-group.buttons button{
  min-height:34px;
  border:1px solid #cfe2ee;
  border-radius:8px;
  background:#fff;
  color:#073b63;
  font-weight:900;
  padding:6px 9px;
  cursor:pointer;
}
.rich-tool-group.buttons button:hover,
.rich-tool-group select:hover{
  border-color:#0066d6;
}
.rich-tool-group .rich-color{
  height:34px;
  border-radius:8px;
  background:#fff;
}
.rich-editable{
  min-height:260px;
  background:#fff;
}
.rich-output{
  word-break:keep-all;
}
.rich-output span{
  line-height:inherit;
}
.rich-output hr,
.rich-editable hr{
  border:0;
  border-top:2px solid #dceaf2;
  margin:24px 0;
}
.rich-output blockquote,
.rich-editable blockquote{
  border-left:5px solid #0066d6;
  background:#f5fbff;
}
@media(max-width:1300px){
  .rich-toolbar-hwp{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:900px){
  .admin-account-summary{
    grid-template-columns:repeat(2,1fr);
  }
  .admin-account-main{
    display:block;
  }
  .admin-account-main form{
    margin-top:14px;
  }
  .rich-toolbar-hwp{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .admin-account-summary,
  .rich-toolbar-hwp{
    grid-template-columns:1fr;
  }
}


/* V37 local computer font support */
.font-local-group{
  min-width:280px;
}
.font-select-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px;
}
.font-select-row select{
  min-width:0;
}
.font-load-btn,
.font-manual-row button{
  min-height:36px;
  border:1px solid #0066d6;
  border-radius:8px;
  background:#0066d6;
  color:#fff;
  font-weight:900;
  padding:0 10px;
  cursor:pointer;
  white-space:nowrap;
}
.font-load-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.font-manual-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px;
  margin-top:6px;
}
.font-manual-row input{
  min-height:36px;
  border:1px solid #cfe2ee;
  border-radius:8px;
  background:#fff;
  color:#073b63;
  font-weight:800;
  padding:0 10px;
  min-width:0;
}
.font-local-group small{
  display:block;
  margin-top:5px;
  color:#60788a;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}
@media(max-width:640px){
  .font-select-row,
  .font-manual-row{
    grid-template-columns:1fr;
  }
}


/* V38 notice form cleanup */
.notice-write-panel .blog-block-editor{
  margin-top:4px;
}
.notice-write-panel .section-title-row p{
  color:#40596b;
}
.blog-block-editor:before{
  content:"공지 본문 작성 영역";
  display:block;
  padding:12px 16px;
  background:#073b63;
  color:#fff;
  font-weight:900;
  letter-spacing:.02em;
}
.blog-block-head{
  border-top:0;
}
.notice-form > .field:first-of-type{
  border:1px solid #dceaf2;
  border-radius:18px;
  padding:16px;
  background:#f8fcff;
}
.notice-form > .field:first-of-type label{
  color:#073b63;
  font-size:16px;
  font-weight:900;
}


/* V39 contact inquiry management */
.contact-hero{
  background:linear-gradient(135deg,#eaf8ff,#fff);
}
.contact-layout{
  max-width:1100px;
  margin:28px auto 60px;
  padding:0 24px;
  display:grid;
  grid-template-columns:340px 1fr;
  gap:22px;
}
.contact-guide-card,
.contact-form-card{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:26px;
  padding:26px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.contact-guide-card h2,
.contact-form-card h2{
  margin:0 0 12px;
  color:#073b63;
}
.contact-guide-card p,
.contact-form-card p{
  color:#60788a;
  line-height:1.7;
}
.contact-guide-list{
  display:grid;
  gap:12px;
  margin-top:22px;
}
.contact-guide-list div{
  padding:14px;
  border-radius:18px;
  background:#f5fbff;
  border:1px solid #dceaf2;
}
.contact-guide-list strong{
  display:block;
  color:#073b63;
  margin-bottom:5px;
}
.contact-guide-list span{
  color:#60788a;
  font-size:14px;
  font-weight:800;
}
.contact-form{
  display:grid;
  gap:16px;
}
.contact-form textarea,
.inquiry-admin-form textarea{
  width:100%;
  border:1px solid #dceaf2;
  border-radius:14px;
  padding:13px;
  font-size:15px;
  resize:vertical;
}
.hp-field{
  position:absolute;
  left:-9999px;
  opacity:0;
}
.contact-success{
  text-align:center;
  padding:36px 10px;
}
.contact-success h2{
  color:#0066d6;
}
.inquiry-summary{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-bottom:22px;
}
.inquiry-summary a{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:20px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.inquiry-summary a.active{
  background:#0066d6;
  border-color:#0066d6;
}
.inquiry-summary span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.inquiry-summary strong{
  color:#073b63;
  font-size:30px;
}
.inquiry-summary a.active span,
.inquiry-summary a.active strong{
  color:#fff;
}
.inquiry-list{
  display:grid;
  gap:16px;
}
.inquiry-card{
  position:relative;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:24px;
  padding:22px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.inquiry-card.status-new{
  border-left:6px solid #0066d6;
}
.inquiry-card.status-checking{
  border-left:6px solid #b45309;
}
.inquiry-card.status-answered{
  border-left:6px solid #0f8f5f;
}
.inquiry-card.status-archived{
  border-left:6px solid #64748b;
  opacity:.86;
}
.inquiry-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.inquiry-status,
.inquiry-category{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}
.inquiry-status.new{
  background:#eaf4ff;
  color:#0066d6;
}
.inquiry-status.checking{
  background:#fff3e6;
  color:#b45309;
}
.inquiry-status.answered{
  background:#e9fff3;
  color:#007a3d;
}
.inquiry-status.archived{
  background:#eef2f6;
  color:#40596b;
}
.inquiry-category{
  background:#f5fbff;
  color:#073b63;
}
.inquiry-card h3{
  margin:0 0 7px;
  color:#073b63;
}
.inquiry-card-head p{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.inquiry-message{
  margin:16px 0;
  padding:16px;
  border-radius:18px;
  background:#f8fcff;
  border:1px solid #dceaf2;
  color:#263f52;
  line-height:1.75;
}
.inquiry-actions{
  margin-top:12px;
}
.inquiry-delete-form{
  margin-top:8px;
}
@media(max-width:1000px){
  .contact-layout{
    grid-template-columns:1fr;
  }
  .inquiry-summary{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:640px){
  .contact-layout{
    padding:0 14px;
  }
  .inquiry-summary{
    grid-template-columns:1fr;
  }
}


/* V40 contact check and compact notice admin */
.contact-channel-list{
  display:grid;
  gap:10px;
  margin:20px 0;
}
.contact-channel-list a{
  display:block;
  text-decoration:none;
  padding:14px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dceaf2;
}
.contact-channel-list a.active{
  background:#0066d6;
  border-color:#0066d6;
}
.contact-channel-list strong{
  display:block;
  color:#073b63;
  margin-bottom:4px;
}
.contact-channel-list span{
  color:#60788a;
  font-size:14px;
  font-weight:800;
}
.contact-channel-list a.active strong,
.contact-channel-list a.active span{
  color:#fff;
}
.contact-check-layout{
  max-width:1000px;
  margin:28px auto 60px;
  padding:0 24px;
  display:grid;
  gap:22px;
}
.contact-result-card{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:26px;
  padding:26px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.public-inquiry-list{
  display:grid;
  gap:14px;
}
.public-inquiry-card{
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:20px;
  background:#f8fcff;
}
.public-inquiry-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
  color:#60788a;
  font-weight:900;
}
.public-inquiry-card h3{
  margin:0 0 10px;
  color:#073b63;
}
.public-inquiry-card p{
  margin:0;
  color:#263f52;
  line-height:1.7;
}
.public-inquiry-answer{
  margin-top:16px;
  padding:16px;
  border-radius:16px;
  background:#fff;
  border:1px solid #dceaf2;
}
.public-inquiry-answer strong{
  display:block;
  color:#0066d6;
  margin-bottom:8px;
}
.notice-title-field{
  border:2px solid #cfe2ee !important;
  border-radius:20px !important;
  padding:18px !important;
  background:linear-gradient(135deg,#f8fcff,#fff) !important;
}
.notice-title-field input{
  height:52px;
  font-size:20px;
  font-weight:900;
  border:1px solid #b9d7e8;
  border-radius:14px;
}
.notice-title-field small{
  display:block;
  margin-top:9px;
  color:#60788a;
  font-weight:800;
}
.notice-admin-row{
  display:grid;
  grid-template-columns:150px minmax(200px,1.1fr) minmax(180px,1fr) auto;
  align-items:center;
  gap:14px;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 22px rgba(7,59,99,.04);
}
.notice-admin-row.is-hidden{
  opacity:.72;
  background:#f8fafc;
}
.notice-row-status{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.notice-row-info h3{
  margin:0 0 5px;
  color:#073b63;
  font-size:17px;
}
.notice-row-info p,
.notice-row-preview{
  margin:0;
  color:#60788a;
  font-size:13px;
  font-weight:800;
  line-height:1.5;
}
.notice-row-preview{
  max-height:42px;
  overflow:hidden;
}
.notice-admin-actions.compact{
  justify-content:flex-end;
  gap:6px;
}
.notice-admin-actions.compact .admin-action-btn{
  padding:8px 10px;
  font-size:12px;
}
@media(max-width:1100px){
  .notice-admin-row{
    grid-template-columns:1fr;
  }
  .notice-admin-actions.compact{
    justify-content:flex-start;
  }
}


/* V41 inquiry admin cleanup */
.contact-channel-list a.check{
  border-color:#0066d6;
  background:#f0f8ff;
}
.contact-channel-list a.check strong{
  color:#0066d6;
}
.inquiry-dashboard{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-bottom:22px;
}
.inquiry-dashboard a{
  position:relative;
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:20px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
  overflow:hidden;
}
.inquiry-dashboard a:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:6px;
  background:#64748b;
}
.inquiry-dashboard a.new:before{background:#0066d6;}
.inquiry-dashboard a.checking:before{background:#b45309;}
.inquiry-dashboard a.answered:before{background:#0f8f5f;}
.inquiry-dashboard a.archived:before{background:#64748b;}
.inquiry-dashboard a.active{
  background:#073b63;
  border-color:#073b63;
}
.inquiry-dashboard span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:7px;
}
.inquiry-dashboard strong{
  display:block;
  color:#073b63;
  font-size:31px;
  line-height:1;
  margin-bottom:8px;
}
.inquiry-dashboard small{
  color:#60788a;
  font-weight:800;
}
.inquiry-dashboard a.active span,
.inquiry-dashboard a.active strong,
.inquiry-dashboard a.active small{
  color:#fff;
}
.inquiry-panel-clean{
  border-top:5px solid #073b63;
}
.inquiry-clean-list{
  display:grid;
  gap:14px;
}
.inquiry-clean-card{
  position:relative;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 32px rgba(7,59,99,.05);
}
.inquiry-clean-card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:#0066d6;
}
.inquiry-clean-card.status-checking:before{background:#b45309;}
.inquiry-clean-card.status-answered:before{background:#0f8f5f;}
.inquiry-clean-card.status-archived:before{background:#64748b;}
.inquiry-clean-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:18px 20px 12px 26px;
  border-bottom:1px solid #eef5f8;
  background:#fbfdff;
}
.inquiry-left{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.inquiry-date{
  color:#60788a;
  font-weight:900;
  font-size:13px;
}
.inquiry-clean-main{
  display:grid;
  grid-template-columns:190px 1fr 210px;
  gap:18px;
  padding:18px 20px 18px 26px;
}
.inquiry-person{
  display:grid;
  gap:7px;
  align-content:start;
}
.inquiry-person strong{
  color:#073b63;
  font-size:20px;
}
.inquiry-person span{
  color:#60788a;
  font-weight:800;
  word-break:break-all;
}
.inquiry-text{
  padding:16px;
  border-radius:18px;
  background:#f8fcff;
  border:1px solid #dceaf2;
}
.inquiry-text h3,
.inquiry-quick h3{
  margin:0 0 8px;
  color:#073b63;
  font-size:15px;
}
.inquiry-text p{
  margin:0;
  color:#263f52;
  line-height:1.75;
}
.quick-status-buttons{
  display:grid;
  gap:8px;
}
.quick-status-buttons form{
  margin:0;
}
.quick-status-buttons button{
  width:100%;
  border:0;
  border-radius:12px;
  padding:11px 12px;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.quick-status-buttons button.checking{background:#b45309;}
.quick-status-buttons button.answered{background:#0f8f5f;}
.quick-status-buttons button.archived{background:#64748b;}
.inquiry-admin-form.clean{
  padding:0 20px 18px 26px;
}
.inquiry-admin-grid{
  display:grid;
  grid-template-columns:170px 1fr auto;
  gap:12px;
  align-items:end;
  padding:16px;
  border-radius:18px;
  background:#fff;
  border:1px solid #dceaf2;
}
.inquiry-admin-grid .field{
  margin:0;
}
.inquiry-admin-grid textarea{
  min-height:80px;
}
.inquiry-save-area{
  display:flex;
  align-items:flex-end;
}
.inquiry-delete-form.clean{
  padding:0 20px 20px 26px;
  text-align:right;
}
@media(max-width:1100px){
  .inquiry-dashboard{
    grid-template-columns:repeat(2,1fr);
  }
  .inquiry-clean-main{
    grid-template-columns:1fr;
  }
  .inquiry-admin-grid{
    grid-template-columns:1fr;
  }
  .inquiry-delete-form.clean{
    text-align:left;
  }
}
@media(max-width:640px){
  .inquiry-dashboard{
    grid-template-columns:1fr;
  }
  .inquiry-clean-top{
    display:block;
  }
  .inquiry-date{
    margin-top:10px;
  }
}


/* V42 contact check separation and inquiry collapsible list */
.contact-method-box{
  margin:20px 0;
  padding:16px;
  border:1px solid #dceaf2;
  border-radius:22px;
  background:#f8fcff;
}
.contact-method-box h3,
.contact-check-box strong{
  margin:0 0 12px;
  color:#073b63;
}
.contact-check-box{
  margin:18px 0 22px;
  padding:20px;
  border:2px solid #0066d6;
  border-radius:24px;
  background:linear-gradient(135deg,#edf7ff,#fff);
  box-shadow:0 12px 30px rgba(0,102,214,.08);
}
.contact-check-box span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  font-weight:900;
  font-size:12px;
  margin-bottom:10px;
}
.contact-check-box strong{
  display:block;
  font-size:22px;
}
.contact-check-box p{
  margin:0 0 14px;
  color:#40596b;
  font-weight:800;
  line-height:1.6;
}
.contact-check-box a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  text-decoration:none;
  font-weight:900;
}
.contact-channel-list a.check{
  display:none;
}
.inquiry-toggle-list{
  display:grid;
  gap:10px;
}
.inquiry-toggle-item{
  position:relative;
  border:1px solid #dceaf2;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(7,59,99,.04);
}
.inquiry-toggle-item:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:#0066d6;
  z-index:2;
}
.inquiry-toggle-item.status-checking:before{background:#b45309;}
.inquiry-toggle-item.status-answered:before{background:#0f8f5f;}
.inquiry-toggle-item.status-archived:before{background:#64748b;}
.inquiry-toggle-item.is-open{
  border-color:#9ed0ff;
  box-shadow:0 16px 34px rgba(0,102,214,.09);
}
.inquiry-toggle-head{
  width:100%;
  display:grid;
  grid-template-columns:180px 170px minmax(220px,1fr) 130px 72px;
  gap:12px;
  align-items:center;
  padding:16px 18px 16px 26px;
  border:0;
  background:#fff;
  cursor:pointer;
  text-align:left;
}
.inquiry-toggle-head:hover{
  background:#f8fcff;
}
.inquiry-head-status{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.inquiry-head-person{
  display:grid;
  gap:4px;
}
.inquiry-head-person strong{
  color:#073b63;
  font-size:17px;
}
.inquiry-head-person em{
  color:#60788a;
  font-style:normal;
  font-weight:800;
  font-size:13px;
}
.inquiry-head-preview{
  color:#263f52;
  font-weight:800;
  line-height:1.45;
}
.inquiry-head-date{
  color:#60788a;
  font-weight:900;
  font-size:13px;
}
.inquiry-open-icon{
  justify-self:end;
  min-width:58px;
  text-align:center;
  padding:8px 10px;
  border-radius:999px;
  background:#eef5fb;
  color:#073b63;
  font-weight:900;
  font-size:12px;
}
.inquiry-toggle-item.is-open .inquiry-open-icon{
  background:#0066d6;
  color:#fff;
}
.inquiry-toggle-body{
  border-top:1px solid #dceaf2;
  padding:18px 18px 18px 26px;
  background:#fbfdff;
}
.inquiry-detail-grid{
  display:grid;
  grid-template-columns:240px 1fr 200px;
  gap:14px;
  margin-bottom:14px;
}
.inquiry-detail-box{
  border:1px solid #dceaf2;
  border-radius:18px;
  background:#fff;
  padding:16px;
}
.inquiry-detail-box h3{
  margin:0 0 12px;
  color:#073b63;
  font-size:15px;
}
.inquiry-detail-box dl{
  display:grid;
  grid-template-columns:62px 1fr;
  gap:8px 10px;
  margin:0;
}
.inquiry-detail-box dt{
  color:#60788a;
  font-weight:900;
}
.inquiry-detail-box dd{
  margin:0;
  color:#263f52;
  font-weight:800;
  word-break:break-all;
}
.inquiry-full-message{
  min-height:116px;
  color:#263f52;
  line-height:1.75;
  word-break:keep-all;
}
@media(max-width:1200px){
  .inquiry-toggle-head{
    grid-template-columns:1fr;
  }
  .inquiry-open-icon{
    justify-self:start;
  }
  .inquiry-detail-grid{
    grid-template-columns:1fr;
  }
}


/* V43 managed public pages and admin page editor */
.managed-page-content{
  color:#263f52;
  line-height:1.85;
  word-break:keep-all;
}
.managed-page-content h2{
  margin:30px 0 12px;
  color:#073b63;
  font-size:28px;
  border-left:6px solid #0066d6;
  padding-left:14px;
}
.managed-page-content h2:first-child{
  margin-top:0;
}
.managed-page-content h3{
  margin:24px 0 10px;
  color:#073b63;
  font-size:22px;
}
.managed-page-content p{
  margin:0 0 16px;
  font-size:17px;
}
.managed-page-content ul,
.managed-page-content ol{
  margin:0 0 18px;
  padding-left:24px;
}
.managed-page-content li{
  margin:8px 0;
}
.managed-page-content blockquote{
  margin:20px 0;
  padding:16px 18px;
  border-left:5px solid #0066d6;
  background:#f5fbff;
  border-radius:16px;
}
.managed-page-content hr{
  border:0;
  border-top:2px solid #dceaf2;
  margin:28px 0;
}
.page-admin-tabs{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-bottom:22px;
}
.page-admin-tabs a{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:20px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.page-admin-tabs a.active{
  background:#073b63;
  border-color:#073b63;
}
.page-admin-tabs strong{
  display:block;
  color:#073b63;
  font-size:22px;
  margin-bottom:8px;
}
.page-admin-tabs span{
  color:#60788a;
  font-weight:800;
}
.page-admin-tabs a.active strong,
.page-admin-tabs a.active span{
  color:#fff;
}
.page-editor-panel{
  border-top:5px solid #0066d6;
}
.page-editor-top{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:16px;
}
.page-title-field,
.page-hero-field{
  border:1px solid #dceaf2;
  border-radius:20px;
  padding:16px;
  background:#f8fcff;
}
.page-title-field input{
  height:54px;
  font-size:22px;
  font-weight:900;
}
.page-hero-field textarea{
  min-height:54px;
}
.page-rich-editor{
  border:1px solid #cfe2ee;
  border-radius:20px;
  overflow:hidden;
  background:#fff;
}
.page-rich-toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:12px;
  background:#eef5fb;
  border-bottom:1px solid #cfe2ee;
}
.page-rich-toolbar button{
  border:1px solid #cfe2ee;
  border-radius:10px;
  background:#fff;
  color:#073b63;
  font-weight:900;
  min-height:36px;
  padding:0 12px;
  cursor:pointer;
}
.page-rich-toolbar button:hover{
  border-color:#0066d6;
}
.page-rich-editable{
  min-height:430px;
  padding:26px;
  outline:none;
}
.page-rich-editable:focus{
  box-shadow:inset 0 0 0 3px rgba(0,102,214,.1);
}
.page-editor-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:18px;
}
.page-reset-form{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #dceaf2;
}
.page-reset-form span{
  color:#60788a;
  font-weight:800;
}
@media(max-width:900px){
  .page-admin-tabs,
  .page-editor-top{
    grid-template-columns:1fr;
  }
}


/* V44 page block manager and gallery cleanup */
.hidden-file-input{display:none!important;}
.page-editor-panel.clean{border-top:5px solid #073b63;}
.page-admin-tabs.clean a{
  border-left:6px solid #0066d6;
}
.page-editor-basic{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:16px;
  margin-bottom:22px;
}
.page-block-editor{
  border:1px solid #cfe2ee;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
}
.page-block-editor-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  background:#073b63;
  color:#fff;
}
.page-block-editor-head h2{
  margin:0 0 6px;
  color:#fff;
}
.page-block-editor-head p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-weight:800;
}
.page-block-add-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.page-block-add-buttons button{
  border:1px solid rgba(255,255,255,.35);
  border-radius:12px;
  background:#fff;
  color:#073b63;
  font-weight:900;
  min-height:40px;
  padding:0 13px;
  cursor:pointer;
}
.page-block-list{
  display:grid;
  gap:12px;
  padding:14px;
  background:#f8fcff;
}
.page-admin-block{
  display:grid;
  grid-template-columns:110px 1fr;
  border:1px solid #dceaf2;
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 26px rgba(7,59,99,.04);
}
.page-admin-block-side{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px;
  color:#fff;
  background:#0066d6;
}
.page-admin-block.block-image .page-admin-block-side{background:#0f8f5f;}
.page-admin-block.block-video .page-admin-block-side{background:#b45309;}
.page-admin-block-side strong{
  width:38px;
  height:38px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.2);
  font-size:20px;
}
.page-admin-block-side span{
  font-weight:900;
}
.page-admin-block-side button{
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  background:transparent;
  color:#fff;
  padding:6px 10px;
  cursor:pointer;
  font-weight:900;
}
.page-admin-block-body{
  padding:16px;
  display:grid;
  gap:10px;
}
.page-mini-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:10px;
  border-radius:14px;
  background:#eef5fb;
}
.page-mini-toolbar button{
  border:1px solid #cfe2ee;
  border-radius:10px;
  background:#fff;
  color:#073b63;
  font-weight:900;
  min-height:34px;
  padding:0 10px;
  cursor:pointer;
}
.page-rich-editable{
  min-height:230px;
  padding:20px;
  border:1px solid #cfe2ee;
  border-radius:16px;
  background:#fff;
  outline:none;
}
.page-current-media{
  display:flex;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid #dceaf2;
  border-radius:16px;
  background:#f8fcff;
}
.page-current-media img{
  width:160px;
  height:100px;
  object-fit:cover;
  border-radius:12px;
}
.page-current-media p{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.page-block{
  margin:24px 0;
}
.page-text-block:first-child{margin-top:0;}
.page-image-block{
  margin-left:auto;
  margin-right:auto;
}
.page-image-block img{
  width:100%;
  border-radius:24px;
  box-shadow:0 16px 40px rgba(7,59,99,.12);
}
.page-image-small{max-width:420px;}
.page-image-medium{max-width:640px;}
.page-image-large{max-width:860px;}
.page-image-full{max-width:100%;}
.page-video-block{
  margin-left:auto;
  margin-right:auto;
  aspect-ratio:16/9;
}
.page-video-block iframe,
.page-video-block video{
  width:100%;
  height:100%;
  border:0;
  border-radius:24px;
  box-shadow:0 16px 40px rgba(7,59,99,.12);
  background:#000;
}
.page-video-small{max-width:420px;}
.page-video-medium{max-width:640px;}
.page-video-large{max-width:860px;}
.page-video-full{max-width:100%;}
.gallery-stat-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:22px;
}
.gallery-stat-row article{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:22px;
  padding:20px;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
  border-left:6px solid #64748b;
}
.gallery-stat-row article.visible{border-left-color:#0f8f5f;}
.gallery-stat-row article.hidden{border-left-color:#b45309;}
.gallery-stat-row span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.gallery-stat-row strong{
  color:#073b63;
  font-size:32px;
}
.gallery-upload-panel{border-top:5px solid #0066d6;}
.gallery-upload-form{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:20px;
}
.gallery-form-preview{
  min-height:260px;
  border-radius:24px;
  background:#f8fcff;
  border:1px solid #dceaf2;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.gallery-form-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-form-preview p{
  position:absolute;
  margin-top:220px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(7,59,99,.82);
  color:#fff;
  font-weight:800;
}
.gallery-preview-empty strong{
  display:block;
  color:#073b63;
  font-size:36px;
  letter-spacing:.08em;
}
.gallery-preview-empty span{
  display:block;
  color:#60788a;
  font-weight:800;
  margin-top:8px;
}
.gallery-form-fields{
  display:grid;
  gap:14px;
}
.gallery-list-panel{border-top:5px solid #0f8f5f;}
.gallery-manage-list{
  display:grid;
  gap:12px;
}
.gallery-manage-row{
  display:grid;
  grid-template-columns:150px minmax(220px,1fr) auto;
  gap:14px;
  align-items:center;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:18px;
  padding:12px;
  box-shadow:0 10px 26px rgba(7,59,99,.04);
}
.gallery-manage-row.is-hidden{
  opacity:.7;
  background:#f8fafc;
}
.gallery-manage-thumb img{
  width:150px;
  height:100px;
  object-fit:cover;
  border-radius:14px;
}
.gallery-manage-info h3{
  margin:10px 0 5px;
  color:#073b63;
}
.gallery-manage-info p{
  margin:0 0 5px;
  color:#40596b;
  font-weight:800;
  line-height:1.5;
}
.gallery-manage-info small{
  color:#60788a;
  font-weight:800;
}
.gallery-hero.clean{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.gallery-count-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:110px;
  min-height:110px;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  font-size:18px;
  box-shadow:0 16px 40px rgba(0,102,214,.18);
}
.gallery-public-box{
  background:#f8fcff;
}
.gallery-grid.clean{
  align-items:stretch;
}
.gallery-card.clean{
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 34px rgba(7,59,99,.08);
}
.gallery-card.clean .gallery-open{
  height:260px;
}
.gallery-card.clean .gallery-open img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.gallery-card.clean:hover .gallery-open img{
  transform:scale(1.04);
}
.gallery-card-text small{
  display:inline-flex;
  color:#0066d6;
  font-weight:900;
  margin-bottom:6px;
}
.gallery-modal-card.clean{
  max-width:min(960px,92vw);
}
.gallery-modal-card.clean img{
  max-height:70vh;
  object-fit:contain;
  background:#000;
}
.gallery-modal-text{
  padding:18px;
}
@media(max-width:1000px){
  .page-editor-basic,
  .gallery-upload-form,
  .gallery-manage-row{
    grid-template-columns:1fr;
  }
  .page-admin-block{
    grid-template-columns:1fr;
  }
  .page-admin-block-side{
    flex-direction:row;
    justify-content:flex-start;
  }
  .gallery-stat-row{
    grid-template-columns:1fr;
  }
  .gallery-hero.clean{
    display:block;
  }
  .gallery-count-badge{
    margin-top:18px;
    min-width:90px;
    min-height:90px;
  }
}


/* V45 instagram gallery, feed blocks, and inline insertion */
.inline-add-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
  padding:10px;
  border-radius:14px;
  background:#f2f7fb;
  border:1px dashed #b9d7e8;
}
.inline-add-row span{
  color:#60788a;
  font-weight:900;
  font-size:13px;
}
.inline-add-row button{
  border:1px solid #cfe2ee;
  border-radius:999px;
  background:#fff;
  color:#073b63;
  font-weight:900;
  padding:7px 11px;
  cursor:pointer;
}
.inline-add-row button:hover{
  border-color:#0066d6;
  color:#0066d6;
}
.gallery-feed-panel{
  border-top:5px solid #073b63;
}
.gallery-stat-row.feed article:first-child{
  border-left-color:#0066d6;
}
.gallery-feed-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border-radius:22px;
  background:#073b63;
  color:#fff;
  margin-bottom:16px;
}
.gallery-feed-head h2{
  margin:0 0 6px;
  color:#fff;
}
.gallery-feed-head p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-weight:800;
}
.gallery-feed-add{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.gallery-feed-add button{
  border:1px solid rgba(255,255,255,.35);
  border-radius:12px;
  background:#fff;
  color:#073b63;
  font-weight:900;
  min-height:40px;
  padding:0 13px;
  cursor:pointer;
}
.gallery-feed-list{
  display:grid;
  gap:12px;
}
.gallery-feed-admin-block{
  display:grid;
  grid-template-columns:130px 1fr;
  border:1px solid #dceaf2;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 26px rgba(7,59,99,.04);
}
.gallery-feed-admin-side{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px;
  color:#fff;
  background:#0066d6;
}
.gallery-feed-admin-block.block-image .gallery-feed-admin-side{background:#0f8f5f;}
.gallery-feed-admin-block.block-video .gallery-feed-admin-side{background:#b45309;}
.gallery-feed-admin-side strong{
  width:42px;
  height:42px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.2);
  font-size:21px;
}
.gallery-feed-admin-side span,
.gallery-feed-admin-side label{
  font-weight:900;
}
.gallery-feed-admin-side button{
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  background:transparent;
  color:#fff;
  padding:6px 10px;
  cursor:pointer;
  font-weight:900;
}
.gallery-feed-admin-body{
  display:grid;
  gap:10px;
  padding:16px;
}
.gallery-feed-editable{
  min-height:200px;
  padding:18px;
  border:1px solid #cfe2ee;
  border-radius:16px;
  outline:none;
  background:#fff;
  color:#263f52;
  line-height:1.8;
}
.insta-gallery-wrap{
  max-width:760px;
  margin:34px auto 70px;
  padding:0 18px;
}
.gallery-hero.insta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.insta-feed{
  display:grid;
  gap:22px;
}
.insta-post{
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 16px 38px rgba(7,59,99,.08);
}
.insta-post-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid #eef5f8;
}
.insta-post-head strong{
  color:#073b63;
  font-size:16px;
}
.insta-post-head span{
  color:#60788a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
}
.insta-text-post{
  padding-bottom:4px;
}
.insta-text-content{
  padding:20px;
  color:#263f52;
  line-height:1.85;
  word-break:keep-all;
}
.insta-text-content h2,
.insta-text-content h3{
  color:#073b63;
  margin:0 0 12px;
}
.insta-image-button{
  display:block;
  width:100%;
  border:0;
  background:#000;
  padding:0;
  cursor:zoom-in;
}
.insta-image-button img{
  display:block;
  width:100%;
  height:auto;
}
.insta-image-small{max-width:430px;margin-left:auto;margin-right:auto;}
.insta-image-medium{max-width:620px;margin-left:auto;margin-right:auto;}
.insta-image-large,
.insta-image-full{max-width:760px;margin-left:auto;margin-right:auto;}
.insta-video-small{max-width:430px;margin-left:auto;margin-right:auto;}
.insta-video-medium{max-width:620px;margin-left:auto;margin-right:auto;}
.insta-video-large,
.insta-video-full{max-width:760px;margin-left:auto;margin-right:auto;}
.insta-video-frame{
  aspect-ratio:16/9;
  background:#000;
}
.insta-video-frame iframe,
.insta-video-frame video{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.insta-actions{
  display:flex;
  justify-content:flex-end;
  padding:14px 16px 16px;
}
.insta-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:#0066d6;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}
.insta-caption{
  padding:16px 18px 0;
  color:#263f52;
  line-height:1.7;
  font-weight:700;
}
.gallery-modal-text{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.gallery-modal-text h2{
  margin:0;
}
@media(max-width:900px){
  .gallery-feed-head,
  .gallery-hero.insta{
    display:block;
  }
  .gallery-feed-add{
    margin-top:14px;
  }
  .gallery-feed-admin-block{
    grid-template-columns:1fr;
  }
  .gallery-feed-admin-side{
    flex-direction:row;
    justify-content:flex-start;
  }
}


/* V46 inline media inside text blocks and member gallery upload */
.inline-media{
  margin:20px auto;
}
.inline-image img,
.rich-output .inline-image img,
.managed-page-content .inline-image img,
.insta-text-content .inline-image img{
  display:block;
  max-width:100%;
  height:auto;
  margin:0 auto;
  border-radius:20px;
  box-shadow:0 14px 34px rgba(7,59,99,.12);
}
.inline-video{
  max-width:860px;
  aspect-ratio:16/9;
}
.inline-video iframe,
.inline-video video,
.rich-output .inline-video iframe,
.rich-output .inline-video video,
.managed-page-content .inline-video iframe,
.managed-page-content .inline-video video,
.insta-text-content .inline-video iframe,
.insta-text-content .inline-video video{
  display:block;
  width:100%;
  height:100%;
  border:0;
  border-radius:20px;
  background:#000;
  box-shadow:0 14px 34px rgba(7,59,99,.12);
}
.gallery-hero-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
}
.gallery-submit-layout{
  max-width:1100px;
  margin:28px auto 70px;
  padding:0 24px;
  display:grid;
  grid-template-columns:1fr 420px;
  gap:22px;
}
.member-upload-list{
  display:grid;
  gap:12px;
}
.member-upload-card{
  padding:16px;
  border:1px solid #dceaf2;
  border-radius:18px;
  background:#f8fcff;
}
.member-upload-card strong{
  display:block;
  margin:10px 0 6px;
  color:#073b63;
}
.member-upload-card p{
  margin:0 0 8px;
  color:#263f52;
  line-height:1.6;
}
.member-gallery-panel{
  border-top:5px solid #7c3aed;
}
.member-gallery-counts{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.member-gallery-counts span{
  display:inline-flex;
  padding:8px 11px;
  border-radius:999px;
  background:#eef5fb;
  color:#073b63;
  font-weight:900;
}
.member-gallery-admin-list{
  display:grid;
  gap:14px;
}
.member-gallery-admin-card{
  display:grid;
  grid-template-columns:180px minmax(220px,1fr) 260px auto;
  gap:14px;
  align-items:start;
  padding:14px;
  border:1px solid #dceaf2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 26px rgba(7,59,99,.05);
}
.member-gallery-admin-card.status-pending{border-left:6px solid #0066d6;}
.member-gallery-admin-card.status-approved{border-left:6px solid #0f8f5f;}
.member-gallery-admin-card.status-hidden{border-left:6px solid #64748b;}
.member-gallery-admin-card.status-rejected{border-left:6px solid #b91c1c;}
.member-gallery-media{
  min-height:140px;
  border-radius:16px;
  overflow:hidden;
  background:#f1f5f9;
  display:flex;
  align-items:center;
  justify-content:center;
}
.member-gallery-media img,
.member-gallery-media video{
  width:100%;
  height:150px;
  object-fit:cover;
}
.member-video-url{
  padding:14px;
  color:#40596b;
  font-weight:800;
  word-break:break-all;
}
.member-gallery-status{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.member-gallery-status.pending{background:#eaf4ff;color:#0066d6;}
.member-gallery-status.approved{background:#e9fff3;color:#0f8f5f;}
.member-gallery-status.hidden{background:#eef2f6;color:#475569;}
.member-gallery-status.rejected{background:#fee2e2;color:#b91c1c;}
.member-gallery-info h3{
  margin:10px 0 6px;
  color:#073b63;
}
.member-gallery-info p{
  margin:0 0 8px;
  color:#263f52;
  line-height:1.55;
}
.member-gallery-info small{
  color:#60788a;
  font-weight:800;
}
.member-gallery-form{
  display:grid;
  gap:8px;
}
.member-gallery-form label{
  color:#40596b;
  font-weight:900;
  font-size:13px;
}
.member-gallery-form textarea,
.member-gallery-form select{
  width:100%;
  border:1px solid #cfe2ee;
  border-radius:12px;
  padding:10px;
}
.member-gallery-delete{
  align-self:end;
}
.member-gallery-title{
  margin:12px 0 0;
  padding:20px;
  border:1px solid #dceaf2;
  border-radius:22px;
  background:#fff;
}
.member-gallery-title h2{
  margin:0 0 6px;
  color:#073b63;
}
.member-gallery-title p{
  margin:0;
  color:#60788a;
  font-weight:800;
}
.member-insta-feed{
  margin-top:26px;
}
.member-post{
  border-color:#d8c7ff;
}
@media(max-width:1100px){
  .gallery-submit-layout,
  .member-gallery-admin-card{
    grid-template-columns:1fr;
  }
  .gallery-hero-actions{
    align-items:flex-start;
    margin-top:18px;
  }
}


/* V47 inline media size and gallery section separation */
.inline-media.inline-size-small{
  max-width:420px;
}
.inline-media.inline-size-medium{
  max-width:640px;
}
.inline-media.inline-size-large{
  max-width:860px;
}
.inline-media.inline-size-full{
  max-width:100%;
}
.inline-image.inline-size-small,
.inline-image.inline-size-medium,
.inline-image.inline-size-large,
.inline-image.inline-size-full{
  margin-left:auto;
  margin-right:auto;
}
.inline-video.inline-size-small{
  max-width:420px;
}
.inline-video.inline-size-medium{
  max-width:640px;
}
.inline-video.inline-size-large{
  max-width:860px;
}
.inline-video.inline-size-full{
  max-width:100%;
}
.gallery-section-title{
  padding:22px;
  border-radius:24px;
  background:#fff;
  border:1px solid #dceaf2;
  box-shadow:0 14px 34px rgba(7,59,99,.06);
}
.gallery-section-title h2{
  margin:0 0 7px;
  color:#073b63;
  font-size:25px;
}
.gallery-section-title p{
  margin:0;
  color:#60788a;
  font-weight:800;
  line-height:1.6;
}
.gallery-section-title.admin{
  border-left:7px solid #0066d6;
}
.gallery-section-title.member{
  border-left:7px solid #7c3aed;
}
.admin-insta-feed{
  margin-bottom:34px;
}
.member-insta-feed{
  margin-top:34px;
  padding-top:26px;
  border-top:2px dashed #d8c7ff;
}


/* V48 clean inline media size picker and separated gallery */
.inline-size-picker{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(7,59,99,.42);
}
.inline-size-picker-card{
  width:min(520px,94vw);
  border-radius:24px;
  background:#fff;
  box-shadow:0 24px 80px rgba(7,59,99,.28);
  padding:24px;
}
.inline-size-picker-card h3{
  margin:0 0 8px;
  color:#073b63;
  font-size:24px;
}
.inline-size-picker-card p{
  margin:0 0 18px;
  color:#60788a;
  font-weight:800;
}
.inline-size-options{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:16px;
}
.inline-size-options button{
  min-height:82px;
  border:1px solid #cfe2ee;
  border-radius:16px;
  background:#f8fcff;
  color:#073b63;
  font-weight:900;
  cursor:pointer;
}
.inline-size-options button:hover{
  border-color:#0066d6;
  background:#eaf4ff;
}
.inline-size-options span{
  display:block;
  margin-top:4px;
  color:#60788a;
  font-size:12px;
}
.inline-size-custom-row{
  display:grid;
  grid-template-columns:90px 1fr auto;
  gap:8px;
  align-items:center;
  padding:12px;
  border-radius:16px;
  background:#f8fcff;
  border:1px solid #dceaf2;
}
.inline-size-custom-row label{
  color:#073b63;
  font-weight:900;
}
.inline-size-custom-row input{
  min-height:42px;
  border:1px solid #cfe2ee;
  border-radius:12px;
  padding:0 12px;
  font-weight:800;
}
.inline-size-custom-row button,
.inline-size-picker-actions button{
  min-height:42px;
  border:0;
  border-radius:12px;
  padding:0 14px;
  background:#0066d6;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.inline-size-picker-actions{
  margin-top:14px;
  text-align:right;
}
.inline-size-picker-actions button{
  background:#64748b;
}
.gallery-hero.separated{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
}
.gallery-separated-tabs{
  max-width:980px;
  margin:28px auto 0;
  padding:0 18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.gallery-separated-tabs a{
  display:block;
  text-decoration:none;
  padding:22px;
  border-radius:26px;
  background:#fff;
  border:1px solid #dceaf2;
  box-shadow:0 14px 34px rgba(7,59,99,.06);
  border-left:7px solid #0066d6;
}
.gallery-separated-tabs a.member{
  border-left-color:#7c3aed;
}
.gallery-separated-tabs a.active{
  background:#073b63;
  border-color:#073b63;
}
.gallery-separated-tabs a.active.member{
  background:#5b21b6;
  border-color:#5b21b6;
}
.gallery-separated-tabs strong{
  display:block;
  color:#073b63;
  font-size:23px;
  margin-bottom:7px;
}
.gallery-separated-tabs span{
  color:#60788a;
  font-weight:900;
}
.gallery-separated-tabs a.active strong,
.gallery-separated-tabs a.active span{
  color:#fff;
}
.insta-gallery-wrap.separated{
  max-width:780px;
}
.member-insta-feed.separated{
  margin-top:22px;
  padding-top:0;
  border-top:0;
}
.gallery-section-title{
  margin-bottom:22px;
}
@media(max-width:760px){
  .inline-size-options,
  .gallery-separated-tabs{
    grid-template-columns:1fr;
  }
  .inline-size-custom-row{
    grid-template-columns:1fr;
  }
  .gallery-hero.separated{
    display:block;
  }
  .gallery-hero-actions{
    margin-top:18px;
  }
}

/* V51 inline media 8-way resize cleanup */
.inline-media{
  position:relative;
}
.inline-editable-media{
  outline:2px solid transparent;
  transition:outline-color .12s ease, box-shadow .12s ease;
}
.inline-editable-media:hover{
  outline-color:rgba(0,102,214,.28);
}
.inline-editable-media.is-selected{
  outline:3px solid #0066d6;
  box-shadow:0 0 0 6px rgba(0,102,214,.12);
}
.inline-editable-media.is-dragging,
.inline-editable-media.is-moving{
  user-select:none;
}
.inline-custom-height.inline-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.inline-custom-height.inline-video{
  aspect-ratio:auto;
}
.inline-custom-height.inline-video iframe,
.inline-custom-height.inline-video video{
  height:100%;
}
.inline-move-handle{
  position:absolute;
  left:-14px;
  top:-14px;
  width:30px;
  height:30px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0f8f5f;
  border:3px solid #fff;
  color:#fff;
  font-size:16px;
  font-weight:900;
  box-shadow:0 6px 16px rgba(7,59,99,.28);
  cursor:move;
  z-index:30;
}
.inline-size-handle{
  position:absolute;
  z-index:28;
  width:14px;
  height:14px;
  border-radius:6px;
  background:#0066d6;
  border:3px solid #fff;
  box-shadow:0 6px 16px rgba(7,59,99,.22);
}
.inline-size-handle.handle-n,
.inline-size-handle.handle-s{
  left:50%;
  margin-left:-7px;
  cursor:ns-resize;
}
.inline-size-handle.handle-n{top:-10px;}
.inline-size-handle.handle-s{bottom:-10px;}
.inline-size-handle.handle-e,
.inline-size-handle.handle-w{
  top:50%;
  margin-top:-7px;
  cursor:ew-resize;
}
.inline-size-handle.handle-e{right:-10px;}
.inline-size-handle.handle-w{left:-10px;}
.inline-size-handle.handle-ne,
.inline-size-handle.handle-sw{
  cursor:nesw-resize;
}
.inline-size-handle.handle-nw,
.inline-size-handle.handle-se{
  cursor:nwse-resize;
}
.inline-size-handle.handle-ne{right:-10px;top:-10px;}
.inline-size-handle.handle-nw{left:-10px;top:-10px;}
.inline-size-handle.handle-se{right:-10px;bottom:-10px;}
.inline-size-handle.handle-sw{left:-10px;bottom:-10px;}
.inline-resize-label{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:25;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(7,59,99,.86);
  color:#fff;
  font-size:12px;
  font-weight:900;
  pointer-events:none;
}
.inline-resize-hint{
  position:absolute;
  right:10px;
  top:10px;
  z-index:24;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(0,102,214,.86);
  color:#fff;
  font-size:12px;
  font-weight:900;
  pointer-events:none;
  opacity:0;
  transition:opacity .12s ease;
}
.inline-editable-media:hover .inline-resize-hint{
  opacity:1;
}
.inline-editable-media.is-selected .inline-resize-hint,
.inline-editable-media.is-dragging .inline-resize-hint,
.inline-editable-media.is-moving .inline-resize-hint{
  opacity:0;
}
.gallery-search-box{
  max-width:980px;
  margin:18px auto 0;
  padding:0 18px;
}
.gallery-search-box label{
  display:block;
  color:#073b63;
  font-weight:900;
  margin-bottom:8px;
}
.gallery-search-box div{
  display:flex;
  gap:8px;
  background:#fff;
  border:1px solid #dceaf2;
  border-radius:20px;
  padding:10px;
  box-shadow:0 10px 26px rgba(7,59,99,.05);
}
.gallery-search-box input{
  flex:1;
  min-height:46px;
  border:0;
  outline:none;
  padding:0 12px;
  font-size:16px;
  font-weight:800;
  color:#073b63;
}
.gallery-search-box button{
  border:0;
  border-radius:14px;
  background:#073b63;
  color:#fff;
  padding:0 16px;
  font-weight:900;
  cursor:pointer;
}
.gallery-search-box p{
  margin:8px 4px 0;
  color:#60788a;
  font-weight:800;
  font-size:13px;
}
.gallery-search-empty{
  margin-top:20px;
}
@media(max-width:640px){
  .gallery-search-box div{
    display:block;
  }
  .gallery-search-box button{
    width:100%;
    min-height:42px;
    margin-top:8px;
  }
}


/* V52 full check, mobile cleanup and deployment prep */
.system-check-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:22px;
}
.system-check-summary article{
  padding:20px;
  border-radius:22px;
  background:#fff;
  border:1px solid #dceaf2;
  border-left:7px solid #0066d6;
  box-shadow:0 12px 32px rgba(7,59,99,.06);
}
.system-check-summary article.ok{
  border-left-color:#0f8f5f;
}
.system-check-summary article.fail{
  border-left-color:#b91c1c;
}
.system-check-summary span{
  display:block;
  color:#60788a;
  font-weight:900;
  margin-bottom:8px;
}
.system-check-summary strong{
  color:#073b63;
  font-size:34px;
}
.system-check-panel{
  border-top:5px solid #0066d6;
}
.system-check-list{
  display:grid;
  gap:10px;
}
.system-check-row{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:12px;
  align-items:start;
  padding:14px;
  border:1px solid #dceaf2;
  border-radius:16px;
  background:#fff;
}
.system-check-row span{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:34px;
  border-radius:999px;
  color:#fff;
  font-weight:900;
  font-size:12px;
}
.system-check-row.ok span{
  background:#0f8f5f;
}
.system-check-row.fail span{
  background:#b91c1c;
}
.system-check-row strong{
  color:#073b63;
}
.system-check-row p{
  margin:6px 0 0;
  color:#60788a;
  line-height:1.5;
  font-weight:800;
}
.system-check-guide{
  border-top:5px solid #073b63;
}
.system-guide-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.system-guide-links a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  background:#073b63;
  color:#fff;
  text-decoration:none;
  font-weight:900;
}

/* mobile final pass */
@media(max-width:900px){
  .admin-header{
    position:static;
  }
  .admin-nav{
    overflow-x:auto;
    white-space:nowrap;
    padding-bottom:8px;
    -webkit-overflow-scrolling:touch;
  }
  .admin-main,
  main{
    padding-left:16px;
    padding-right:16px;
  }
  .admin-title,
  .section-title-row,
  .gallery-hero.separated,
  .gallery-hero.clean,
  .contact-hero,
  .page-hero{
    display:block;
  }
  .admin-title .cta,
  .section-title-row .cta{
    margin-top:12px;
  }
  .dashboard-grid,
  .quick-card-grid,
  .gallery-separated-tabs,
  .system-check-summary,
  .inquiry-dashboard,
  .page-admin-tabs,
  .form-grid{
    grid-template-columns:1fr;
  }
  .content-box,
  .admin-panel,
  .contact-form-card,
  .contact-result-card{
    border-radius:20px;
    padding:18px;
  }
  .gallery-submit-layout,
  .contact-layout,
  .reservation-layout,
  .member-layout{
    grid-template-columns:1fr;
    padding-left:16px;
    padding-right:16px;
  }
  .insta-gallery-wrap{
    padding-left:0;
    padding-right:0;
  }
  .insta-post,
  .gallery-section-title,
  .gallery-separated-tabs a{
    border-radius:20px;
  }
  .inline-media{
    max-width:100%!important;
  }
}

@media(max-width:640px){
  .admin-brand{
    width:100%;
  }
  .admin-header{
    padding:14px;
  }
  .admin-nav a{
    min-height:36px;
    padding:8px 10px;
    font-size:13px;
  }
  .page-hero h1,
  .admin-title h1{
    font-size:30px;
  }
  .managed-page-content h2{
    font-size:23px;
  }
  .managed-page-content p,
  .insta-text-content,
  .inquiry-full-message{
    word-break:break-word;
  }
  .system-check-row{
    grid-template-columns:1fr;
  }
  .gallery-count-badge{
    min-width:82px;
    min-height:82px;
    font-size:15px;
  }
  input,
  select,
  textarea,
  button{
    max-width:100%;
  }
  table{
    min-width:720px;
  }
  .table-scroll,
  .admin-table-wrap{
    overflow-x:auto;
  }
}


/* V54 main settings and home editable page */
.managed-home-hero{
  background:linear-gradient(135deg, rgba(0,102,214,.95), rgba(7,59,99,.92)), url('../images/hero-surf.jpg');
  background-size:cover;
  background-position:center;
  color:#fff;
  padding:88px 28px;
  border-radius:0 0 34px 34px;
}
.home-hero-content{
  max-width:1080px;
  margin:0 auto;
}
.home-hero-content h1{
  margin:12px 0 14px;
  color:#fff;
  font-size:clamp(42px,6vw,76px);
  letter-spacing:-.04em;
}
.home-hero-content p{
  max-width:720px;
  margin:0 0 26px;
  color:rgba(255,255,255,.9);
  font-size:20px;
  font-weight:800;
  line-height:1.6;
}
.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.home-quick-links{
  max-width:1080px;
  margin:-34px auto 34px;
  padding:0 24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  position:relative;
  z-index:2;
}
.home-quick-links a{
  display:block;
  padding:22px;
  border-radius:22px;
  background:#fff;
  border:1px solid #dceaf2;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(7,59,99,.08);
}
.home-quick-links strong{
  display:block;
  color:#073b63;
  font-size:20px;
  margin-bottom:7px;
}
.home-quick-links span{
  color:#60788a;
  font-weight:800;
}
.home-managed-content{
  max-width:1080px;
  margin:34px auto;
}
.home-bottom-grid{
  max-width:1080px;
  margin:34px auto 70px;
  padding:0 24px;
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:18px;
}
.home-info-card{
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid #dceaf2;
  box-shadow:0 14px 34px rgba(7,59,99,.06);
}
.home-info-card.accent{
  background:#073b63;
  color:#fff;
}
.home-info-card h2{
  margin:0 0 16px;
  color:#073b63;
}
.home-info-card.accent h2,
.home-info-card.accent p{
  color:#fff;
}
.home-info-card ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.home-info-card li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #edf4f8;
}
.home-info-card li a{
  color:#073b63;
  text-decoration:none;
  font-weight:900;
}
.home-info-card li span{
  color:#60788a;
  font-weight:800;
  white-space:nowrap;
}
.main-settings-panel{
  border-top-color:#0f8f5f;
}
@media(max-width:900px){
  .home-quick-links,
  .home-bottom-grid{
    grid-template-columns:1fr;
  }
  .home-quick-links{
    margin-top:18px;
  }
  .managed-home-hero{
    border-radius:0 0 24px 24px;
    padding:62px 18px;
  }
}


/* V55 soft ocean design refresh based on approved UI direction */
:root{
  --ocean-900:#0f3550;
  --ocean-800:#174966;
  --ocean-700:#1d6f8f;
  --ocean-600:#138eaa;
  --ocean-500:#19a7b8;
  --ocean-400:#6fcdda;
  --ocean-300:#b9edf2;
  --ocean-200:#dff7fa;
  --ocean-100:#f2fbfc;
  --sand-100:#fffaf2;
  --ink:#17344a;
  --muted:#6f8595;
  --line:#d9edf2;
  --card:#ffffff;
  --soft-shadow:0 14px 36px rgba(22,92,119,.08);
  --tiny-shadow:0 8px 24px rgba(22,92,119,.06);
}

html{
  background:#f6fbfc;
}
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(185,237,242,.45), transparent 35%),
    linear-gradient(180deg,#f8fdfe 0%,#f7fbfc 45%,#ffffff 100%);
  color:var(--ink);
  letter-spacing:-.02em;
}

/* calmer typography */
h1,h2,h3,h4,
.admin-title h1,
.page-hero h1,
.home-hero-content h1{
  color:var(--ocean-900);
  font-weight:800;
  letter-spacing:-.045em;
}
p,li,span,label,input,textarea,select,button,a{
  letter-spacing:-.018em;
}
.page-hero p,
.home-hero-content p,
.content-box p,
.managed-page-content p{
  color:var(--muted);
  font-weight:600;
}

/* header tone */
.site-header,
.header,
.admin-header{
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(217,237,242,.9);
  box-shadow:0 10px 26px rgba(22,92,119,.05);
  backdrop-filter:blur(14px);
}
.site-logo,
.logo,
.admin-brand{
  color:var(--ocean-900);
  font-weight:800;
}
.site-nav a,
.nav a,
.admin-nav a{
  color:#426171;
  font-weight:700;
}
.site-nav a:hover,
.nav a:hover,
.admin-nav a:hover,
.admin-nav a.active{
  color:var(--ocean-700);
  background:var(--ocean-100);
}

/* buttons */
.cta,
.submit-btn,
.admin-action-btn,
button,
.gallery-search-box button,
.inline-size-custom-row button,
.inline-size-picker-actions button{
  font-weight:800;
}
.cta.primary,
.submit-btn,
.reserve-submit,
button[type="submit"]{
  background:linear-gradient(135deg,var(--ocean-600),var(--ocean-500));
  border-color:transparent;
  box-shadow:0 10px 22px rgba(25,167,184,.18);
}
.cta.primary:hover,
.submit-btn:hover,
.reserve-submit:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
}
.cta,
.admin-action-btn{
  border-color:var(--line);
  color:var(--ocean-800);
  background:#fff;
}

/* homepage hero */
.managed-home-hero{
  position:relative;
  overflow:hidden;
  min-height:520px;
  padding:92px 28px 58px;
  border-radius:0 0 42px 42px;
  background:
    linear-gradient(90deg, rgba(245,253,254,.98) 0%, rgba(238,250,252,.92) 35%, rgba(209,241,246,.58) 60%, rgba(255,255,255,.14) 100%),
    url('../images/hero-surf.jpg');
  background-size:cover;
  background-position:center right;
  color:var(--ocean-900);
  box-shadow:inset 0 -1px 0 rgba(217,237,242,.9);
}
.managed-home-hero:before{
  content:"";
  position:absolute;
  inset:auto -80px -120px 38%;
  height:260px;
  background:radial-gradient(circle, rgba(111,205,218,.38), transparent 68%);
  pointer-events:none;
}
.home-hero-content{
  position:relative;
  z-index:1;
  max-width:1120px;
}
.notice-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(111,205,218,.35);
  color:var(--ocean-700);
  font-size:12px;
  font-weight:800;
}
.home-hero-content h1{
  max-width:520px;
  margin:18px 0 14px;
  color:var(--ocean-900);
  font-size:clamp(38px,5.2vw,62px);
  line-height:1.06;
}
.home-hero-content p{
  max-width:610px;
  margin:0 0 26px;
  color:#456677;
  font-size:18px;
  font-weight:650;
  line-height:1.7;
}
.hero-actions .cta{
  min-height:46px;
  padding:0 20px;
  border-radius:16px;
}
.home-hero-mini-info{
  width:min(980px,100%);
  margin-top:56px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(217,237,242,.92);
  border-radius:22px;
  background:rgba(255,255,255,.84);
  box-shadow:var(--soft-shadow);
  backdrop-filter:blur(10px);
}
.home-hero-mini-info div{
  padding:18px 20px;
  background:rgba(255,255,255,.72);
}
.home-hero-mini-info span{
  display:block;
  margin-bottom:6px;
  color:var(--ocean-600);
  font-size:13px;
  font-weight:800;
}
.home-hero-mini-info strong{
  color:var(--ocean-900);
  font-size:15px;
  font-weight:750;
}

/* quick cards toned down */
.home-quick-links{
  margin:28px auto 26px;
  gap:12px;
}
.home-quick-links a{
  border:1px solid var(--line);
  box-shadow:var(--tiny-shadow);
  border-radius:20px;
  transition:.15s ease;
}
.home-quick-links a:hover{
  transform:translateY(-2px);
  border-color:var(--ocean-300);
}
.home-quick-links strong{
  color:var(--ocean-900);
  font-size:18px;
  font-weight:800;
}
.home-quick-links span{
  color:var(--muted);
  font-weight:600;
  font-size:14px;
}

/* cards overall */
.content-box,
.admin-panel,
.home-info-card,
.insta-post,
.gallery-section-title,
.gallery-separated-tabs a,
.contact-method-box,
.contact-check-box,
.contact-form-card,
.contact-result-card,
.reservation-card,
.reserve-card,
.notice-card,
.placeholder-item,
.page-editor-panel,
.system-check-summary article{
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  box-shadow:var(--tiny-shadow);
  border-radius:22px;
}
.content-box,
.home-managed-content{
  box-shadow:var(--soft-shadow);
}

/* page content sizes */
.home-managed-content,
.managed-page-content{
  font-size:16px;
}
.managed-page-content h2,
.home-info-card h2{
  font-size:25px;
  font-weight:800;
}
.managed-page-content h3{
  font-size:21px;
  font-weight:780;
}
.home-bottom-grid{
  gap:16px;
}
.home-info-card{
  padding:22px;
}
.home-info-card.accent{
  background:linear-gradient(135deg,var(--ocean-800),var(--ocean-600));
}
.home-info-card li{
  border-bottom:1px solid rgba(217,237,242,.8);
}
.home-info-card li a{
  font-weight:750;
}

/* reservation UI tone */
.step-indicator .active,
.step-dot.active,
.calendar-day.selected,
.time-option.selected,
.person-option.selected,
.reserve-time-card.selected{
  background:var(--ocean-600)!important;
  border-color:var(--ocean-600)!important;
  color:#fff!important;
}
.time-option,
.person-option,
.reserve-time-card,
.calendar-day{
  border-color:var(--line);
}
.reservation-layout h1,
.reservation-title h1{
  font-size:34px;
  font-weight:800;
}

/* notice/gallery/contact softer */
.gallery-count-badge{
  background:linear-gradient(135deg,var(--ocean-600),var(--ocean-500));
  box-shadow:0 12px 30px rgba(25,167,184,.2);
}
.gallery-section-title.admin,
.gallery-separated-tabs a{
  border-left-color:var(--ocean-500);
}
.gallery-section-title.member,
.gallery-separated-tabs a.member{
  border-left-color:#7fd7b9;
}
.gallery-separated-tabs a.active{
  background:linear-gradient(135deg,var(--ocean-800),var(--ocean-600));
}
.gallery-separated-tabs a.active.member{
  background:linear-gradient(135deg,#27886f,#59b89b);
}
.insta-post-head strong,
.gallery-section-title h2,
.gallery-separated-tabs strong{
  color:var(--ocean-900);
  font-weight:800;
}
.insta-caption,
.gallery-section-title p,
.gallery-separated-tabs span{
  color:var(--muted);
  font-weight:600;
}

/* admin calmer */
.admin-main{
  background:#f7fbfc;
}
.admin-title p,
.section-title-row p,
.admin-panel p{
  color:var(--muted);
  font-weight:600;
}
.admin-title h1{
  font-size:34px;
}
.quick-card,
.stat-card,
.admin-dashboard-card{
  border-color:var(--line);
  box-shadow:var(--tiny-shadow);
}
.quick-card strong,
.stat-card strong{
  color:var(--ocean-900);
  font-weight:800;
}

/* remove over-strong banner feeling */
.page-hero{
  background:
    radial-gradient(circle at 80% 10%, rgba(185,237,242,.6), transparent 34%),
    linear-gradient(135deg,#f8fdfe,#edf9fb);
  color:var(--ocean-900);
  box-shadow:none;
  border-bottom:1px solid var(--line);
}
.page-hero h1{
  font-size:clamp(32px,4.5vw,52px);
}
.page-hero p{
  font-size:17px;
  color:#567383;
}

/* image blocks */
.page-image-block,
.page-video-block,
.inline-media{
  border-radius:18px;
}
.page-image-block img,
.inline-image img,
.insta-image-button img{
  border-radius:18px;
}

/* mobile */
@media(max-width:900px){
  .managed-home-hero{
    min-height:auto;
    padding:58px 18px 28px;
    border-radius:0 0 28px 28px;
    background:
      linear-gradient(180deg, rgba(245,253,254,.98), rgba(226,247,250,.82)),
      url('../images/hero-surf.jpg');
    background-size:cover;
    background-position:center bottom;
  }
  .home-hero-content h1{
    font-size:40px;
  }
  .home-hero-content p{
    font-size:16px;
  }
  .home-hero-mini-info{
    grid-template-columns:1fr 1fr;
    margin-top:34px;
  }
  .home-quick-links{
    margin-top:18px;
  }
}

@media(max-width:640px){
  .home-hero-mini-info{
    grid-template-columns:1fr;
  }
  .home-hero-content h1{
    font-size:34px;
  }
  .managed-page-content h2,
  .home-info-card h2{
    font-size:22px;
  }
  .content-box,
  .admin-panel,
  .home-info-card,
  .insta-post,
  .gallery-section-title,
  .gallery-separated-tabs a{
    border-radius:18px;
  }
}


/* V56 closer mockup styling and smaller typography */
:root{
  --v56-navy:#143752;
  --v56-blue:#0f85a0;
  --v56-teal:#18a7b7;
  --v56-light:#eefbfc;
  --v56-line:#d8edf2;
  --v56-muted:#718996;
  --v56-card-shadow:0 10px 28px rgba(20,68,92,.065);
}

body{
  font-size:15px;
  color:#203d50;
  background:
    radial-gradient(circle at 18% 0%, rgba(210,246,250,.55), transparent 34%),
    linear-gradient(180deg,#fbfeff 0%,#f7fbfc 100%);
}
h1,h2,h3,h4{font-weight:760;}
p,li,span,label,input,textarea,select,a,button{font-weight:500;}
strong,b{font-weight:740;}

.page-hero h1,
.admin-title h1{font-size:clamp(28px,4vw,44px);}
.page-hero p,
.admin-title p{font-size:15px;font-weight:500;}
.managed-page-content{font-size:15px;}
.managed-page-content h2{font-size:23px;}
.managed-page-content h3{font-size:19px;}

.site-header,
.header{
  min-height:64px;
  box-shadow:none;
  background:rgba(255,255,255,.9);
  border-bottom:1px solid var(--v56-line);
}
.site-nav a,
.nav a{font-size:14px;}

/* homepage closer to supplied mockup */
.managed-home-hero{
  max-width:1440px;
  margin:0 auto;
  min-height:500px;
  padding:54px 34px 34px;
  border-radius:22px;
  background:
    linear-gradient(90deg, rgba(237,250,252,.98) 0%, rgba(232,248,251,.9) 42%, rgba(200,235,241,.48) 68%, rgba(255,255,255,.05) 100%),
    url('../images/hero-surf.jpg');
  background-size:cover;
  background-position:center right;
  box-shadow:var(--v56-card-shadow);
  border:1px solid var(--v56-line);
}
.home-hero-content{
  max-width:1240px;
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.notice-kicker{
  width:max-content;
  padding:5px 10px;
  font-size:11px;
  color:var(--v56-blue);
  background:rgba(255,255,255,.72);
}
.home-hero-content h1{
  max-width:500px;
  margin:16px 0 12px;
  font-size:clamp(34px,4.4vw,56px);
  line-height:1.08;
  font-weight:770;
}
.home-hero-content p{
  max-width:560px;
  font-size:16px;
  line-height:1.65;
  font-weight:500;
}
.hero-actions .cta{
  min-height:42px;
  padding:0 18px;
  border-radius:14px;
  font-size:14px;
}
.home-hero-mini-info{
  width:min(920px,100%);
  margin-top:46px;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(20,68,92,.07);
}
.home-hero-mini-info div{padding:16px 18px;}
.home-hero-mini-info span{font-size:12px;font-weight:700;}
.home-hero-mini-info strong{font-size:14px;font-weight:650;}

.home-quick-links{
  max-width:1440px;
  margin:16px auto 18px;
  padding:0 18px;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.home-quick-links a{
  min-height:92px;
  padding:18px 20px;
  border-radius:16px;
  box-shadow:0 8px 20px rgba(20,68,92,.055);
}
.home-quick-links strong{font-size:17px;font-weight:720;}
.home-quick-links span{font-size:13px;font-weight:500;}

.home-managed-content{
  max-width:980px;
  margin:24px auto;
  padding:28px;
  border-radius:20px;
}
.home-managed-content h2{
  text-align:center;
  font-size:24px;
}
.home-managed-content p{
  text-align:center;
  font-size:14px;
}

.home-bottom-grid{
  max-width:1440px;
  margin:24px auto 54px;
  padding:0 18px;
  grid-template-columns:1fr 1fr;
}
.home-info-card{
  padding:20px;
  border-radius:18px;
  box-shadow:0 8px 22px rgba(20,68,92,.055);
}
.home-info-card h2{font-size:20px;font-weight:740;}
.home-info-card p,
.home-info-card li,
.home-info-card li a,
.home-info-card li span{font-size:13px;}
.home-info-card.accent{
  background:#ffffff;
  color:#203d50;
}
.home-info-card.accent h2{color:var(--v56-navy);}
.home-info-card.accent p{color:var(--v56-muted);}

.content-box,
.admin-panel,
.home-info-card,
.insta-post,
.gallery-section-title,
.gallery-separated-tabs a,
.contact-method-box,
.contact-check-box,
.contact-form-card,
.contact-result-card,
.reservation-card,
.reserve-card,
.notice-card,
.placeholder-item,
.page-editor-panel,
.system-check-summary article{
  border-radius:18px;
  box-shadow:0 8px 22px rgba(20,68,92,.055);
}
.gallery-section-title h2,
.gallery-separated-tabs strong{font-size:20px;}
.gallery-section-title p,
.gallery-separated-tabs span,
.insta-caption{font-size:13px;}
.insta-post-head strong{font-size:14px;}

.reservation-title h1,
.reservation-layout h1{
  font-size:30px;
  font-weight:760;
}
.reserve-step,
.step-label,
.field label{
  font-size:13px;
  font-weight:650;
}
.calendar-day,
.time-option,
.person-option{font-size:13px;}
input,select,textarea{font-size:14px;}

.notice-board-title,
.notice-list-title{font-size:28px;}
.notice-row,
.notice-card{font-size:14px;}

.admin-nav a{
  font-size:13px;
  padding:8px 10px;
}
.admin-brand span{font-size:15px;}
.admin-brand strong{font-size:12px;}
.admin-title h1{font-size:30px;}
.quick-card strong,
.stat-card strong{font-size:17px;}
.quick-card p,
.stat-card p{font-size:13px;}

.cta.primary,
.submit-btn,
.reserve-submit,
button[type="submit"]{
  background:linear-gradient(135deg,#108ca3,#1ab0bc);
  box-shadow:0 9px 18px rgba(26,176,188,.16);
}
.cta,
.admin-action-btn{border-radius:14px;}
.badge,
.status-badge,
.gallery-count-badge{font-weight:700;}

@media(max-width:900px){
  .managed-home-hero{
    margin:0 12px;
    padding:38px 20px 22px;
    border-radius:20px;
    min-height:560px;
    background:
      linear-gradient(180deg, rgba(237,250,252,.98) 0%, rgba(237,250,252,.8) 45%, rgba(255,255,255,.15) 100%),
      url('../images/hero-surf.jpg');
    background-size:cover;
    background-position:center bottom;
  }
  .home-hero-content{
    min-height:500px;
    justify-content:flex-start;
  }
  .home-hero-content h1{font-size:36px;}
  .home-hero-content p{font-size:15px;}
  .home-hero-mini-info{
    margin-top:auto;
    grid-template-columns:1fr;
  }
  .home-quick-links,
  .home-bottom-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  body{font-size:14px;}
  .site-nav a,
  .nav a,
  .admin-nav a{font-size:12px;}
  .home-hero-content h1{font-size:32px;}
  .page-hero h1,
  .admin-title h1{font-size:28px;}
  .home-managed-content{padding:22px 18px;}
}


/* V57 main hero image upload support and final mockup polish */
.managed-home-hero{
  background:
    linear-gradient(90deg, rgba(239,250,252,.98) 0%, rgba(232,248,251,.94) 38%, rgba(203,237,243,.58) 61%, rgba(255,255,255,.08) 100%),
    var(--home-hero-bg, url('../images/hero-surf.jpg'));
  background-size:cover;
  background-position:center right;
}
.managed-home-hero:after{
  content:"";
  position:absolute;
  right:38px;
  bottom:34px;
  width:min(330px,28vw);
  height:min(330px,28vw);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.28), transparent 62%);
  pointer-events:none;
}
.home-hero-content h1{
  text-wrap:balance;
}
.home-hero-content p{
  text-wrap:pretty;
}
.home-hero-mini-info{
  transform:translateY(8px);
}
.home-quick-links a{
  position:relative;
  overflow:hidden;
}
.home-quick-links a:before{
  content:"";
  position:absolute;
  right:-28px;
  top:-28px;
  width:74px;
  height:74px;
  border-radius:50%;
  background:rgba(185,237,242,.42);
}
.home-quick-links a strong,
.home-quick-links a span{
  position:relative;
  z-index:1;
}
.home-info-card.accent{
  border-color:#c9eef1;
}
.home-info-card.accent .cta.primary{
  background:linear-gradient(135deg,#108ca3,#1ab0bc);
  color:#fff;
}

/* admin main background uploader */
.main-hero-image-box{
  margin-bottom:18px;
  border-top:5px solid #18a7b7;
}
.main-hero-image-grid{
  display:grid;
  grid-template-columns:minmax(260px,420px) 1fr;
  gap:18px;
  align-items:center;
}
.main-hero-preview{
  overflow:hidden;
  border-radius:20px;
  border:1px solid #d8edf2;
  background:#eefbfc;
  box-shadow:0 8px 22px rgba(20,68,92,.055);
}
.main-hero-preview img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.help-text{
  margin:8px 0 0;
  color:#718996;
  font-size:13px;
  font-weight:500;
  line-height:1.55;
}

/* reservation polish closer to mockup */
.reservation-layout,
.reserve-wrap{
  max-width:1120px;
}
.reservation-card,
.reserve-card,
.time-option,
.person-option,
.calendar-day{
  box-shadow:none;
}
.time-option,
.person-option{
  border-radius:16px;
}
.calendar-day{
  border-radius:14px;
}
.field input,
.field select,
.field textarea,
input,
select,
textarea{
  border-color:#d8edf2;
  border-radius:14px;
  background:#fbfeff;
}
.field input:focus,
.field select:focus,
.field textarea:focus,
input:focus,
select:focus,
textarea:focus{
  border-color:#18a7b7;
  box-shadow:0 0 0 4px rgba(24,167,183,.12);
  outline:0;
}

/* public pages softer final pass */
.page-hero{
  max-width:1440px;
  margin:0 auto 20px;
  border-radius:22px;
  border:1px solid #d8edf2;
}
.gallery-separated-tabs,
.gallery-search-box{
  max-width:980px;
}
.gallery-section-title{
  background:linear-gradient(135deg,#ffffff,#f5fdfe);
}

/* mobile hero final */
@media(max-width:900px){
  .managed-home-hero{
    background:
      linear-gradient(180deg, rgba(239,250,252,.98) 0%, rgba(239,250,252,.78) 46%, rgba(255,255,255,.16) 100%),
      var(--home-hero-bg, url('../images/hero-surf.jpg'));
    background-size:cover;
    background-position:center bottom;
  }
  .managed-home-hero:after{
    width:180px;
    height:180px;
    right:18px;
    bottom:18px;
  }
  .main-hero-image-grid{
    grid-template-columns:1fr;
  }
}


/* V59 actual mockup-like homepage reconstruction */
.mockup-home-page{
  background:#fbfdfe;
}
.mockup-home-page .site-header{
  max-width:1500px;
  margin:0 auto;
  height:62px;
  padding:0 24px;
  background:rgba(255,255,255,.94);
  border-bottom:0;
  box-shadow:none;
}
.mockup-home-page .brand-mark{
  width:36px;
  height:36px;
  border-radius:14px;
  background:#ecfbfd;
  color:#0b8ca4;
  border:1px solid #bcecf2;
  box-shadow:none;
}
.mockup-home-page .brand-text strong{
  font-size:17px;
  font-weight:760;
  color:#123650;
}
.mockup-home-page .brand-text small{
  font-size:9px;
  color:#638293;
}
.mockup-home-page .main-nav{
  gap:20px;
}
.mockup-home-page .main-nav a{
  font-size:13px;
  color:#557283;
  font-weight:650;
}
.mockup-home-page .main-nav .nav-reserve{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border-radius:11px;
  background:linear-gradient(135deg,#0e88a2,#18aab7);
  color:#fff!important;
}
.home-mockup-main{
  max-width:1500px;
  margin:0 auto;
  padding:0 22px 42px;
}
.home-mockup-stage{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(360px,.92fr);
  gap:18px;
  align-items:start;
}
.home-mockup-left{
  display:grid;
  gap:14px;
}
.home-mockup-hero{
  min-height:452px;
  position:relative;
  overflow:hidden;
  border-radius:18px;
  border:1px solid #dceff3;
  background:
    linear-gradient(90deg, rgba(229,248,251,.96) 0%, rgba(221,246,250,.82) 39%, rgba(196,235,242,.34) 63%, rgba(255,255,255,.06) 100%),
    var(--home-hero-bg);
  background-size:cover;
  background-position:center right;
  box-shadow:0 10px 28px rgba(20,68,92,.07);
}
.home-mockup-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 0%, rgba(5,89,109,.10) 70%, rgba(5,89,109,.16) 100%);
  pointer-events:none;
}
.home-mockup-hero-inner{
  position:relative;
  z-index:1;
  max-width:520px;
  padding:92px 34px 160px;
}
.home-mockup-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(159,226,235,.7);
  color:#0a8ca4;
  font-size:10px;
  font-weight:760;
  letter-spacing:.06em;
}
.home-mockup-hero h1{
  margin:18px 0 16px;
  color:#103550;
  font-size:clamp(38px,4.4vw,58px);
  line-height:1.08;
  font-weight:760;
  letter-spacing:-.055em;
}
.home-mockup-hero p{
  max-width:500px;
  color:#456a7d;
  font-size:16px;
  line-height:1.7;
  font-weight:520;
}
.home-mockup-reserve-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:18px;
  min-height:42px;
  padding:0 22px;
  border-radius:16px;
  color:#fff;
  text-decoration:none;
  background:linear-gradient(135deg,#0e88a2,#18aab7);
  box-shadow:0 12px 22px rgba(14,136,162,.18);
  font-size:14px;
  font-weight:760;
}
.home-mockup-reserve-btn:before{
  content:"▣";
  margin-right:8px;
  font-size:13px;
}
.home-mockup-info-bar{
  position:absolute;
  z-index:2;
  left:28px;
  right:28px;
  bottom:28px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(220,239,243,.95);
  box-shadow:0 10px 26px rgba(20,68,92,.08);
  backdrop-filter:blur(10px);
}
.home-mockup-info-bar div{
  padding:17px 18px;
  border-right:1px solid #e7f3f6;
}
.home-mockup-info-bar div:last-child{
  border-right:0;
}
.home-mockup-info-bar span{
  display:block;
  margin-bottom:8px;
  color:#0c8ba3;
  font-size:12px;
  font-weight:760;
}
.home-mockup-info-bar strong{
  display:block;
  color:#153a54;
  font-size:13px;
  font-weight:720;
}
.home-mockup-info-bar small{
  display:block;
  margin-top:4px;
  color:#6d8796;
  font-size:12px;
  font-weight:500;
}
.home-program-card{
  border-radius:18px;
  border:1px solid #dceff3;
  background:#fff;
  box-shadow:0 9px 24px rgba(20,68,92,.055);
  padding:34px 28px 18px;
}
.home-section-title{
  text-align:center;
  margin-bottom:26px;
}
.home-section-title span{
  display:block;
  color:#0f93aa;
  font-size:20px;
  font-weight:800;
  line-height:1;
}
.home-section-title h2{
  margin:6px 0 8px;
  color:#143752;
  font-size:24px;
  font-weight:760;
}
.home-section-title p{
  margin:0;
  color:#6f8795;
  font-size:14px;
  line-height:1.55;
  font-weight:500;
}
.home-benefit-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  text-align:center;
}
.home-benefit-grid article span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:10px;
  border-radius:16px;
  background:#ecfbfd;
  color:#0c8ba3;
  font-size:22px;
}
.home-benefit-grid strong{
  display:block;
  color:#143752;
  font-size:14px;
  font-weight:740;
  margin-bottom:6px;
}
.home-benefit-grid p{
  margin:0;
  color:#6f8795;
  font-size:12px;
  line-height:1.5;
}
.home-thumb-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:26px;
}
.home-thumb-strip img{
  width:100%;
  height:54px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #dceff3;
}
.home-booking-preview{
  min-height:718px;
  border-radius:18px;
  border:1px solid #dceff3;
  background:#fff;
  box-shadow:0 12px 30px rgba(20,68,92,.075);
  padding:28px 24px;
}
.home-booking-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:26px;
}
.home-booking-head span{
  color:#0c8ba3;
  font-size:20px;
}
.home-booking-head h2{
  margin:0;
  color:#143752;
  font-size:23px;
  font-weight:760;
}
.home-booking-steps{
  list-style:none;
  margin:0 0 30px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  position:relative;
  gap:10px;
}
.home-booking-steps:before{
  content:"";
  position:absolute;
  top:13px;
  left:10%;
  right:10%;
  height:2px;
  background:#e6eef2;
}
.home-booking-steps li{
  position:relative;
  z-index:1;
  text-align:center;
  color:#9aabb4;
  font-size:11px;
  font-weight:680;
}
.home-booking-steps li:before{
  content:"";
  display:block;
  width:26px;
  height:26px;
  margin:0 auto 8px;
  border-radius:50%;
  background:#d6dde2;
}
.home-booking-steps li.active{
  color:#0c8ba3;
}
.home-booking-steps li.active:before{
  background:#0c8ba3;
}
.home-preview-section{
  margin-bottom:24px;
}
.home-preview-section h3{
  margin:0 0 12px;
  color:#143752;
  font-size:14px;
  font-weight:720;
}
.home-calendar-preview{
  border:1px solid #e0edf1;
  border-radius:14px;
  padding:14px;
}
.calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.calendar-head button{
  border:0;
  background:#f4fafb;
  color:#78909c;
  width:26px;
  height:26px;
  border-radius:8px;
}
.calendar-head strong{
  color:#143752;
  font-size:13px;
}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:5px;
  text-align:center;
}
.calendar-grid span{
  color:#8da0aa;
  font-size:10px;
  font-weight:650;
}
.calendar-grid em{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  border-radius:50%;
  color:#536d7d;
  font-size:11px;
  font-style:normal;
}
.calendar-grid em.selected{
  background:#0c8ba3;
  color:#fff;
}
.home-time-preview{
  border:1px solid #e0edf1;
  border-radius:13px;
  padding:14px;
  margin-bottom:10px;
}
.home-time-preview strong{
  display:block;
  color:#143752;
  font-size:13px;
  font-weight:700;
}
.home-time-preview span{
  display:block;
  margin-top:6px;
  color:#0f9370;
  font-size:12px;
  font-weight:650;
}
.home-time-preview.selected{
  border-color:#81d5df;
  background:#f5fdfe;
}
.home-time-preview.disabled span{
  color:#d45555;
}
.home-person-preview{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.home-person-preview span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border:1px solid #e0edf1;
  border-radius:10px;
  font-size:12px;
  font-weight:680;
  color:#536d7d;
}
.home-person-preview span.selected{
  color:#0c8ba3;
  border-color:#0c8ba3;
  background:#f5fdfe;
}
.home-booking-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:18px;
  border-radius:12px;
  background:linear-gradient(135deg,#0e88a2,#18aab7);
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:760;
}
.home-admin-content{
  max-width:900px;
  margin:18px auto;
  padding:24px;
  border:1px solid #dceff3;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(20,68,92,.045);
}
.home-dashboard-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  gap:14px;
  margin-top:16px;
}
.home-dashboard-card{
  min-height:220px;
  border:1px solid #dceff3;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(20,68,92,.055);
  padding:20px;
}
.home-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}
.home-card-head h2{
  margin:0;
  color:#143752;
  font-size:20px;
  font-weight:760;
}
.home-card-head a{
  color:#0c8ba3;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}
.home-notice-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:11px;
}
.home-notice-list li{
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:9px;
  align-items:center;
}
.home-notice-list li span{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:24px;
  border-radius:8px;
  background:#e9f9fb;
  color:#0c8ba3;
  font-size:11px;
  font-weight:740;
}
.home-notice-list li a{
  color:#153a54;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-notice-list li time{
  color:#7f95a1;
  font-size:12px;
  white-space:nowrap;
}
.home-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.home-gallery-grid img{
  width:100%;
  aspect-ratio:1.45/1;
  object-fit:cover;
  border-radius:8px;
  border:1px solid #dceff3;
}
.home-map-preview{
  height:110px;
  border-radius:12px;
  margin-bottom:14px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.65), rgba(255,255,255,.2)),
    linear-gradient(45deg,#e8f1eb 25%,transparent 25%),
    linear-gradient(-45deg,#d9eef7 25%,transparent 25%),
    #edf6f8;
  background-size:auto,42px 42px,42px 42px,auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-map-preview span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:#0c8ba3;
  color:#fff;
  font-size:24px;
  box-shadow:0 12px 22px rgba(12,139,163,.2);
}
.home-dashboard-card.map strong{
  display:block;
  color:#153a54;
  font-size:13px;
  font-weight:740;
}
.home-dashboard-card.map p{
  margin:6px 0 0;
  color:#718996;
  font-size:12px;
}
.home-contact-layout{
  display:grid;
  grid-template-columns:1fr 124px;
  gap:16px;
  align-items:start;
}
.home-contact-layout p{
  margin:0 0 13px;
  color:#153a54;
  font-size:13px;
  line-height:1.45;
}
.home-contact-layout p span{
  color:#718996;
  font-size:12px;
}
.home-contact-layout img{
  width:124px;
  height:156px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid #dceff3;
}

@media(max-width:1180px){
  .home-mockup-stage{
    grid-template-columns:1fr;
  }
  .home-booking-preview{
    min-height:auto;
  }
  .home-dashboard-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:820px){
  .mockup-home-page .site-header{
    height:66px;
  }
  .home-mockup-main{
    padding:0 12px 32px;
  }
  .home-mockup-hero{
    min-height:610px;
    background:
      linear-gradient(180deg, rgba(229,248,251,.98) 0%, rgba(229,248,251,.82) 42%, rgba(255,255,255,.10) 100%),
      var(--home-hero-bg);
    background-size:cover;
    background-position:center bottom;
  }
  .home-mockup-hero-inner{
    padding:42px 24px 260px;
  }
  .home-mockup-hero h1{
    font-size:34px;
  }
  .home-mockup-info-bar{
    grid-template-columns:1fr;
    left:18px;
    right:18px;
    bottom:18px;
  }
  .home-mockup-info-bar div{
    border-right:0;
    border-bottom:1px solid #e7f3f6;
    padding:13px 16px;
  }
  .home-mockup-info-bar div:last-child{
    border-bottom:0;
  }
  .home-benefit-grid,
  .home-thumb-strip,
  .home-dashboard-grid{
    grid-template-columns:1fr;
  }
  .home-contact-layout{
    grid-template-columns:1fr;
  }
  .home-contact-layout img{
    width:100%;
    height:160px;
  }
}


/* V60 mockup structure alignment pass */
:root{
  --v60-page-max:1504px;
  --v60-gap:18px;
  --v60-card-radius:18px;
  --v60-border:#dbeef3;
  --v60-shadow:0 10px 28px rgba(20,68,92,.065);
  --v60-soft-shadow:0 7px 20px rgba(20,68,92,.048);
  --v60-ink:#143752;
  --v60-muted:#6e8795;
  --v60-teal:#0d8fa7;
  --v60-teal2:#18aab7;
}

.mockup-home-page{
  background:
    radial-gradient(circle at 9% -8%, rgba(213,247,251,.68), transparent 34%),
    linear-gradient(180deg,#fbfeff 0%,#f7fbfc 60%,#ffffff 100%);
}
.mockup-home-page .site-header{
  max-width:var(--v60-page-max);
  margin:0 auto 12px;
  padding:0 22px;
}
.home-mockup-main{
  max-width:var(--v60-page-max);
  padding:0 18px 44px;
}
.home-mockup-stage{
  grid-template-columns:minmax(0, 1.46fr) minmax(390px, .94fr);
  gap:var(--v60-gap);
}
.home-mockup-left{
  gap:var(--v60-gap);
}
.home-mockup-hero,
.home-program-card,
.home-booking-preview,
.home-dashboard-card,
.home-admin-content{
  border-color:var(--v60-border);
  border-radius:var(--v60-card-radius);
}
.home-mockup-hero{
  min-height:466px;
  box-shadow:var(--v60-shadow);
  background-position:62% center;
}
.home-mockup-hero-inner{
  padding:94px 38px 164px;
}
.home-mockup-hero h1{
  max-width:520px;
  font-size:clamp(39px,4.65vw,60px);
}
.home-mockup-hero p{
  max-width:540px;
}
.home-mockup-info-bar{
  left:30px;
  right:30px;
  bottom:30px;
}
.home-mockup-info-bar div{
  min-height:84px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home-booking-preview{
  min-height:734px;
  padding:30px 26px;
  box-shadow:var(--v60-shadow);
}
.home-booking-steps{
  gap:8px;
  margin-bottom:28px;
}
.home-booking-steps li{
  white-space:nowrap;
}
.home-preview-section{
  margin-bottom:22px;
}
.home-calendar-preview{
  padding:16px;
}
.calendar-grid{
  gap:6px;
}
.calendar-grid em{
  min-height:25px;
}
.home-time-preview{
  padding:15px;
}
.home-program-card{
  padding:34px 30px 20px;
  box-shadow:var(--v60-soft-shadow);
}
.home-benefit-grid{
  gap:18px;
}
.home-benefit-grid article{
  padding:4px 4px 0;
}
.home-thumb-strip{
  gap:9px;
}
.home-thumb-strip img{
  height:62px;
}
.home-dashboard-grid{
  grid-template-columns:1.08fr 1.08fr 1.08fr 1fr;
  gap:var(--v60-gap);
  margin-top:var(--v60-gap);
}
.home-dashboard-card{
  min-height:238px;
  padding:21px;
  box-shadow:var(--v60-soft-shadow);
}
.home-card-head{
  margin-bottom:15px;
}
.home-notice-list{
  gap:12px;
}
.home-notice-list li{
  grid-template-columns:42px minmax(0,1fr) 72px;
}
.home-notice-list li a{
  min-width:0;
}
.home-gallery-grid{
  gap:8px;
}
.home-map-preview{
  height:122px;
}
.home-contact-layout{
  grid-template-columns:minmax(0,1fr) 132px;
  gap:14px;
}
.home-contact-layout img{
  width:132px;
  height:166px;
}

/* Make old homepage sections not fight the mockup layout */
.mockup-home-page .managed-home-hero,
.mockup-home-page .home-quick-links,
.mockup-home-page .home-bottom-grid{
  display:none;
}

/* Reservation page: structural tone alignment without changing PHP logic */
body:not(.mockup-home-page) .reservation-layout,
body:not(.mockup-home-page) .reservation-container,
body:not(.mockup-home-page) .reserve-wrap,
body:not(.mockup-home-page) .reservation-page{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}
.reservation-card,
.reserve-card{
  border:1px solid var(--v60-border);
  border-radius:20px;
  box-shadow:var(--v60-soft-shadow);
}
.time-option,
.person-option,
.reserve-time-card,
.calendar-day{
  border-radius:14px;
}
.step-indicator,
.reserve-steps,
.booking-steps{
  margin-bottom:26px;
}
.step-indicator .step,
.reserve-steps .step,
.booking-steps .step{
  font-size:12px;
  font-weight:650;
}
.form-grid,
.participant-grid,
.reservation-form-grid{
  gap:12px;
}
.field input,
.field select,
.field textarea,
input,
select,
textarea{
  min-height:42px;
}

/* Admin main settings uploader: keep structure readable */
.main-hero-image-grid{
  grid-template-columns:minmax(280px, 420px) minmax(0, 1fr);
}
.main-hero-preview img{
  aspect-ratio:16/9;
}

/* Tablet */
@media(max-width:1260px){
  .home-mockup-stage{
    grid-template-columns:1fr;
  }
  .home-booking-preview{
    min-height:auto;
  }
  .home-dashboard-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-mockup-hero{
    background-position:center right;
  }
}

/* Mobile */
@media(max-width:820px){
  .mockup-home-page .site-header{
    margin-bottom:10px;
    padding:0 14px;
  }
  .home-mockup-main{
    padding:0 10px 32px;
  }
  .home-mockup-stage,
  .home-dashboard-grid{
    gap:12px;
  }
  .home-mockup-hero{
    min-height:594px;
    border-radius:20px;
  }
  .home-mockup-hero-inner{
    padding:38px 22px 264px;
  }
  .home-mockup-hero h1{
    font-size:32px;
    max-width:320px;
  }
  .home-mockup-hero p{
    max-width:320px;
    font-size:14px;
    line-height:1.62;
  }
  .home-mockup-reserve-btn{
    min-height:40px;
    padding:0 18px;
  }
  .home-mockup-info-bar{
    left:14px;
    right:14px;
    bottom:14px;
    border-radius:16px;
  }
  .home-mockup-info-bar div{
    min-height:auto;
    padding:12px 14px;
  }
  .home-program-card,
  .home-booking-preview,
  .home-dashboard-card,
  .home-admin-content{
    padding:18px;
    border-radius:18px;
  }
  .home-section-title h2,
  .home-booking-head h2,
  .home-card-head h2{
    font-size:20px;
  }
  .home-benefit-grid{
    grid-template-columns:1fr 1fr;
    gap:14px 10px;
  }
  .home-benefit-grid article span{
    width:40px;
    height:40px;
    border-radius:14px;
    font-size:18px;
  }
  .home-thumb-strip{
    grid-template-columns:1fr 1fr;
  }
  .home-thumb-strip img{
    height:74px;
  }
  .home-booking-steps{
    overflow-x:auto;
    padding-bottom:4px;
  }
  .home-booking-steps li{
    min-width:70px;
  }
  .home-dashboard-grid{
    grid-template-columns:1fr;
  }
  .home-notice-list li{
    grid-template-columns:42px minmax(0,1fr);
  }
  .home-notice-list li time{
    grid-column:2;
    margin-top:-6px;
  }
  .home-contact-layout{
    grid-template-columns:1fr;
  }
  .home-contact-layout img{
    width:100%;
    height:160px;
  }
  .main-hero-image-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .home-mockup-hero{
    min-height:630px;
  }
  .home-mockup-hero-inner{
    padding:34px 18px 296px;
  }
  .home-mockup-info-bar{
    left:12px;
    right:12px;
  }
  .home-benefit-grid{
    grid-template-columns:1fr;
  }
  .home-person-preview{
    grid-template-columns:1fr 1fr;
  }
}


/* V61 safe preview-only booking card */
.home-preview-only-note{
  margin:-14px 0 22px;
  padding:10px 12px;
  border:1px solid #d5eef3;
  border-radius:12px;
  background:#f3fbfd;
  color:#567888;
  text-align:center;
  font-size:12px;
  line-height:1.5;
  font-weight:560;
}
.home-booking-preview .home-calendar-preview,
.home-booking-preview .home-time-preview,
.home-booking-preview .home-person-preview,
.home-booking-preview .home-booking-steps{
  cursor:default;
  user-select:none;
}
.home-booking-preview .home-calendar-preview *,
.home-booking-preview .home-time-preview,
.home-booking-preview .home-person-preview span,
.home-booking-preview .home-booking-steps li{
  pointer-events:none;
}
.calendar-static-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:8px;
  background:#f4fafb;
  color:#a2b2bb;
  font-size:16px;
  font-weight:700;
}
.home-time-preview.selected,
.home-person-preview span.selected,
.calendar-grid em.selected{
  box-shadow:none;
}
.home-time-preview.selected:after,
.home-person-preview span.selected:after{
  content:"미리보기";
  display:inline-flex;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  background:#e7f8fb;
  color:#0c8ba3;
  font-size:10px;
  font-weight:720;
  vertical-align:middle;
}
.home-time-preview.disabled,
.home-person-preview span:not(.selected),
.calendar-grid em:not(.selected){
  opacity:.86;
}
.home-booking-submit{
  margin-top:20px;
}
.home-booking-submit:after{
  content:" →";
}
.home-booking-preview::after{
  content:"메인에서는 선택되지 않습니다";
  display:block;
  margin-top:12px;
  text-align:center;
  color:#8aa0ab;
  font-size:11px;
  font-weight:600;
}
@media(max-width:820px){
  .home-preview-only-note{
    margin:-8px 0 18px;
    font-size:11px;
  }
}


/* V62 remove non-interactive booking preview and simplify homepage */
.home-mockup-stage{
  display:block;
}
.home-mockup-left{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
  align-items:stretch;
}
.home-mockup-hero{
  min-height:560px;
}
.home-mockup-hero-inner{
  padding:104px 42px 166px;
}
.home-program-card{
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home-hero-direct-note{
  margin:12px 0 0;
  color:#5f7b8a!important;
  font-size:12px!important;
  font-weight:560!important;
  line-height:1.5!important;
}
.home-dashboard-grid{
  margin-top:18px;
}
.home-booking-preview{
  display:none!important;
}

/* make hero info bar more useful now that preview is gone */
.home-mockup-info-bar{
  grid-template-columns:repeat(4,1fr);
}
.home-mockup-info-bar strong{
  font-size:14px;
}

/* program card compact next to hero */
.home-program-card .home-section-title{
  margin-bottom:24px;
}
.home-benefit-grid{
  grid-template-columns:1fr 1fr;
  gap:18px 14px;
}
.home-benefit-grid article{
  padding:8px 6px;
}
.home-thumb-strip{
  grid-template-columns:1fr 1fr;
  margin-top:24px;
}
.home-thumb-strip img{
  height:86px;
}

/* reservation route is clearer through CTAs */
.home-mockup-reserve-btn{
  box-shadow:0 12px 24px rgba(14,136,162,.2);
}

/* Mobile: hero first, info next */
@media(max-width:1180px){
  .home-mockup-left{
    grid-template-columns:1fr;
  }
  .home-program-card{
    min-height:auto;
  }
  .home-benefit-grid{
    grid-template-columns:repeat(4,1fr);
  }
  .home-thumb-strip{
    grid-template-columns:repeat(4,1fr);
  }
  .home-thumb-strip img{
    height:62px;
  }
}

@media(max-width:820px){
  .home-mockup-left{
    gap:12px;
  }
  .home-mockup-hero{
    min-height:594px;
  }
  .home-mockup-hero-inner{
    padding:38px 22px 264px;
  }
  .home-benefit-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-thumb-strip{
    grid-template-columns:1fr 1fr;
  }
  .home-thumb-strip img{
    height:74px;
  }
}

@media(max-width:520px){
  .home-mockup-hero{
    min-height:630px;
  }
  .home-benefit-grid{
    grid-template-columns:1fr;
  }
}


/* V63 move free lesson guide below hero and harden hero image display */
.home-mockup-stage{
  display:block;
}
.home-mockup-left{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  align-items:stretch;
}
.home-mockup-hero{
  width:100%;
  min-height:560px;
  background-size:cover!important;
  background-position:center right!important;
  background-repeat:no-repeat!important;
}
.home-program-card{
  min-height:auto;
  display:block;
  padding:34px 30px 24px;
}
.home-program-card .home-section-title{
  max-width:720px;
  margin:0 auto 28px;
}
.home-benefit-grid{
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.home-thumb-strip{
  grid-template-columns:repeat(4,1fr);
  max-width:860px;
  margin:26px auto 0;
}
.home-thumb-strip img{
  height:72px;
}
.home-dashboard-grid{
  margin-top:18px;
}

/* keep the 4 bottom cards exactly as a strong section */
.home-dashboard-grid{
  grid-template-columns:1.08fr 1.08fr 1.08fr 1fr;
}
.home-dashboard-card{
  min-height:238px;
}

/* Mobile */
@media(max-width:1180px){
  .home-mockup-hero{
    min-height:520px;
  }
  .home-benefit-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-thumb-strip{
    grid-template-columns:1fr 1fr;
  }
  .home-thumb-strip img{
    height:86px;
  }
  .home-dashboard-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:820px){
  .home-mockup-hero{
    min-height:594px;
    background-position:center bottom!important;
  }
  .home-program-card{
    padding:22px 18px;
  }
  .home-dashboard-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .home-benefit-grid{
    grid-template-columns:1fr;
  }
  .home-thumb-strip{
    grid-template-columns:1fr 1fr;
  }
}


/* V64 remove visual clutter from admin home blocks */
.mockup-home-page .home-admin-content{
  display:none!important;
}
.home-program-card{
  margin-bottom:0;
}
.home-dashboard-grid{
  margin-top:18px;
}
.home-section-title h2{
  letter-spacing:-.04em;
}
.home-section-title p{
  max-width:620px;
  margin-left:auto;
  margin-right:auto;
}


/* V65 final main block removal and editable feature icons */
.mockup-home-page .home-admin-content,
.page-block-editor{
  display:none!important;
}
.home-benefit-grid article span{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:26px;
  line-height:1;
  background:#eefbfd;
  border:1px solid #d1eef4;
}
.main-feature-icons-panel{
  border-top:5px solid #18aab7;
}
.feature-icon-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.feature-icon-grid input{
  text-align:center;
  font-size:24px;
  min-height:52px;
}
.main-block-hidden-note{
  border-left:5px solid #18aab7;
  background:#f4fcfd;
}
.main-block-hidden-note h2{
  margin:0 0 8px;
  color:#143752;
  font-size:18px;
}
.main-block-hidden-note p{
  margin:0;
  color:#6e8795;
  font-size:13px;
  line-height:1.6;
}
@media(max-width:900px){
  .feature-icon-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:520px){
  .feature-icon-grid{
    grid-template-columns:1fr;
  }
}


/* V66 editable hero info, typography, colors and feature texts */
.home-mockup-hero,
.home-program-card{
  font-family:var(--home-hero-font);
}
.home-mockup-hero h1{
  color:var(--home-title-color)!important;
}
.home-mockup-hero p,
.home-hero-direct-note{
  color:var(--home-text-color)!important;
}
.home-mockup-info-bar span{
  color:var(--home-info-label-color)!important;
}
.home-mockup-info-bar strong{
  color:var(--home-info-title-color)!important;
}
.home-mockup-info-bar small{
  color:var(--home-info-sub-color)!important;
}

/* Admin edit panels */
.main-style-panel,
.main-info-panel,
.main-feature-text-panel,
.main-feature-icons-panel{
  border-top:5px solid #18aab7;
}
.main-color-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.main-color-grid input[type="color"]{
  width:100%;
  height:46px;
  padding:4px;
  border-radius:14px;
}
.main-info-edit-grid,
.main-feature-edit-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.main-info-edit-card,
.main-feature-edit-card{
  padding:16px;
  border:1px solid #d8edf2;
  border-radius:18px;
  background:#fbfeff;
}
.main-info-edit-card h3,
.main-feature-edit-card h3{
  margin:0 0 12px;
  color:#143752;
  font-size:15px;
}
.main-feature-text-panel .field{
  margin-top:12px;
}
@media(max-width:1100px){
  .main-color-grid,
  .main-info-edit-grid,
  .main-feature-edit-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .main-color-grid,
  .main-info-edit-grid,
  .main-feature-edit-grid{
    grid-template-columns:1fr;
  }
}


/* V67 admin edit/delete expansion */
.gallery-manage-guide{
  border-left:5px solid #18aab7;
  background:#f5fcfd;
}
.gallery-manage-guide h2{
  margin:0 0 8px;
  color:#143752;
  font-size:19px;
}
.gallery-manage-guide p{
  margin:0 0 14px;
  color:#6e8795;
  font-size:13px;
  line-height:1.6;
}
.admin-edit-details{
  margin:14px 0;
  padding:12px 14px;
  border:1px solid #d8edf2;
  border-radius:16px;
  background:#fbfeff;
}
.admin-edit-details summary{
  cursor:pointer;
  color:#0d8fa7;
  font-weight:800;
  font-size:14px;
}
.admin-inline-edit-form{
  margin-top:14px;
}
.admin-inline-edit-form .form-grid{
  gap:12px;
}
.participant-edit-card{
  margin:12px 0;
  padding:14px;
  border:1px solid #e1f0f3;
  border-radius:14px;
  background:#fff;
}
.participant-edit-card h4{
  margin:0 0 10px;
  color:#143752;
}
.gallery-feed-admin-side [data-remove-gallery-block]{
  color:#b42318;
  border-color:#ffd8d3;
  background:#fff5f3;
  font-weight:800;
}
.member-gallery-form input,
.member-gallery-form textarea,
.member-gallery-form select{
  width:100%;
}
.admin-account-edit-form{
  width:100%;
}
@media(max-width:760px){
  .admin-edit-details{
    padding:12px;
  }
}


/* V68 editable cards, simple pages, naver map and gallery admin */
.home-thumb-strip{
  display:none!important;
}
.editable-card-list{
  display:grid;
  gap:14px;
}
.editable-admin-card{
  position:relative;
  padding:18px;
  border:1px solid #d8edf2;
  border-radius:18px;
  background:#fbfeff;
  box-shadow:0 7px 20px rgba(20,68,92,.045);
}
.editable-admin-card.feature .icon-field input{
  text-align:center;
  font-size:24px;
  min-height:50px;
}
.card-delete-btn{
  position:absolute;
  right:14px;
  top:14px;
  border:1px solid #ffd8d3;
  background:#fff5f3;
  color:#b42318;
  border-radius:10px;
  padding:6px 10px;
  font-weight:800;
  cursor:pointer;
}
.inner-panel{
  margin:0 0 18px;
  box-shadow:none!important;
  border:1px solid #d8edf2!important;
}
.inner-panel h2{
  margin-top:0;
  color:#143752;
}
.simple-page-section-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.simple-page-section-card{
  padding:22px;
  border:1px solid #d8edf2;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 22px rgba(20,68,92,.055);
}
.simple-page-section-card h2{
  margin-top:0;
  color:#143752;
}
.simple-page-section-card p,
.simple-page-section-card li{
  color:#5f7785;
  line-height:1.7;
}
.naver-map-embed{
  overflow:hidden;
  border:1px solid #d8edf2;
  border-radius:22px;
  background:#eefbfc;
  margin-bottom:18px;
  box-shadow:0 8px 22px rgba(20,68,92,.055);
}
.naver-map-embed iframe{
  display:block;
  width:100%;
  height:420px;
  border:0;
}
.naver-map-placeholder{
  padding:34px;
  border:1px dashed #9fdce5;
  border-radius:22px;
  background:#f4fcfd;
  text-align:center;
  margin-bottom:18px;
}
.map-link-row{
  text-align:right;
}
.gallery-public-simple{
  max-width:1320px;
}
.official-photo-feed{
  margin-top:18px;
}
.gallery-simple-upload,
.gallery-photo-manager{
  border-top:5px solid #18aab7;
}
.gallery-admin-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.gallery-admin-photo-card{
  padding:14px;
  border:1px solid #d8edf2;
  border-radius:18px;
  background:#fbfeff;
  box-shadow:0 7px 20px rgba(20,68,92,.045);
}
.gallery-admin-photo-card > img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px;
  border:1px solid #d8edf2;
  margin-bottom:12px;
}
.gallery-admin-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.checkbox-field{
  display:flex;
  align-items:center;
}
.checkbox-field label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
}
@media(max-width:1100px){
  .gallery-admin-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .simple-page-section-grid,
  .gallery-admin-photo-grid{
    grid-template-columns:1fr;
  }
  .naver-map-embed iframe{
    height:320px;
  }
}


/* V69 editable kicker, movable cards and map-only location */
.home-mockup-hero,
.home-program-card{
  font-family:var(--home-hero-font);
}
.home-mockup-kicker{
  color:var(--home-kicker-color)!important;
  background:color-mix(in srgb, var(--home-kicker-bg) 72%, transparent)!important;
  border-color:var(--home-kicker-border)!important;
}
.home-mockup-hero h1{
  color:var(--home-title-color)!important;
}
.home-mockup-hero p,
.home-hero-direct-note{
  color:var(--home-text-color)!important;
}
.card-order-actions{
  position:absolute;
  right:72px;
  top:14px;
  display:flex;
  gap:4px;
}
.card-order-actions button{
  width:30px;
  height:30px;
  border:1px solid #c9eaf0;
  border-radius:10px;
  background:#eefbfd;
  color:#0d8fa7;
  font-weight:900;
  cursor:pointer;
}
.editable-admin-card{
  padding-top:52px;
}
.location-marker-title{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  color:#143752;
}
.location-marker-title span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:#eaf9fb;
  color:#0d8fa7;
}
.location-marker-title strong{
  font-size:20px;
}
.location-map-content.map-only{
  max-width:1180px;
}
.location-map-content.map-only .naver-map-embed iframe{
  height:min(68vh,640px);
  min-height:420px;
}
.location-map-content.map-only .map-link-row{
  text-align:center;
}
@supports not (background: color-mix(in srgb, #fff 50%, transparent)){
  .home-mockup-kicker{
    background:var(--home-kicker-bg)!important;
  }
}
@media(max-width:640px){
  .card-order-actions{
    right:68px;
  }
  .location-marker-title strong{
    font-size:17px;
  }
  .location-map-content.map-only .naver-map-embed iframe{
    min-height:340px;
  }
}


/* V70 full deletion cards, title cards, page typography and naver crop */
.home-section-title + .home-section-title{
  margin-top:28px;
}
.editable-admin-card.title-card{
  background:#f7fdff;
}
.page-style-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.page-style-grid input[type="color"]{
  width:100%;
  height:46px;
  padding:4px;
  border-radius:14px;
}
.editable-public-page{
  font-family:var(--page-font);
}
.editable-public-page .managed-page-hero h1{
  color:var(--page-hero-title-color)!important;
  font-size:var(--page-hero-title-size)!important;
}
.editable-public-page .managed-page-hero p{
  color:var(--page-hero-text-color)!important;
  font-size:var(--page-hero-text-size)!important;
}
.editable-public-page .simple-page-section-card h2{
  color:var(--page-section-title-color)!important;
  font-size:var(--page-section-title-size)!important;
}
.editable-public-page .simple-page-section-card p,
.editable-public-page .simple-page-section-card li{
  color:var(--page-section-text-color)!important;
  font-size:var(--page-section-text-size)!important;
}
.naver-map-embed.hide-left-controls{
  position:relative;
  overflow:hidden;
}
.naver-map-embed.hide-left-controls iframe{
  width:calc(100% + 70px)!important;
  margin-left:-70px;
}
.naver-map-embed.hide-left-controls::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:1px;
  pointer-events:none;
}
@media(max-width:900px){
  .page-style-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:560px){
  .page-style-grid{
    grid-template-columns:1fr;
  }
  .naver-map-embed.hide-left-controls iframe{
    width:calc(100% + 58px)!important;
    margin-left:-58px;
  }
}


/* V71 hero image clarity controls */
.home-mockup-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:none!important;
}
.home-mockup-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--home-hero-image);
  background-size:cover;
  background-position:var(--home-hero-position, center right);
  background-repeat:no-repeat;
  transform:scale(var(--home-hero-zoom, 1));
  filter:
    brightness(var(--home-hero-brightness, 1.04))
    contrast(var(--home-hero-contrast, 1.08))
    saturate(var(--home-hero-saturate, 1.08));
}
.home-mockup-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg, rgba(229,248,251,.96) 0%, rgba(221,246,250,.82) 39%, rgba(196,235,242,.34) 63%, rgba(255,255,255,.06) 100%);
  opacity:var(--home-hero-overlay-opacity, .72);
  pointer-events:none;
}
.home-mockup-hero-inner,
.home-mockup-info-bar{
  position:relative;
  z-index:1;
}
.hero-image-control-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.hero-image-control-grid input[type="range"]{
  width:100%;
  accent-color:#18aab7;
}
.hero-image-control-grid label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.hero-image-control-grid label span{
  color:#0d8fa7;
  font-weight:800;
}
@media(max-width:980px){
  .hero-image-control-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .hero-image-control-grid{
    grid-template-columns:1fr;
  }
}


/* V72 hero image library and array_merge fix support */
.hero-library-panel{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #d8edf2;
}
.hero-library-panel h3{
  margin:0 0 8px;
  color:#143752;
}
.hero-library-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.hero-library-card{
  position:relative;
  padding:12px;
  border:1px solid #d8edf2;
  border-radius:18px;
  background:#fbfeff;
  box-shadow:0 7px 18px rgba(20,68,92,.045);
}
.hero-library-card.active{
  border-color:#18aab7;
  box-shadow:0 0 0 3px rgba(24,170,183,.16), 0 9px 24px rgba(20,68,92,.08);
}
.hero-library-card img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:14px;
  border:1px solid #e0f0f4;
  margin-bottom:10px;
}
.hero-library-card strong{
  display:block;
  margin:8px 0 2px;
  color:#143752;
  font-size:13px;
  line-height:1.35;
}
.hero-library-card small,
.hero-library-card em{
  display:block;
  color:#7c94a0;
  font-size:11px;
  font-style:normal;
}
.hero-select-row,
.hero-delete-row{
  display:flex;
  align-items:center;
  gap:6px;
  color:#436779;
  font-size:12px;
  font-weight:700;
}
.hero-delete-row{
  margin-top:8px;
  color:#b42318;
}
@media(max-width:1100px){
  .hero-library-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .hero-library-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .hero-library-grid{
    grid-template-columns:1fr;
  }
}


/* V73 hero selection fix and clean home gallery empty state */
.home-gallery-empty{
  min-height:160px;
  border:1px dashed rgba(255,255,255,.55);
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  background:rgba(255,255,255,.12);
}
.home-gallery-empty strong{
  font-size:16px;
  margin-bottom:6px;
}
.home-gallery-empty p{
  margin:0;
  font-size:12px;
  color:rgba(255,255,255,.82);
}
.hero-library-card .hero-delete-row{
  padding:7px 8px;
  border-radius:10px;
  background:#fff5f3;
}


/* V74 final hero apply and gallery empty fix */
.hero-missing-box{
  min-height:220px;
  border:1px dashed #9fdce5;
  border-radius:18px;
  background:#f4fcfd;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-align:center;
  color:#557888;
  font-weight:800;
}
.home-dashboard-card.gallery{
  position:relative;
}
.home-dashboard-card.gallery .home-gallery-empty{
  height:100%;
  min-height:150px;
}
.home-gallery-empty{
  min-height:150px!important;
  border:1px dashed rgba(255,255,255,.62)!important;
  border-radius:18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:rgba(255,255,255,.14)!important;
}
.home-gallery-empty strong{
  color:#fff!important;
  font-size:16px!important;
  margin-bottom:6px!important;
}
.home-gallery-empty p{
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:12px!important;
}


/* V75 stable direct hero image rendering */
.home-mockup-hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#eefbfd!important;
}
.home-hero-bg-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:var(--home-hero-position, center right)!important;
  transform:scale(var(--home-hero-zoom, 1))!important;
  filter:
    brightness(var(--home-hero-brightness, 1.04))
    contrast(var(--home-hero-contrast, 1.08))
    saturate(var(--home-hero-saturate, 1.08))!important;
  z-index:0!important;
  pointer-events:none!important;
}
.home-mockup-hero::before{
  display:none!important;
}
.home-mockup-hero::after{
  z-index:1!important;
}
.home-mockup-hero-inner,
.home-mockup-info-bar{
  position:relative!important;
  z-index:2!important;
}
.home-gallery-empty.force-visible{
  display:flex!important;
  min-height:170px!important;
  height:170px!important;
  border:1px dashed rgba(255,255,255,.72)!important;
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.home-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.home-gallery-grid img{
  width:100%!important;
  height:78px!important;
  object-fit:cover!important;
  border-radius:12px!important;
}


/* V76 optional hero text, movable hero text position and editable bottom cards */
.home-mockup-hero-inner{
  position:absolute!important;
  left:var(--home-hero-text-x, 3%)!important;
  top:var(--home-hero-text-y, 18%)!important;
  width:var(--home-hero-text-width, 46%)!important;
  max-width:min(720px, var(--home-hero-text-width, 46%))!important;
  padding:0!important;
  text-align:var(--home-hero-text-align, left)!important;
}
.home-mockup-hero-inner .home-mockup-reserve-btn{
  display:inline-flex;
}
.home-mockup-hero-inner h1{
  margin-left:0!important;
  margin-right:0!important;
}
.home-mockup-hero-inner p{
  margin-left:0!important;
  margin-right:0!important;
}
.home-mockup-hero-inner:empty{
  display:none!important;
}
.bottom-card h3{
  margin:0 0 14px;
  color:#143752;
}
.bottom-visible-toggle{
  position:absolute;
  right:14px;
  top:50px;
  display:flex;
  align-items:center;
  gap:6px;
  color:#0d8fa7;
  font-size:13px;
  font-weight:800;
}
.bottom-card .card-order-actions{
  right:14px;
}
.bottom-card{
  padding-top:86px!important;
}
@media(max-width:820px){
  .home-mockup-hero-inner{
    left:22px!important;
    right:22px!important;
    top:38px!important;
    width:auto!important;
    max-width:none!important;
  }
}


/* V77 drag-based hero text editor and video/GIF hero support */
.home-hero-bg-img,
video.home-hero-bg-img{
  display:block!important;
  background:#eaf8fb;
}
.main-hero-preview video{
  width:100%;
  max-height:280px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid #d8edf2;
  background:#eaf8fb;
}
.hero-drag-preview{
  position:relative;
  overflow:hidden;
  min-height:360px;
  border:1px solid #d8edf2;
  border-radius:22px;
  background:#eaf8fb;
  box-shadow:0 10px 24px rgba(20,68,92,.06);
  margin:14px 0 18px;
}
.hero-drag-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:
    brightness(var(--home-hero-brightness, 1.04))
    contrast(var(--home-hero-contrast, 1.08))
    saturate(var(--home-hero-saturate, 1.08));
}
.hero-drag-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(229,248,251,.96) 0%, rgba(221,246,250,.82) 39%, rgba(196,235,242,.34) 63%, rgba(255,255,255,.06) 100%);
  opacity:var(--home-hero-overlay-opacity, .72);
}
.hero-drag-text{
  position:absolute;
  z-index:2;
  min-width:180px;
  padding:18px;
  border:2px dashed rgba(13,143,167,.55);
  border-radius:18px;
  background:rgba(255,255,255,.32);
  cursor:move;
  user-select:none;
  backdrop-filter:blur(2px);
}
.hero-drag-text.dragging{
  border-color:#0d8fa7;
  background:rgba(255,255,255,.5);
  box-shadow:0 10px 28px rgba(20,68,92,.16);
}
.hero-drag-text.empty::before{
  content:"문구 숨김 상태";
  display:block;
  color:#0d8fa7;
  font-weight:900;
}
.hero-drag-text span{
  display:inline-flex;
  margin-bottom:8px;
  padding:4px 10px;
  border:1px solid var(--home-kicker-border,#9fe2eb);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--home-kicker-color,#0a8ca4);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.hero-drag-text strong{
  display:block;
  color:var(--home-title-color,#103550);
  font-size:clamp(28px,4vw,54px);
  line-height:1.05;
  letter-spacing:-.07em;
}
.hero-drag-text p{
  margin:12px 0 0;
  color:var(--home-text-color,#456a7d);
  font-size:15px;
  line-height:1.5;
}
.hero-drag-text em{
  display:inline-block;
  margin-top:10px;
  color:#0d8fa7;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
@media(max-width:760px){
  .hero-drag-preview{
    min-height:260px;
  }
  .hero-drag-text{
    min-width:140px;
    padding:12px;
  }
}


/* V78 editable info card styles and section reset buttons */
.home-mockup-info-bar > div{
  background:var(--home-info-card-bg,#fff)!important;
  border-color:var(--home-info-card-border,#d6edf2)!important;
  border-radius:var(--home-info-card-radius,16px)!important;
  padding:var(--home-info-card-padding,16px)!important;
}
.home-mockup-info-bar span{
  font-size:var(--home-info-label-size,12px)!important;
}
.home-mockup-info-bar strong{
  font-size:var(--home-info-title-size,14px)!important;
}
.home-mockup-info-bar small{
  font-size:var(--home-info-sub-size,12px)!important;
}
.admin-section-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.info-card-style-editor{
  margin:0 0 16px;
  padding:16px;
  border:1px solid #d8edf2;
  border-radius:18px;
  background:#f7fdff;
}
.info-card-style-editor h3{
  margin:0 0 12px;
  color:#143752;
}
.info-card-style-editor input[type="range"]{
  width:100%;
  accent-color:#18aab7;
}
.info-card-style-editor label span{
  color:#0d8fa7;
  font-weight:800;
}
@media(max-width:760px){
  .admin-section-actions{
    justify-content:flex-start;
  }
}


/* V79 large drag preview, smaller zoom, hero text sizes and movable info cards */
.home-mockup-hero-inner .home-mockup-kicker{
  font-size:var(--home-hero-kicker-size,11px)!important;
}
.home-mockup-hero-inner h1{
  font-size:var(--home-hero-title-size,56px)!important;
}
.home-mockup-hero-inner > p:not(.home-hero-direct-note){
  font-size:var(--home-hero-desc-size,15px)!important;
}
.home-mockup-reserve-btn{
  font-size:var(--home-hero-button-size,15px)!important;
}
.home-mockup-info-bar{
  position:absolute!important;
  left:var(--home-info-x,2%)!important;
  top:var(--home-info-y,78%)!important;
  width:var(--home-info-width,96%)!important;
  bottom:auto!important;
  z-index:3!important;
}
.hero-drag-preview{
  min-height:620px!important;
  resize:vertical;
  max-height:none!important;
}
.hero-drag-media{
  object-fit:contain!important;
  background:#eaf8fb!important;
}
.hero-drag-text span{
  font-size:var(--preview-kicker-size,11px)!important;
}
.hero-drag-text strong{
  font-size:var(--preview-title-size,56px)!important;
}
.hero-drag-text p{
  font-size:var(--preview-desc-size,15px)!important;
}
.hero-drag-info{
  position:absolute;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:8px;
  border:2px dashed rgba(13,143,167,.55);
  border-radius:18px;
  background:rgba(255,255,255,.28);
  cursor:move;
  user-select:none;
  backdrop-filter:blur(2px);
}
.hero-drag-info.dragging{
  border-color:#0d8fa7;
  background:rgba(255,255,255,.5);
  box-shadow:0 10px 28px rgba(20,68,92,.16);
}
.hero-drag-info > div{
  padding:var(--preview-info-padding,16px);
  border:1px solid var(--home-info-card-border,#d6edf2);
  border-radius:var(--preview-info-radius,16px);
  background:var(--home-info-card-bg,#fff);
  min-width:0;
}
.hero-drag-info span{
  display:block;
  color:var(--home-info-label-color,#0c8ba3);
  font-size:var(--preview-info-label-size,12px);
  font-weight:800;
}
.hero-drag-info strong{
  display:block;
  margin-top:6px;
  color:var(--home-info-title-color,#153a54);
  font-size:var(--preview-info-title-size,14px);
  font-weight:900;
}
.hero-drag-info small{
  display:block;
  margin-top:6px;
  color:var(--home-info-sub-color,#6d8796);
  font-size:var(--preview-info-sub-size,12px);
}
.hero-drag-info em{
  position:absolute;
  right:8px;
  bottom:-24px;
  color:#0d8fa7;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.hero-control-subtitle{
  margin:18px 0 10px;
  color:#143752;
  font-size:16px;
}
@media(max-width:900px){
  .hero-drag-preview{
    min-height:480px!important;
  }
  .hero-drag-info{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .home-mockup-info-bar{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
  }
}
@media(max-width:560px){
  .hero-drag-preview{
    min-height:390px!important;
  }
  .hero-drag-info{
    grid-template-columns:1fr;
  }
}


/* V80 full independent hero layer editor */
.home-hero-layer{
  position:absolute!important;
  z-index:2!important;
  text-align:var(--home-hero-text-align,left)!important;
}
.home-hero-kicker-layer{
  left:var(--home-kicker-x,3%)!important;
  top:var(--home-kicker-y,18%)!important;
  width:var(--home-kicker-width,36%)!important;
}
.home-hero-title-layer{
  left:var(--home-title-x,3%)!important;
  top:var(--home-title-y,26%)!important;
  width:var(--home-title-width,48%)!important;
}
.home-hero-desc-layer{
  left:var(--home-desc-x,3%)!important;
  top:var(--home-desc-y,44%)!important;
  width:var(--home-desc-width,44%)!important;
}
.home-hero-button-layer{
  left:var(--home-button-x,3%)!important;
  top:var(--home-button-y,58%)!important;
  width:var(--home-button-width,18%)!important;
}
.home-hero-title-layer h1{
  color:var(--home-title-color,#103550)!important;
  font-size:var(--home-hero-title-size,56px)!important;
  line-height:1.05!important;
  margin:0!important;
  letter-spacing:-.07em!important;
}
.home-hero-desc-layer p{
  color:var(--home-text-color,#456a7d)!important;
  font-size:var(--home-hero-desc-size,15px)!important;
  line-height:1.6!important;
  margin:0!important;
}
.home-hero-button-layer .home-mockup-reserve-btn{
  background:var(--home-button-bg,#103550)!important;
  color:var(--home-button-color,#fff)!important;
  border-radius:var(--home-button-radius,999px)!important;
  padding:var(--home-button-padding-y,13px) var(--home-button-padding-x,22px)!important;
  font-size:var(--home-hero-button-size,15px)!important;
}
.home-hero-button-layer .home-hero-direct-note{
  margin-top:8px!important;
}
.hero-drag-kicker,
.hero-drag-title,
.hero-drag-desc,
.hero-drag-button{
  min-width:120px;
}
.hero-drag-button a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:var(--preview-button-py,13px) var(--preview-button-px,22px);
  border-radius:var(--preview-button-radius,999px);
  background:var(--home-button-bg,#103550);
  color:var(--home-button-color,#fff);
  font-size:var(--preview-button-size,15px);
  font-weight:900;
  text-decoration:none;
}
.hero-drag-kicker.empty::before{content:"상단문구 숨김";}
.hero-drag-title.empty::before{content:"제목 숨김";}
.hero-drag-desc.empty::before{content:"설명 숨김";}
.hero-drag-button.empty::before{content:"예약버튼 숨김";}
@media(max-width:820px){
  .home-hero-layer{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
  }
}


/* V81 same-size hero preview, live file preview and element scale controls */
.hero-drag-preview{
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:unset!important;
  height:auto!important;
  resize:none!important;
  max-height:none!important;
}
.hero-drag-media{
  object-fit:cover!important;
}
.hero-drag-text,
.hero-drag-info{
  transform:scale(var(--preview-scale,1));
  transform-origin:left top;
}
.home-hero-kicker-layer{
  transform:scale(var(--home-kicker-scale,1));
  transform-origin:left top;
}
.home-hero-title-layer{
  transform:scale(var(--home-title-scale,1));
  transform-origin:left top;
}
.home-hero-desc-layer{
  transform:scale(var(--home-desc-scale,1));
  transform-origin:left top;
}
.home-hero-button-layer{
  transform:scale(var(--home-button-scale,1));
  transform-origin:left top;
}
.home-mockup-info-bar{
  transform:scale(var(--home-info-scale,1));
  transform-origin:left top;
}
.main-hero-preview video,
.main-hero-preview img{
  aspect-ratio:16/9;
  object-fit:cover!important;
}
@media(max-width:760px){
  .hero-drag-preview{
    aspect-ratio:16/10!important;
  }
}


/* V82 drag resize handles for hero editor */
.hero-drag-text,
.hero-drag-info{
  padding-bottom:28px!important;
}
.hero-resize-handle{
  position:absolute;
  right:7px;
  bottom:7px;
  width:18px;
  height:18px;
  border-radius:6px;
  border:2px solid #0d8fa7;
  background:
    linear-gradient(135deg, transparent 0 45%, rgba(13,143,167,.9) 46% 54%, transparent 55%),
    rgba(255,255,255,.92);
  box-shadow:0 4px 10px rgba(20,68,92,.16);
  cursor:nwse-resize;
  z-index:6;
}
.hero-resize-handle::after{
  content:"";
  position:absolute;
  right:2px;
  bottom:2px;
  width:8px;
  height:8px;
  border-right:2px solid #0d8fa7;
  border-bottom:2px solid #0d8fa7;
}
.hero-drag-text.resizing,
.hero-drag-info.resizing{
  border-color:#ff9f1c!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:0 14px 32px rgba(20,68,92,.2)!important;
}
.hero-drag-text.resizing .hero-resize-handle,
.hero-drag-info.resizing .hero-resize-handle{
  border-color:#ff9f1c;
}
.hero-drag-text em,
.hero-drag-info em{
  pointer-events:none;
}


/* V83 eight-direction resize handles and reservation note preview */
.hero-drag-button [data-preview-button-note]{
  margin:8px 0 0;
  color:var(--home-text-color,#456a7d);
  font-size:12px;
  line-height:1.45;
  font-weight:700;
}
.hero-resize-handle{
  position:absolute;
  z-index:8;
  border:2px solid #0d8fa7;
  background:rgba(255,255,255,.94);
  box-shadow:0 4px 10px rgba(20,68,92,.16);
}
.hero-resize-handle.handle-n,
.hero-resize-handle.handle-s{
  left:50%;
  width:28px;
  height:10px;
  margin-left:-14px;
  cursor:ns-resize;
  border-radius:999px;
}
.hero-resize-handle.handle-n{top:-7px;}
.hero-resize-handle.handle-s{bottom:-7px;}
.hero-resize-handle.handle-e,
.hero-resize-handle.handle-w{
  top:50%;
  width:10px;
  height:28px;
  margin-top:-14px;
  cursor:ew-resize;
  border-radius:999px;
}
.hero-resize-handle.handle-e{right:-7px;}
.hero-resize-handle.handle-w{left:-7px;}
.hero-resize-handle.handle-ne,
.hero-resize-handle.handle-nw,
.hero-resize-handle.handle-se,
.hero-resize-handle.handle-sw{
  width:18px;
  height:18px;
  border-radius:6px;
  cursor:nwse-resize;
}
.hero-resize-handle.handle-ne{right:-8px;top:-8px;cursor:nesw-resize;}
.hero-resize-handle.handle-nw{left:-8px;top:-8px;cursor:nwse-resize;}
.hero-resize-handle.handle-se{right:-8px;bottom:-8px;cursor:nwse-resize;}
.hero-resize-handle.handle-sw{left:-8px;bottom:-8px;cursor:nesw-resize;}
.hero-resize-handle.handle-se::after,
.hero-resize-handle.handle-sw::after,
.hero-resize-handle.handle-ne::after,
.hero-resize-handle.handle-nw::after{
  content:"";
  position:absolute;
  inset:4px;
  border-right:2px solid #0d8fa7;
  border-bottom:2px solid #0d8fa7;
}
.hero-drag-text.resizing,
.hero-drag-info.resizing{
  border-color:#ff9f1c!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:0 14px 32px rgba(20,68,92,.2)!important;
}
.hero-drag-text.resizing .hero-resize-handle,
.hero-drag-info.resizing .hero-resize-handle{
  border-color:#ff9f1c;
}


/* V88 public page point design synced to main hero */
:root{
  --public-main-navy:#103550;
  --public-main-blue:#0d8fa7;
  --public-main-mint:#e7f8fb;
  --public-main-line:#d6edf2;
  --public-main-text:#456a7d;
  --public-main-soft:#f6fcfe;
}
.page-hero,
.lesson-hero,
.notice-hero,
.gallery-hero,
.contact-hero,
.location-hero,
.reservation-hero,
.check-hero{
  background:
    radial-gradient(circle at 12% 18%, rgba(118,218,232,.28), transparent 32%),
    linear-gradient(135deg, #f4fdff 0%, #e7f8fb 48%, #f9feff 100%)!important;
  border-bottom:1px solid var(--public-main-line)!important;
  color:var(--public-main-navy)!important;
}
.page-hero h1,
.lesson-hero h1,
.notice-hero h1,
.gallery-hero h1,
.contact-hero h1,
.location-hero h1,
.reservation-hero h1,
.check-hero h1{
  color:var(--public-main-navy)!important;
  letter-spacing:-.06em!important;
}
.page-hero p,
.lesson-hero p,
.notice-hero p,
.gallery-hero p,
.contact-hero p,
.location-hero p,
.reservation-hero p,
.check-hero p{
  color:var(--public-main-text)!important;
}
.content-box,
.reservation-card,
.check-card,
.notice-card,
.gallery-card,
.contact-card,
.location-card,
.lesson-card,
.lesson-section,
.page-section{
  border:1px solid var(--public-main-line)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(20,68,92,.06)!important;
}
.content-box h2,
.form-title,
.notice-card h2,
.gallery-card h2,
.contact-card h2,
.location-card h2,
.lesson-card h2,
.lesson-section h2,
.page-section h2{
  color:var(--public-main-navy)!important;
  letter-spacing:-.04em!important;
}
.cta,
.submit-btn,
.reserve-submit,
.check-submit,
.month-nav,
.notice-more,
.gallery-more,
.button,
.btn,
a.primary-btn{
  background:var(--public-main-navy)!important;
  color:#fff!important;
  border-color:var(--public-main-navy)!important;
  border-radius:999px!important;
  box-shadow:0 10px 24px rgba(16,53,80,.14)!important;
}
.cta:hover,
.submit-btn:hover,
.reserve-submit:hover,
.check-submit:hover,
.month-nav:hover,
.notice-more:hover,
.gallery-more:hover,
.button:hover,
.btn:hover,
a.primary-btn:hover{
  background:var(--public-main-blue)!important;
  border-color:var(--public-main-blue)!important;
}
.step.active span,
.step-line .step.active span,
.calendar-day.selected,
.calendar-day input:checked + span,
.status-pill,
.badge,
.notice-badge{
  background:var(--public-main-blue)!important;
  color:#fff!important;
}
.step.active,
.step-line .step.active{
  color:var(--public-main-blue)!important;
}
.calendar-head,
.form-section,
.member-notice,
.check-result,
.notice-detail,
.location-info-box{
  background:var(--public-main-soft)!important;
  border-color:var(--public-main-line)!important;
  border-radius:20px!important;
}
input:focus,
select:focus,
textarea:focus{
  border-color:var(--public-main-blue)!important;
  box-shadow:0 0 0 4px rgba(13,143,167,.12)!important;
  outline:none!important;
}
.header-nav a:hover,
.header-nav a.active,
.site-nav a:hover,
.site-nav a.active{
  color:var(--public-main-blue)!important;
}


/* V89 public typography point sync based on main page */
:root{
  --sync-title:#103550;
  --sync-accent:#0d8fa7;
  --sync-text:#456a7d;
  --sync-sub:#6d8796;
  --sync-line:#d6edf2;
  --sync-soft:#f6fcfe;
  --sync-radius:24px;
}
body{
  color:var(--sync-text);
}
main:not(.home-main) .page-hero,
main:not(.home-main) .lesson-hero,
main:not(.home-main) .notice-hero,
main:not(.home-main) .gallery-hero,
main:not(.home-main) .contact-hero,
main:not(.home-main) .location-hero,
main:not(.home-main) .reservation-hero,
main:not(.home-main) .check-hero{
  padding:72px 20px 58px!important;
}
main:not(.home-main) .page-hero h1,
main:not(.home-main) .lesson-hero h1,
main:not(.home-main) .notice-hero h1,
main:not(.home-main) .gallery-hero h1,
main:not(.home-main) .contact-hero h1,
main:not(.home-main) .location-hero h1,
main:not(.home-main) .reservation-hero h1,
main:not(.home-main) .check-hero h1{
  color:var(--sync-title)!important;
  font-size:clamp(34px,5vw,56px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.075em!important;
  margin:0 0 14px!important;
}
main:not(.home-main) .page-hero p,
main:not(.home-main) .lesson-hero p,
main:not(.home-main) .notice-hero p,
main:not(.home-main) .gallery-hero p,
main:not(.home-main) .contact-hero p,
main:not(.home-main) .location-hero p,
main:not(.home-main) .reservation-hero p,
main:not(.home-main) .check-hero p{
  color:var(--sync-text)!important;
  font-size:clamp(15px,1.8vw,18px)!important;
  line-height:1.68!important;
  font-weight:650!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.content-box h2,
.form-title,
.lesson-section h2,
.lesson-card h2,
.location-card h2,
.location-info-box h2,
.notice-card h2,
.notice-detail h2,
.gallery-card h2,
.contact-card h2,
.check-card h2,
.page-section h2,
.reservation-card h2{
  color:var(--sync-title)!important;
  font-size:clamp(22px,2.5vw,30px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
}
.content-box h3,
.lesson-section h3,
.lesson-card h3,
.location-card h3,
.notice-card h3,
.gallery-card h3,
.contact-card h3,
.page-section h3{
  color:var(--sync-title)!important;
  font-size:clamp(18px,2vw,23px)!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}
.content-box p,
.content-box li,
.lesson-section p,
.lesson-section li,
.lesson-card p,
.lesson-card li,
.location-card p,
.location-card li,
.notice-card p,
.notice-detail p,
.gallery-card p,
.contact-card p,
.check-card p,
.page-section p,
.page-section li,
.reservation-card p,
.reservation-card li{
  color:var(--sync-text)!important;
  font-size:15.5px!important;
  line-height:1.72!important;
  font-weight:600!important;
}
.form-title::before,
.content-box h2::before,
.lesson-section h2::before,
.location-card h2::before,
.notice-card h2::before,
.gallery-card h2::before,
.contact-card h2::before,
.page-section h2::before{
  color:var(--sync-accent)!important;
}
label,
.field label,
.form-section label,
.reservation-card label,
.check-card label{
  color:var(--sync-title)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
input,
select,
textarea,
.reservation-card input,
.reservation-card select,
.reservation-card textarea,
.check-card input,
.check-card select,
.check-card textarea{
  color:var(--sync-title)!important;
  font-size:15px!important;
  font-weight:650!important;
  border-color:var(--sync-line)!important;
  border-radius:16px!important;
}
.step,
.step-line .step{
  color:var(--sync-sub)!important;
  font-size:13px!important;
  font-weight:900!important;
}
.step span,
.step-line .step span{
  font-size:13px!important;
  font-weight:950!important;
}
.cta,
.submit-btn,
.reserve-submit,
.check-submit,
.month-nav,
.notice-more,
.gallery-more,
.button,
.btn,
a.primary-btn,
.contact-method a{
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
.badge,
.status-pill,
.notice-badge,
.member-notice,
.calendar-status,
.gallery-label,
.contact-label{
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:-.015em!important;
}
.calendar-head span{
  color:var(--sync-title)!important;
  font-size:21px!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}
.calendar-day,
.calendar-day span,
.calendar-grid button{
  color:var(--sync-title)!important;
  font-weight:850!important;
}
.content-box,
.reservation-card,
.check-card,
.notice-card,
.gallery-card,
.contact-card,
.location-card,
.lesson-card,
.lesson-section,
.page-section{
  border-radius:var(--sync-radius)!important;
}
@media(max-width:640px){
  main:not(.home-main) .page-hero,
  main:not(.home-main) .lesson-hero,
  main:not(.home-main) .notice-hero,
  main:not(.home-main) .gallery-hero,
  main:not(.home-main) .contact-hero,
  main:not(.home-main) .location-hero,
  main:not(.home-main) .reservation-hero,
  main:not(.home-main) .check-hero{
    padding:54px 18px 44px!important;
  }
  .content-box p,
  .content-box li,
  .lesson-section p,
  .lesson-section li,
  .lesson-card p,
  .lesson-card li,
  .location-card p,
  .location-card li,
  .notice-card p,
  .notice-detail p,
  .gallery-card p,
  .contact-card p,
  .check-card p,
  .page-section p,
  .page-section li,
  .reservation-card p,
  .reservation-card li{
    font-size:14.5px!important;
  }
}


/* V90 final public-page atmosphere and typography sync with main */
body.public-page-synced{
  --sync-title:#103550;
  --sync-accent:#0d8fa7;
  --sync-accent-2:#78dbe9;
  --sync-text:#456a7d;
  --sync-sub:#6d8796;
  --sync-line:#d6edf2;
  --sync-soft:#f6fcfe;
  --sync-mint:#e7f8fb;
  --sync-card:#ffffff;
  background:
    radial-gradient(circle at 5% 8%, rgba(120,219,233,.23), transparent 28%),
    linear-gradient(180deg,#f7fdff 0%,#ffffff 46%,#f4fbfd 100%)!important;
  color:var(--sync-text)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",Arial,sans-serif!important;
}
body.public-page-synced main{
  background:transparent!important;
}
body.public-page-synced .page-hero,
body.public-page-synced .managed-page-hero,
body.public-page-synced .contact-hero,
body.public-page-synced .board-title-section{
  position:relative!important;
  max-width:1180px!important;
  width:calc(100% - 40px)!important;
  margin:28px auto 26px!important;
  padding:64px 28px 54px!important;
  border:1px solid var(--sync-line)!important;
  border-radius:34px!important;
  overflow:hidden!important;
  text-align:center!important;
  background:
    radial-gradient(circle at 14% 24%, rgba(120,219,233,.33), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(255,255,255,.85), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#eafaff 48%,#f7fdff 100%)!important;
  box-shadow:0 22px 50px rgba(20,68,92,.08)!important;
}
body.public-page-synced .page-hero::after,
body.public-page-synced .managed-page-hero::after,
body.public-page-synced .contact-hero::after,
body.public-page-synced .board-title-section::after{
  content:"";
  position:absolute;
  right:-80px;
  bottom:-120px;
  width:280px;
  height:220px;
  border-radius:999px;
  background:rgba(120,219,233,.2);
  pointer-events:none;
}
body.public-page-synced .notice-kicker,
body.public-page-synced .board-title-section::before{
  content:"MANGSANG SURF SCHOOL";
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  margin:0 auto 16px!important;
  padding:8px 13px!important;
  border:1px solid #9fe2eb!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--sync-accent)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.public-page-synced .page-hero h1,
body.public-page-synced .managed-page-hero h1,
body.public-page-synced .contact-hero h1,
body.public-page-synced .board-title-section h1,
body.public-page-synced .content-box > h1,
body.public-page-synced .content-box h1{
  color:var(--sync-title)!important;
  font-size:clamp(38px,5.2vw,58px)!important;
  line-height:1.03!important;
  font-weight:950!important;
  letter-spacing:-.078em!important;
  margin:0 0 15px!important;
}
body.public-page-synced .page-hero p,
body.public-page-synced .managed-page-hero p,
body.public-page-synced .contact-hero p,
body.public-page-synced .board-title-section p{
  color:var(--sync-text)!important;
  font-size:clamp(15.5px,1.75vw,18px)!important;
  line-height:1.68!important;
  font-weight:700!important;
  max-width:760px!important;
  margin:0 auto!important;
}
body.public-page-synced .page-current-badge{
  display:inline-flex!important;
  margin-top:18px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid var(--sync-line)!important;
  color:var(--sync-accent)!important;
  font-size:12px!important;
  font-weight:950!important;
}
body.public-page-synced .content-box,
body.public-page-synced .managed-page-content,
body.public-page-synced .reservation-card,
body.public-page-synced .check-card,
body.public-page-synced .notice-card,
body.public-page-synced .notice-detail,
body.public-page-synced .gallery-card,
body.public-page-synced .gallery-public-simple,
body.public-page-synced .contact-guide-card,
body.public-page-synced .contact-form-card,
body.public-page-synced .contact-check-card,
body.public-page-synced .location-card,
body.public-page-synced .lesson-card,
body.public-page-synced .lesson-section,
body.public-page-synced .page-section,
body.public-page-synced .simple-page-section-card,
body.public-page-synced .board-wrap,
body.public-page-synced .board-detail,
body.public-page-synced .mypage-card,
body.public-page-synced .profile-card{
  border:1px solid var(--sync-line)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 16px 38px rgba(20,68,92,.065)!important;
}
body.public-page-synced .content-box,
body.public-page-synced .managed-page-content,
body.public-page-synced .board-wrap,
body.public-page-synced .board-detail{
  max-width:1180px!important;
  width:calc(100% - 40px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.public-page-synced .simple-page-section-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:16px!important;
}
body.public-page-synced .simple-page-section-card{
  padding:24px!important;
}
body.public-page-synced h2,
body.public-page-synced .content-box h2,
body.public-page-synced .form-title,
body.public-page-synced .gallery-section-title h2,
body.public-page-synced .contact-guide-card h2,
body.public-page-synced .contact-form-card h2,
body.public-page-synced .contact-check-card h2,
body.public-page-synced .location-marker-title strong,
body.public-page-synced .simple-page-section-card h2,
body.public-page-synced .board-detail-head h2{
  color:var(--sync-title)!important;
  font-size:clamp(22px,2.35vw,30px)!important;
  line-height:1.16!important;
  font-weight:950!important;
  letter-spacing:-.058em!important;
  margin-top:0!important;
}
body.public-page-synced h3,
body.public-page-synced .content-box h3,
body.public-page-synced .contact-method-box h3,
body.public-page-synced .placeholder-item h3,
body.public-page-synced .board-row a,
body.public-page-synced .reservation-item-title{
  color:var(--sync-title)!important;
  font-size:clamp(18px,1.9vw,23px)!important;
  line-height:1.24!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
}
body.public-page-synced p,
body.public-page-synced li,
body.public-page-synced .content-box p,
body.public-page-synced .content-box li,
body.public-page-synced .simple-page-section-card p,
body.public-page-synced .simple-page-section-card li,
body.public-page-synced .contact-guide-card p,
body.public-page-synced .contact-form-card p,
body.public-page-synced .gallery-section-title p,
body.public-page-synced .board-row,
body.public-page-synced .board-detail-body,
body.public-page-synced .member-notice{
  color:var(--sync-text)!important;
  font-size:15.5px!important;
  line-height:1.72!important;
  font-weight:650!important;
  letter-spacing:-.02em!important;
}
body.public-page-synced .cta,
body.public-page-synced .submit-btn,
body.public-page-synced .reserve-submit,
body.public-page-synced .check-submit,
body.public-page-synced .month-nav,
body.public-page-synced .notice-more,
body.public-page-synced .gallery-more,
body.public-page-synced .button,
body.public-page-synced .btn,
body.public-page-synced a.primary-btn,
body.public-page-synced .board-search button,
body.public-page-synced .contact-channel-list a,
body.public-page-synced .mypage-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  border-radius:999px!important;
  background:var(--sync-title)!important;
  border:1px solid var(--sync-title)!important;
  color:#fff!important;
  padding:11px 18px!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  text-decoration:none!important;
  box-shadow:0 10px 24px rgba(16,53,80,.14)!important;
}
body.public-page-synced .cta:not(.primary),
body.public-page-synced .contact-channel-list a:not(.active),
body.public-page-synced .mypage-actions a:not(.active-sub){
  background:#fff!important;
  color:var(--sync-title)!important;
  border-color:var(--sync-line)!important;
  box-shadow:none!important;
}
body.public-page-synced .cta:hover,
body.public-page-synced .submit-btn:hover,
body.public-page-synced .board-search button:hover,
body.public-page-synced .contact-channel-list a:hover{
  background:var(--sync-accent)!important;
  border-color:var(--sync-accent)!important;
  color:#fff!important;
}
body.public-page-synced label,
body.public-page-synced .field label,
body.public-page-synced .form-section label{
  color:var(--sync-title)!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
body.public-page-synced input,
body.public-page-synced select,
body.public-page-synced textarea,
body.public-page-synced .board-search input{
  border:1px solid var(--sync-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:var(--sync-title)!important;
  font-size:15px!important;
  font-weight:650!important;
  box-shadow:none!important;
}
body.public-page-synced input:focus,
body.public-page-synced select:focus,
body.public-page-synced textarea:focus{
  border-color:var(--sync-accent)!important;
  box-shadow:0 0 0 4px rgba(13,143,167,.12)!important;
  outline:none!important;
}
body.public-page-synced .form-section,
body.public-page-synced .member-notice,
body.public-page-synced .calendar-head,
body.public-page-synced .contact-method-box,
body.public-page-synced .location-marker-title,
body.public-page-synced .check-result,
body.public-page-synced .reservation-summary{
  background:var(--sync-soft)!important;
  border:1px solid var(--sync-line)!important;
  border-radius:22px!important;
}
body.public-page-synced .step.active span,
body.public-page-synced .step-line .step.active span,
body.public-page-synced .calendar-day.selected,
body.public-page-synced .calendar-day input:checked + span,
body.public-page-synced .status-pill,
body.public-page-synced .badge,
body.public-page-synced .notice-badge{
  background:var(--sync-accent)!important;
  color:#fff!important;
}
body.public-page-synced .step.active,
body.public-page-synced .step-line .step.active,
body.public-page-synced .board-head,
body.public-page-synced .board-no,
body.public-page-synced .board-date,
body.public-page-synced .gallery-label,
body.public-page-synced .contact-label{
  color:var(--sync-accent)!important;
  font-weight:950!important;
}
body.public-page-synced .board-table{
  border-top:2px solid var(--sync-accent)!important;
}
body.public-page-synced .board-head,
body.public-page-synced .board-row{
  border-bottom:1px solid var(--sync-line)!important;
}
body.public-page-synced .board-search{
  gap:8px!important;
}
body.public-page-synced .board-search input{
  border-radius:999px!important;
}
body.public-page-synced .board-search button{
  border-radius:999px!important;
}
body.public-page-synced .calendar-head span{
  color:var(--sync-title)!important;
  font-size:21px!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}
body.public-page-synced .calendar-day,
body.public-page-synced .calendar-day span,
body.public-page-synced .calendar-grid button{
  color:var(--sync-title)!important;
  font-weight:850!important;
}
body.public-page-synced .header-nav a:hover,
body.public-page-synced .header-nav a.active,
body.public-page-synced .site-nav a:hover,
body.public-page-synced .site-nav a.active{
  color:var(--sync-accent)!important;
}
@media(max-width:720px){
  body.public-page-synced .page-hero,
  body.public-page-synced .managed-page-hero,
  body.public-page-synced .contact-hero,
  body.public-page-synced .board-title-section,
  body.public-page-synced .content-box,
  body.public-page-synced .managed-page-content,
  body.public-page-synced .board-wrap,
  body.public-page-synced .board-detail{
    width:calc(100% - 24px)!important;
  }
  body.public-page-synced .page-hero,
  body.public-page-synced .managed-page-hero,
  body.public-page-synced .contact-hero,
  body.public-page-synced .board-title-section{
    padding:48px 18px 40px!important;
    border-radius:26px!important;
  }
  body.public-page-synced p,
  body.public-page-synced li,
  body.public-page-synced .content-box p,
  body.public-page-synced .content-box li{
    font-size:14.5px!important;
  }
}


/* V91 make subpages match the main hero screen */
body.public-page-synced{
  background:
    radial-gradient(circle at 0% 0%, rgba(209,247,252,.62), transparent 32%),
    linear-gradient(180deg,#fbfdfe 0%,#f7fbfc 58%,#ffffff 100%)!important;
}
body.public-page-synced .site-header{
  max-width:var(--v60-page-max,1500px)!important;
  margin:0 auto 12px!important;
  height:62px!important;
  padding:0 22px!important;
  background:rgba(255,255,255,.94)!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body.public-page-synced .brand-mark{
  width:36px!important;
  height:36px!important;
  border-radius:14px!important;
  background:#ecfbfd!important;
  color:#0b8ca4!important;
  border:1px solid #bcecf2!important;
  box-shadow:none!important;
}
body.public-page-synced .brand-text strong{
  font-size:17px!important;
  font-weight:760!important;
  color:#123650!important;
}
body.public-page-synced .brand-text small{
  font-size:9px!important;
  color:#638293!important;
  letter-spacing:.12em!important;
}
body.public-page-synced .main-nav{
  gap:20px!important;
}
body.public-page-synced .main-nav a{
  font-size:13px!important;
  color:#557283!important;
  font-weight:650!important;
  padding:9px 0!important;
}
body.public-page-synced .main-nav a.active,
body.public-page-synced .main-nav a:hover{
  color:#0b8ca4!important;
}
body.public-page-synced .main-nav a.active::after{
  background:#0b8ca4!important;
}
body.public-page-synced .main-nav .nav-reserve{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:0 14px!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,#0e88a2,#18aab7)!important;
  color:#fff!important;
}
body.public-page-synced .main-nav .nav-reserve.active::after{
  display:none!important;
}

body.public-page-synced .page-hero,
body.public-page-synced .managed-page-hero,
body.public-page-synced .contact-hero,
body.public-page-synced .board-title-section{
  max-width:var(--v60-page-max,1500px)!important;
  width:calc(100% - 36px)!important;
  min-height:560px!important;
  margin:0 auto 18px!important;
  padding:78px 30px 148px!important;
  border-radius:18px!important;
  border:1px solid #dceff3!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  text-align:left!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  background:
    linear-gradient(90deg, rgba(229,248,251,.96) 0%, rgba(221,246,250,.82) 39%, rgba(196,235,242,.34) 63%, rgba(255,255,255,.06) 100%),
    url('../images/hero-surf.jpg') center right / cover no-repeat!important;
  box-shadow:0 10px 28px rgba(20,68,92,.07)!important;
}
body.public-page-synced .page-hero::after,
body.public-page-synced .managed-page-hero::after,
body.public-page-synced .contact-hero::after,
body.public-page-synced .board-title-section::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:
    linear-gradient(180deg, transparent 0%, rgba(5,89,109,.10) 70%, rgba(5,89,109,.16) 100%)!important;
  pointer-events:none!important;
}
body.public-page-synced .notice-kicker,
body.public-page-synced .board-title-section::before{
  content:"MANGSANG SURF SCHOOL"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  margin:0 0 18px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(159,226,235,.7)!important;
  color:#0a8ca4!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:760!important;
  letter-spacing:.06em!important;
}
body.public-page-synced .page-hero h1,
body.public-page-synced .managed-page-hero h1,
body.public-page-synced .contact-hero h1,
body.public-page-synced .board-title-section h1{
  max-width:560px!important;
  margin:0 0 18px!important;
  color:#103550!important;
  font-size:clamp(42px,5.4vw,68px)!important;
  line-height:1.05!important;
  font-weight:760!important;
  letter-spacing:-.06em!important;
  text-align:left!important;
}
body.public-page-synced .page-hero p,
body.public-page-synced .managed-page-hero p,
body.public-page-synced .contact-hero p,
body.public-page-synced .board-title-section p{
  max-width:540px!important;
  margin:0!important;
  color:#456a7d!important;
  font-size:16px!important;
  line-height:1.7!important;
  font-weight:520!important;
  text-align:left!important;
}
.subpage-hero-info-bar{
  position:absolute;
  z-index:3;
  left:30px;
  right:30px;
  bottom:28px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(220,239,243,.95);
  box-shadow:0 10px 26px rgba(20,68,92,.08);
  backdrop-filter:blur(10px);
}
.subpage-hero-info-bar article{
  min-height:96px;
  padding:17px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  border-right:1px solid #dceff3;
}
.subpage-hero-info-bar article:last-child{
  border-right:0;
}
.subpage-hero-info-bar span{
  color:#0d8fa7!important;
  font-size:12px!important;
  font-weight:800!important;
}
.subpage-hero-info-bar strong{
  color:#103550!important;
  font-size:15px!important;
  font-weight:760!important;
}
.subpage-hero-info-bar small{
  color:#6b8393!important;
  font-size:12px!important;
  font-weight:650!important;
}
body.public-page-synced .content-box,
body.public-page-synced .managed-page-content,
body.public-page-synced .board-wrap,
body.public-page-synced .board-detail,
body.public-page-synced .contact-layout,
body.public-page-synced .reservation-wrap{
  max-width:var(--v60-page-max,1500px)!important;
  width:calc(100% - 36px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.public-page-synced .content-box,
body.public-page-synced .managed-page-content,
body.public-page-synced .board-wrap,
body.public-page-synced .board-detail,
body.public-page-synced .contact-guide-card,
body.public-page-synced .contact-form-card,
body.public-page-synced .reservation-card,
body.public-page-synced .check-card,
body.public-page-synced .gallery-public-simple,
body.public-page-synced .simple-page-section-card{
  border:1px solid #dceff3!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(20,68,92,.07)!important;
}
body.public-page-synced .simple-page-section-card h2,
body.public-page-synced .content-box h2,
body.public-page-synced .managed-page-content h2,
body.public-page-synced .contact-guide-card h2,
body.public-page-synced .contact-form-card h2,
body.public-page-synced .form-title,
body.public-page-synced .gallery-section-title h2{
  color:#103550!important;
  font-size:clamp(24px,2.3vw,34px)!important;
  line-height:1.15!important;
  font-weight:760!important;
  letter-spacing:-.055em!important;
}
body.public-page-synced .simple-page-section-card p,
body.public-page-synced .simple-page-section-card li,
body.public-page-synced .content-box p,
body.public-page-synced .content-box li,
body.public-page-synced .managed-page-content p,
body.public-page-synced .managed-page-content li,
body.public-page-synced .contact-guide-card p,
body.public-page-synced .contact-form-card p,
body.public-page-synced .reservation-card p,
body.public-page-synced .reservation-card li,
body.public-page-synced .board-row,
body.public-page-synced .board-detail-body{
  color:#456a7d!important;
  font-size:15px!important;
  line-height:1.72!important;
  font-weight:520!important;
}
body.public-page-synced .cta,
body.public-page-synced .submit-btn,
body.public-page-synced .reserve-submit,
body.public-page-synced .check-submit,
body.public-page-synced .month-nav,
body.public-page-synced .board-search button,
body.public-page-synced .contact-channel-list a{
  border-radius:16px!important;
  background:linear-gradient(135deg,#0e88a2,#18aab7)!important;
  color:#fff!important;
  border:0!important;
  font-weight:760!important;
  box-shadow:0 12px 22px rgba(14,136,162,.18)!important;
}
body.public-page-synced .board-table{
  border-top:0!important;
}
body.public-page-synced .board-head{
  background:#f6fcfe!important;
  border:1px solid #dceff3!important;
  border-radius:14px!important;
  color:#0d8fa7!important;
}
body.public-page-synced .board-row{
  border:1px solid #edf6f8!important;
  border-radius:14px!important;
  margin-top:8px!important;
  background:#fff!important;
}
@media(max-width:980px){
  body.public-page-synced .page-hero,
  body.public-page-synced .managed-page-hero,
  body.public-page-synced .contact-hero,
  body.public-page-synced .board-title-section{
    min-height:620px!important;
    padding-bottom:230px!important;
  }
  .subpage-hero-info-bar{
    grid-template-columns:repeat(2,1fr);
  }
  .subpage-hero-info-bar article:nth-child(2){
    border-right:0;
  }
  .subpage-hero-info-bar article:nth-child(1),
  .subpage-hero-info-bar article:nth-child(2){
    border-bottom:1px solid #dceff3;
  }
}
@media(max-width:640px){
  body.public-page-synced .site-header{
    height:68px!important;
    padding:0 18px!important;
    margin-bottom:8px!important;
  }
  body.public-page-synced .page-hero,
  body.public-page-synced .managed-page-hero,
  body.public-page-synced .contact-hero,
  body.public-page-synced .board-title-section{
    width:calc(100% - 24px)!important;
    min-height:650px!important;
    padding:48px 22px 250px!important;
    background-position:62% center!important;
  }
  body.public-page-synced .page-hero h1,
  body.public-page-synced .managed-page-hero h1,
  body.public-page-synced .contact-hero h1,
  body.public-page-synced .board-title-section h1{
    font-size:38px!important;
  }
  .subpage-hero-info-bar{
    left:18px;
    right:18px;
    bottom:18px;
  }
  .subpage-hero-info-bar article{
    min-height:82px;
    padding:12px;
  }
}


/* V92 guest reservation check and cancellation request */
.guest-status-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:14px 0 18px;
  padding:18px;
  border:1px solid #dceff3;
  border-radius:18px;
  background:#f6fcfe;
}
.guest-status-card span{
  color:#0d8fa7!important;
  font-size:13px!important;
  font-weight:850!important;
}
.guest-status-card strong{
  color:#103550!important;
  font-size:26px!important;
  font-weight:800!important;
}
.guest-status-card.cancelled strong,
.guest-status-card.weather_cancelled strong{
  color:#c64242!important;
}
.guest-status-card.completed strong{
  color:#168c5b!important;
}
.guest-cancel-request-box{
  display:grid;
  gap:14px;
  margin:22px 0 8px;
  padding:18px;
  border:1px solid #dceff3;
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff,#f6fcfe);
}
.guest-cancel-request-box.requested{
  border-color:#f4d4a6;
  background:#fffaf1;
}
.guest-cancel-request-box strong{
  color:#103550;
  font-size:18px;
  font-weight:850;
}
.guest-cancel-request-box p{
  margin:7px 0 0;
}
.guest-cancel-request-box small{
  display:block;
  margin-top:8px;
  color:#8a6a2d;
  font-weight:700;
}
.guest-cancel-form{
  display:grid;
  gap:10px;
}
.guest-cancel-form textarea{
  width:100%;
  border:1px solid #dceff3;
  border-radius:16px;
  padding:12px;
}


/* V94 reservation check/member request readability fixes */
body.reservation-check-page .reservation-check-box,
body.reservation-check-page .reservation-check-result{
  max-width:960px!important;
}
body.reservation-check-page .reservation-check-result h2{
  font-size:24px!important;
  line-height:1.2!important;
  letter-spacing:-.04em!important;
}
body.reservation-check-page .guest-status-card{
  padding:13px 15px!important;
  border-radius:16px!important;
}
body.reservation-check-page .guest-status-card strong{
  font-size:20px!important;
  font-weight:760!important;
}
body.reservation-check-page .guest-status-card span{
  font-size:12px!important;
}
body.reservation-check-page .summary-row span,
body.reservation-check-page .participant-mini div,
body.reservation-check-page .guest-cancel-request-box p,
body.reservation-check-page .guest-cancel-request-box small{
  font-size:14px!important;
  line-height:1.55!important;
}
body.reservation-check-page .guest-cancel-request-box strong{
  font-size:16px!important;
}
body.reservation-check-page .guest-cancel-form textarea{
  font-size:14px!important;
}
.member-cancel-request-form,
.member-cancel-request-note{
  margin-top:18px;
  padding:15px;
  border:1px solid #f4d4a6;
  border-radius:18px;
  background:#fffaf1;
  display:grid;
  gap:10px;
}
.member-cancel-request-form textarea{
  width:100%;
  border:1px solid #e8d5ae;
  border-radius:14px;
  padding:12px;
  font-size:14px;
}
.member-cancel-request-note strong{
  color:#9b5d00;
  font-size:16px;
  font-weight:850;
}
.member-cancel-request-note p{
  margin:0;
  color:#7b5a22!important;
  font-size:14px!important;
}
.status-badge.cancel-requested{
  background:#fff1d8!important;
  color:#a66b00!important;
  border:1px solid #f4d4a6!important;
}
body.member-reservation-page .reservation-history-item summary{
  align-items:center;
}
body.member-reservation-page .summary-row span{
  font-size:14px!important;
}


/* V95 reservation check typography final trim */
body.reservation-check-page .reservation-check-result h2{
  font-size:21px!important;
}
body.reservation-check-page .summary-row span,
body.reservation-check-page .participant-mini div{
  font-size:13.5px!important;
  line-height:1.5!important;
}
body.reservation-check-page .guest-status-card strong{
  font-size:18px!important;
}


/* V96 public cancellation source labels */
.status-badge.request-cancelled,
.guest-status-card.request_cancelled strong{
  color:#bd4b18!important;
}
.status-badge.request-cancelled{
  background:#fff0e8!important;
  border:1px solid #ffd2b8!important;
}
.guest-status-card.request_cancelled{
  border-color:#ffd2b8!important;
  background:#fff4ed!important;
}


/* V97 reservation/confirm cleanup */
body.reservation-clean-page .reservation-card{
  padding:0!important;
}
body.reservation-clean-page .reservation-inner{
  gap:16px!important;
}
body.reservation-clean-page .member-notice{
  padding:12px 14px!important;
  font-size:14px!important;
  line-height:1.5!important;
}
body.reservation-clean-page .form-section{
  padding:18px!important;
}
body.reservation-clean-page .form-title{
  font-size:22px!important;
  margin-bottom:12px!important;
}
body.reservation-clean-page .step-line{
  margin:10px 0!important;
}
body.reservation-check-page .summary-row span:last-child,
body.member-reservation-page .summary-row span:last-child{
  word-break:break-word;
}


/* V99 public reservation final cleanup */
body.reservation-final-page .page-hero,
body.reservation-final-check-page .page-hero,
body.reservation-final-history-page .page-hero{
  min-height:500px!important;
  padding-top:64px!important;
  padding-bottom:138px!important;
}
body.reservation-final-page .page-hero h1,
body.reservation-final-check-page .page-hero h1,
body.reservation-final-history-page .page-hero h1{
  font-size:clamp(36px,4.8vw,60px)!important;
}
body.reservation-final-page .page-hero p,
body.reservation-final-check-page .page-hero p,
body.reservation-final-history-page .page-hero p{
  font-size:15px!important;
  line-height:1.6!important;
}
body.reservation-final-page .reservation-wrap,
body.reservation-final-check-page .content-box,
body.reservation-final-history-page .content-box{
  max-width:1120px!important;
}
body.reservation-final-page .reservation-card{
  border-radius:20px!important;
  box-shadow:0 10px 28px rgba(20,68,92,.06)!important;
}
body.reservation-final-page .reservation-inner{
  padding:18px!important;
}
body.reservation-final-page .step-line{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:8px!important;
}
body.reservation-final-page .step{
  min-height:44px!important;
  padding:8px!important;
  border-radius:14px!important;
  font-size:12px!important;
}
body.reservation-final-page .step span{
  width:24px!important;
  height:24px!important;
  font-size:12px!important;
}
body.reservation-final-page .form-section{
  border-radius:18px!important;
  margin-top:12px!important;
}
body.reservation-final-page .form-title{
  font-size:20px!important;
}
body.reservation-final-page .calendar-grid{
  gap:5px!important;
}
body.reservation-final-page .calendar-grid button,
body.reservation-final-page .calendar-day{
  min-height:46px!important;
  border-radius:12px!important;
  font-size:13px!important;
}
body.reservation-final-page .time-options,
body.reservation-final-page .form-grid{
  gap:10px!important;
}
body.reservation-final-page input,
body.reservation-final-page select,
body.reservation-final-page textarea,
body.reservation-final-check-page input,
body.reservation-final-check-page textarea,
body.reservation-final-history-page textarea{
  min-height:42px!important;
  border-radius:13px!important;
  font-size:14px!important;
}
body.reservation-final-check-page .reservation-check-box{
  padding:18px!important;
}
body.reservation-final-check-page .reservation-check-box .form-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:10px!important;
  align-items:end!important;
}
body.reservation-final-check-page .reservation-check-result,
body.reservation-final-history-page .reservation-history-item{
  border-radius:18px!important;
  box-shadow:0 10px 24px rgba(20,68,92,.055)!important;
}
body.reservation-final-check-page .reservation-check-result{
  padding:18px!important;
}
body.reservation-final-check-page .reservation-check-result h2{
  font-size:20px!important;
  margin-bottom:10px!important;
}
body.reservation-final-check-page .guest-status-card{
  margin:8px 0 12px!important;
}
body.reservation-final-check-page .summary-body,
body.reservation-final-history-page .summary-body{
  border-radius:16px!important;
}
body.reservation-final-check-page .summary-row,
body.reservation-final-history-page .summary-row{
  min-height:38px!important;
  padding:9px 12px!important;
}
body.reservation-final-check-page .summary-row span,
body.reservation-final-history-page .summary-row span{
  font-size:13.5px!important;
}
body.reservation-final-check-page .participant-mini,
body.reservation-final-history-page .participant-mini{
  display:grid!important;
  gap:6px!important;
}
body.reservation-final-check-page .participant-mini div,
body.reservation-final-history-page .participant-mini div{
  border:1px solid #e5f2f5!important;
  background:#f8fdfe!important;
  border-radius:12px!important;
  padding:9px 10px!important;
  font-size:13px!important;
}
body.reservation-final-history-page .mypage-head{
  display:grid!important;
  gap:12px!important;
}
body.reservation-final-history-page .mypage-actions{
  gap:8px!important;
}
body.reservation-final-history-page .reservation-filter-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:14px 0!important;
}
body.reservation-final-history-page .reservation-filter-tabs a{
  border-radius:999px!important;
  padding:8px 12px!important;
  font-size:13px!important;
}
body.reservation-final-history-page .reservation-history-item summary{
  padding:13px!important;
}
body.reservation-final-history-page .history-summary-left strong{
  font-size:16px!important;
}
body.reservation-final-history-page .history-summary-left span{
  font-size:12.5px!important;
}
body.reservation-final-history-page .history-detail{
  padding:14px!important;
}
@media(max-width:720px){
  body.reservation-final-page .step-line{
    grid-template-columns:repeat(2,1fr)!important;
  }
  body.reservation-final-page .reservation-inner{
    padding:14px!important;
  }
  body.reservation-final-check-page .reservation-check-box .form-grid{
    grid-template-columns:1fr!important;
  }
}


/* V100 compact reservation complete screen */
body.reservation-complete-compact-page main{
  padding-top:18px!important;
}
body.reservation-complete-compact-page .reservation-complete-card{
  max-width:680px!important;
  width:calc(100% - 28px)!important;
  padding:22px!important;
  border-radius:20px!important;
}
.reservation-complete-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.complete-check{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#e8fbfd;
  color:#0d8fa7;
  font-size:30px;
  font-weight:950;
  flex:0 0 auto;
}
.reservation-complete-head h1{
  margin:0!important;
  color:#103550!important;
  font-size:26px!important;
  line-height:1.15!important;
  letter-spacing:-.05em!important;
}
.reservation-complete-head p{
  margin:6px 0 0!important;
  color:#60788a!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.complete-summary{
  margin-top:0!important;
  border:1px solid #dceaf2!important;
  border-radius:16px!important;
}
body.reservation-complete-compact-page .summary-row{
  min-height:38px!important;
  padding:9px 12px!important;
}
body.reservation-complete-compact-page .summary-row span{
  font-size:13.5px!important;
}
.complete-participants{
  margin-top:14px;
  border:1px solid #dceff3;
  border-radius:16px;
  background:#f8fdfe;
  overflow:hidden;
}
.complete-participants summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  color:#103550;
  font-weight:850;
}
.complete-participants summary::-webkit-details-marker{
  display:none;
}
.complete-participants summary::after{
  content:"펼치기";
  float:right;
  color:#0d8fa7;
  font-size:12px;
}
.complete-participants[open] summary::after{
  content:"접기";
}
.complete-participants .participant-mini{
  padding:0 12px 12px;
  display:grid;
  gap:6px;
}
.complete-participants .participant-mini div{
  padding:9px 10px;
  border:1px solid #e5f2f5;
  border-radius:12px;
  background:#fff;
  font-size:13px;
  line-height:1.45;
}
.complete-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.complete-actions .cta{
  min-height:40px!important;
  padding:0 16px!important;
  border-radius:13px!important;
  font-size:14px!important;
}
@media(max-width:640px){
  .reservation-complete-head{
    align-items:flex-start;
  }
  .complete-check{
    width:42px;
    height:42px;
    border-radius:14px;
    font-size:26px;
  }
  .reservation-complete-head h1{
    font-size:22px!important;
  }
}


/* V106 mobile home hero layout fix */
@media(max-width:820px){
  body.mockup-home-page{
    overflow-x:hidden!important;
  }
  body.mockup-home-page .site-header{
    min-height:86px!important;
    padding:12px 18px!important;
  }
  body.mockup-home-page .site-logo,
  body.mockup-home-page .logo{
    font-size:22px!important;
  }
  .home-mockup-main{
    padding:0 10px 26px!important;
  }
  .home-mockup-stage{
    display:block!important;
  }
  .home-mockup-left{
    min-width:0!important;
  }
  .home-mockup-hero{
    min-height:auto!important;
    height:auto!important;
    border-radius:20px!important;
    padding:16px 0 14px!important;
    overflow:hidden!important;
    background-position:center center!important;
  }
  .home-hero-bg-img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .home-hero-layer{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    transform:none!important;
    margin-left:16px!important;
    margin-right:16px!important;
    text-align:left!important;
  }
  .home-hero-kicker-layer{
    margin-top:0!important;
    margin-bottom:8px!important;
  }
  .home-hero-title-layer{
    margin-bottom:8px!important;
  }
  .home-hero-desc-layer{
    margin-bottom:12px!important;
  }
  .home-hero-button-layer{
    margin-top:0!important;
    margin-bottom:14px!important;
  }
  .home-mockup-kicker{
    padding:5px 9px!important;
    font-size:11px!important;
    line-height:1.1!important;
    max-width:100%!important;
  }
  .home-hero-title-layer h1,
  .home-mockup-hero h1{
    max-width:100%!important;
    font-size:clamp(36px,11vw,48px)!important;
    line-height:.98!important;
    letter-spacing:-.075em!important;
    margin:0!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .home-hero-desc-layer p,
  .home-mockup-hero p{
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.35!important;
    font-weight:800!important;
    margin:0!important;
    word-break:keep-all!important;
  }
  .home-mockup-reserve-btn{
    min-height:46px!important;
    padding:0 20px!important;
    border-radius:999px!important;
    font-size:15px!important;
    margin-top:0!important;
  }
  .home-hero-button-layer .home-hero-direct-note{
    margin:10px 0 0!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:850!important;
    max-width:100%!important;
    word-break:keep-all!important;
  }
  .home-mockup-info-bar{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:auto!important;
    transform:none!important;
    margin:0 12px 0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .home-mockup-info-bar div{
    min-width:0!important;
    min-height:102px!important;
    padding:13px 14px!important;
    border-right:1px solid #e7f3f6!important;
    border-bottom:1px solid #e7f3f6!important;
  }
  .home-mockup-info-bar div:nth-child(2n){
    border-right:0!important;
  }
  .home-mockup-info-bar div:nth-last-child(-n+2){
    border-bottom:0!important;
  }
  .home-mockup-info-bar span{
    margin-bottom:6px!important;
    font-size:12px!important;
    line-height:1.25!important;
    word-break:keep-all!important;
  }
  .home-mockup-info-bar strong{
    font-size:17px!important;
    line-height:1.25!important;
    letter-spacing:-.04em!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .home-mockup-info-bar small{
    margin-top:6px!important;
    font-size:13px!important;
    line-height:1.35!important;
    word-break:keep-all!important;
  }
  .home-program-card{
    margin-top:18px!important;
  }
}

@media(max-width:480px){
  .home-mockup-main{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .home-mockup-hero{
    border-radius:18px!important;
    padding-top:14px!important;
  }
  .home-hero-layer{
    margin-left:14px!important;
    margin-right:14px!important;
  }
  .home-hero-title-layer h1,
  .home-mockup-hero h1{
    font-size:clamp(34px,10.8vw,43px)!important;
  }
  .home-hero-desc-layer p,
  .home-mockup-hero p{
    font-size:14px!important;
  }
  .home-mockup-info-bar{
    margin-left:10px!important;
    margin-right:10px!important;
  }
  .home-mockup-info-bar div{
    min-height:94px!important;
    padding:12px 11px!important;
  }
  .home-mockup-info-bar strong{
    font-size:16px!important;
  }
  .home-mockup-info-bar small{
    font-size:12px!important;
  }
}


/* V108 public subpage hero cleanup and smaller mobile home title */
body:not(.mockup-home-page) .subpage-hero-info-bar,
body:not(.mockup-home-page) .home-mockup-info-bar{
  display:none!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero,
body.public-page-synced:not(.mockup-home-page) .contact-hero{
  background:linear-gradient(135deg,#eaf8fb,#ffffff)!important;
  min-height:unset!important;
  padding:54px 20px 46px!important;
  border-radius:0 0 24px 24px!important;
  overflow:hidden!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero::before,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero::before,
body.public-page-synced:not(.mockup-home-page) .contact-hero::before{
  display:none!important;
  content:none!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero h1,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero h1,
body.public-page-synced:not(.mockup-home-page) .contact-hero h1{
  font-size:clamp(30px,7vw,46px)!important;
  line-height:1.08!important;
  margin-bottom:10px!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero p,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero p,
body.public-page-synced:not(.mockup-home-page) .contact-hero p{
  font-size:15px!important;
  line-height:1.55!important;
  max-width:680px!important;
}

@media(max-width:820px){
  .home-hero-title-layer h1,
  .home-mockup-hero h1{
    font-size:clamp(30px,9.2vw,40px)!important;
    line-height:1.02!important;
  }
  .home-mockup-hero{
    padding-top:13px!important;
  }
  .home-mockup-kicker{
    font-size:10px!important;
  }
}
@media(max-width:480px){
  .home-hero-title-layer h1,
  .home-mockup-hero h1{
    font-size:clamp(28px,8.8vw,36px)!important;
  }
  .home-hero-desc-layer p,
  .home-mockup-hero p{
    font-size:13.5px!important;
  }
  .home-mockup-reserve-btn{
    min-height:42px!important;
    font-size:14px!important;
    padding:0 18px!important;
  }
}


/* V109 public subpage hero final polish */
body.public-page-synced:not(.mockup-home-page) .subpage-hero-info-bar,
body.public-page-synced:not(.mockup-home-page) .home-mockup-info-bar,
body.public-page-synced:not(.mockup-home-page) .public-hero-info,
body.public-page-synced:not(.mockup-home-page) .hero-info-grid,
body.public-page-synced:not(.mockup-home-page) .notice-hero-count{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero,
body.public-page-synced:not(.mockup-home-page) .contact-hero,
body.public-page-synced:not(.mockup-home-page) .board-title-section{
  position:relative!important;
  min-height:220px!important;
  padding:58px 28px 54px!important;
  border-radius:0 0 28px 28px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 15%, rgba(13,143,167,.16), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(0,166,214,.14), transparent 30%),
    linear-gradient(135deg,#f0fcff 0%,#ffffff 56%,#eaf8fb 100%)!important;
  box-shadow:0 12px 32px rgba(20,68,92,.055)!important;
  text-align:left!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero::before,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero::before,
body.public-page-synced:not(.mockup-home-page) .contact-hero::before,
body.public-page-synced:not(.mockup-home-page) .board-title-section::before{
  content:""!important;
  position:absolute!important;
  inset:auto -10% -42px -10%!important;
  height:98px!important;
  display:block!important;
  background:linear-gradient(90deg,rgba(13,143,167,.10),rgba(0,166,214,.05),rgba(255,255,255,.4))!important;
  border-radius:50% 50% 0 0!important;
  transform:rotate(-2deg)!important;
  pointer-events:none!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero::after,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero::after,
body.public-page-synced:not(.mockup-home-page) .contact-hero::after,
body.public-page-synced:not(.mockup-home-page) .board-title-section::after{
  content:"MS"!important;
  position:absolute!important;
  right:38px!important;
  top:34px!important;
  width:72px!important;
  height:72px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(13,143,167,.22)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.62)!important;
  color:rgba(13,143,167,.35)!important;
  font-size:22px!important;
  font-weight:950!important;
  pointer-events:none!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero > *,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero > *,
body.public-page-synced:not(.mockup-home-page) .contact-hero > *,
body.public-page-synced:not(.mockup-home-page) .board-title-section > *{
  position:relative!important;
  z-index:2!important;
}
body.public-page-synced:not(.mockup-home-page) .board-title-section .notice-kicker,
body.public-page-synced:not(.mockup-home-page) .page-hero .notice-kicker,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero .notice-kicker,
body.public-page-synced:not(.mockup-home-page) .contact-hero .notice-kicker{
  display:inline-flex!important;
  width:max-content!important;
  margin:0 0 10px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(13,143,167,.18)!important;
  color:#0d8fa7!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero h1,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero h1,
body.public-page-synced:not(.mockup-home-page) .contact-hero h1,
body.public-page-synced:not(.mockup-home-page) .board-title-section h1{
  max-width:680px!important;
  margin:0 0 12px!important;
  color:#103550!important;
  font-size:clamp(32px,5.2vw,56px)!important;
  line-height:1.06!important;
  font-weight:950!important;
  letter-spacing:-.06em!important;
  text-align:left!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero p,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero p,
body.public-page-synced:not(.mockup-home-page) .contact-hero p,
body.public-page-synced:not(.mockup-home-page) .board-title-section p{
  max-width:620px!important;
  margin:0!important;
  color:#5f7785!important;
  font-size:16px!important;
  line-height:1.6!important;
  font-weight:750!important;
  text-align:left!important;
}
@media(max-width:720px){
  body.public-page-synced:not(.mockup-home-page) .page-hero,
  body.public-page-synced:not(.mockup-home-page) .managed-page-hero,
  body.public-page-synced:not(.mockup-home-page) .contact-hero,
  body.public-page-synced:not(.mockup-home-page) .board-title-section{
    min-height:174px!important;
    padding:38px 20px 40px!important;
    border-radius:0 0 22px 22px!important;
  }
  body.public-page-synced:not(.mockup-home-page) .page-hero::after,
  body.public-page-synced:not(.mockup-home-page) .managed-page-hero::after,
  body.public-page-synced:not(.mockup-home-page) .contact-hero::after,
  body.public-page-synced:not(.mockup-home-page) .board-title-section::after{
    width:52px!important;
    height:52px!important;
    right:18px!important;
    top:20px!important;
    border-radius:16px!important;
    font-size:16px!important;
  }
  body.public-page-synced:not(.mockup-home-page) .page-hero h1,
  body.public-page-synced:not(.mockup-home-page) .managed-page-hero h1,
  body.public-page-synced:not(.mockup-home-page) .contact-hero h1,
  body.public-page-synced:not(.mockup-home-page) .board-title-section h1{
    font-size:clamp(30px,9vw,40px)!important;
  }
  body.public-page-synced:not(.mockup-home-page) .page-hero p,
  body.public-page-synced:not(.mockup-home-page) .managed-page-hero p,
  body.public-page-synced:not(.mockup-home-page) .contact-hero p,
  body.public-page-synced:not(.mockup-home-page) .board-title-section p{
    max-width:calc(100% - 58px)!important;
    font-size:14px!important;
    line-height:1.48!important;
  }
}


/* V110 subpage hero decoration cleanup */
body.public-page-synced:not(.mockup-home-page) .page-hero::after,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero::after,
body.public-page-synced:not(.mockup-home-page) .contact-hero::after,
body.public-page-synced:not(.mockup-home-page) .board-title-section::after{
  display:none!important;
  content:none!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero,
body.public-page-synced:not(.mockup-home-page) .contact-hero,
body.public-page-synced:not(.mockup-home-page) .board-title-section{
  background:
    radial-gradient(circle at 8% 12%, rgba(13,143,167,.13), transparent 32%),
    radial-gradient(circle at 88% 0%, rgba(0,166,214,.09), transparent 34%),
    linear-gradient(135deg,#f2fcff 0%,#ffffff 58%,#eaf8fb 100%)!important;
}
body.public-page-synced:not(.mockup-home-page) .page-hero::before,
body.public-page-synced:not(.mockup-home-page) .managed-page-hero::before,
body.public-page-synced:not(.mockup-home-page) .contact-hero::before,
body.public-page-synced:not(.mockup-home-page) .board-title-section::before{
  opacity:.75!important;
}


/* V115 public header logo image */
.brand-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:15px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(13,143,167,.18);
  box-shadow:0 8px 20px rgba(7,59,99,.08);
}
.brand-logo-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
}
@media(max-width:720px){
  .brand-logo-wrap{
    width:40px;
    height:40px;
    flex-basis:40px;
    border-radius:13px;
  }
  .brand-logo-img{
    padding:3px;
  }
}


/* V116 logo frame removal and contact cleanup */
.brand-logo-wrap{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
.brand-logo-img{
  padding:0!important;
  object-fit:contain!important;
  filter:none!important;
}
.contact-clean-page .contact-method-grid-v116{
  display:grid!important;
  gap:10px!important;
}
.contact-clean-page .contact-method-grid-v116 a,
.contact-clean-page .contact-method-grid-v116 .contact-method-disabled{
  position:relative;
  display:grid!important;
  gap:4px;
  padding:16px!important;
  border:1px solid #dceaf2!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#183247!important;
  box-shadow:0 10px 24px rgba(7,59,99,.05);
}
.contact-clean-page .contact-method-grid-v116 a.active{
  border-color:#9fe2eb!important;
  background:linear-gradient(135deg,#f2fdff,#fff)!important;
}
.contact-clean-page .contact-method-grid-v116 .contact-method-disabled{
  opacity:.82;
}
.contact-clean-page .contact-method-grid-v116 em{
  position:absolute;
  right:12px;
  top:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:999px;
  background:#eaf8ff;
  color:#0d8fa7;
  font-style:normal;
  font-size:11px;
  font-weight:950;
}
.contact-clean-page .contact-method-grid-v116 strong{
  color:#0d8fa7;
  font-size:12px;
  font-weight:950;
  letter-spacing:.02em;
}
.contact-clean-page .contact-method-grid-v116 b{
  color:#103550;
  font-size:17px;
  font-weight:950;
}
.contact-clean-page .contact-method-grid-v116 span{
  color:#60788a;
  font-size:13px;
  font-weight:750;
  line-height:1.45;
  padding-right:62px;
}
.contact-clean-page .contact-method-grid-v116 small{
  display:inline-flex;
  width:max-content;
  margin-top:5px;
  padding:7px 10px;
  border-radius:999px;
  background:#103550;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.contact-clean-page .contact-method-grid-v116 .contact-method-disabled small{
  background:#e8eef2;
  color:#60788a;
}
.contact-clean-page .contact-form-card h2{
  word-break:keep-all;
}
@media(max-width:720px){
  .contact-clean-page .contact-method-grid-v116 a,
  .contact-clean-page .contact-method-grid-v116 .contact-method-disabled{
    padding:14px!important;
  }
  .contact-clean-page .contact-method-grid-v116 span{
    padding-right:0;
  }
  .contact-clean-page .contact-method-grid-v116 em{
    position:static;
    width:max-content;
    order:-1;
  }
}


/* V117 horizontal contact methods and default surf logo */
.brand-logo-wrap{
  width:52px!important;
  height:52px!important;
  flex-basis:52px!important;
}
.brand-logo-img.default-surf-logo{
  width:100%!important;
  height:100%!important;
}
.contact-clean-page .contact-method-grid-v116{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.contact-clean-page .contact-method-grid-v116 a,
.contact-clean-page .contact-method-grid-v116 .contact-method-disabled{
  min-height:168px!important;
  align-content:start!important;
}
.contact-clean-page .contact-method-grid-v116 span{
  padding-right:0!important;
}
@media(max-width:980px){
  .contact-clean-page .contact-method-grid-v116{
    grid-template-columns:1fr!important;
  }
  .contact-clean-page .contact-method-grid-v116 a,
  .contact-clean-page .contact-method-grid-v116 .contact-method-disabled{
    min-height:auto!important;
  }
}
@media(max-width:720px){
  .brand-logo-wrap{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }
}


/* V118 contact card layout rollback and always-visible text */
.contact-clean-page .contact-method-grid-v116{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
.contact-clean-page .contact-method-grid-v116 a,
.contact-clean-page .contact-method-grid-v116 .contact-method-disabled{
  min-height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(92px,120px) 1fr auto!important;
  grid-template-areas:
    "label title badge"
    "label desc action"!important;
  align-items:center!important;
  gap:5px 12px!important;
  padding:15px 16px!important;
  opacity:1!important;
  transform:none!important;
}
.contact-clean-page .contact-method-grid-v116 a:hover,
.contact-clean-page .contact-method-grid-v116 .contact-method-disabled:hover{
  transform:none!important;
}
.contact-clean-page .contact-method-grid-v116 em{
  grid-area:badge!important;
  position:static!important;
  display:inline-flex!important;
  justify-self:end!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  white-space:nowrap!important;
}
.contact-clean-page .contact-method-grid-v116 strong{
  grid-area:label!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  white-space:normal!important;
  word-break:keep-all!important;
  line-height:1.2!important;
}
.contact-clean-page .contact-method-grid-v116 b{
  grid-area:title!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  white-space:normal!important;
  word-break:keep-all!important;
  line-height:1.25!important;
}
.contact-clean-page .contact-method-grid-v116 span{
  grid-area:desc!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  padding-right:0!important;
  white-space:normal!important;
  word-break:keep-all!important;
}
.contact-clean-page .contact-method-grid-v116 small{
  grid-area:action!important;
  display:inline-flex!important;
  justify-self:end!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  white-space:nowrap!important;
  margin-top:0!important;
}
@media(max-width:720px){
  .contact-clean-page .contact-method-grid-v116 a,
  .contact-clean-page .contact-method-grid-v116 .contact-method-disabled{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "badge"
      "label"
      "title"
      "desc"
      "action"!important;
    align-items:start!important;
  }
  .contact-clean-page .contact-method-grid-v116 em,
  .contact-clean-page .contact-method-grid-v116 small{
    justify-self:start!important;
  }
}


/* V119 contact method final fix: no hover transparency, no vertical broken text */
.contact-clean-page .contact-method-list-v119{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
.contact-clean-page .contact-method-list-v119 .contact-method-card-v119{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px!important;
  border:1px solid #dceaf2!important;
  border-radius:18px!important;
  background:#ffffff!important;
  color:#103550!important;
  box-shadow:0 10px 24px rgba(7,59,99,.05)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  overflow:visible!important;
  text-decoration:none!important;
}
.contact-clean-page .contact-method-list-v119 .contact-method-card-v119:hover,
.contact-clean-page .contact-method-list-v119 .contact-method-card-v119:focus,
.contact-clean-page .contact-method-list-v119 .contact-method-card-v119.active:hover,
.contact-clean-page .contact-method-list-v119 .contact-method-card-v119.disabled:hover{
  background:#ffffff!important;
  color:#103550!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  box-shadow:0 10px 24px rgba(7,59,99,.05)!important;
}
.contact-clean-page .contact-method-list-v119 .contact-method-card-v119.active{
  border-color:#9fe2eb!important;
  background:linear-gradient(135deg,#f2fdff,#fff)!important;
}
.contact-clean-page .contact-method-list-v119 .contact-method-card-v119.disabled{
  opacity:1!important;
  background:#ffffff!important;
}
.contact-method-main-v119{
  min-width:0!important;
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  opacity:1!important;
  visibility:visible!important;
}
.contact-method-main-v119 strong,
.contact-method-main-v119 b,
.contact-method-main-v119 span,
.contact-method-side-v119 em,
.contact-method-side-v119 small{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
}
.contact-method-main-v119 strong{
  display:block!important;
  color:#0d8fa7!important;
  font-size:13px!important;
  font-weight:950!important;
  line-height:1.25!important;
}
.contact-method-main-v119 b{
  display:block!important;
  color:#103550!important;
  font-size:18px!important;
  font-weight:950!important;
  line-height:1.25!important;
}
.contact-method-main-v119 span{
  display:block!important;
  color:#60788a!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.45!important;
}
.contact-method-side-v119{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  opacity:1!important;
  visibility:visible!important;
}
.contact-method-side-v119 em{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:26px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:#eaf8ff!important;
  color:#0d8fa7!important;
  font-style:normal!important;
  font-size:11px!important;
  font-weight:950!important;
}
.contact-method-side-v119 small{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:#103550!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:950!important;
}
.contact-method-card-v119.disabled .contact-method-side-v119 small{
  background:#e8eef2!important;
  color:#60788a!important;
}
@media(max-width:720px){
  .contact-clean-page .contact-method-list-v119 .contact-method-card-v119{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
  }
  .contact-method-side-v119{
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
  }
}


/* V120 contact method badge removal and stable default order styling */
.contact-method-side-v119 em{
  display:none!important;
}
.contact-method-side-v119{
  min-width:96px!important;
}
.contact-method-side-v119 small{
  margin-left:auto!important;
}
.contact-method-main-v119 strong,
.contact-method-main-v119 b,
.contact-method-main-v119 span{
  text-align:left!important;
}


/* V121 open ready privacy/SEO pages */
.footer-policy-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:8px;
}
.footer-policy-links a{
  color:#dff9ff;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  opacity:.92;
}
.footer-policy-links a:hover{
  opacity:1;
  text-decoration:underline;
}
.policy-page .policy-content-box{
  max-width:980px;
  margin:26px auto 70px;
  padding:28px;
}
.policy-content-box h2{
  color:#103550;
  font-size:21px;
  margin:22px 0 8px;
}
.policy-content-box h2:first-child{
  margin-top:0;
}
.policy-content-box p{
  color:#516e80;
  font-weight:750;
  line-height:1.75;
}
.policy-note{
  margin-top:24px!important;
  padding:14px;
  border-radius:14px;
  background:#fff8e8;
  color:#7b5a18!important;
}
.privacy-agree-card{
  margin:14px 0 16px;
}
.agree a{
  color:#0d8fa7;
  font-weight:950;
  text-decoration:underline;
}
@media(max-width:720px){
  .policy-page .policy-content-box{
    margin:18px 14px 50px;
    padding:20px;
  }
}
