#program { margin:0; padding:50px 0; overflow:hidden; }
#program>.container { max-width:none; padding:0; }
#program .reviews_title { max-width:1310px; margin:0 auto; padding:0 15px; }
#program .main_title { font-size:40px; font-weight:500; line-height:1; }
#program :is(h3,p,li,a,.slider_btm2) { text-box-trim:trim-both; text-box-edge:cap alphabetic; }
#program .slider-program__slider { margin:30px auto 0; padding:20px 30px 0; overflow:visible; }
#program .swiper-wrapper { align-items:stretch; }
#program .slider-program__slide { width:380px; height:auto; box-sizing:border-box; position:relative; display:flex; }
#program .sp_slide-block { border:1px solid #dadada; border-radius:30px; overflow:hidden; display:flex; flex-direction:column; width:100%; }
#program .sp_slide-block>img { width:100%; height:auto; aspect-ratio:600/338; object-fit:cover; display:block; flex-shrink:0; }
#program .sp_slide-block_info { padding:30px; flex:1; display:flex; flex-direction:column; min-height:0; gap:0; align-items:stretch; justify-content:flex-start; }
#program .info_ul { margin:0 0 30px; gap:5px 2px; }
#program .info_ul li { padding:9px 8px; font-size:12px; line-height:1.2; }
#program .sp_slide-block_info h3 { font-size:32px; line-height:1; font-weight:600; margin:0 0 20px; }
#program .program-description { font-size:18px; line-height:1.2; }
#program .program-description p { font-size:inherit; line-height:inherit; margin:0; }
#program .program-description p+p { margin-top:12px; }
#program .slider_btm_block { margin:auto 0 0; padding-top:30px; gap:10px; width:100%; }
#program .slider_btm,#program .slider_btm2 { display:block; margin:0; padding:20px 0; font-size:24px; line-height:1; font-weight:500; border:0; }

#program .slider_btm2:hover { background:var(--Dark-blue, #0A1946); color:#fff; transform:scale(1.05); }
#program .slider_btm2:active { background:var(--Dark-blue, #0A1946); color:#fff; transform:scale(0.95); }
#program .pagination { margin:50px 0 0; padding:0; height:10px; }
#program .swiper-pagination { position:static; height:10px; display:flex; justify-content:center; gap:5px; }
#program .swiper-pagination-bullet { width:10px; height:10px; margin:0; background:#d9d9d9; opacity:1; }
#program .swiper-pagination-bullet-active { width:30px; border-radius:20px; background:#e70000; }
#program .program-new { position:absolute; top:-19px; left:30px; z-index:2; background:white; color:#0a1946; border-radius:10px; padding:10px; font-size:24px; line-height:1; box-shadow:0 4px 17px #0004; }
@media(max-width:700px) {
 #program { padding:30px 0; }
 #program .main_title { font-size:28px; }
 #program .slider-program__slider { padding-left:16px; padding-right:16px; margin-top:30px; }
 #program .slider-program__slide { width:min(380px,calc(100vw - 48px)); }
 #program .sp_slide-block_info { padding:24px; }
 #program .slider_btm,#program .slider_btm2 { font-size:20px; }
}

/* Detailed program content uses the existing popup layout. */
.popup_form .program-popup-highlights { margin:0; padding-left:24px; list-style:disc; font-size:16px; line-height:1.2; }
.popup_form .program-popup-highlights li { margin-bottom:12px; }
.popup_form .program-popup-highlights li:last-child { margin-bottom:0; }

/* Program terms match the two-column rows in Figma. */
.popup_form[class*="program_popup_"] .block_right_text > .info_p:has(strong) {
 display:grid;
 grid-template-columns:159px minmax(0,1fr);
 column-gap:20px;
 border:0;
 padding:0;
 margin-top:20px;
}
.popup_form[class*="program_popup_"] .program-popup-highlights {
 padding-bottom:28px;
 border-bottom:1px solid #dadada;
}
@media(max-width:600px) {
 .popup_form[class*="program_popup_"] .block_right_text > .info_p:has(strong) {
  grid-template-columns:125px minmax(0,1fr);
  column-gap:12px;
 }
}
.popup_form[class*="program_popup_"] .popup_form_block { width:1170px; max-width:calc(100% - 30px); }
.popup_form[class*="program_popup_"] .popup_left { flex:0 0 431px; }
.popup_form[class*="program_popup_"] .sone_block_right { flex:1; min-width:0; }
.popup_form[class*="program_popup_"] .block_right_text { padding:40px 60px; }
.popup_form[class*="program_popup_"] .block_right_text > p.info_p,
.popup_form[class*="program_popup_"] .program-popup-highlights { font-size:20px; line-height:1.2; }
.popup_form[class*="program_popup_"] .block_right_text .info_ul li { font-size:12px; padding:9px 8px; }
.popup_form[class*="program_popup_"] .block_right_btm { padding:0 60px 20px; box-shadow:none; }
@media(max-width:900px) {
 .popup_form[class*="program_popup_"] .popup_left { flex-basis:35%; }
 .popup_form[class*="program_popup_"] .block_right_text { padding:30px; }
 .popup_form[class*="program_popup_"] .block_right_btm { padding:0 30px 20px; }
}
@media(max-width:600px) {
 .popup_form[class*="program_popup_"] .popup_left { flex:0 0 auto; }
 .popup_form[class*="program_popup_"] .block_right_text { padding:20px; }
 .popup_form[class*="program_popup_"] .block_right_btm { padding:20px; }
}
.popup_form[class*="program_popup_"] .block_right_btm .btm { width:100%; }
.popup_form[class*="program_popup_"] .popup_form_block > button.closeButton { position:absolute; top:24px; right:24px; width:32px; height:32px; padding:0; background:transparent; border:0; z-index:2; }
.popup_form[class*="program_popup_"] .popup_form_block > button.closeButton svg { display:none; }
.popup_form[class*="program_popup_"] .popup_form_block > button.closeButton::before,
.popup_form[class*="program_popup_"] .popup_form_block > button.closeButton::after { content:""; position:absolute; top:15px; left:-4px; width:40px; height:2px; background:#e70000; transform:rotate(45deg); }
.popup_form[class*="program_popup_"] .popup_form_block > button.closeButton::after { transform:rotate(-45deg); }

.program_popup_0 .popup_left { position:relative; }
.program-popup-new { position:absolute; top:20px; left:20px; z-index:1; padding:10px; border-radius:10px; background:#fff; color:#0a1946; font-size:24px; line-height:1; box-shadow:0 4px 17px #0004; }
