/* The original blue school/directions band, with readable spacing and source photos. */
.ss-school-original.elementor-section,.ss-school-directions-heading.elementor-section,.ss-school-directions.elementor-section{background:var(--ss-blue)!important;color:#fff}
.ss-school-original :is(h2,p,li),.ss-school-directions-heading :is(h2,p),.ss-school-directions :is(h3,p,li,.elementor-widget-text-editor){color:#fff!important}
.ss-school-original>.elementor-container{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:72px}
.ss-school-original .elementor-widget-image>.elementor-widget-container{padding:0;background:transparent;border-radius:0;max-width:300px}
.ss-school-original .elementor-widget-image img{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:300px;object-fit:contain}
.ss-school-original ul{padding-left:22px}
.ss-school-original li{padding-left:4px}
.ss-school-original li+li{margin-top:14px}
.ss-school-original li::marker{color:#fff}
.ss-school-directions-heading.elementor-section{padding-top:20px;padding-bottom:28px}
.ss-school-directions-heading>.elementor-container{border-top:1px solid #ffffff38;padding-top:36px}
.ss-school-directions-heading .elementor-widget-text-editor{max-width:800px}
.ss-school-directions.elementor-section{padding-top:0;padding-bottom:64px}
.ss-school-directions>.elementor-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 40px}
.ss-school-directions>.elementor-container>.elementor-column{width:auto}
.ss-direction-pair.elementor-inner-section{padding:0;margin:0}
.ss-direction-pair>.elementor-container{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:center;max-width:100%!important}
.ss-direction-pair>.elementor-container>.elementor-column{width:auto}
.ss-direction-image img{display:block;width:100%!important;height:300px!important;object-fit:cover!important;border-radius:18px!important}
.ss-direction-text h3.elementor-heading-title{font-size:23px;line-height:1.3;overflow-wrap:anywhere}
.ss-direction-text .elementor-widget-text-editor{font-size:16px;line-height:1.65}
.ss-direction-text ul{padding-left:19px}
.ss-direction-text li+li{margin-top:8px}
.ss-direction-text li::marker{color:#ffffffb3}
/* Two wide tariff columns make duration, total and per-lesson price easy to compare. */
.ss-refined-pricing.ss-pricing>.elementor-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ss-refined-pricing .ss-tariff .ss-tariff-title{background:var(--ss-ice)!important;min-height:116px;padding:26px 28px!important}
.ss-refined-pricing .ss-tariff .ss-tariff-title h3.elementor-heading-title{color:var(--ss-navy)!important;font-size:24px!important}
.ss-refined-pricing .ss-tariff-subtitle{color:var(--ss-muted);margin-top:8px}
.ss-refined-pricing .ss-tariff .ss-tariff-count{padding:22px 28px 0!important}
.ss-refined-pricing .ss-tariff-count .elementor-widget-heading{min-height:0;border:0;padding:0!important}
.ss-refined-pricing .ss-tariff-count .elementor-heading-title{color:var(--ss-blue)!important;font-size:18px!important;line-height:1.5!important}
.ss-refined-pricing .ss-tariff .ss-tariff-body{padding:16px 28px 24px!important}
.ss-rate-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--ss-line);align-items:start}
.ss-rate-label{font-size:16px;line-height:1.6;color:var(--ss-ink)}
.ss-rate-value{text-align:right;line-height:1.4;color:var(--ss-navy);font-size:20px;font-weight:700}
.ss-rate-value strong{font-weight:700!important}
.ss-rate-value small{display:block;font-size:13px;font-weight:400;color:var(--ss-muted);line-height:1.5;margin-top:4px}
.ss-rate-package{padding:18px 20px;margin-top:18px;border-radius:12px;background:var(--ss-ice);font-size:16px;line-height:1.65}
.ss-package-price{color:var(--ss-blue);white-space:nowrap}
.ss-tariff-body .ss-rate-group{font-weight:600!important;font-size:16px!important;margin:24px 0 2px!important;color:var(--ss-navy)!important}
.ss-tariff-body .ss-rate-group:first-child{margin-top:0!important}
.ss-tariff-body .ss-rate-note{font-size:15px!important;color:var(--ss-muted)!important;margin:18px 0 0!important}
.ss-tariff-body .ss-rate-footnote{font-size:13px!important;color:var(--ss-muted)!important;margin:18px 0 0!important}
.ss-refined-pricing .ss-tariff .ss-tariff-action{padding:0 28px 28px!important}
/* Pagination overlays the photo instead of adding a different-height row to some cards. */
:is(.ss-tour-step-card,.ss-trip-step) .elementor-image-carousel-wrapper{position:relative;padding-bottom:0!important}
:is(.ss-tour-step-card,.ss-trip-step) .swiper-pagination{position:absolute!important;top:auto!important;bottom:12px!important;left:0!important;right:0!important;width:100%!important;height:8px!important;margin:0!important;line-height:8px!important;z-index:2}
:is(.ss-tour-step-card,.ss-trip-step) .swiper-pagination-bullet{background:#fff;opacity:.8;box-shadow:0 1px 4px #102b4460}
:is(.ss-tour-step-card,.ss-trip-step) .swiper-pagination-bullet-active{background:var(--ss-blue);opacity:1;outline:1px solid #fff}
:is(.ss-tour-step-card,.ss-trip-step) .elementor-widget-image-carousel{margin:0!important;flex-shrink:0}
.ss-tour-panel .ss-price-emphasis{color:var(--ss-blue);font-weight:700;font-size:18px}
.ss-tour-panel .ss-price-group{font-weight:600;color:var(--ss-blue);padding-top:22px!important;padding-bottom:8px!important;border-bottom:0!important}
@media(min-width:768px) and (max-width:1100px){
 .ss-school-original>.elementor-container{gap:40px;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr)}
 .ss-school-directions>.elementor-container{gap:28px}
 .ss-direction-pair>.elementor-container{grid-template-columns:1fr;gap:20px;align-items:start}
 .ss-direction-image img{height:280px!important}
 .ss-direction-text h3.elementor-heading-title{font-size:23px}
 .ss-refined-pricing .ss-tariff .ss-tariff-title,.ss-refined-pricing .ss-tariff .ss-tariff-body{padding-inline:24px!important}
}
@media(max-width:767px){
 .ss-school-original>.elementor-container{grid-template-columns:1fr;gap:30px}
 .ss-school-original .elementor-widget-image>.elementor-widget-container{max-width:180px}
 .ss-school-original .elementor-widget-image img{max-height:180px}
 .ss-school-directions-heading.elementor-section{padding-top:0;padding-bottom:24px}
 .ss-school-directions-heading>.elementor-container{padding-top:28px}
 .ss-school-directions.elementor-section{padding-top:0;padding-bottom:44px}
 .ss-school-directions>.elementor-container{grid-template-columns:1fr;gap:30px}
 .ss-direction-pair>.elementor-container{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}
 .ss-direction-image img{height:240px!important}
 .ss-direction-text h3.elementor-heading-title{font-size:20px;line-height:1.35}
 .ss-direction-text .elementor-widget-text-editor{font-size:15px;line-height:1.65}
 .ss-refined-pricing.ss-pricing>.elementor-container{grid-template-columns:1fr;gap:24px}
 .ss-refined-pricing .ss-tariff .ss-tariff-title{min-height:0;padding:24px!important}
 .ss-refined-pricing .ss-tariff .ss-tariff-title h3.elementor-heading-title{font-size:23px!important}
 .ss-refined-pricing .ss-tariff .ss-tariff-count{padding:20px 24px 0!important}
 .ss-refined-pricing .ss-tariff .ss-tariff-body{padding:12px 24px 22px!important}
 .ss-refined-pricing .ss-tariff .ss-tariff-action{padding:0 24px 24px!important}
 .ss-rate-row{grid-template-columns:minmax(0,1fr) minmax(110px,1fr);gap:10px;padding:13px 0}
 .ss-rate-value{font-size:18px}.ss-rate-label{font-size:15px}.ss-rate-value small{font-size:12px}
 .ss-rate-package{padding:16px;font-size:15px}
}
