/* MTCC Page Templates — shared styles (pages using an MTCC template) */
/* Brand: navy #11202a, text #1d394b, blue #26598c, red #f11f21 */
.mtcc-eyebrow .elementor-heading-title{font-family:'Open Sans',sans-serif !important;font-size:13px !important;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#f11f21 !important;margin:0}
.mtcc-tagline .elementor-heading-title{font-family:'Open Sans',sans-serif !important;font-size:20px !important;font-style:italic;font-weight:400;color:#26598c !important;margin:0}
.mtcc-copy p{margin:0 0 1em;line-height:1.75}
.mtcc-list ul{list-style:none;margin:8px 0 0;padding:0}
.mtcc-list li{position:relative;margin:0;padding:14px 0 14px 34px;border-top:1px solid rgba(17,32,42,.12);line-height:1.6}
.mtcc-list li:last-child{border-bottom:1px solid rgba(17,32,42,.12)}
.mtcc-list li:before{content:"";position:absolute;left:4px;top:23px;width:12px;height:6px;border-left:2px solid #26598c;border-bottom:2px solid #26598c;transform:rotate(-45deg)}
.mtcc-list strong{color:#11202a;font-weight:600}
.mtcc-dine-carousel .swiper-slide-image{width:100% !important;aspect-ratio:4/5;object-fit:cover}
.mtcc-dine-carousel .elementor-swiper-button{width:52px;height:52px;background:#fff;color:#26598c;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.mtcc-dine-carousel .elementor-swiper-button svg{fill:#26598c;width:16px;height:16px}
.mtcc-cta .mtcc-eyebrow .elementor-heading-title{color:#fff !important}
.mtcc-cta .mtcc-copy p{color:#fff}
@media (max-width:767px){.mtcc-dine-carousel .swiper-slide-image{aspect-ratio:4/3}}
.mtcc-eyebrow--light .elementor-heading-title{color:#fff !important}
.mtcc-banner .elementor-heading-title{color:#fff}
.mtcc-dine-carousel .swiper-wrapper{will-change:transform}
.mtcc-dine-carousel .swiper-slide{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-transform:translateZ(0);transform:translateZ(0)}
.mtcc-dine-carousel .swiper-slide-image{transition:none !important}

/* 1.0.3 — Stop the carousel/container resize loop (whole-page flicker).
   A Swiper slider inside an Elementor flex container can keep widening its column,
   which makes it recalculate again and again. Pin the widths so the loop can't start. */
body.mtcc-tpl-page .e-con,
body.mtcc-tpl-page .e-con-inner,
body.mtcc-tpl-page .e-con > .elementor-widget,
body.mtcc-tpl-page .e-con-inner > .elementor-widget { min-width: 0; }
body.mtcc-tpl-page .e-con:has(> .mtcc-dine-carousel),
body.mtcc-tpl-page .e-con:has(> .e-con-inner > .mtcc-dine-carousel) { min-width: 0; overflow: hidden; }
.mtcc-dine-carousel,
.mtcc-dine-carousel > .elementor-widget-container,
.mtcc-dine-carousel .elementor-image-carousel-wrapper,
.mtcc-dine-carousel .swiper {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}
.mtcc-dine-carousel .swiper-slide { flex-shrink: 0; }
/* Banner photo: keep the slow zoom inside the banner so it can't widen the page. */
body.mtcc-tpl-page .vshow-hero { contain: paint; }

/* ==================================================================
   1.2.0 — "Light & airy" Dine & Drink design
   ================================================================== */
.mtcc-dd-section { overflow: hidden; }
.mtcc-dd-section > .e-con,
.mtcc-dd-section > .elementor-widget { width: 100%; max-width: none; }

/* Centred intro */
.mtcc-dd-head.e-con { max-width: 780px; margin-inline: auto; text-align: center; }
.mtcc-dd-head .mtcc-copy p { font-size: 17px; line-height: 1.8; }
.mtcc-dd-head .mtcc-copy p:last-child { margin-bottom: 0; }
.mtcc-dd-head .mtcc-eyebrow .elementor-heading-title,
.mtcc-dd-cta .mtcc-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 14px; }
.mtcc-dd-head .mtcc-eyebrow .elementor-heading-title::before,
.mtcc-dd-head .mtcc-eyebrow .elementor-heading-title::after,
.mtcc-dd-cta .mtcc-eyebrow .elementor-heading-title::before,
.mtcc-dd-cta .mtcc-eyebrow .elementor-heading-title::after { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .6; }
.mtcc-dd-title .elementor-heading-title { letter-spacing: -.01em; }

/* Photos */
.mtcc-dd-photo,
.mtcc-dd-photo .elementor-widget-container { overflow: hidden; border-radius: 20px; background: #eef0f4; }
.mtcc-dd-photo img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 20px; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.mtcc-dd-photo:hover img { transform: scale(1.04); }
.mtcc-dd-photo--wide,
.mtcc-dd-photo--wide .elementor-widget-container,
.mtcc-dd-photo--wide img { border-radius: 24px; }
.mtcc-dd-photo--wide img { aspect-ratio: 21 / 9; }

/* Staggered gallery row */
.mtcc-dd-gallery.e-con { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px !important; padding-bottom: 48px; }
.mtcc-dd-gallery.e-con > .elementor-widget { width: 100% !important; max-width: none; margin: 0 !important; }
.mtcc-dd-gallery.e-con > .elementor-widget:nth-child(even) { transform: translateY(48px); }

/* Feature cards */
.mtcc-dd-features.e-con { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px !important; }
.mtcc-dd-features--4.e-con { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mtcc-dd-features.e-con > .e-con { width: auto !important; --width: auto; min-width: 0; }
.mtcc-dd-card.e-con { justify-content: flex-start !important; background: #f6f6f9; border-radius: 20px; border: 1px solid rgba(17, 32, 42, .06); transition: transform .35s ease, box-shadow .35s ease, background-color .35s ease; }
.mtcc-dd-lounge .mtcc-dd-card.e-con { background: #fff; }
.mtcc-dd-card.e-con:hover { transform: translateY(-4px); background: #fff; box-shadow: 0 22px 44px -22px rgba(17, 32, 42, .28); }
.mtcc-dd-num .elementor-heading-title { display: inline-block; margin: 0 0 6px; padding: 6px 12px; border-radius: 999px; background: rgba(38, 89, 140, .08); color: #26598c !important; font-family: 'Open Sans', sans-serif !important; font-size: 12px !important; font-weight: 600; letter-spacing: .16em; line-height: 1; }
.mtcc-dd-card .elementor-widget-heading h3.elementor-heading-title { margin: 0; }
.mtcc-dd-cardtext p { margin: 0; font-size: 15.5px; line-height: 1.7; }

/* Buttons */
.mtcc-dd-section .mtcc-btn .elementor-button { border-radius: 999px !important; transition: background-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease; }
.mtcc-dd-section .mtcc-btn .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(17, 32, 42, .45); }

/* Closing card */
.mtcc-dd-cta.e-con { border-radius: 28px; overflow: hidden; text-align: center; }
.mtcc-dd-cta .mtcc-copy p { font-size: 18px; margin: 0; }

@media (max-width: 1024px) {
	.mtcc-dd-features--4.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 921px) {
	.mtcc-dd-features--3.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mtcc-dd-gallery.e-con { gap: 14px !important; padding-bottom: 32px; }
	.mtcc-dd-gallery.e-con > .elementor-widget:nth-child(even) { transform: translateY(32px); }
}
@media (max-width: 767px) {
	/* Gallery becomes a swipeable row on phones */
	.mtcc-dd-gallery.e-con { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px !important; padding: 0 20px 4px !important; margin-inline: -20px; width: calc(100% + 40px) !important; max-width: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.mtcc-dd-gallery.e-con::-webkit-scrollbar { display: none; }
	.mtcc-dd-gallery.e-con > .elementor-widget { flex: 0 0 74%; width: 74% !important; scroll-snap-align: center; }
	.mtcc-dd-gallery.e-con > .elementor-widget:nth-child(even) { transform: none; }
	.mtcc-dd-features.e-con,
	.mtcc-dd-features--3.e-con,
	.mtcc-dd-features--4.e-con { grid-template-columns: minmax(0, 1fr); gap: 16px !important; }
	.mtcc-dd-photo--wide img { aspect-ratio: 4 / 3; }
	.mtcc-dd-head .mtcc-copy p { font-size: 16px; }
	.mtcc-dd-cta.e-con { border-radius: 20px; }
	.mtcc-dd-photo, .mtcc-dd-photo .elementor-widget-container, .mtcc-dd-photo img { border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.mtcc-dd-photo img, .mtcc-dd-card.e-con, .mtcc-dd-section .mtcc-btn .elementor-button { transition: none; }
}

/* 1.2.1 — the cards must always show, even if an entrance animation is set on them */
.mtcc-dd-card.e-con.elementor-invisible { visibility: visible !important; }

/* 1.3.0 — card photos + photo sliders */
.mtcc-dd-card.e-con { overflow: hidden; }
.mtcc-dd-cardimg { width: 100%; margin: 0 !important; }
.mtcc-dd-cardimg,
.mtcc-dd-cardimg .elementor-widget-container { overflow: hidden; line-height: 0; }
.mtcc-dd-cardimg img { display: block; width: 100% !important; height: auto !important; max-width: none !important; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0 !important; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.mtcc-dd-card.e-con:hover .mtcc-dd-cardimg img { transform: scale(1.05); }
/* A card without its own photo yet: show just the text to visitors (the placeholder stays visible in Elementor). */
body:not(.elementor-editor-active) .mtcc-dd-cardimg:has(img[src*="placeholder"]) { display: none; }
.mtcc-dd-cardimg { flex: 0 0 auto !important; }
.mtcc-dd-cardbody.e-con { width: 100%; flex: 1 1 auto !important; justify-content: flex-start !important; }
.mtcc-dd-section > .mtcc-dd-slider { width: 100%; max-width: none; }

/* 1.3.2 — full width: sliders, cards and the closing card run to the page gutters (40px desktop, 20px tablet/phone),
   the same edges as the header and banner. Only the intro text keeps a readable line length. */
.mtcc-dd-section.e-con > .e-con:not(.mtcc-dd-head),
.mtcc-dd-section.e-con > .elementor-widget { width: 100% !important; max-width: none !important; margin-left: 0; margin-right: 0; }
.mtcc-dd-head.e-con { max-width: 860px; }

/* 1.6.0 — cards without a photo (e.g. "Why Train at Morendat?") */
.mtcc-dd-card--plain.e-con { border-top: 3px solid #26598c; }

/* ==================================================================
   1.7.0 — "MTCC – About Us" template
   ================================================================== */
.mtcc-ab-split.e-con { width: 100%; }
.mtcc-ab-col.e-con { flex: 1 1 0; min-width: 0; width: auto; }
.mtcc-ab-col--text.e-con { flex: 1.05 1 0; }
.mtcc-eyebrow--left .elementor-heading-title { display: inline-flex; align-items: center; gap: 14px; }
.mtcc-eyebrow--left .elementor-heading-title::after { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .6; }
.mtcc-ab-lead p { font-size: 19px; line-height: 1.75; margin: 0; }
.mtcc-ab-facts.e-con { padding-top: 24px !important; border-top: 1px solid rgba(17, 32, 42, .12); margin-top: 6px; }
.mtcc-ab-fact-title .elementor-heading-title { font-size: 15px !important; font-weight: 600; color: #11202a; margin: 0; }
.mtcc-ab-fact-text .elementor-heading-title { font-size: 14px !important; color: #1d394b; margin: 0; }
.mtcc-ab-num .elementor-heading-title { font-weight: 500; line-height: 1 !important; margin: 0; }

/* Collage */
.mtcc-ab-collage.e-con { position: relative; display: block !important; height: 600px; }
.mtcc-ab-photo, .mtcc-ab-photo .elementor-widget-container { overflow: hidden; border-radius: 20px; line-height: 0; }
.mtcc-ab-photo img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; border-radius: 20px; display: block; }
.mtcc-ab-collage .mtcc-ab-photo--a { position: absolute !important; top: 0; left: 0; right: 22%; bottom: 18%; width: auto !important; }
.mtcc-ab-collage .mtcc-ab-photo--b { position: absolute !important; right: 0; bottom: 0; width: 52% !important; height: 52%; border: 8px solid #fff; border-radius: 26px; }
.mtcc-ab-collage .mtcc-ab-photo--a .elementor-widget-container,
.mtcc-ab-collage .mtcc-ab-photo--b .elementor-widget-container { height: 100%; }
.mtcc-ab-badge.e-con { position: absolute !important; left: -28px; bottom: 58px; width: auto !important; z-index: 2; padding: 22px 26px !important; border-radius: 18px; background: #11202a; box-shadow: 0 30px 50px -25px rgba(17, 32, 42, .6); }
.mtcc-ab-badge-num .elementor-heading-title { font-size: 44px !important; color: #fff !important; }
.mtcc-ab-badge-text .elementor-heading-title { font-size: 12px !important; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .8) !important; margin: 0; }
.mtcc-ab-photo--school, .mtcc-ab-photo--school .elementor-widget-container { height: 560px; }

/* Numbers band */
.mtcc-ab-stats.e-con { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 !important; width: 100%; }
.mtcc-ab-stat.e-con { padding: 0 30px !important; border-left: 1px solid rgba(255, 255, 255, .14); width: auto !important; }
.mtcc-ab-stat.e-con:first-child { border-left: 0; padding-left: 0 !important; }
.mtcc-ab-stat-num .elementor-heading-title { font-size: 72px !important; color: #fff !important; }
.mtcc-ab-stat-label .elementor-heading-title { font-size: 13px !important; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .75) !important; margin: 0; }

/* Ownership chain */
.mtcc-ab-owners.e-con { width: 100%; max-width: 1100px; margin: 0 auto; }
.mtcc-ab-owner.e-con { position: relative; flex: 1 1 0; width: auto !important; min-width: 0; padding: 30px 28px !important; border-radius: 20px; background: #f6f6f9; border: 1px solid rgba(17, 32, 42, .1); text-align: center; }
.mtcc-ab-owner.e-con:not(:last-child)::after { content: "\2192"; position: absolute; right: -48px; top: 50%; transform: translateY(-50%); color: #26598c; font-size: 26px; line-height: 1; }
.mtcc-ab-owner--me.e-con { background: #26598c; border-color: #26598c; }
.mtcc-ab-owner-label .elementor-heading-title { font-size: 11px !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #f11f21 !important; margin: 0; }
.mtcc-ab-owner-sub .elementor-heading-title { font-size: 14px !important; color: #1d394b !important; margin: 0; }
.mtcc-ab-owner--me .elementor-heading-title { color: #fff !important; }

/* History */
.mtcc-ab-top.e-con { width: 100%; }
.mtcc-ab-top-head.e-con { width: auto !important; flex: 1 1 auto; }
.mtcc-ab-top-text.elementor-widget { max-width: 460px; width: auto !important; }
.mtcc-ab-top-text p { margin: 0; }
.mtcc-ab-timeline.e-con { position: relative; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px !important; width: 100%; }
.mtcc-ab-timeline.e-con::before { content: ""; position: absolute; left: 0; right: 0; top: 15px; height: 2px; background: linear-gradient(90deg, #26598c, rgba(38, 89, 140, .15)); }
.mtcc-ab-step.e-con { position: relative; padding-top: 52px !important; width: auto !important; }
.mtcc-ab-step.e-con::before { content: ""; position: absolute; top: 6px; left: 0; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 5px solid #26598c; box-sizing: border-box; }
.mtcc-ab-step--now.e-con::before { border-color: #f11f21; }
.mtcc-ab-year .elementor-heading-title { font-size: 52px !important; color: #11202a !important; }
.mtcc-ab-when .elementor-heading-title { font-size: 12px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #f11f21 !important; margin: 0; }
.mtcc-ab-step-text .elementor-widget-container { margin-top: 12px; padding: 24px; min-height: 150px; background: #fff; border: 1px solid rgba(17, 32, 42, .1); border-radius: 18px; }
.mtcc-ab-step-text p { margin: 0; font-size: 15px; line-height: 1.7; }

/* Vision / mission / values */
.mtcc-ab-vmv.e-con { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px !important; width: 100%; }
.mtcc-ab-v.e-con { width: auto !important; border-radius: 20px; background: #f6f6f9; border: 1px solid rgba(17, 32, 42, .1); justify-content: flex-start !important; }
.mtcc-ab-v--dark.e-con { background: #11202a; border-color: #11202a; }
.mtcc-ab-icon .elementor-icon-wrapper { text-align: left; line-height: 0; }
.mtcc-ab-v .mtcc-ab-icon .elementor-icon { width: 54px; height: 54px; border-radius: 16px; background: rgba(38, 89, 140, .1); display: inline-flex; align-items: center; justify-content: center; font-size: 22px; color: #26598c; fill: #26598c; }
.mtcc-ab-v .mtcc-ab-icon .elementor-icon svg { width: 22px; height: 22px; fill: currentColor; }
.mtcc-ab-v--dark .mtcc-ab-icon .elementor-icon { background: rgba(255, 255, 255, .1); color: #fff; fill: #fff; }
.mtcc-ab-v-text p { margin: 0; font-size: 15.5px; line-height: 1.7; }
.mtcc-ab-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mtcc-ab-chips span { padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid rgba(17, 32, 42, .12); font-size: 13px; font-weight: 600; color: #11202a; line-height: 1.4; }

/* What we offer */
.mtcc-ab-grid.e-con { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px !important; width: 100%; }
.mtcc-ab-o.e-con { grid-column: span 2; width: auto !important; border-radius: 22px; overflow: hidden; text-decoration: none !important; position: relative; transition: transform .35s ease, box-shadow .35s ease; }
.mtcc-ab-o--wide.e-con { grid-column: span 3; }
.mtcc-ab-o.e-con:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -26px rgba(17, 32, 42, .6); }
.mtcc-ab-o.e-con > .elementor-widget { position: relative; z-index: 2; }
.mtcc-ab-o-num .elementor-heading-title { font-size: 12px !important; font-weight: 600; letter-spacing: .2em; color: rgba(255, 255, 255, .8) !important; margin: 0; }
.mtcc-ab-o-text p { margin: 0; font-size: 14.5px; line-height: 1.6; max-width: 420px; color: rgba(255, 255, 255, .9); }
.mtcc-ab-o .mtcc-ab-icon { position: absolute !important; right: 26px; bottom: 30px; width: auto !important; }
.mtcc-ab-o .mtcc-ab-icon .elementor-icon { width: 46px; height: 46px; border-radius: 50%; background: #fff; color: #11202a; fill: #11202a; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; transition: background-color .25s, color .25s; }
.mtcc-ab-o .mtcc-ab-icon .elementor-icon svg { width: 16px; height: 16px; fill: currentColor; }
.mtcc-ab-o.e-con:hover .mtcc-ab-icon .elementor-icon { background: #f11f21; color: #fff; fill: #fff; }

/* School */
.mtcc-ab-tags { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mtcc-ab-tags li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid rgba(17, 32, 42, .1); font-weight: 600; font-size: 14.5px; color: #11202a; }
.mtcc-ab-tags li::before { content: ""; flex: 0 0 8px; height: 8px; border-radius: 50%; background: #f11f21; }
.mtcc-ab-partner .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid rgba(17, 32, 42, .1); font-size: 13px !important; color: #1d394b; margin: 0; }
.mtcc-ab-btns.e-con { width: auto; }
.mtcc-ab-btns.e-con > .elementor-widget { width: auto !important; }
.mtcc-btn--ghost .elementor-button { background: transparent !important; }

@media (max-width: 1024px) {
	.mtcc-ab-col.e-con, .mtcc-ab-col--text.e-con { flex: 1 1 auto; width: 100% !important; }
	.mtcc-ab-collage.e-con { height: 480px; }
	.mtcc-ab-badge.e-con { left: 12px; }
	.mtcc-ab-timeline.e-con, .mtcc-ab-vmv.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mtcc-ab-timeline.e-con::before { display: none; }
	.mtcc-ab-o.e-con, .mtcc-ab-o--wide.e-con { grid-column: span 3; }
	.mtcc-ab-top-text.elementor-widget { max-width: none; }
}
@media (max-width: 767px) {
	.mtcc-ab-collage.e-con { height: 380px; }
	.mtcc-ab-badge.e-con { padding: 16px 18px !important; bottom: 20px; }
	.mtcc-ab-badge-num .elementor-heading-title { font-size: 32px !important; }
	.mtcc-ab-stats.e-con { grid-template-columns: 1fr 1fr; row-gap: 34px !important; }
	.mtcc-ab-stat.e-con { padding: 0 0 0 18px !important; }
	.mtcc-ab-stat.e-con:nth-child(3) { border-left: 0; padding-left: 0 !important; }
	.mtcc-ab-stat-num .elementor-heading-title { font-size: 50px !important; }
	.mtcc-ab-owners.e-con { flex-direction: column !important; gap: 46px !important; }
	.mtcc-ab-owner.e-con:not(:last-child)::after { right: 50%; top: auto; bottom: -38px; transform: translateX(50%) rotate(90deg); }
	.mtcc-ab-timeline.e-con { grid-template-columns: 1fr; gap: 0 !important; }
	.mtcc-ab-timeline.e-con::before { display: block; left: 9px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(#26598c, rgba(38, 89, 140, .15)); }
	.mtcc-ab-step.e-con { padding: 0 0 30px 46px !important; }
	.mtcc-ab-step.e-con::before { top: 4px; }
	.mtcc-ab-step-text .elementor-widget-container { min-height: 0; }
	.mtcc-ab-vmv.e-con, .mtcc-ab-grid.e-con { grid-template-columns: 1fr; }
	.mtcc-ab-o.e-con, .mtcc-ab-o--wide.e-con { grid-column: auto; }
	.mtcc-ab-photo--school, .mtcc-ab-photo--school .elementor-widget-container { height: 340px; }
	.mtcc-ab-tags { grid-template-columns: 1fr; }
}
/* About: keep small inline groups at their natural width inside rows */
.mtcc-ab-fact.e-con { width: auto !important; flex: 0 0 auto; gap: 2px !important; }
.mtcc-ab-top.e-con > .elementor-widget-button { width: auto !important; flex: 0 0 auto; }
.mtcc-ab-top-head.e-con { flex: 1 1 auto; }
/* 1.7.1 — About Us: Elementor sets flex/width on every container through its own variables; win over them. */
.mtcc-ab-split.e-con { --width: 100%; }
.mtcc-ab-split.e-con > .mtcc-ab-col.e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; --width: auto; }
.mtcc-ab-split.e-con > .mtcc-ab-col--text.e-con { flex: 1.05 1 0 !important; }
.mtcc-ab-collage.e-con { width: auto !important; align-self: stretch; }
.mtcc-ab-collage.e-con > .mtcc-ab-photo { margin: 0 !important; max-width: none !important; }
.mtcc-ab-facts.e-con > .mtcc-ab-fact.e-con { flex: 0 0 auto !important; width: auto !important; --width: auto; }
.mtcc-ab-owners.e-con > .mtcc-ab-owner.e-con { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; --width: auto; }
.mtcc-ab-top.e-con > .mtcc-ab-top-head.e-con { flex: 1 1 auto !important; width: auto !important; --width: auto; }
.mtcc-ab-top.e-con > .elementor-widget { flex: 0 1 auto !important; width: auto !important; }
.mtcc-ab-btns.e-con > .elementor-widget { flex: 0 0 auto !important; width: auto !important; }
.mtcc-ab-stats.e-con > .e-con, .mtcc-ab-timeline.e-con > .e-con, .mtcc-ab-vmv.e-con > .e-con, .mtcc-ab-grid.e-con > .e-con { width: auto !important; --width: auto; min-width: 0; }
/* Small labels use the body font (the theme gives all Elementor headings the heading font). */
.mtcc-ab-fact-title .elementor-heading-title, .mtcc-ab-fact-text .elementor-heading-title, .mtcc-ab-badge-text .elementor-heading-title,
.mtcc-ab-stat-label .elementor-heading-title, .mtcc-ab-owner-label .elementor-heading-title, .mtcc-ab-owner-sub .elementor-heading-title,
.mtcc-ab-when .elementor-heading-title, .mtcc-ab-o-num .elementor-heading-title, .mtcc-ab-partner .elementor-heading-title {
	font-family: 'Open Sans', sans-serif !important; line-height: 1.5 !important;
}
@media (max-width: 1024px) {
	.mtcc-ab-split.e-con > .mtcc-ab-col.e-con, .mtcc-ab-split.e-con > .mtcc-ab-col--text.e-con { flex: 1 1 auto !important; width: 100% !important; }
	.mtcc-ab-collage.e-con { width: 100% !important; }
}
@media (max-width: 767px) {
	.mtcc-ab-owners.e-con > .mtcc-ab-owner.e-con { flex: 1 1 auto !important; width: 100% !important; }
	.mtcc-ab-top.e-con > .elementor-widget, .mtcc-ab-top.e-con > .mtcc-ab-top-head.e-con { width: 100% !important; }
}
.mtcc-ab-top-text.elementor-widget { max-width: 460px !important; }
@media (max-width: 1024px) { .mtcc-ab-top-text.elementor-widget { max-width: none !important; } }

/* ==================================================================
   1.8.0 — "MTCC – Contact Us" template
   ================================================================== */
.mtcc-ct-cards.e-con { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px !important; width: 100%; }
.mtcc-ct-cards.e-con > .e-con { width: auto !important; --width: auto; min-width: 0; }
.mtcc-ct-card.e-con { border-radius: 20px; background: #f6f6f9; border: 1px solid rgba(17, 32, 42, .1); justify-content: flex-start !important; transition: transform .35s ease, box-shadow .35s ease; }
.mtcc-ct-card.e-con:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -30px rgba(17, 32, 42, .55); }
.mtcc-ct-card .mtcc-ab-icon .elementor-icon { width: 58px; height: 58px; border-radius: 16px; background: #26598c; color: #fff; fill: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; }
.mtcc-ct-card .mtcc-ab-icon .elementor-icon svg { width: 22px; height: 22px; fill: currentColor; }
.mtcc-ct-label .elementor-heading-title { font-family: 'Open Sans', sans-serif !important; font-size: 12px !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #f11f21 !important; margin: 0; line-height: 1.5 !important; }
.mtcc-ct-text p { margin: 0 0 .5em; font-size: 15.5px; line-height: 1.7; color: #1d394b; }
.mtcc-ct-text p:last-child { margin-bottom: 0; }
.mtcc-ct-text a { color: #26598c; text-decoration: none; font-weight: 600; transition: color .2s; }
.mtcc-ct-text a:hover { color: #f11f21; }
.mtcc-ct-big { font-size: 19px; word-break: break-word; }
.mtcc-ct-link { display: inline-flex; gap: 8px; align-items: center; margin-top: 6px; }

/* Getting here + map */
.mtcc-ct-split.e-con { width: 100%; --width: 100%; align-items: stretch !important; }
.mtcc-ct-split.e-con > .mtcc-ct-dir.e-con { flex: 0 0 440px !important; width: 440px !important; --width: 440px; max-width: 100%; border-radius: 22px; background: #fff; border: 1px solid rgba(17, 32, 42, .1); justify-content: center !important; }
.mtcc-ct-split.e-con > .mtcc-ct-mapbox { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
.mtcc-ct-map { position: relative; height: 100%; min-height: 560px; border-radius: 22px; overflow: hidden; background: #e6e9ee; line-height: 0; }
.mtcc-ct-mapbox .elementor-widget-container { height: 100%; }
.mtcc-ct-map iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; display: block; }
.mtcc-ct-step p { display: flex; align-items: center; gap: 14px; margin: 0; padding: 14px 0; border-top: 1px solid rgba(17, 32, 42, .1); font-size: 15.5px; line-height: 1.55; color: #1d394b; }
.mtcc-ct-step strong { color: #11202a; font-weight: 600; }
.mtcc-ct-n { flex: 0 0 34px; height: 34px; border-radius: 50%; background: rgba(38, 89, 140, .1); color: #26598c; font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; }
.mtcc-ct-dir > .elementor-widget-button { margin-top: 8px; }

@media (max-width: 1024px) {
	.mtcc-ct-cards.e-con { grid-template-columns: 1fr 1fr; }
	.mtcc-ct-cards.e-con > .e-con:last-child { grid-column: 1 / -1; }
	.mtcc-ct-split.e-con > .mtcc-ct-dir.e-con, .mtcc-ct-split.e-con > .mtcc-ct-mapbox { flex: 1 1 auto !important; width: 100% !important; --width: 100%; }
	.mtcc-ct-map { min-height: 460px; }
}
@media (max-width: 767px) {
	.mtcc-ct-cards.e-con { grid-template-columns: 1fr; }
	.mtcc-ct-map { min-height: 380px; border-radius: 18px; }
	.mtcc-ct-big { font-size: 17px; }
}

/* ==================================================================
   1.10.0 — "MTCC – Enquiries" template
   ================================================================== */
.mtcc-eq-split.e-con { width: 100%; --width: 100%; align-items: flex-start !important; }
.mtcc-eq-split.e-con > .mtcc-eq-side.e-con { flex: 0 1 440px !important; width: auto !important; --width: auto; min-width: 0; position: sticky; top: 120px; }
.mtcc-eq-split.e-con > .mtcc-eq-card.e-con { flex: 1 1 0 !important; width: auto !important; --width: auto; min-width: 0; background: #fff; border-radius: 24px; border: 1px solid rgba(17, 32, 42, .08); box-shadow: 0 30px 60px -40px rgba(17, 32, 42, .45); }
.mtcc-eq-list.e-con { padding-top: 22px !important; border-top: 1px solid rgba(17, 32, 42, .12); width: 100%; }
.mtcc-eq-item.e-con { width: 100%; flex-wrap: nowrap !important; }
.mtcc-eq-item.e-con > .mtcc-ab-icon { width: auto !important; flex: 0 0 auto; }
.mtcc-eq-item.e-con > .mtcc-eq-itemtext.e-con { flex: 1 1 auto !important; width: auto !important; --width: auto; min-width: 0; }
.mtcc-eq-item .mtcc-ab-icon .elementor-icon { width: 46px; height: 46px; border-radius: 14px; background: #fff; border: 1px solid rgba(17, 32, 42, .08); color: #26598c; fill: #26598c; display: inline-flex; align-items: center; justify-content: center; font-size: 17px; }
.mtcc-eq-item .mtcc-ab-icon .elementor-icon svg { width: 17px; height: 17px; fill: currentColor; }
.mtcc-eq-label .elementor-heading-title { font-family: 'Open Sans', sans-serif !important; font-size: 11.5px !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #f11f21 !important; margin: 0; line-height: 1.5 !important; }
.mtcc-eq-val p { margin: 0; font-size: 15.5px; line-height: 1.6; color: #1d394b; }
.mtcc-eq-val a { color: #11202a; font-weight: 600; text-decoration: none; }
.mtcc-eq-val a:hover { color: #f11f21; }
.mtcc-eq-book.e-con { width: 100%; padding: 22px !important; border-radius: 18px; background: #fff; border: 1px solid rgba(17, 32, 42, .08); }
.mtcc-eq-book.e-con > .elementor-widget-button { margin-top: 6px; }
@media (max-width: 1024px) {
	.mtcc-eq-split.e-con > .mtcc-eq-side.e-con, .mtcc-eq-split.e-con > .mtcc-eq-card.e-con { flex: 1 1 auto !important; width: 100% !important; position: static; }
}
@media (max-width: 767px) {
	.mtcc-eq-split.e-con > .mtcc-eq-card.e-con { border-radius: 18px; }
}

/* ==================================================================
   1.11.0 — Spa & Wellness: Laundry Services section
   ================================================================== */
.mtcc-ld-split.e-con { width: 100%; --width: 100%; align-items: stretch !important; }
.mtcc-ld-split.e-con > .mtcc-ld-mosaic.e-con { flex: 1.35 1 0 !important; width: auto !important; --width: auto; min-width: 0;
	display: grid !important; grid-template-columns: 1.15fr 1fr; grid-template-rows: 1fr 1fr; gap: 18px !important; height: 580px; }
.mtcc-ld-split.e-con > .mtcc-ld-side.e-con { flex: 1 1 0 !important; width: auto !important; --width: auto; min-width: 0; }
.mtcc-ld-photo { margin: 0 !important; width: 100% !important; height: 100%; min-height: 0; overflow: hidden; border-radius: 22px; }
.mtcc-ld-photo .elementor-widget-container { height: 100%; overflow: hidden; border-radius: 22px; line-height: 0; }
.mtcc-ld-photo img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; border-radius: 22px; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.mtcc-ld-photo:hover img { transform: scale(1.04); }
.mtcc-ld-photo--a { grid-row: 1 / span 2; }
/* Empty photo spots (still the placeholder) are hidden for visitors; the text then uses the full width. */
body.mtcc-tpl-live:not(.elementor-editor-active) .mtcc-ld-photo:has(img[src*="/placeholder"]) { display: none !important; }
body.mtcc-tpl-live:not(.elementor-editor-active) .mtcc-ld-mosaic.e-con:not(:has(img:not([src*="/placeholder"]))) { display: none !important; }
body.mtcc-tpl-live:not(.elementor-editor-active) .mtcc-ld-mosaic.e-con:has(.mtcc-ld-photo--a img[src*="/placeholder"]) { grid-template-columns: 1fr; }
.mtcc-ld-point.e-con { width: 100%; flex-wrap: nowrap !important; background: #fff; border-radius: 20px; border: 1px solid rgba(17, 32, 42, .08); transition: transform .35s ease, box-shadow .35s ease; }
.mtcc-ld-point.e-con:hover { transform: translateY(-3px); box-shadow: 0 22px 44px -28px rgba(17, 32, 42, .4); }
.mtcc-ld-point.e-con > .mtcc-ab-icon { width: auto !important; flex: 0 0 auto; }
.mtcc-ld-point.e-con > .mtcc-ld-pointtext.e-con { flex: 1 1 auto !important; width: auto !important; --width: auto; min-width: 0; }
.mtcc-ld-point .mtcc-ab-icon .elementor-icon { width: 56px; height: 56px; border-radius: 16px; background: #26598c; color: #fff; fill: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 21px; }
.mtcc-ld-point .mtcc-ab-icon .elementor-icon svg { width: 21px; height: 21px; fill: currentColor; }
.mtcc-ld-pointtitle .elementor-heading-title { margin: 0; }
.mtcc-ld-pointcopy p { margin: 0; font-size: 15.5px; line-height: 1.7; }
.mtcc-ld-side.e-con > .elementor-widget-button { margin-top: 8px; }
@media (max-width: 1024px) {
	.mtcc-ld-split.e-con > .mtcc-ld-mosaic.e-con, .mtcc-ld-split.e-con > .mtcc-ld-side.e-con { flex: 1 1 auto !important; width: 100% !important; }
	.mtcc-ld-split.e-con > .mtcc-ld-mosaic.e-con { height: 480px; }
}
@media (max-width: 767px) {
	.mtcc-ld-split.e-con > .mtcc-ld-mosaic.e-con { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: 260px 160px; gap: 12px !important; }
	.mtcc-ld-photo--a { grid-row: auto; grid-column: 1 / -1; }
	.mtcc-ld-photo, .mtcc-ld-photo .elementor-widget-container, .mtcc-ld-photo img { border-radius: 16px; }
}
