/* 동적 일정·접수 컴포넌트. 전체 페이지 레이아웃은 Elementor에서 편집합니다. */
.rd-free-empty,.rd-free-event,.rd-free-form-card,.rd-free-complete{border:.0625rem solid #E8E6E3;border-radius:var(--rd-radius,.75rem);background:#fff}
.rd-free-empty{padding:3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}
.rd-free-empty h3,.rd-free-event h3,.rd-free-form-card h2,.rd-free-summary h2,.rd-free-complete h1,.rd-free-complete h2,.rd-free-month-head h3{font-family:Paperlogy,sans-serif;color:#20201F;line-height:1.4;margin:0}
.rd-free-empty h3,.rd-free-event h3{font-size:1.5rem}.rd-free-calendar-icon{width:3rem;height:3rem;color:#F47A32;line-height:1}
.rd-free-empty p,.rd-free-event p,.rd-free-summary p,.rd-free-form-card p,.rd-free-complete p{font-family:Pretendard,sans-serif;color:#625E58;line-height:1.7;margin:0}
.rd-free-primary,.rd-free-secondary,.rd-free-back{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.875rem 1.25rem;border-radius:var(--rd-radius,.75rem);text-decoration:none;font:600 1rem/1.4 Pretendard,sans-serif;cursor:pointer;box-sizing:border-box;max-width:100%}
.rd-free-primary{background:#F47A32;color:#20201F;border:.0625rem solid #F47A32}.rd-free-primary:hover{background:#E56516;color:#20201F}
.rd-free-secondary{background:#fff;color:#20201F;border:.0625rem solid #C4C0BA}.rd-free-secondary:hover{background:#FFF1E3;color:#20201F}
.rd-free-back{color:#625E58}.rd-free-primary:disabled,.rd-free-secondary:disabled{background:#F5F4F2;color:#625E58;border-color:#E8E6E3;cursor:default}
.rd-free-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.rd-free-event-list.is-compact{grid-template-columns:1fr;height:100%}
.rd-free-event-list.is-compact .rd-free-event{height:100%}
.rd-free-event{overflow:hidden}.rd-free-event>img{width:100%;height:12rem;object-fit:cover}.rd-free-event>div{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.rd-free-event h3 a{color:inherit;text-decoration:none}
.rd-free-badge{display:inline-flex;align-self:flex-start;background:#FFF1E3;color:#A7460C;padding:.375rem .625rem;border-radius:var(--rd-radius,.75rem);font:600 .875rem/1.5 Pretendard,sans-serif}
.rd-free-month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.rd-free-month-head a{min-width:2.75rem;min-height:2.75rem;display:grid;place-items:center;border:.0625rem solid #E8E6E3;border-radius:var(--rd-radius,.75rem);color:#20201F}.rd-free-month-head h3{font-size:1.5rem}
.rd-free-month{width:100%;table-layout:fixed;border-collapse:collapse;font-family:Pretendard,sans-serif}.rd-free-month th{padding:1rem;background:#F5F4F2;font-weight:600}.rd-free-month td{height:7rem;vertical-align:top;padding:.75rem;border:.0625rem solid #E8E6E3}.rd-free-month td a{display:block;margin-top:.5rem;padding:.375rem;background:#FFF1E3;color:#A7460C;font-size:.875rem;overflow-wrap:anywhere}.rd-free-mobile-dates{display:none}
.rd-free-summary{display:flex;flex-direction:column;gap:1.5rem}.rd-free-summary>img{width:100%;height:20rem;object-fit:cover;border-radius:var(--rd-radius,.75rem)}.rd-free-summary h2{font-size:2rem}.rd-free-summary dl{margin:0}.rd-free-summary dl>div{display:grid;grid-template-columns:6rem 1fr;gap:1rem;padding:1.25rem 0;border-bottom:.0625rem solid #E8E6E3}.rd-free-summary dd{margin:0;color:#625E58}
.rd-free-form-card{padding:2rem;display:flex;flex-direction:column;gap:1.25rem;font-family:Pretendard,sans-serif}.rd-free-form-card h2{font-size:2rem}.rd-free-field{display:flex;flex-direction:column;gap:.625rem}.rd-free-field label{font-weight:600;color:#20201F}.rd-free-form-card input[type=text],.rd-free-form-card input[type=email]{width:100%;box-sizing:border-box;padding:.875rem 1rem;min-height:3rem;border:.0625rem solid #C4C0BA;border-radius:var(--rd-radius,.75rem);font:inherit;color:#20201F;background:white}.rd-free-form-card input[aria-invalid=true]{border-color:#A12C20}.rd-free-check{display:flex;align-items:flex-start;gap:.75rem;min-height:2.75rem;line-height:1.6;cursor:pointer}.rd-free-check input{appearance:auto;width:1.125rem;height:1.125rem;margin:.2rem 0 0;flex-shrink:0;accent-color:#F47A32}.rd-free-consent{padding:1rem;background:#F5F4F2;border-radius:var(--rd-radius,.75rem)}.rd-free-consent summary{cursor:pointer;min-height:2.75rem;display:flex;align-items:center}.rd-free-consent p{white-space:normal;margin-top:.75rem;overflow-wrap:anywhere}.rd-free-trap{position:absolute;left:-10000rem;width:1rem;height:1rem;overflow:hidden}.rd-free-errors{padding:1rem;border:.0625rem solid #A12C20;border-radius:var(--rd-radius,.75rem)}.rd-free-errors a{display:block;color:#A12C20;margin-top:.5rem}.rd-free-form-card .rd-free-field-error{color:#A12C20;font-size:.9375rem}.rd-free-notice{padding:1rem;background:#FFF1E3;border-radius:var(--rd-radius,.75rem)}
.rd-free-complete{max-width:44rem;margin:0 auto;padding:2.5rem;display:flex;flex-direction:column;gap:1.5rem;text-align:center;font-family:Pretendard,sans-serif;overflow-wrap:anywhere}.rd-free-complete h1{font-size:2rem}.rd-free-complete h2{font-size:1.5rem}.rd-free-success{margin:auto;width:4.5rem;height:4.5rem;display:grid;place-items:center;background:#FFF1E3;color:#F47A32;border-radius:50%;font-size:2.5rem}.rd-free-receipt-summary{background:#FFF1E3;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;text-align:left}.rd-free-complete>.rd-free-badge{align-self:center}.rd-free-complete form{padding:1.5rem;border:.0625rem solid #E8E6E3;border-radius:var(--rd-radius,.75rem);display:flex;flex-direction:column;gap:1rem}.rd-free-complete .rd-free-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.rd-free-complete .rd-free-empty{border:0;padding:0}
.rd-free-faq details{border-bottom:.0625rem solid #E8E6E3;padding:1rem 0}.rd-free-faq summary{cursor:pointer;min-height:2.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600;list-style:none}.rd-free-faq summary::-webkit-details-marker{display:none}.rd-free-faq summary:after{content:'+';font-size:1.5rem}.rd-free-faq details[open] summary:after{content:'−'}.rd-free-faq p{color:#625E58;line-height:1.7;margin:1rem 0}
.rd-free-primary:focus-visible,.rd-free-secondary:focus-visible,.rd-free-month-head a:focus-visible,.rd-free-form-card input:focus-visible,.rd-free-faq summary:focus-visible,.rd-free-consent summary:focus-visible{outline:.125rem solid #A7460C;outline-offset:.25rem}
@media(max-width:47.9375rem){.rd-free-event-list{grid-template-columns:1fr}.rd-free-month{display:none}.rd-free-mobile-dates{display:flex;flex-direction:column;gap:1rem}.rd-free-mobile-dates a{display:block;padding:1rem;background:#FFF1E3;color:#A7460C;border-radius:var(--rd-radius,.75rem)}.rd-free-empty{padding:2rem 1.25rem}.rd-free-form-card,.rd-free-complete{padding:1.5rem}.rd-free-summary>img{height:14rem}.rd-free-summary h2,.rd-free-form-card h2,.rd-free-complete h1{font-size:1.75rem}.rd-free-complete .rd-free-actions{flex-direction:column}.rd-free-summary dl>div{grid-template-columns:4rem 1fr}}

/* 월별 일정: 루앙데이 캘린더 */
.rd-free-calendar-shell{
  padding:1.5rem;
  border:.0625rem solid #EFE7DE;
  border-radius:var(--rd-radius,.75rem);
  background:#FAF8F5;
  box-shadow:0 .75rem 2.5rem rgba(70,55,40,.06);
}
.rd-free-calendar-shell .rd-free-month-head{
  min-height:5.5rem;
  margin:0 0 1rem;
  padding:1rem 1.25rem;
  border:.0625rem solid #F0E8DF;
  border-radius:var(--rd-radius,.75rem);
  background:#FFF;
}
.rd-free-calendar-shell .rd-free-month-head h3{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.25rem;
  font-size:1.625rem;
  letter-spacing:-.025em;
}
.rd-free-calendar-shell .rd-free-month-head h3 small{
  color:#A7460C;
  font:600 .75rem/1.4 Pretendard,sans-serif;
  letter-spacing:.08em;
}
.rd-free-calendar-shell .rd-free-month-nav{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-width:5.75rem;
  min-height:2.75rem;
  padding:.625rem 1rem;
  border:.0625rem solid #E8E1D8;
  border-radius:999rem;
  background:#FFF;
  color:#625E58;
  font:600 .875rem/1 Pretendard,sans-serif;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease;
}
.rd-free-calendar-shell .rd-free-month-nav:hover{
  transform:translateY(-.125rem);
  border-color:#F47A32;
  background:#FFF1E3;
  color:#A7460C;
}
.rd-free-calendar-shell .rd-free-month{
  border-collapse:separate;
  border-spacing:.5rem;
  background:transparent;
}
.rd-free-calendar-shell .rd-free-month th{
  padding:.625rem .5rem;
  border:0;
  background:transparent;
  color:#625E58;
  font-size:.8125rem;
  line-height:1.4;
}
.rd-free-calendar-shell .rd-free-month th:first-child{color:#C85A3B}
.rd-free-calendar-shell .rd-free-month th:last-child{color:#5C6C82}
.rd-free-calendar-shell .rd-free-month td,
.rd-free-calendar-shell .rd-free-month tbody tr:nth-child(n) td{
  height:7.75rem;
  padding:.625rem;
  border:.0625rem solid #EEE7DE;
  border-radius:var(--rd-radius,.75rem);
  background:#FFF;
  box-shadow:0 .125rem .5rem rgba(70,55,40,.035);
}
.rd-free-calendar-shell .rd-free-month td.is-outside,
.rd-free-calendar-shell .rd-free-month tbody tr:nth-child(n) td.is-outside{
  background:#F4F1ED;
  border-color:transparent;
  box-shadow:none;
}
.rd-free-calendar-shell .rd-free-month td.is-today{
  border-color:#F47A32;
  box-shadow:0 0 0 .125rem rgba(243,112,32,.1);
}
.rd-free-calendar-shell .rd-free-day-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.75rem;
  height:1.75rem;
  color:#625E58;
  font-size:.8125rem;
  font-weight:600;
  line-height:1;
}
.rd-free-calendar-shell .rd-free-month td:first-child .rd-free-day-number{color:#C85A3B}
.rd-free-calendar-shell .rd-free-month td:last-child .rd-free-day-number{color:#5C6C82}
.rd-free-calendar-shell .rd-free-month td.is-today .rd-free-day-number{
  border-radius:50%;
  background:#F47A32;
  color:#FFF;
  box-shadow:0 .25rem .75rem rgba(243,112,32,.22);
}
.rd-free-calendar-shell .rd-free-calendar-event{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:.1875rem;
  margin-top:.375rem;
  padding:.5rem .625rem .5rem .75rem;
  overflow:hidden;
  border:.0625rem solid #F7D8BF;
  border-radius:var(--rd-radius,.75rem);
  background:#FFF1E3;
  color:#773407;
  font-size:.8125rem;
  font-weight:600;
  line-height:1.45;
  text-decoration:none;
  box-shadow:0 .25rem .75rem rgba(167,70,12,.06);
}
.rd-free-calendar-shell .rd-free-calendar-event::before{
  content:'';
  position:absolute;
  inset:.35rem auto .35rem .25rem;
  width:.1875rem;
  border-radius:999rem;
  background:#F47A32;
}
.rd-free-calendar-shell .rd-free-calendar-event small{
  color:#A7460C;
  font-size:.75rem;
  font-weight:700;
}
.rd-free-calendar-shell .rd-free-calendar-event:hover{
  border-color:#F47A32;
  background:#FDE4D0;
  color:#5F2A07;
}
.rd-free-calendar-shell .rd-free-calendar-event:focus-visible,
.rd-free-calendar-shell .rd-free-month-nav:focus-visible{
  outline:.1875rem solid #A7460C;
  outline-offset:.1875rem;
}
.rd-free-calendar-empty{
  display:flex;
  flex-direction:column;
  gap:.375rem;
  padding:1.5rem;
  border:.0625rem solid #EEE7DE;
  border-radius:var(--rd-radius,.75rem);
  background:#FFF;
  color:#20201F;
  font-family:Pretendard,sans-serif;
}
.rd-free-calendar-empty span{color:#625E58;font-size:.875rem}

/* 메인 페이지: 단일 특강 카드와 나란히 쓰는 간결한 월간 달력 */
.rd-free-calendar-shell.is-compact{
  height:100%;
  padding:1.5rem;
  border-color:#E8E6E3;
  background:#F6F6F4;
  box-shadow:none;
}
.rd-free-calendar-shell.is-compact .rd-free-month-head{
  min-height:4.25rem;
  margin-bottom:.75rem;
  padding:.75rem 1rem;
}
.rd-free-calendar-shell.is-compact .rd-free-month-head h3{font-size:1.375rem}
.rd-free-calendar-shell.is-compact .rd-free-month-nav{
  min-width:2.75rem;
  width:2.75rem;
  height:2.75rem;
  padding:0;
  border-radius:50%;
}
.rd-free-calendar-shell.is-compact .rd-free-month-nav span:not([aria-hidden]){display:none}
.rd-free-calendar-shell.is-compact .rd-free-month{border-spacing:.25rem}
.rd-free-calendar-shell.is-compact .rd-free-month th{padding:.375rem .25rem}
.rd-free-calendar-shell.is-compact .rd-free-month td,
.rd-free-calendar-shell.is-compact .rd-free-month tbody tr:nth-child(n) td{
  height:3.75rem;
  padding:.25rem;
  border-radius:.5rem;
}
.rd-free-calendar-shell.is-compact .rd-free-day-number{
  width:1.5rem;
  height:1.5rem;
  font-size:.75rem;
}
.rd-free-calendar-shell.is-compact .rd-free-calendar-event{
  min-height:.5rem;
  margin-top:.125rem;
  padding:.125rem .25rem .125rem .5rem;
  border-radius:.375rem;
  font-size:.6875rem;
}
.rd-free-calendar-shell.is-compact .rd-free-calendar-event::before{inset:.1875rem auto .1875rem .1875rem;width:.125rem}
.rd-free-calendar-shell.is-compact .rd-free-calendar-event small{font-size:.6875rem}
.rd-free-calendar-shell.is-compact .rd-free-calendar-event span{display:none}
.rd-free-calendar-shell.is-compact .rd-free-mobile-dates{
  display:none;
  flex-direction:column;
  gap:.75rem;
  margin-top:1rem;
}
.rd-free-calendar-shell.is-compact .rd-free-mobile-dates a{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.25rem 1rem;
  padding:.875rem 1rem;
  border:.0625rem solid #E8E6E3;
  border-radius:var(--rd-radius,.75rem);
  background:#FFF;
  color:#20201F;
  text-decoration:none;
}
.rd-free-calendar-shell.is-compact .rd-free-mobile-dates a time{grid-column:1/-1;color:#A7460C;font:600 .75rem/1.4 Pretendard,sans-serif}
.rd-free-calendar-shell.is-compact .rd-free-mobile-dates a strong{font:600 .9375rem/1.45 Paperlogy,sans-serif}
.rd-free-calendar-shell.is-compact .rd-free-mobile-dates a span{align-self:center;color:#A7460C;font:600 .75rem/1.4 Pretendard,sans-serif;white-space:nowrap}
@media(max-width:64rem){
  .rd-free-calendar-shell{padding:1rem}
  .rd-free-calendar-shell .rd-free-month{border-spacing:.375rem}
  .rd-free-calendar-shell .rd-free-month td,
  .rd-free-calendar-shell .rd-free-month tbody tr:nth-child(n) td{height:7rem;padding:.5rem}
  .rd-free-calendar-shell .rd-free-calendar-event{font-size:.75rem;padding-inline:.625rem .5rem}
}
@media(max-width:47.9375rem){
  .rd-free-calendar-shell{padding:.875rem;border-radius:var(--rd-radius,.75rem)}
  .rd-free-calendar-shell .rd-free-month-head{min-height:4.75rem;padding:.75rem;margin-bottom:.875rem}
  .rd-free-calendar-shell .rd-free-month-head h3{font-size:1.25rem}
  .rd-free-calendar-shell .rd-free-month-head h3 small{font-size:.75rem}
  .rd-free-calendar-shell .rd-free-month-nav{min-width:2.75rem;width:2.75rem;height:2.75rem;padding:0;border-radius:50%}
  .rd-free-calendar-shell .rd-free-month-nav span:not([aria-hidden]){display:none}
  .rd-free-mobile-dates{gap:.75rem}
  .rd-free-mobile-dates a{
    display:grid;
    grid-template-columns:1fr auto;
    gap:.375rem 1rem;
    padding:1.125rem;
    border:.0625rem solid #F0DED0;
    border-radius:var(--rd-radius,.75rem);
    background:#FFF;
    color:#20201F;
    text-decoration:none;
    box-shadow:0 .25rem 1rem rgba(70,55,40,.05);
  }
  .rd-free-mobile-dates a time{grid-column:1/-1;color:#A7460C;font:600 .8125rem/1.4 Pretendard,sans-serif}
  .rd-free-mobile-dates a strong{font:600 1rem/1.5 Paperlogy,sans-serif}
  .rd-free-mobile-dates a span{align-self:center;color:#A7460C;font:600 .75rem/1.4 Pretendard,sans-serif;white-space:nowrap}
  .rd-free-mobile-dates a:hover{border-color:#F47A32;background:#FFF8F1}
  .rd-free-calendar-shell.is-compact{padding:.875rem}
  .rd-free-calendar-shell.is-compact .rd-free-mobile-dates{display:flex;margin-top:0}
}
@media(prefers-reduced-motion:reduce){
  .rd-free-calendar-shell .rd-free-month-nav{transition:none}
  .rd-free-calendar-shell .rd-free-month-nav:hover{transform:none}
}
