/* Structure only: text, padding, colour and gaps remain native Elementor controls. */
.mp-native-classic { background:var(--mp-ice,#ecfafc); }
.mp-native-classic .mp-classic--header-only { padding-bottom:0; }
.mp-native-classic .mp-native-classic-rail { width:min(1360px,calc(100% - 80px)); margin-inline:auto; }
.mp-native-classic .mp-native-classic-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; justify-items:center; }
.mp-native-classic .mp-native-classic-card { min-width:0; width:100%; max-width:400px; }
.mp-native-classic .mp-native-classic-photo { width:100%; }
.mp-native-classic .mp-native-classic-photo img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; object-position:50% 50%; }
.mp-native-classic .mp-native-classic-body { flex-grow:1; }
.mp-native-classic .mp-native-classic-title .elementor-heading-title { white-space:normal; }
.mp-native-classic .mp-rate-value { margin:0; }
.mp-native-classic .mp-native-classic-link .elementor-button { display:flex; align-items:center; min-height:44px; text-align:left; }
.mp-native-classic .mp-native-classic-link .elementor-button-content-wrapper { width:100%; align-items:center; }
.mp-native-classic .mp-native-classic-link .elementor-button-text { text-align:left; }
.mp-native-classic .mp-native-classic-link .elementor-button-icon { margin-left:auto; }
.mp-native-classic a:focus-visible { outline:3px solid #8b3035; outline-offset:3px; border-radius:4px; }
#classic-prices { scroll-margin-top:110px; }
#vip-prices { scroll-margin-top:110px; }
#royal-prices { scroll-margin-top:110px; }
/* Two pair programmes share the existing card structure and responsive rail. */
@media (min-width:1025px) {
    .mp-native-classic .mp-native-classic-rail--pair { grid-template-columns:repeat(2,minmax(0,400px)); justify-content:center; }
}
.mp-native-royal .mp-native-classic-values { margin-top:auto; justify-content:space-between; }
.mp-native-royal .mp-native-classic-link .elementor-button-text { text-align:center; }
/* Existing VIP price lists keep their icon geometry while values come from the catalogue. */
.elementor-5423 .elementor-widget-monpasie-classic-rate-duration .elementor-icon-list-items { list-style:none; margin:0; padding:0; }
.elementor-5423 .elementor-widget-monpasie-classic-rate-duration .elementor-icon-list-item { display:flex; align-items:center; }
.elementor-5423 .elementor-widget-monpasie-classic-rate-duration .elementor-icon-list-icon { display:flex; align-items:center; padding-right:5px; }
.elementor-5423 .elementor-widget-monpasie-classic-rate-duration .elementor-icon-list-text { padding-inline-start:5px; }
.elementor-5423 .elementor-widget-monpasie-classic-rate-price .mp-rate-value,
.elementor-5423 .elementor-widget-monpasie-classic-rate-duration .mp-rate-value { margin:0; }
@media (max-width:1024px) {
    .mp-native-classic .mp-native-classic-rail { width:calc(100% - 32px); }
    .mp-native-classic .mp-native-classic-rail { display:flex; flex-direction:row; flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; padding-block:4px; }
    .mp-native-classic .mp-native-classic-rail::-webkit-scrollbar { display:none; }
    .mp-native-classic .mp-native-classic-card { flex:0 0 min(400px,calc(100% - 24px)); width:min(400px,calc(100% - 24px)); scroll-snap-align:start; }
}
@media (prefers-reduced-motion:reduce) { .mp-native-classic .mp-native-classic-rail { scroll-behavior:auto; } }
