/* ==========================================================================
   Mattazie Safari Trips - front end
   Palette: cream #F8F1DE, sage #869192, charcoal #292728, light grey #E2E1DF,
   brown #2F180B. Colours can be changed in Safari Trips > Settings > Display.
   ========================================================================== */

:root {
	--mst-pat-splash-side: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1500' height='1800' viewBox='0 0 1500 1800'%3E%3Cdefs%3E%3Cfilter id='b' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeGaussianBlur stdDeviation='26'/%3E%3C/filter%3E%3Cfilter id='s'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%2523b)'%3E%3Cpath d='M1539 260C1540 330 1568 384 1530 431C1491 478 1374 541 1309 542C1243 543 1181 474 1136 438C1091 402 1057 366 1040 327C1023 287 1024 260 1033 202C1042 144 1051 3 1094 -19C1137 -41 1220 66 1292 71C1364 76 1484 -21 1525 11C1567 42 1539 190 1539 260Z' fill='%23869192' fill-opacity='0.30'/%3E%3Cpath d='M496 700C521 748 528 835 486 885C445 935 315 1008 245 1002C175 995 119 881 67 846C16 811 -46 828 -64 791C-82 755 -52 681 -39 626C-26 570 -30 482 15 458C61 433 180 456 234 479C288 502 295 559 339 596C383 633 472 652 496 700Z' fill='%23A9B0B0' fill-opacity='0.24'/%3E%3Cpath d='M1585 1180C1582 1248 1477 1321 1420 1368C1362 1415 1317 1431 1240 1461C1164 1491 1019 1580 963 1548C907 1517 924 1357 902 1274C881 1191 824 1113 836 1048C847 984 900 922 971 885C1042 848 1185 813 1264 826C1342 839 1386 902 1440 961C1494 1020 1589 1112 1585 1180Z' fill='%23869192' fill-opacity='0.30'/%3E%3Cpath d='M492 1620C491 1666 445 1697 416 1755C387 1813 377 1941 316 1967C255 1993 116 1947 48 1909C-20 1870 -73 1802 -92 1737C-111 1672 -91 1599 -68 1518C-44 1437 -10 1283 52 1250C114 1217 243 1283 305 1321C366 1360 389 1431 420 1480C451 1530 493 1574 492 1620Z' fill='%232F180B' fill-opacity='0.10'/%3E%3Cpath d='M1014 950C1029 990 1012 1064 976 1097C940 1131 845 1157 797 1152C748 1147 717 1093 683 1067C650 1041 606 1024 594 995C582 966 597 922 611 895C624 868 644 860 675 832C706 805 762 726 797 731C832 735 848 822 884 858C921 895 998 910 1014 950Z' fill='%23A9B0B0' fill-opacity='0.24'/%3E%3C/g%3E%3Cg filter='url(%2523s)'%3E%3Ccircle cx='740' cy='96' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1517' cy='-46' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1741' cy='218' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1616' cy='161' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1533' cy='657' r='4' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='779' cy='305' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1175' cy='630' r='18' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='931' cy='603' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1083' cy='-165' r='18' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='966' cy='-158' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1665' cy='-43' r='18' fill='%23869192' fill-opacity='0.48'/%3E%3Cellipse cx='941' cy='508' rx='16' ry='7' transform='rotate(141 941 508)' fill='%23869192' fill-opacity='0.42'/%3E%3Cellipse cx='1565' cy='500' rx='20' ry='7' transform='rotate(37 1565 500)' fill='%23869192' fill-opacity='0.42'/%3E%3Cellipse cx='1616' cy='411' rx='11' ry='5' transform='rotate(22 1616 411)' fill='%23869192' fill-opacity='0.42'/%3E%3Ccircle cx='-133' cy='823' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='478' cy='802' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-307' cy='586' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='659' cy='777' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-133' cy='1008' r='9' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-146' cy='456' r='4' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='476' cy='287' r='13' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-193' cy='746' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='486' cy='929' r='9' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-266' cy='760' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='675' cy='772' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Cellipse cx='-53' cy='975' rx='21' ry='8' transform='rotate(130 -53 975)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Cellipse cx='489' cy='515' rx='22' ry='8' transform='rotate(329 489 515)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Cellipse cx='73' cy='1044' rx='20' ry='4' transform='rotate(107 73 1044)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Ccircle cx='1034' cy='766' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1567' cy='929' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='631' cy='1066' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='839' cy='786' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1377' cy='645' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1333' cy='1649' r='4' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1742' cy='1143' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1149' cy='1719' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='615' cy='1374' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1625' cy='1051' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1571' cy='1472' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Cellipse cx='1302' cy='1594' rx='19' ry='8' transform='rotate(74 1302 1594)' fill='%23869192' fill-opacity='0.42'/%3E%3Cellipse cx='1412' cy='816' rx='17' ry='9' transform='rotate(303 1412 816)' fill='%23869192' fill-opacity='0.42'/%3E%3Cellipse cx='939' cy='1539' rx='20' ry='4' transform='rotate(124 939 1539)' fill='%23869192' fill-opacity='0.42'/%3E%3Ccircle cx='433' cy='1309' r='13' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='349' cy='1138' r='13' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='577' cy='1346' r='9' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='706' cy='1896' r='13' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='-228' cy='1733' r='4' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='191' cy='1253' r='6' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='702' cy='1699' r='13' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='377' cy='1276' r='18' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='719' cy='1562' r='9' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='501' cy='1994' r='4' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='786' cy='1668' r='4' fill='%232F180B' fill-opacity='0.16'/%3E%3Cellipse cx='-129' cy='1556' rx='24' ry='5' transform='rotate(190 -129 1556)' fill='%232F180B' fill-opacity='0.14'/%3E%3Cellipse cx='-101' cy='1775' rx='23' ry='5' transform='rotate(156 -101 1775)' fill='%232F180B' fill-opacity='0.14'/%3E%3Cellipse cx='427' cy='1279' rx='13' ry='4' transform='rotate(297 427 1279)' fill='%232F180B' fill-opacity='0.14'/%3E%3Ccircle cx='757' cy='1235' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='785' cy='661' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='532' cy='1077' r='9' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='1033' cy='746' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='427' cy='1131' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='940' cy='1143' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='1065' cy='986' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='482' cy='725' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='906' cy='1226' r='4' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='488' cy='849' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='452' cy='890' r='4' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Cellipse cx='965' cy='765' rx='10' ry='5' transform='rotate(318 965 765)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Cellipse cx='859' cy='1207' rx='10' ry='4' transform='rotate(69 859 1207)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Cellipse cx='484' cy='937' rx='18' ry='4' transform='rotate(183 484 937)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3C/g%3E%3C/svg%3E");
	--mst-bg: #F8F1DE;
	--mst-dark: #292728;
	--mst-accent: #869192;
	--mst-brown: #2F180B;
	--mst-grey: #E2E1DF;
	--mst-white: #fff;
	--mst-gold: #B08D4C;
	--mst-line: rgba(41, 39, 40, .14);
	--mst-muted: rgba(41, 39, 40, .64);
	--mst-font-head: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--mst-top: 0px; /* set by script: height of a fixed theme header */
}

.mst,
.mst *,
.mst *::before,
.mst *::after { box-sizing: border-box; }

.mst {
	color: var(--mst-dark);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
main.mst { background: var(--mst-bg); }
.mst-sc { background: transparent; }

.mst h1, .mst h2, .mst h3, .mst h4 {
	font-family: var(--mst-font-head);
	color: inherit;
	letter-spacing: 0;
	text-transform: none;
	margin: 0;
	font-weight: 600;
	line-height: 1.12;
}
.mst h2 { font-size: clamp(1.9rem, 3.2vw, 2.7rem); }
.mst :where(a) { color: inherit; }
.mst :where(img) { max-width: 100%; height: auto; }
.mst [hidden] { display: none !important; }
.mst :where(ul) { margin: 0; }
.mst .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.mst-wrap { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: clamp(16px, 4vw, 40px); }
.mst-muted { color: var(--mst-muted); font-size: .9rem; }
.mst-note { padding: 14px 18px; background: var(--mst-grey); border-left: 3px solid var(--mst-accent); }
.mst-eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--mst-accent); margin: 0 0 14px; }
.mst-link {
	background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; font-weight: 600; font-size: .74rem; line-height: 1.2;
	letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
	border-bottom: 1.5px solid currentColor; padding-bottom: 3px; color: var(--mst-dark);
}
.mst-link:hover { color: var(--mst-accent); }

/* ---------- Buttons (water-fill on hover, same as the theme) ---------- */
.mst-btn {
	--fill: var(--mst-accent);
	--c: var(--mst-dark);
	--bg: transparent;
	--bd: var(--mst-dark);
	--hov: var(--mst-bg);
	position: relative; isolation: isolate; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 0 20px;
	border: 1.5px solid var(--bd); border-radius: 2px;
	background: var(--bg); color: var(--c);
	font-family: inherit; font-weight: 600; font-size: .72rem; line-height: 1; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; text-align: center;
	cursor: pointer; -webkit-tap-highlight-color: transparent;
	transition: color .45s ease, border-color .45s ease;
}
.mst-btn::before,
.mst-btn::after {
	content: ""; position: absolute; z-index: -1; left: -25%; width: 150%; height: 260%; top: 102%;
	background: var(--fill); border-radius: 46% 54% 0 0 / 14% 12% 0 0;
	transition: top .7s cubic-bezier(.2, .75, .2, 1);
}
.mst-btn::before { opacity: .5; transition-duration: .55s; border-radius: 54% 46% 0 0 / 12% 15% 0 0; }
.mst-btn::after { transition-delay: .06s; }
.mst-btn:hover::before, .mst-btn:hover::after,
.mst-btn:focus-visible::before, .mst-btn:focus-visible::after { top: -75%; }
.mst-btn:hover, .mst-btn:focus-visible { color: var(--hov); border-color: var(--fill); }
.mst-btn:focus-visible { outline: 2px solid var(--mst-dark); outline-offset: 3px; }
.mst-btn--luxury { --bg: var(--mst-dark); --c: var(--mst-bg); --bd: var(--mst-dark); --fill: var(--mst-accent); --hov: var(--mst-dark); }
.mst-btn--midrange,
.mst-btn--outline { --bg: transparent; --c: var(--mst-dark); --bd: var(--mst-dark); --fill: var(--mst-dark); --hov: var(--mst-bg); }
.mst-btn--soft { --bg: var(--mst-grey); --c: var(--mst-dark); --bd: var(--mst-grey); --fill: var(--mst-dark); --hov: var(--mst-bg); }
.mst-btn--cream { --bg: var(--mst-bg); --c: var(--mst-dark); --bd: var(--mst-bg); --fill: var(--mst-accent); --hov: var(--mst-dark); }
.mst-btn--wide { width: 100%; }
.mst-btn--sm { min-height: 38px; padding: 0 16px; font-size: .68rem; }
.mst-btn.is-disabled { opacity: .38; pointer-events: none; cursor: not-allowed; }
.mst-btn[disabled] { opacity: .6; pointer-events: none; }

/* ---------- Stars ---------- */
.mst-stars {
	--mst-r: 0;
	display: inline-block; width: 5em; height: 1em; font-size: 15px; vertical-align: -2px; flex: none;
	background: linear-gradient(90deg, var(--mst-gold) calc(var(--mst-r) / 5 * 100%), #cfcac0 0);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") 0 0 / 1em 1em repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") 0 0 / 1em 1em repeat-x;
}

/* ---------- Hero ---------- */
.mst-hero {
	position: relative; display: flex; align-items: flex-end; overflow: hidden;
	background: var(--mst-dark); color: var(--mst-bg);
}
.mst-hero--archive { min-height: clamp(260px, 30vw, 380px); }
.mst-hero--single { min-height: clamp(380px, 50vw, 600px); }
.mst-hero--plain { background: linear-gradient(135deg, var(--mst-dark), var(--mst-brown)); }
.mst-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mst-hero__shade {
	position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(41, 39, 40, .86) 0%, rgba(41, 39, 40, .38) 52%, rgba(41, 39, 40, .3) 100%);
}
.mst-hero__inner { position: relative; padding-block: clamp(28px, 5vw, 60px); }
.mst-hero__title { font-size: clamp(2.5rem, 6vw, 4.6rem) !important; font-weight: 500 !important; color: var(--mst-bg); max-width: 18ch; line-height: 1.04; }
.mst-hero--archive .mst-hero__title { max-width: 22ch; }
.mst-hero__sub { margin: 14px 0 0; font-size: clamp(1rem, 1.5vw, 1.2rem); max-width: 62ch; opacity: .92; }
.mst-hero__badge {
	display: inline-block; margin-bottom: 14px; padding: 5px 12px; background: var(--mst-bg); color: var(--mst-dark);
	font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; border-radius: 2px;
}
.mst-hero__chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 22px 0 0; }
.mst-hero__chips li {
	padding: 7px 14px; border: 1px solid rgba(248, 241, 222, .45); border-radius: 999px;
	font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; background: rgba(41, 39, 40, .25); backdrop-filter: blur(4px);
}
.mst-hero__rating { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.mst-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; opacity: .9; }
.mst-crumbs a { text-decoration: none; border-bottom: 1px solid transparent; }
.mst-crumbs a:hover { border-color: currentColor; }

/* ---------- Trips list: filters + results ---------- */
.mst-archive__body { padding-block: clamp(28px, 4vw, 60px); }
.mst-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.mst-filters {
	position: sticky; top: calc(var(--mst-top) + 24px);
	max-height: calc(100vh - var(--mst-top) - 48px); overflow: auto; padding-right: 8px; scrollbar-width: thin;
}
.mst-filters__head { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--mst-line); }
.mst-filters__title { font-family: inherit !important; font-size: .78rem !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase !important; flex: 1; }
.mst-filters__reset { font-size: .82rem; color: var(--mst-muted); }
.mst-filters__close { display: none; width: 40px; height: 40px; border: 0; background: none; font-size: 1.8rem; line-height: 1; cursor: pointer; color: var(--mst-dark); place-items: center; }
.mst-search { padding: 16px 0 6px; }
.mst-search input, .mst-sort select, .mst-form input, .mst-form textarea, .mst-form select, .mst-bcard select, .mst-bcard input[type="date"] {
	width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid rgba(41, 39, 40, .25); border-radius: 2px;
	background: #fff; color: var(--mst-dark); font: inherit; font-size: .95rem;
}
.mst-form textarea { padding: 12px 14px; min-height: 120px; resize: vertical; }
.mst-search input:focus, .mst-sort select:focus, .mst-form input:focus, .mst-form textarea:focus, .mst-form select:focus,
.mst-bcard select:focus, .mst-bcard input:focus { outline: 2px solid var(--mst-accent); outline-offset: 1px; border-color: var(--mst-accent); }

.mst-fg { border-bottom: 1px solid var(--mst-line); padding: 18px 0; }
.mst-fg summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-weight: 600; font-size: .95rem; }
.mst-fg summary::-webkit-details-marker { display: none; }
.mst-fg summary small { font-weight: 400; color: var(--mst-muted); margin-left: 6px; }
.mst-fg summary::after { content: ""; flex: none; width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s; }
.mst-fg[open] summary::after { transform: rotate(-135deg); }
.mst-fg__list { list-style: none; padding: 10px 0 0; margin: 0; max-height: 280px; overflow: auto; }

.mst-check { position: relative; display: flex; align-items: center; gap: 10px; padding: 7px 0; cursor: pointer; font-size: .92rem; line-height: 1.3; }
.mst-check input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; }
.mst-check__box { flex: none; width: 18px; height: 18px; display: grid; place-items: center; border: 1.5px solid var(--mst-dark); background: #fff; transition: background .2s, border-color .2s; }
.mst-check--radio .mst-check__box { border-radius: 50%; }
.mst-check input:checked + .mst-check__box { background: var(--mst-dark); }
.mst-check input:checked + .mst-check__box::after { content: ""; width: 9px; height: 5px; border-left: 2px solid var(--mst-bg); border-bottom: 2px solid var(--mst-bg); transform: rotate(-45deg) translate(1px, -1px); }
.mst-check--radio input:checked + .mst-check__box::after { width: 7px; height: 7px; border: 0; border-radius: 50%; background: var(--mst-bg); transform: none; }
.mst-check input:focus-visible + .mst-check__box { outline: 2px solid var(--mst-accent); outline-offset: 2px; }
.mst-check__label { flex: 1; min-width: 0; }
.mst-check__count { font-size: .78rem; color: var(--mst-muted); white-space: nowrap; }

.mst-range { padding-top: 14px; }
.mst-range__track { position: relative; height: 28px; }
.mst-range__track::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 3px; margin-top: -1.5px; background: var(--mst-grey); border-radius: 2px; }
.mst-range__fill { position: absolute; top: 50%; height: 3px; margin-top: -1.5px; left: 0; width: 100%; background: var(--mst-dark); }
.mst-range input[type="range"] { position: absolute; left: 0; top: 0; width: 100%; height: 28px; min-height: 0; margin: 0; padding: 0; background: none; border: 0; pointer-events: none; -webkit-appearance: none; appearance: none; }
.mst-range input[type="range"]::-webkit-slider-runnable-track { background: none; border: 0; height: 28px; }
.mst-range input[type="range"]::-moz-range-track { background: none; border: 0; }
.mst-range input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 20px; height: 20px; margin-top: 4px; border-radius: 50%; background: var(--mst-dark); border: 3px solid var(--mst-bg); box-shadow: 0 0 0 1px var(--mst-dark); cursor: grab; }
.mst-range input[type="range"]::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border-radius: 50%; background: var(--mst-dark); border: 3px solid var(--mst-bg); box-shadow: 0 0 0 1px var(--mst-dark); cursor: grab; }
.mst-range__vals { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.mst-range__vals label { position: relative; flex: 1; }
.mst-range__vals label span { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-size: .85rem; color: var(--mst-muted); }
.mst-range__vals input { padding-left: 24px; min-height: 42px; }

.mst-months { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding-top: 12px; }
.mst-month { position: relative; }
.mst-month input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mst-month span { display: grid; place-items: center; min-height: 38px; border: 1px solid var(--mst-line); background: #fff; font-size: .82rem; cursor: pointer; transition: all .2s; }
.mst-month:hover span { border-color: var(--mst-dark); }
.mst-month input:checked + span { background: var(--mst-dark); color: var(--mst-bg); border-color: var(--mst-dark); }
.mst-month input:focus-visible + span { outline: 2px solid var(--mst-accent); outline-offset: 2px; }
.mst-month--any { grid-column: 1 / -1; }
.mst-month--any span { min-height: 34px; }

.mst-apply { margin-top: 20px; }
.mst-js .mst-apply { display: none; }
.mst-filter-toggle { display: none; }

.mst-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 18px; }
.mst-toolbar__count { margin: 0; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.mst-sort { display: flex; align-items: center; gap: 12px; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
.mst-sort select { width: auto; min-width: 190px; font-size: .88rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.mst-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; padding: 0; margin: 0 0 20px; }
.mst-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; background: var(--mst-grey); border-radius: 2px; font-size: .82rem; text-decoration: none; transition: background .2s, color .2s; }
.mst-chip:hover { background: var(--mst-dark); color: var(--mst-bg); }
.mst-chips__clear { font-size: .82rem; color: var(--mst-muted); margin-left: 6px; }

/* ---------- Trip cards: identical size ---------- */
.mst-grid { display: grid; grid-template-columns: repeat(var(--mst-cols, 3), minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); align-items: stretch; }
.mst-card {
	display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 6px; overflow: hidden;
	box-shadow: 0 1px 2px rgba(41, 39, 40, .06), 0 14px 30px -20px rgba(41, 39, 40, .4);
	transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s;
}
.mst-card:hover { transform: translateY(-5px); box-shadow: 0 2px 4px rgba(41, 39, 40, .06), 0 24px 40px -20px rgba(41, 39, 40, .45); }
.mst-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--mst-grey); }
.mst-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.mst-card:hover .mst-card__img { transform: scale(1.06); }
.mst-card__ph { position: absolute; inset: 0; background: linear-gradient(135deg, var(--mst-grey), #cdc8bd); }
.mst-card__badge { position: absolute; top: 14px; left: 14px; padding: 5px 12px; background: var(--mst-bg); color: var(--mst-dark); font-size: .66rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; border-radius: 2px; }
.mst-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.mst-card__meta { margin: 0; font-size: .7rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mst-muted); min-height: 1.2em; }
.mst-card__title { margin: 8px 0 10px !important; font-size: 1.6rem !important; line-height: 1.12 !important; min-height: calc(2 * 1.12em); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mst-card__title a { text-decoration: none; }
.mst-card__title a:hover { color: var(--mst-accent); }
.mst-card__rating { display: flex; align-items: center; gap: 8px; min-height: 22px; font-size: .8rem; color: var(--mst-muted); }
.mst-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 12px 0 18px; font-size: .82rem; color: var(--mst-muted); }
.mst-card__price strong { font-family: var(--mst-font-head); font-size: 2rem; font-weight: 600; line-height: 1; color: var(--mst-dark); }
.mst-card__ask { font-size: 1.4rem !important; }
.mst-card__actions { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mst-card__actions .mst-btn { padding: 0 8px; letter-spacing: .1em; white-space: nowrap; min-width: 0; }
.mst-card__actions .mst-btn--wide { grid-column: 1 / -1; }

.mst-empty { padding: clamp(36px, 6vw, 72px) 20px; text-align: center; background: #fff; border-radius: 6px; }
.mst-empty h3 { font-size: 2rem; margin-bottom: 10px; }
.mst-empty p { max-width: 46ch; margin: 0 auto 22px; color: var(--mst-muted); }

.mst-pagination { margin-top: 40px; }
.mst-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; padding: 0; margin: 0; }
.mst-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--mst-line); background: #fff; font-size: .85rem; text-decoration: none; transition: all .2s; }
.mst-pagination a.page-numbers:hover { border-color: var(--mst-dark); }
.mst-pagination .current { background: var(--mst-dark); color: var(--mst-bg); border-color: var(--mst-dark); }
.mst-pagination .dots { border: 0; background: none; }

.mst-band { background: var(--mst-dark); color: var(--mst-bg); padding-block: clamp(40px, 6vw, 72px); }
.mst-band__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.mst-band h2 { margin-bottom: 8px; }
.mst-band p { margin: 0; opacity: .8; }
.mst-band .mst-btn { width: auto; min-width: 240px; }

/* Destination cards */
.mst-dest { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 6px; background: var(--mst-dark); color: var(--mst-bg) !important; text-decoration: none; }
.mst-dest__media, .mst-dest__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mst-dest__img { transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.mst-dest:hover .mst-dest__img { transform: scale(1.07); }
.mst-dest::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(41, 39, 40, .85), rgba(41, 39, 40, 0) 55%); }
.mst-dest__text { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 20px; display: flex; flex-direction: column; gap: 4px; }
.mst-dest__name { font-family: var(--mst-font-head); font-size: 2rem; font-weight: 600; line-height: 1.05; }
.mst-dest__count { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; opacity: .85; }

/* ---------- Single trip ---------- */
.mst-tabs { position: sticky; top: var(--mst-top); z-index: 40; background: var(--mst-bg); border-bottom: 1px solid var(--mst-line); }
.mst-tabs__list { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; }
.mst-tabs__list::-webkit-scrollbar { display: none; }
.mst-tabs a { display: block; padding: 18px 16px; font-size: .72rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; transition: border-color .25s, color .25s; }
.mst-tabs a:hover { color: var(--mst-accent); }
.mst-tabs a.is-active { border-bottom-color: var(--mst-dark); }

.mst-single__layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: clamp(28px, 4vw, 64px); padding-block: clamp(32px, 5vw, 64px); align-items: start; }
.mst-single__aside { position: sticky; top: calc(var(--mst-top) + 84px); }
.mst-section { padding-bottom: clamp(34px, 5vw, 54px); margin-bottom: clamp(34px, 5vw, 54px); border-bottom: 1px solid var(--mst-line); scroll-margin-top: calc(var(--mst-top) + 78px); }
.mst-section:last-child { border-bottom: 0; margin-bottom: 0; }
.mst-section > h2, .mst-section__head h2 { margin-bottom: 22px; }
.mst-section__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; }

.mst-prose { font-size: 1.02rem; }
.mst-overview { font-size: 1.12rem; margin-bottom: 26px; }
.mst-prose p { margin: 0 0 1.1em; }
.mst-prose p:last-child { margin-bottom: 0; }
.mst-prose ul, .mst-prose ol { padding-left: 1.3em; margin: 0 0 1.1em; }
.mst-prose img { border-radius: 4px; }

.mst-highlights { list-style: none; padding: 0; margin: 0 0 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; }
.mst-highlights li, .mst-inc li { position: relative; padding-left: 30px; }
.mst-highlights li::before, .mst-inc li::before {
	content: ""; position: absolute; left: 0; top: .28em; width: 18px; height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23292728' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mst-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1px; margin: 0 0 24px; background: var(--mst-line); border: 1px solid var(--mst-line); }
.mst-facts__item { background: var(--mst-bg); padding: 16px 18px; }
.mst-facts dt { font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--mst-muted); margin-bottom: 4px; }
.mst-facts dd { margin: 0; font-weight: 500; }
.mst-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.mst-tags a { display: inline-block; padding: 8px 16px; border: 1px solid var(--mst-dark); border-radius: 999px; font-size: .8rem; text-decoration: none; transition: all .25s; }
.mst-tags a:hover { background: var(--mst-dark); color: var(--mst-bg); }

.mst-days, .mst-faqs { display: grid; gap: 10px; }
.mst-day, .mst-faq { background: #fff; border: 1px solid var(--mst-line); border-radius: 4px; }
.mst-day summary, .mst-faq summary { display: flex; align-items: center; gap: 16px; padding: 18px 20px; cursor: pointer; list-style: none; }
.mst-day summary::-webkit-details-marker, .mst-faq summary::-webkit-details-marker { display: none; }
.mst-day__n { flex: none; min-width: 66px; padding: 6px 10px; text-align: center; background: var(--mst-dark); color: var(--mst-bg); font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; border-radius: 2px; }
.mst-day__t { flex: 1; font-family: var(--mst-font-head); font-size: 1.45rem; font-weight: 600; line-height: 1.15; }
.mst-faq summary span:first-child { flex: 1; font-family: var(--mst-font-head); font-size: 1.35rem; font-weight: 600; line-height: 1.2; }
.mst-day__chev { flex: none; width: 9px; height: 9px; margin-right: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s; }
details[open] > summary .mst-day__chev { transform: rotate(-135deg); }
.mst-day__body { padding: 0 20px 22px 102px; }
.mst-faq .mst-prose { padding: 0 20px 22px; }
.mst-day__meta { display: flex; flex-wrap: wrap; gap: 8px 28px; list-style: none; padding: 16px 0 0; margin: 16px 0 0; border-top: 1px dashed var(--mst-line); font-size: .9rem; }
.mst-day__meta strong { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; margin-right: 6px; color: var(--mst-muted); }

.mst-inc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.mst-inc__col { background: #fff; padding: 24px 26px; border-radius: 4px; border-top: 3px solid var(--mst-accent); }
.mst-inc__col--no { border-top-color: var(--mst-brown); }
.mst-inc h3 { font-size: 1.5rem; margin-bottom: 14px; }
.mst-inc ul { list-style: none; padding: 0; display: grid; gap: 10px; }
.mst-inc__col--no li::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F180B' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
}

.mst-table-wrap { overflow-x: auto; }
.mst-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--mst-line); }
.mst-table th { padding: 14px 16px; text-align: left; font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; background: var(--mst-grey); }
.mst-table td { padding: 16px; border-top: 1px solid var(--mst-line); vertical-align: middle; }
.mst-table small { display: block; color: var(--mst-muted); font-size: .8rem; }
.mst-table tr.is-sold_out { opacity: .6; }
.mst-table__act { text-align: right; }
.mst-status { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .72rem; font-weight: 600; letter-spacing: .04em; background: #e2ece1; color: #2f5a31; }
.mst-status--limited { background: #f5e8cf; color: #7b5513; }
.mst-status--sold_out { background: #f1dad5; color: #8a2f20; }
.mst-pricelist { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 1px; background: var(--mst-line); border: 1px solid var(--mst-line); max-width: 460px; }
.mst-pricelist li { display: flex; justify-content: space-between; gap: 12px; padding: 14px 18px; background: #fff; }
.mst-pricelist small { font-weight: 400; color: var(--mst-muted); }

.mst-gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: clamp(120px, 15vw, 190px); gap: 10px; }
.mst-gallery__item { position: relative; display: block; overflow: hidden; border-radius: 4px; background: var(--mst-grey); }
.mst-gallery__item:first-child { grid-column: span 2; grid-row: span 2; }
.mst-gallery__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.mst-gallery__item:hover img { transform: scale(1.06); }
.mst-map iframe { display: block; width: 100%; height: clamp(260px, 38vw, 420px); border: 0; border-radius: 4px; }

/* Booking card */
.mst-bcard { background: #fff; border: 1px solid var(--mst-line); border-radius: 6px; padding: 26px; box-shadow: 0 24px 50px -28px rgba(41, 39, 40, .45); max-height: calc(100vh - var(--mst-top) - 108px); overflow: auto; scrollbar-width: thin; }
.mst-bcard__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid var(--mst-line); }
.mst-bcard__from, .mst-bcard__pp { font-size: .8rem; color: var(--mst-muted); }
.mst-bcard__price, .mst-bcard__ask { font-family: var(--mst-font-head); font-size: 2.6rem; font-weight: 600; line-height: 1; }
.mst-bcard__ask { font-size: 2rem; }
.mst-bcard__group { margin: 0 0 18px; padding: 0; border: 0; min-width: 0; }
.mst-bcard__group legend, .mst-bcard__label { display: block; padding: 0; margin-bottom: 8px; font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mst-muted); }
.mst-tierpick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mst-tierpick__opt { position: relative; }
.mst-tierpick__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mst-tierpick__box { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1.5px solid var(--mst-line); border-radius: 3px; cursor: pointer; transition: all .25s; height: 100%; }
.mst-tierpick__name { font-weight: 700; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.mst-tierpick__price { font-family: var(--mst-font-head); font-size: 1.3rem; font-weight: 600; }
.mst-tierpick__opt:hover .mst-tierpick__box { border-color: var(--mst-dark); }
.mst-tierpick__opt input:checked + .mst-tierpick__box { background: var(--mst-dark); color: var(--mst-bg); border-color: var(--mst-dark); }
.mst-tierpick__opt input:focus-visible + .mst-tierpick__box { outline: 2px solid var(--mst-accent); outline-offset: 2px; }
.mst-bcard__custom { margin-top: 8px; }
.mst-bcard__people { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mst-stepper { display: grid; grid-template-columns: 44px 1fr 44px; border: 1px solid rgba(41, 39, 40, .25); border-radius: 2px; background: #fff; }
.mst-stepper button { min-height: 46px; border: 0; background: none; font-size: 1.3rem; cursor: pointer; color: var(--mst-dark); transition: background .2s; }
.mst-stepper button:hover { background: var(--mst-grey); }
.mst-stepper input { border: 0 !important; text-align: center; min-height: 46px; padding: 0 !important; -moz-appearance: textfield; background: none !important; }
.mst-stepper input::-webkit-outer-spin-button, .mst-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mst-extras .mst-check { padding: 6px 0; }
.mst-bcard__sum { margin: 20px 0 16px; padding: 16px 18px; background: var(--mst-bg); border-radius: 3px; }
.mst-bcard__lines { list-style: none; padding: 0; margin: 0 0 10px; font-size: .86rem; display: grid; gap: 4px; }
.mst-bcard__lines:empty { display: none; }
.mst-bcard__lines li { display: flex; justify-content: space-between; gap: 10px; color: var(--mst-muted); }
.mst-bcard__total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.mst-bcard__total span { font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.mst-bcard__total strong { font-family: var(--mst-font-head); font-size: 2rem; font-weight: 600; line-height: 1; }
.mst-bcard__note { margin: 12px 0 0; font-size: .8rem; color: var(--mst-muted); text-align: center; }
.mst-bcard__help { list-style: none; padding: 16px 0 0; margin: 16px 0 0; border-top: 1px solid var(--mst-line); display: grid; gap: 8px; font-size: .86rem; }
.mst-bcard__help:empty { display: none; border: 0; padding: 0; margin: 0; }
.mst-bcard__help a { text-decoration: none; border-bottom: 1px solid var(--mst-line); }
.mst-bcard__help a:hover { border-color: currentColor; }

/* Booking form band */
.mst-booking { background: var(--mst-dark); color: var(--mst-bg); padding-block: clamp(44px, 7vw, 96px); scroll-margin-top: var(--mst-top); }
.mst-booking__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.mst-booking h2 { color: var(--mst-bg); margin-bottom: 24px; font-size: clamp(2rem, 4vw, 3.2rem); }
.mst-booking__points { list-style: none; padding: 0; display: grid; gap: 12px; }
.mst-booking__points li { position: relative; padding-left: 30px; opacity: .92; }
.mst-booking__points li::before { content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F8F1DE' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.mst-booking__recap { margin-top: 28px; padding: 18px 20px; border: 1px solid rgba(248, 241, 222, .3); border-radius: 4px; font-size: .92rem; line-height: 1.7; }
.mst-booking__recap strong { display: block; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; opacity: .7; margin-bottom: 4px; }
.mst-booking__panel { background: #fff; color: var(--mst-dark); padding: clamp(22px, 3.2vw, 40px); border-radius: 6px; }

/* Forms (booking + review) */
.mst-form { display: grid; gap: 18px; }
.mst-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.mst-field { margin: 0; padding: 0; border: 0; min-width: 0; }
.mst-field label, .mst-field legend { display: block; margin-bottom: 7px; padding: 0; font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.mst-req { color: #a8412f; }
.mst-field.has-error input, .mst-field.has-error textarea { border-color: #a8412f; }
.mst-field__error { margin: 6px 0 0; font-size: .82rem; color: #a8412f; }
.mst-form__fine { margin: 0; font-size: .8rem; color: var(--mst-muted); }
.mst-form__msg { margin-bottom: 18px; padding: 14px 18px; border-left: 4px solid; font-size: .95rem; }
.mst-form__msg.is-ok { background: #e8f0e7; border-color: #4f8350; color: #25402a; }
.mst-form__msg.is-bad { background: #f7e4df; border-color: #a8412f; color: #5e2217; }
.mst-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Rating input */
.mst-rate { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; }
.mst-rate input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; }
.mst-rate label {
	width: 36px; height: 36px; margin: 0; cursor: pointer; background: #cfcac0; transition: background .15s, transform .15s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mst-rate input:checked ~ label, .mst-rate label:hover, .mst-rate label:hover ~ label { background: var(--mst-gold); }
.mst-rate label:hover { transform: scale(1.12); }
.mst-rate input:focus-visible + label { background: var(--mst-brown); }

/* Reviews */
.mst-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(24px, 5vw, 56px); align-items: center; padding: clamp(22px, 3vw, 34px); margin-bottom: 24px; background: #fff; border-radius: 6px; border: 1px solid var(--mst-line); }
.mst-summary--compact { display: flex; justify-content: center; margin-bottom: 28px; }
.mst-summary__score { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.mst-summary__avg { font-family: var(--mst-font-head); font-size: 4.2rem; font-weight: 600; line-height: .9; }
.mst-summary__score .mst-stars { font-size: 20px; }
.mst-summary__count { font-size: .82rem; color: var(--mst-muted); }
.mst-summary__bars { list-style: none; padding: 0; display: grid; gap: 8px; }
.mst-summary__bars li { display: grid; grid-template-columns: 34px minmax(0, 1fr) 30px; align-items: center; gap: 12px; font-size: .84rem; }
.mst-summary__bar { height: 8px; background: var(--mst-grey); border-radius: 4px; overflow: hidden; }
.mst-summary__bar span { display: block; height: 100%; background: var(--mst-gold); border-radius: 4px; }
.mst-summary__n { text-align: right; color: var(--mst-muted); }
.mst-reviews__list { display: grid; gap: 16px; }
.mst-grid--reviews { align-items: stretch; }
.mst-review { display: flex; flex-direction: column; height: 100%; padding: 24px 26px; background: #fff; border: 1px solid var(--mst-line); border-radius: 6px; }
.mst-review__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.mst-review__date { font-size: .78rem; color: var(--mst-muted); }
.mst-review__title { font-size: 1.45rem !important; margin-bottom: 8px !important; }
.mst-review__text { font-size: .96rem; }
.mst-review__text p { margin: 0 0 .8em; }
.mst-review--clamp .mst-review__text { display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.mst-review__who { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 18px; }
.mst-review__avatar { flex: none; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--mst-dark); color: var(--mst-bg); font-family: var(--mst-font-head); font-size: 1.3rem; font-weight: 600; }
.mst-review__id { display: flex; flex-direction: column; font-size: .84rem; line-height: 1.35; }
.mst-review__id span { color: var(--mst-muted); }
.mst-review__trip { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--mst-line); font-size: .76rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.mst-review__trip:hover { color: var(--mst-accent); }
.mst-reviews__more { text-align: center; margin: 22px 0 0; }
.mst-reviews__empty { padding: 20px 0; color: var(--mst-muted); }
.mst-reviewform { margin-top: 40px; padding: clamp(22px, 3vw, 36px); background: #fff; border: 1px solid var(--mst-line); border-radius: 6px; scroll-margin-top: calc(var(--mst-top) + 80px); }
.mst-reviewform__title { font-size: 2rem !important; margin-bottom: 6px !important; }
.mst-reviewform__intro { margin: 0 0 22px; color: var(--mst-muted); }
.mst-reviews-sc .mst-reviewform { margin-top: 0; }

/* Slider (for [mst_reviews layout="slider"]) */
.mst-slider { position: relative; }
.mst-slider__track {
	display: grid; grid-auto-flow: column; gap: 20px;
	grid-auto-columns: calc((100% - (var(--mst-cols, 3) - 1) * 20px) / var(--mst-cols, 3));
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 10px;
}
.mst-slider__track::-webkit-scrollbar { display: none; }
.mst-slider__track > * { scroll-snap-align: start; }
.mst-slider__nav {
	position: absolute; top: 50%; z-index: 2; width: 46px; height: 46px; margin-top: -23px; border-radius: 50%;
	border: 1px solid var(--mst-dark); background: var(--mst-bg); color: var(--mst-dark); font-size: 1.7rem; line-height: 1; cursor: pointer;
	display: grid; place-items: center; padding: 0 0 4px; transition: background .25s, color .25s;
}
.mst-slider__nav:hover { background: var(--mst-dark); color: var(--mst-bg); }
.mst-slider__nav--prev { left: -23px; }
.mst-slider__nav--next { right: -23px; }

/* Related + explore */
.mst-related { background: #fff; padding-block: clamp(44px, 6vw, 84px); }
.mst-related .mst-section__head { margin-bottom: 28px; }
.mst-related .mst-section__head h2 { margin-bottom: 0; }
.mst-explore { padding-block: clamp(40px, 5vw, 72px); }
.mst-explore__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 48px; }
.mst-explore h2 { font-size: 1.9rem; margin-bottom: 16px; }

/* Mobile sticky booking bar */
.mst-sticky { display: none; }

/* Lightbox */
.mst-lightbox { position: fixed; inset: 0; z-index: 100001; display: grid; place-items: center; background: rgba(20, 18, 18, .94); }
.mst-lightbox img { max-width: 92vw; max-height: 86vh; object-fit: contain; }
.mst-lightbox button { position: absolute; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(248, 241, 222, .14); color: #F8F1DE; font-size: 1.8rem; line-height: 1; cursor: pointer; display: grid; place-items: center; }
.mst-lightbox button:hover { background: rgba(248, 241, 222, .3); }
.mst-lightbox__close { top: 16px; right: 16px; }
.mst-lightbox__prev { left: 16px; }
.mst-lightbox__next { right: 16px; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
	.mst-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 32px; }
	.mst-single__layout { grid-template-columns: minmax(0, 1fr) 350px; }
}

@media (max-width: 1000px) {
	.mst-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mst-slider__track { grid-auto-columns: calc((100% - 20px) / 2); }
	.mst-slider__nav--prev { left: -8px; }
	.mst-slider__nav--next { right: -8px; }
}

@media (max-width: 900px) {
	/* trips list: filters become a slide-in drawer */
	.mst-layout { grid-template-columns: 1fr; gap: 20px; }
	.mst-filter-toggle {
		display: inline-flex; align-items: center; gap: 10px; justify-self: start; min-height: 46px; padding: 0 20px;
		border: 1.5px solid var(--mst-dark); border-radius: 2px; background: #fff; color: var(--mst-dark);
		font-family: inherit; font-weight: 600; font-size: .74rem; line-height: 1; letter-spacing: .16em; text-transform: uppercase; cursor: pointer;
	}
	.mst-filter-toggle__icon { width: 16px; height: 12px; border-block: 2px solid currentColor; position: relative; }
	.mst-filter-toggle__icon::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: currentColor; }
	.mst-filter-toggle__n { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--mst-dark); color: var(--mst-bg); font-size: .7rem; letter-spacing: 0; }
	.mst-filters {
		position: fixed; z-index: 100000; inset: 0 auto 0 0; width: min(88vw, 370px); max-height: none; padding: 18px 20px 24px;
		background: var(--mst-bg); box-shadow: 20px 0 50px rgba(0, 0, 0, .25);
		transform: translateX(-104%); visibility: hidden; transition: transform .35s cubic-bezier(.2, .7, .2, 1), visibility 0s .35s;
		overscroll-behavior: contain;
	}
	.mst-filters.is-open { transform: none; visibility: visible; transition-delay: 0s; }
	.mst-filters__close { display: grid; }
	.mst-filters__scrim { position: fixed; inset: 0; z-index: 99999; background: rgba(41, 39, 40, .55); }
	.mst-js .mst-apply { display: inline-flex; position: sticky; bottom: 0; }

	/* single trip */
	.mst-single__layout { grid-template-columns: 1fr; gap: 0; }
	.mst-single__aside { position: static; margin-top: 8px; }
	.mst-bcard { max-height: none; overflow: visible; }
	.mst-booking__grid { grid-template-columns: 1fr; }
	.mst-sticky {
		display: flex; align-items: center; justify-content: space-between; gap: 14px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--mst-line);
		box-shadow: 0 -10px 30px rgba(41, 39, 40, .12); transform: translateY(115%); transition: transform .35s cubic-bezier(.2, .7, .2, 1);
	}
	.mst-sticky.is-visible { transform: none; }
	.mst-sticky__price { display: flex; flex-direction: column; line-height: 1.1; }
	.mst-sticky__price small { font-size: .7rem; color: var(--mst-muted); }
	.mst-sticky__price strong { font-family: var(--mst-font-head); font-size: 1.7rem; }
	.mst-sticky .mst-btn { padding: 0 22px; }
	.mst-slider__nav { display: none; }
	.mst-day__body { padding: 0 20px 22px; }
}

@media (max-width: 640px) {
	.mst-grid, .mst-layout .mst-grid { grid-template-columns: 1fr; }
	.mst-slider__track { grid-auto-columns: 86%; }
	.mst-highlights, .mst-inc, .mst-explore__grid, .mst-form__row { grid-template-columns: 1fr; }
	.mst-summary { grid-template-columns: 1fr; text-align: left; }
	.mst-summary__score { align-items: flex-start; text-align: left; }
	.mst-gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 38vw; }
	.mst-gallery__item:first-child { grid-column: span 2; grid-row: span 1; }
	.mst-toolbar { flex-direction: column; align-items: stretch; }
	.mst-sort { justify-content: space-between; }
	.mst-sort select { flex: 1; min-width: 0; }
	.mst-day summary, .mst-faq summary { padding: 14px 14px; gap: 12px; }
	.mst-day__t { font-size: 1.25rem; }
	.mst-bcard { padding: 20px; }
	.mst-band__inner { flex-direction: column; align-items: stretch; text-align: left; }
	.mst-band .mst-btn { width: 100%; }
	.mst-hero__chips li { padding: 6px 12px; }

	/* dates table becomes stacked cards */
	.mst-table thead { position: absolute; left: -9999px; }
	.mst-table, .mst-table tbody, .mst-table tr, .mst-table td { display: block; width: 100%; }
	.mst-table tr { padding: 12px 16px; border-top: 1px solid var(--mst-line); }
	.mst-table tr:first-child { border-top: 0; }
	.mst-table td { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 7px 0; border: 0; text-align: right; }
	.mst-table td::before { content: attr(data-label); font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mst-muted); text-align: left; }
	.mst-table td.mst-table__act { display: block; padding-top: 12px; }
	.mst-table td.mst-table__act::before { display: none; }
	.mst-table .mst-btn { width: 100%; }
	.mst-table td small { display: inline; margin-left: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.mst *, .mst *::before, .mst *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
	.mst-card:hover { transform: none; }
	.mst-filters { transition: none; }
}


/* ---------- Three cards per row beside the filters (2 on tablet, 1 on phone) ---------- */
.mst-layout .mst-grid { grid-template-columns: repeat(var(--mst-cols, 3), minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 26px); }
.mst-layout .mst-card__media { aspect-ratio: 4 / 3; }
.mst-layout .mst-card__body { padding: 20px 20px 22px; }
.mst-layout .mst-card__title { font-size: 1.5rem !important; }
.mst-layout .mst-card__price strong { font-size: 1.9rem; }
.mst-layout .mst-card__actions { gap: 8px; }
.mst-layout .mst-card__actions .mst-btn { letter-spacing: .08em; font-size: .68rem; padding: 0 8px; }
@media (min-width: 641px) and (max-width: 1199px) {
	.mst-layout .mst-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.mst-layout .mst-grid { grid-template-columns: 1fr; }
	.mst-layout .mst-card__title { font-size: 1.6rem !important; }
}

/* ---------- Phone: days + price + Inquire bar at the top of the trip ---------- */
.mst-quick { display: none; }
@media (max-width: 900px) {
	.mst-quick {
		display: block; position: sticky; top: var(--mst-top); z-index: 42;
		background: #fff; border-bottom: 1px solid var(--mst-line); box-shadow: 0 6px 18px -12px rgba(41, 39, 40, .45);
	}
	.mst-quick__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 10px; }
	.mst-quick__info { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 14px; min-width: 0; line-height: 1.15; }
	.mst-quick__days {
		font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
		padding: 5px 10px; border: 1px solid var(--mst-dark); border-radius: 999px; white-space: nowrap;
	}
	.mst-quick__price { font-size: .78rem; color: var(--mst-muted); white-space: nowrap; }
	.mst-quick__price strong { font-family: var(--mst-font-head); font-size: 1.55rem; font-weight: 600; color: var(--mst-dark); }
	.mst-quick__btn { flex: none; min-height: 42px; padding: 0 22px; }
	.mst-tabs { top: calc(var(--mst-top) + var(--mst-quick-h, 0px)); }
	.mst-hero__chips .mst-chip--days, .mst-hero__chips .mst-chip--price { display: none; }
	.mst-sticky { display: none !important; }
}
@media (max-width: 360px) {
	.mst-quick__price strong { font-size: 1.3rem; }
	.mst-quick__btn { padding: 0 16px; }
}

/* ================= v2 look: image cards, section backgrounds, patterns ================= */
:root {
	--mst-pat-splash-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1500' height='1800' viewBox='0 0 1500 1800'%3E%3Cdefs%3E%3Cfilter id='b' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeGaussianBlur stdDeviation='26'/%3E%3C/filter%3E%3Cfilter id='s'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%2523b)'%3E%3Cpath d='M1539 260C1540 330 1568 384 1530 431C1491 478 1374 541 1309 542C1243 543 1181 474 1136 438C1091 402 1057 366 1040 327C1023 287 1024 260 1033 202C1042 144 1051 3 1094 -19C1137 -41 1220 66 1292 71C1364 76 1484 -21 1525 11C1567 42 1539 190 1539 260Z' fill='%23869192' fill-opacity='0.30'/%3E%3Cpath d='M496 700C521 748 528 835 486 885C445 935 315 1008 245 1002C175 995 119 881 67 846C16 811 -46 828 -64 791C-82 755 -52 681 -39 626C-26 570 -30 482 15 458C61 433 180 456 234 479C288 502 295 559 339 596C383 633 472 652 496 700Z' fill='%23A9B0B0' fill-opacity='0.24'/%3E%3Cpath d='M1585 1180C1582 1248 1477 1321 1420 1368C1362 1415 1317 1431 1240 1461C1164 1491 1019 1580 963 1548C907 1517 924 1357 902 1274C881 1191 824 1113 836 1048C847 984 900 922 971 885C1042 848 1185 813 1264 826C1342 839 1386 902 1440 961C1494 1020 1589 1112 1585 1180Z' fill='%23869192' fill-opacity='0.30'/%3E%3Cpath d='M492 1620C491 1666 445 1697 416 1755C387 1813 377 1941 316 1967C255 1993 116 1947 48 1909C-20 1870 -73 1802 -92 1737C-111 1672 -91 1599 -68 1518C-44 1437 -10 1283 52 1250C114 1217 243 1283 305 1321C366 1360 389 1431 420 1480C451 1530 493 1574 492 1620Z' fill='%232F180B' fill-opacity='0.10'/%3E%3Cpath d='M1014 950C1029 990 1012 1064 976 1097C940 1131 845 1157 797 1152C748 1147 717 1093 683 1067C650 1041 606 1024 594 995C582 966 597 922 611 895C624 868 644 860 675 832C706 805 762 726 797 731C832 735 848 822 884 858C921 895 998 910 1014 950Z' fill='%23A9B0B0' fill-opacity='0.24'/%3E%3C/g%3E%3Cg filter='url(%2523s)'%3E%3Ccircle cx='740' cy='96' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1517' cy='-46' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1741' cy='218' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1616' cy='161' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1533' cy='657' r='4' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='779' cy='305' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1175' cy='630' r='18' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='931' cy='603' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1083' cy='-165' r='18' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='966' cy='-158' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1665' cy='-43' r='18' fill='%23869192' fill-opacity='0.48'/%3E%3Cellipse cx='941' cy='508' rx='16' ry='7' transform='rotate(141 941 508)' fill='%23869192' fill-opacity='0.42'/%3E%3Cellipse cx='1565' cy='500' rx='20' ry='7' transform='rotate(37 1565 500)' fill='%23869192' fill-opacity='0.42'/%3E%3Cellipse cx='1616' cy='411' rx='11' ry='5' transform='rotate(22 1616 411)' fill='%23869192' fill-opacity='0.42'/%3E%3Ccircle cx='-133' cy='823' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='478' cy='802' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-307' cy='586' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='659' cy='777' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-133' cy='1008' r='9' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-146' cy='456' r='4' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='476' cy='287' r='13' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-193' cy='746' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='486' cy='929' r='9' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='-266' cy='760' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='675' cy='772' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Cellipse cx='-53' cy='975' rx='21' ry='8' transform='rotate(130 -53 975)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Cellipse cx='489' cy='515' rx='22' ry='8' transform='rotate(329 489 515)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Cellipse cx='73' cy='1044' rx='20' ry='4' transform='rotate(107 73 1044)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Ccircle cx='1034' cy='766' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1567' cy='929' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='631' cy='1066' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='839' cy='786' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1377' cy='645' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1333' cy='1649' r='4' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1742' cy='1143' r='13' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1149' cy='1719' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='615' cy='1374' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1625' cy='1051' r='6' fill='%23869192' fill-opacity='0.48'/%3E%3Ccircle cx='1571' cy='1472' r='9' fill='%23869192' fill-opacity='0.48'/%3E%3Cellipse cx='1302' cy='1594' rx='19' ry='8' transform='rotate(74 1302 1594)' fill='%23869192' fill-opacity='0.42'/%3E%3Cellipse cx='1412' cy='816' rx='17' ry='9' transform='rotate(303 1412 816)' fill='%23869192' fill-opacity='0.42'/%3E%3Cellipse cx='939' cy='1539' rx='20' ry='4' transform='rotate(124 939 1539)' fill='%23869192' fill-opacity='0.42'/%3E%3Ccircle cx='433' cy='1309' r='13' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='349' cy='1138' r='13' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='577' cy='1346' r='9' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='706' cy='1896' r='13' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='-228' cy='1733' r='4' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='191' cy='1253' r='6' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='702' cy='1699' r='13' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='377' cy='1276' r='18' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='719' cy='1562' r='9' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='501' cy='1994' r='4' fill='%232F180B' fill-opacity='0.16'/%3E%3Ccircle cx='786' cy='1668' r='4' fill='%232F180B' fill-opacity='0.16'/%3E%3Cellipse cx='-129' cy='1556' rx='24' ry='5' transform='rotate(190 -129 1556)' fill='%232F180B' fill-opacity='0.14'/%3E%3Cellipse cx='-101' cy='1775' rx='23' ry='5' transform='rotate(156 -101 1775)' fill='%232F180B' fill-opacity='0.14'/%3E%3Cellipse cx='427' cy='1279' rx='13' ry='4' transform='rotate(297 427 1279)' fill='%232F180B' fill-opacity='0.14'/%3E%3Ccircle cx='757' cy='1235' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='785' cy='661' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='532' cy='1077' r='9' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='1033' cy='746' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='427' cy='1131' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='940' cy='1143' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='1065' cy='986' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='482' cy='725' r='6' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='906' cy='1226' r='4' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='488' cy='849' r='18' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Ccircle cx='452' cy='890' r='4' fill='%23A9B0B0' fill-opacity='0.38'/%3E%3Cellipse cx='965' cy='765' rx='10' ry='5' transform='rotate(318 965 765)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Cellipse cx='859' cy='1207' rx='10' ry='4' transform='rotate(69 859 1207)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3Cellipse cx='484' cy='937' rx='18' ry='4' transform='rotate(183 484 937)' fill='%23A9B0B0' fill-opacity='0.34'/%3E%3C/g%3E%3C/svg%3E");
	--mst-pat-splash-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1500' height='1800' viewBox='0 0 1500 1800'%3E%3Cdefs%3E%3Cfilter id='b' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeGaussianBlur stdDeviation='26'/%3E%3C/filter%3E%3Cfilter id='s'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%2523b)'%3E%3Cpath d='M1539 260C1540 330 1568 384 1530 431C1491 478 1374 541 1309 542C1243 543 1181 474 1136 438C1091 402 1057 366 1040 327C1023 287 1024 260 1033 202C1042 144 1051 3 1094 -19C1137 -41 1220 66 1292 71C1364 76 1484 -21 1525 11C1567 42 1539 190 1539 260Z' fill='%23F8F1DE' fill-opacity='0.16'/%3E%3Cpath d='M496 700C521 748 528 835 486 885C445 935 315 1008 245 1002C175 995 119 881 67 846C16 811 -46 828 -64 791C-82 755 -52 681 -39 626C-26 570 -30 482 15 458C61 433 180 456 234 479C288 502 295 559 339 596C383 633 472 652 496 700Z' fill='%23869192' fill-opacity='0.22'/%3E%3Cpath d='M1585 1180C1582 1248 1477 1321 1420 1368C1362 1415 1317 1431 1240 1461C1164 1491 1019 1580 963 1548C907 1517 924 1357 902 1274C881 1191 824 1113 836 1048C847 984 900 922 971 885C1042 848 1185 813 1264 826C1342 839 1386 902 1440 961C1494 1020 1589 1112 1585 1180Z' fill='%23F8F1DE' fill-opacity='0.16'/%3E%3Cpath d='M492 1620C491 1666 445 1697 416 1755C387 1813 377 1941 316 1967C255 1993 116 1947 48 1909C-20 1870 -73 1802 -92 1737C-111 1672 -91 1599 -68 1518C-44 1437 -10 1283 52 1250C114 1217 243 1283 305 1321C366 1360 389 1431 420 1480C451 1530 493 1574 492 1620Z' fill='%23B08D4C' fill-opacity='0.18'/%3E%3Cpath d='M1014 950C1029 990 1012 1064 976 1097C940 1131 845 1157 797 1152C748 1147 717 1093 683 1067C650 1041 606 1024 594 995C582 966 597 922 611 895C624 868 644 860 675 832C706 805 762 726 797 731C832 735 848 822 884 858C921 895 998 910 1014 950Z' fill='%23869192' fill-opacity='0.22'/%3E%3C/g%3E%3Cg filter='url(%2523s)'%3E%3Ccircle cx='740' cy='96' r='13' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1517' cy='-46' r='13' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1741' cy='218' r='13' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1616' cy='161' r='6' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1533' cy='657' r='4' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='779' cy='305' r='9' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1175' cy='630' r='18' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='931' cy='603' r='6' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1083' cy='-165' r='18' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='966' cy='-158' r='13' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1665' cy='-43' r='18' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Cellipse cx='941' cy='508' rx='16' ry='7' transform='rotate(141 941 508)' fill='%23F8F1DE' fill-opacity='0.22'/%3E%3Cellipse cx='1565' cy='500' rx='20' ry='7' transform='rotate(37 1565 500)' fill='%23F8F1DE' fill-opacity='0.22'/%3E%3Cellipse cx='1616' cy='411' rx='11' ry='5' transform='rotate(22 1616 411)' fill='%23F8F1DE' fill-opacity='0.22'/%3E%3Ccircle cx='-133' cy='823' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='478' cy='802' r='6' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='-307' cy='586' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='659' cy='777' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='-133' cy='1008' r='9' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='-146' cy='456' r='4' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='476' cy='287' r='13' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='-193' cy='746' r='6' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='486' cy='929' r='9' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='-266' cy='760' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='675' cy='772' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Cellipse cx='-53' cy='975' rx='21' ry='8' transform='rotate(130 -53 975)' fill='%23869192' fill-opacity='0.31'/%3E%3Cellipse cx='489' cy='515' rx='22' ry='8' transform='rotate(329 489 515)' fill='%23869192' fill-opacity='0.31'/%3E%3Cellipse cx='73' cy='1044' rx='20' ry='4' transform='rotate(107 73 1044)' fill='%23869192' fill-opacity='0.31'/%3E%3Ccircle cx='1034' cy='766' r='9' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1567' cy='929' r='6' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='631' cy='1066' r='9' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='839' cy='786' r='6' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1377' cy='645' r='6' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1333' cy='1649' r='4' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1742' cy='1143' r='13' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1149' cy='1719' r='9' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='615' cy='1374' r='9' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1625' cy='1051' r='6' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Ccircle cx='1571' cy='1472' r='9' fill='%23F8F1DE' fill-opacity='0.26'/%3E%3Cellipse cx='1302' cy='1594' rx='19' ry='8' transform='rotate(74 1302 1594)' fill='%23F8F1DE' fill-opacity='0.22'/%3E%3Cellipse cx='1412' cy='816' rx='17' ry='9' transform='rotate(303 1412 816)' fill='%23F8F1DE' fill-opacity='0.22'/%3E%3Cellipse cx='939' cy='1539' rx='20' ry='4' transform='rotate(124 939 1539)' fill='%23F8F1DE' fill-opacity='0.22'/%3E%3Ccircle cx='433' cy='1309' r='13' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='349' cy='1138' r='13' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='577' cy='1346' r='9' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='706' cy='1896' r='13' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='-228' cy='1733' r='4' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='191' cy='1253' r='6' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='702' cy='1699' r='13' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='377' cy='1276' r='18' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='719' cy='1562' r='9' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='501' cy='1994' r='4' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Ccircle cx='786' cy='1668' r='4' fill='%23B08D4C' fill-opacity='0.29'/%3E%3Cellipse cx='-129' cy='1556' rx='24' ry='5' transform='rotate(190 -129 1556)' fill='%23B08D4C' fill-opacity='0.25'/%3E%3Cellipse cx='-101' cy='1775' rx='23' ry='5' transform='rotate(156 -101 1775)' fill='%23B08D4C' fill-opacity='0.25'/%3E%3Cellipse cx='427' cy='1279' rx='13' ry='4' transform='rotate(297 427 1279)' fill='%23B08D4C' fill-opacity='0.25'/%3E%3Ccircle cx='757' cy='1235' r='6' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='785' cy='661' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='532' cy='1077' r='9' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='1033' cy='746' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='427' cy='1131' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='940' cy='1143' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='1065' cy='986' r='6' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='482' cy='725' r='6' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='906' cy='1226' r='4' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='488' cy='849' r='18' fill='%23869192' fill-opacity='0.35'/%3E%3Ccircle cx='452' cy='890' r='4' fill='%23869192' fill-opacity='0.35'/%3E%3Cellipse cx='965' cy='765' rx='10' ry='5' transform='rotate(318 965 765)' fill='%23869192' fill-opacity='0.31'/%3E%3Cellipse cx='859' cy='1207' rx='10' ry='4' transform='rotate(69 859 1207)' fill='%23869192' fill-opacity='0.31'/%3E%3Cellipse cx='484' cy='937' rx='18' ry='4' transform='rotate(183 484 937)' fill='%23869192' fill-opacity='0.31'/%3E%3C/g%3E%3C/svg%3E");
	--mst-pat-diamond-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cpath d='M28 3L53 28 28 53 3 28Z' stroke='%232F180B' stroke-opacity='0.10' fill='none' stroke-width='1.2'/%3E%3Cpath d='M28 15L41 28 28 41 15 28Z' stroke='%232F180B' stroke-opacity='0.10' fill='none' stroke-width='1.2'/%3E%3Ccircle cx='28' cy='28' r='2' fill='%232F180B' fill-opacity='0.10'/%3E%3Ccircle cx='0' cy='0' r='2' fill='%232F180B' fill-opacity='0.10'/%3E%3Ccircle cx='56' cy='0' r='2' fill='%232F180B' fill-opacity='0.10'/%3E%3Ccircle cx='0' cy='56' r='2' fill='%232F180B' fill-opacity='0.10'/%3E%3Ccircle cx='56' cy='56' r='2' fill='%232F180B' fill-opacity='0.10'/%3E%3C/svg%3E");
	--mst-pat-dots-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='7' cy='7' r='1.8' fill='%232F180B' fill-opacity='0.10'/%3E%3Ccircle cx='21' cy='21' r='1.8' fill='%232F180B' fill-opacity='0.10'/%3E%3C/svg%3E");
	--mst-pat-zigzag-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cpath d='M0 18l12-12 12 12 12-12 12 12' stroke='%232F180B' stroke-opacity='0.10' fill='none' stroke-width='1.2'/%3E%3C/svg%3E");
	--mst-pat-diamond-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cpath d='M28 3L53 28 28 53 3 28Z' stroke='%23F8F1DE' stroke-opacity='0.14' fill='none' stroke-width='1.2'/%3E%3Cpath d='M28 15L41 28 28 41 15 28Z' stroke='%23F8F1DE' stroke-opacity='0.14' fill='none' stroke-width='1.2'/%3E%3Ccircle cx='28' cy='28' r='2' fill='%23F8F1DE' fill-opacity='0.14'/%3E%3Ccircle cx='0' cy='0' r='2' fill='%23F8F1DE' fill-opacity='0.14'/%3E%3Ccircle cx='56' cy='0' r='2' fill='%23F8F1DE' fill-opacity='0.14'/%3E%3Ccircle cx='0' cy='56' r='2' fill='%23F8F1DE' fill-opacity='0.14'/%3E%3Ccircle cx='56' cy='56' r='2' fill='%23F8F1DE' fill-opacity='0.14'/%3E%3C/svg%3E");
	--mst-pat-dots-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='7' cy='7' r='1.8' fill='%23F8F1DE' fill-opacity='0.14'/%3E%3Ccircle cx='21' cy='21' r='1.8' fill='%23F8F1DE' fill-opacity='0.14'/%3E%3C/svg%3E");
	--mst-pat-zigzag-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cpath d='M0 18l12-12 12 12 12-12 12 12' stroke='%23F8F1DE' stroke-opacity='0.14' fill='none' stroke-width='1.2'/%3E%3C/svg%3E");
}
.mst-pat { position: relative; isolation: isolate; }
.mst-pat::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: var(--pat); background-repeat: repeat; }
.mst-pat--splash::before { background-size: 1400px auto; background-position: center top; background-repeat: repeat-y; }
.mst-pat--splash.mst-pat--light { --pat: var(--mst-pat-splash-light); }
.mst-pat--splash.mst-pat--dark { --pat: var(--mst-pat-splash-dark); }
.mst-pat--diamond.mst-pat--light { --pat: var(--mst-pat-diamond-light); }
.mst-pat--diamond.mst-pat--dark { --pat: var(--mst-pat-diamond-dark); }
.mst-pat--dots.mst-pat--light { --pat: var(--mst-pat-dots-light); }
.mst-pat--dots.mst-pat--dark { --pat: var(--mst-pat-dots-dark); }
.mst-pat--zigzag.mst-pat--light { --pat: var(--mst-pat-zigzag-light); }
.mst-pat--zigzag.mst-pat--dark { --pat: var(--mst-pat-zigzag-dark); }

/* ---------- Trip card: every detail sits on the photo ---------- */
.mst .mst-card {
	position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end;
	width: 100%; min-width: 0; height: auto; aspect-ratio: 4 / 5; min-height: 430px; background: var(--mst-brown); color: var(--mst-bg); border-radius: 8px;
}
.mst-layout .mst-card { aspect-ratio: 1 / 1; min-height: 470px; }
.mst .mst-card__media { position: absolute; inset: 0; aspect-ratio: auto; z-index: -1; background: var(--mst-brown); }
.mst-layout .mst-card__media { aspect-ratio: auto; }
.mst .mst-card__media::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to top, rgba(32, 17, 8, .94) 0%, rgba(32, 17, 8, .78) 34%, rgba(32, 17, 8, .22) 66%, rgba(32, 17, 8, .12) 100%);
}
.mst .mst-card__ph { background: linear-gradient(150deg, #869192, var(--mst-brown)); }
.mst .mst-card__badge { z-index: 3; background: var(--mst-bg); color: var(--mst-dark); }
.mst .mst-card__body, .mst-layout .mst-card__body { position: static; flex: 0 0 auto; padding: 22px 24px 24px; }
.mst .mst-card__meta { color: rgba(248, 241, 222, .86); }
.mst .mst-card__title, .mst-layout .mst-card__title { color: var(--mst-bg); font-size: 1.7rem !important; text-shadow: 0 1px 14px rgba(0, 0, 0, .35); }
.mst .mst-card__title a { color: var(--mst-bg); }
.mst .mst-card__title a:hover { color: #fff; }
.mst .mst-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mst .mst-card__rating, .mst .mst-card__count { color: rgba(248, 241, 222, .88); }
.mst .mst-card__price { color: rgba(248, 241, 222, .8); }
.mst .mst-card__price strong, .mst-layout .mst-card__price strong { color: #fff; font-size: 2rem; }
.mst .mst-card__actions { position: relative; z-index: 2; }
.mst .mst-card__actions .mst-btn--luxury { --bg: var(--mst-bg); --c: var(--mst-dark); --bd: var(--mst-bg); --fill: #d8c79a; --hov: var(--mst-dark); }
.mst .mst-card__actions .mst-btn--midrange { --bg: transparent; --c: var(--mst-bg); --bd: rgba(248, 241, 222, .85); --fill: var(--mst-bg); --hov: var(--mst-dark); }
.mst .mst-card__actions .mst-btn--soft { --bg: rgba(248, 241, 222, .14); --c: var(--mst-bg); --bd: rgba(248, 241, 222, .3); --fill: var(--mst-bg); --hov: var(--mst-dark); backdrop-filter: blur(6px); }
.mst .mst-card__actions .mst-btn.is-disabled { opacity: .4; }
@media (max-width: 640px) {
	.mst .mst-card, .mst-layout .mst-card { aspect-ratio: auto; min-height: 460px; }
}

/* ---------- Page background: one water-splash wash over the whole page ---------- */
main.mst-single, main.mst-archive {
	background: var(--mst-pat-splash-light) center top / 1500px auto repeat-y, linear-gradient(180deg, #F8F1DE 0%, #F3EAD0 100%);
}
main.mst-single .mst-hero, main.mst-archive .mst-hero { background-color: var(--mst-brown); }

/* sections: flat colour blocks, balanced tones, no pattern, no radius, no shadow, no stroke */
.mst-single .mst-section {
	margin: 0; padding: clamp(26px, 3.6vw, 48px); border: 0; border-radius: 0; box-shadow: none;
	background: #FBF7EA;
}
.mst-single .mst-section:last-child { border: 0; margin: 0; }
.mst-single .mst-section:nth-of-type(even) { background: #E3E5E3; }
.mst-single .mst-day, .mst-single .mst-faq, .mst-single .mst-inc__col, .mst-single .mst-table,
.mst-single .mst-reviewform, .mst-single .mst-review { border: 0; border-radius: 0; box-shadow: none; }

/* related band: solid colour (the image cards carry no overlay pattern); explore shows the page wash */
.mst-single .mst-related { color: var(--mst-bg); background: #7a8788; }
.mst-single .mst-related h2, .mst-single .mst-related .mst-eyebrow, .mst-single .mst-related .mst-section__head a { color: var(--mst-bg); }
.mst-single .mst-explore { background: transparent; }

/* ---------- Booking form: photo background, no flat black ---------- */
.mst-booking { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, #2F180B, #5f6d6e); }
.mst-booking__bg { position: absolute; inset: 0; z-index: -2; }
.mst-booking__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mst-booking__bg::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(105deg, rgba(47, 24, 11, .76) 0%, rgba(47, 24, 11, .5) 52%, rgba(95, 109, 110, .3) 100%);
}
.mst-booking__panel { background: rgba(255, 255, 255, .95); backdrop-filter: blur(8px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); }

/* ---------- Descriptions are justified ---------- */
.mst-prose, .mst-overview, .mst-day__body .mst-prose, .mst-faq .mst-prose { text-align: justify; text-justify: inter-word; hyphens: manual; -webkit-hyphens: manual; line-height: 1.85; }
.mst-prose p { margin: 0 0 1.35em; }
.mst-prose ul, .mst-prose ol { text-align: left; }

/* ---------- Elementor widgets ---------- */
.mst-ew { position: relative; padding: clamp(40px, 6vw, 84px) 0; }
.mst-ew__in { position: relative; z-index: 1; }
.mst-ew__head { max-width: 760px; margin: 0 auto clamp(26px, 4vw, 46px); text-align: center; }
.mst-ew__head--left { margin-left: 0; text-align: left; }
.mst-ew__head--right { margin-right: 0; text-align: right; }
.mst-ew__eyebrow { margin: 0 0 10px; font-size: .74rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--mst-gold); }
.mst-ew__title { margin: 0 0 14px; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; }
.mst-ew__text { margin: 0; color: var(--mst-muted); text-align: inherit; }
.mst-ew .mst-sc { max-width: 1280px; margin-inline: auto; padding-inline: clamp(16px, 4vw, 40px); }
.mst-ew .mst-sc .mst-layout { margin-top: 0; }

/* ---------- Category tabs (Elementor widget) ---------- */
.mst-cattabs__bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 clamp(22px, 3vw, 36px); }
.mst-cattabs__bar button {
	min-height: 44px; padding: 0 22px; border: 1.5px solid var(--mst-dark); border-radius: 0; background: transparent; color: var(--mst-dark);
	font-family: inherit; font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; transition: background .25s, color .25s;
}
.mst-cattabs__bar button:hover, .mst-cattabs__bar button.is-active { background: var(--mst-dark); color: var(--mst-bg); }
.mst-cattabs__item[hidden] { display: none; }

/* ---------- Filter sidebar: solid colour, the splash never shows through ---------- */
.mst-layout .mst-filters { background: #E2E1DF; padding: 22px 22px 26px; }
.mst-layout .mst-filters .mst-search input, .mst-layout .mst-filters .mst-range input[type="number"] { background: #fff; }

/* ---------- No rounded corners anywhere ---------- */
.mst, .mst *, .mst *::before, .mst *::after,
.mst-lightbox, .mst-lightbox *, .mst-lightbox *::before, .mst-lightbox *::after { border-radius: 0 !important; }
.mst .mst-range input[type="range"]::-webkit-slider-thumb { border-radius: 0 !important; }
.mst .mst-range input[type="range"]::-moz-range-thumb { border-radius: 0 !important; }


/* ---------- Cool grey look: light grey page (50%), no cream in the sections ---------- */
main.mst-single, main.mst-archive {
	background: var(--mst-pat-splash-light) center top / 1500px auto repeat-y, #F0F0EF;
}
.mst-single .mst-section { background: #FFFFFF; }
.mst-single .mst-section:nth-of-type(even) { background: #E8E8E6; }
.mst-single .mst-tabs, .mst-single .mst-quick { background: #F7F7F6; }
.mst-single .mst-facts__item, .mst-single .mst-bcard__sum { background: #F0F0EF; }

/* ---------- Phone: no overlay, sections run edge to edge ---------- */
@media (max-width: 900px) {
	main.mst-single, main.mst-archive { background: #F0F0EF; }
	.mst-pat::before { display: none; }
	.mst-single__layout.mst-wrap { padding-inline: 0; padding-block: 0; }
	.mst-single .mst-section { padding: 28px 18px; }
	.mst-single__aside { padding: 0 0 0; margin-top: 0; }
	.mst-single__aside .mst-bcard { margin: 0; width: 100%; }
	.mst-booking > .mst-wrap { padding-inline: 0; }
	.mst-booking__intro { padding-inline: 18px; }
	.mst-booking__panel { padding: 24px 18px; }
}

/* ---------- White page + half-strength splash fitted to the whole screen ---------- */
main.mst-single, main.mst-archive {
	background: var(--mst-pat-splash-light) center top / 100% auto repeat-y, #FFFFFF;
}
@media (min-width: 1500px) {
	main.mst-single, main.mst-archive { background-size: 1500px auto; }
}
.mst-pat--splash::before { background-size: 100% auto; }
.mst-single .mst-tabs, .mst-single .mst-quick { background: #FFFFFF; }
.mst-single .mst-facts__item, .mst-single .mst-bcard__sum { background: #F5F5F4; }

@media (max-width: 900px) {
	main.mst-single, main.mst-archive { background: var(--mst-pat-splash-light) center top / 100% auto repeat-y, #FFFFFF; }
	.mst-pat::before { display: block; }
	/* sections fill the screen width; they stay see-through so the splash shows across the whole display */
	.mst-single__layout.mst-wrap { padding-inline: 0; padding-block: 0; }
	.mst-single .mst-section { background: transparent; padding: 28px 18px; }
	.mst-single .mst-section:nth-of-type(even) { background: rgba(226, 225, 223, .5); }
}


/* ---------- Trip page: content fills the left, pattern lives beside the booking card ---------- */
main.mst-single { background: #FFFFFF; }
.mst-single .mst-tabs, .mst-single .mst-quick { background: var(--mst-bg); }
.mst-single .mst-tabs .mst-wrap { max-width: none; padding-inline: clamp(16px, 3vw, 48px); }

.mst-single__layout.mst-wrap {
	max-width: none; width: 100%; padding: 0; gap: 0; align-items: stretch;
	grid-template-columns: minmax(0, 1fr) clamp(350px, 30vw, 450px);
}
.mst-single__main { background: #FBF7EA; min-width: 0; padding: clamp(8px, 1vw, 16px) 0; }
.mst-single .mst-section { background: transparent; padding: clamp(26px, 3.4vw, 48px) clamp(16px, 3vw, 48px); }
.mst-single .mst-section:nth-of-type(even) { background: rgba(248, 241, 222, .85); }
.mst-single__aside {
	position: static; align-self: stretch; min-width: 0; padding: clamp(18px, 2.4vw, 36px);
	border-left: 1px solid rgba(41, 39, 40, .22);
	background: var(--mst-pat-splash-side) center top / 100% auto repeat-y, #FFFFFF;
}
.mst-single__aside .mst-bcard { position: sticky; top: calc(var(--mst-top) + 84px); }

@media (max-width: 900px) {
	main.mst-single { background: #FFFFFF; }
	.mst-single__layout.mst-wrap { grid-template-columns: 1fr; }
	.mst-single__main { padding: 0; }
	.mst-single .mst-section { padding: 28px 18px; background: transparent; }
	.mst-single .mst-section:nth-of-type(even) { background: rgba(248, 241, 222, .85); }
	.mst-single__aside { border-left: 0; border-top: 1px solid rgba(41, 39, 40, .22); padding: 22px 16px; }
	.mst-single__aside .mst-bcard { position: static; }
}


/* ---------- Pattern opacity: 30% everywhere ---------- */
.mst-pat::before { opacity: .3; }
main.mst-single { background: #FFFFFF; }
main.mst-archive { position: relative; isolation: isolate; background: #FFFFFF; }
main.mst-archive::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .3;
	background: var(--mst-pat-splash-light) center top / 100% auto repeat-y;
}
@media (min-width: 1500px) { main.mst-archive::before { background-size: 1500px auto; } }
.mst-single__aside { position: relative; isolation: isolate; background: #FFFFFF; }
.mst-single__aside::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .3;
	background: var(--mst-pat-splash-side) center top / 100% auto repeat-y;
}
@media (max-width: 900px) {
	main.mst-single, main.mst-archive { background: #FFFFFF; }
	.mst-pat::before { opacity: .3; }
}

/* thin line between the content and the booking column */
.mst-single__aside { border-left: 0; }
.mst-single__main { border-right: 1px solid rgba(41, 39, 40, .22); }
@media (max-width: 900px) {
	.mst-single__main { border-right: 0; }
	.mst-single__aside { border-top: 1px solid rgba(41, 39, 40, .22); }
}

/* ---------- Trips page: light cream, wider filter running to the left edge ---------- */
main.mst-archive { background: #FBF7EA; }
.mst-archive .mst-archive__body.mst-wrap { max-width: none; padding-inline: 0; }
.mst-archive .mst-layout { grid-template-columns: clamp(300px, 25vw, 390px) minmax(0, 1fr); gap: 0; align-items: start; }
.mst-archive .mst-layout .mst-filters {
	padding: 28px clamp(20px, 2.2vw, 34px) 32px clamp(20px, 3vw, 48px);
	top: var(--mst-top); max-height: calc(100vh - var(--mst-top));
}
.mst-archive .mst-layout .mst-results { padding: 28px clamp(16px, 3vw, 48px) 40px; }
@media (max-width: 900px) {
	.mst-archive .mst-layout { grid-template-columns: 1fr; }
	.mst-archive .mst-layout .mst-filters { padding: 18px 20px 24px; }
	.mst-archive .mst-layout .mst-results { padding: 16px 16px 32px; }
	.mst-archive .mst-archive__body.mst-wrap { padding-inline: 0; }
}


/* ---------- "You may also love": photo background, three cards ---------- */
.mst-single .mst-related { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(135deg, #2F180B, #5f6d6e); }
.mst-related__bg { position: absolute; inset: 0; z-index: -1; }
.mst-related__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mst-related__bg::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(47, 24, 11, .72) 0%, rgba(47, 24, 11, .55) 100%); }
.mst-single .mst-related .mst-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .mst-single .mst-related .mst-grid { grid-template-columns: 1fr; } }
@media (min-width: 640px) and (max-width: 900px) { .mst-single .mst-related .mst-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


/* "You may also love": plain cream-milk colour */
.mst-single .mst-related { background: #FBF5E6; color: var(--mst-dark); }
.mst-single .mst-related h2, .mst-single .mst-related .mst-eyebrow, .mst-single .mst-related .mst-section__head a { color: var(--mst-dark); }
.mst-related__bg { display: none; }

/* ---------- Card on every screen: photo fills the whole card, details sit on it ---------- */
.mst .mst-card {
	position: relative; display: grid !important; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto;
	justify-content: stretch; background: var(--mst-brown); overflow: hidden;
}
.mst .mst-card .mst-card__media {
	grid-area: 1 / 1 / 3 / 2; position: relative !important; display: block; width: 100% !important; height: 100% !important;
	aspect-ratio: auto !important; min-height: 0; z-index: 0; overflow: hidden;
}
.mst .mst-card .mst-card__img, .mst .mst-card .mst-card__media img {
	position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important;
	object-fit: cover !important; margin: 0 !important;
}
.mst .mst-card .mst-card__media::after {
	content: "" !important; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to top, rgba(32, 17, 8, .94) 0%, rgba(32, 17, 8, .78) 34%, rgba(32, 17, 8, .22) 66%, rgba(32, 17, 8, .12) 100%);
}
.mst .mst-card .mst-card__body {
	grid-area: 2 / 1 / 3 / 2; position: relative; z-index: 1; background: transparent !important; padding: 20px 22px 22px;
}
.mst .mst-card .mst-card__badge { z-index: 2; }
.mst .mst-card { min-height: 460px; }
@media (max-width: 640px) {
	.mst .mst-card, .mst-layout .mst-card { aspect-ratio: auto; min-height: 480px; }
}

/* ---------- Standard text sizes ---------- */
.mst .mst-card__title, .mst-layout .mst-card__title { font-size: 1.4rem !important; line-height: 1.2 !important; min-height: calc(2 * 1.2em); }
.mst .mst-card__price strong, .mst-layout .mst-card__price strong { font-size: 1.6rem; }
.mst .mst-card__meta { font-size: .68rem; }
.mst .mst-card__actions .mst-btn { font-size: .7rem; }
.mst-prose, .mst-prose p, .mst-overview, .mst-overview p { font-size: 16px; line-height: 1.8; }
.mst-prose li, .mst-highlights li, .mst-inc li, .mst-faq .mst-prose, .mst-day__body .mst-prose { font-size: 16px; line-height: 1.7; }
.mst-day__meta, .mst-facts__item { font-size: .9rem; }
.mst-facts__item strong, .mst-facts__item span:last-child { font-size: 1rem; }


/* ---------- Prices by month: twelve tiles, information only ---------- */
.mst-monthgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 16px; background: #E2E1DF; }
.mst-monthgrid__tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 84px; padding: 14px 8px; background: #fff; text-align: center; }
.mst-monthgrid__name { font-size: 1rem; font-weight: 600; letter-spacing: .04em; }
.mst-monthgrid__price { display: flex; flex-direction: column; align-items: center; font-size: .95rem; line-height: 1.3; color: var(--mst-dark); }
.mst-monthgrid__price small { font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mst-muted); }
.mst-monthgrid__tile.is-off { opacity: .45; }
@media (max-width: 640px) { .mst-monthgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 12px; } }

/* ---------- Booking card: calendar date ---------- */
.mst-bcard input[type="date"] { width: 100%; min-height: 48px; }
.mst-bcard__monthnote { margin: 8px 0 0; font-size: 13px; color: var(--mst-muted, #6b6b6b); }
.mst-bcard__monthnote.is-bad { color: #9b2c1f; }

/* ---------- Pattern fills the whole screen width wherever it is used ---------- */
.mst-pat { position: relative; isolation: isolate; }
.mst-pat::before {
	left: 50% !important; right: auto !important; width: 100vw !important; margin-left: -50vw !important;
	background-size: 100% auto !important; background-position: center top !important;
}
html, body { overflow-x: clip; }

/* ---------- Every trip card is exactly the same size, on desktop and phone ---------- */
.mst .mst-card, .mst-layout .mst-card {
	width: 100% !important; height: 480px !important; min-height: 0 !important; aspect-ratio: auto !important;
}
.mst .mst-card:hover, .mst-layout .mst-card:hover { transform: none !important; }
@media (max-width: 640px) {
	.mst .mst-card, .mst-layout .mst-card { height: 480px !important; min-height: 0 !important; aspect-ratio: auto !important; }
}

/* ---------- Text wraps to fit the card instead of running on one line ---------- */
.mst .mst-card__title, .mst-layout .mst-card__title {
	display: block !important; -webkit-line-clamp: unset !important; overflow: visible !important; min-height: 0 !important;
	white-space: normal !important; overflow-wrap: anywhere; word-break: normal;
}
.mst .mst-card__body, .mst .mst-card__meta, .mst .mst-card__price, .mst .mst-card__rating,
.mst .mst-bcard, .mst .mst-bcard p, .mst .mst-bcard__head, .mst .mst-bcard__note, .mst .mst-bcard__lines li {
	min-width: 0; white-space: normal; overflow-wrap: anywhere;
}
.mst .mst-card__meta, .mst .mst-card__price, .mst .mst-card__rating, .mst .mst-bcard__head { flex-wrap: wrap; }
.mst .mst-bcard__help a, .mst .mst-bcard__sum, .mst .mst-bcard__total { white-space: normal; }

/* ---------- One card size everywhere (desktop = phone) and text always wraps ---------- */
.mst .mst-card, .mst-layout .mst-card {
	width: 100% !important; max-width: 360px !important; height: 480px !important; min-height: 480px !important;
	justify-self: center; margin-inline: auto !important;
}
.mst .mst-card__title, .mst .mst-card__meta, .mst .mst-card__body, .mst .mst-bcard *, .mst .mst-quick__info * {
	white-space: normal !important; text-overflow: clip !important; overflow-wrap: break-word; word-break: normal;
}
.mst .mst-card__title { hyphens: manual; }
.mst .mst-card__actions .mst-btn { white-space: normal !important; line-height: 1.2; min-height: 44px; }
.mst .mst-card__price, .mst .mst-bcard__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }

/* ---------- Square cards: width and height are the same number of pixels ---------- */
.mst .mst-card, .mst-layout .mst-card {
	width: 100% !important; max-width: 420px !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1 / 1 !important;
}
@media (max-width: 640px) {
	.mst .mst-card, .mst-layout .mst-card { height: auto !important; min-height: 0 !important; aspect-ratio: 1 / 1 !important; }
}

/* ---------- Elementor trip sections: cards stretch to fill the row (still square) ---------- */
.mst-ew .mst-sc { max-width: 1600px; }
.mst-ew .mst .mst-card, .mst-ew .mst-layout .mst-card { max-width: none !important; }

/* ---------- Elementor trip sections: stretch to both edges of the screen (card size grows with the row) ---------- */
.mst-ew.mst-ew--full { box-sizing: border-box; width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; }
.mst-ew.mst-ew--full .mst-sc { max-width: 1840px !important; width: 100%; padding-inline: clamp(16px, 3vw, 56px) !important; box-sizing: border-box; }
.mst-ew.mst-ew--full .mst-grid, .mst-ew.mst-ew--full .mst-layout .mst-grid { width: 100%; }
html, body { overflow-x: clip; }

/* ---------- Sliding trip cards: 3 at a time, 1 on phones ---------- */
.mst-slide { position: relative; width: 100%; }
.mst-slide__track { display: flex; flex-wrap: nowrap; gap: clamp(16px, 2vw, 28px); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 2px 0; }
.mst-slide__track::-webkit-scrollbar { display: none; }
.mst-slide__track > .mst-cattabs__item { flex: 0 0 calc((100% - (var(--mst-per, 3) - 1) * clamp(16px, 2vw, 28px)) / var(--mst-per, 3)); min-width: 0; scroll-snap-align: start; }
.mst-slide__track > .mst-cattabs__item[hidden] { display: none !important; }
.mst-slide__track .mst-card { width: 100% !important; max-width: none !important; }
.mst-slide__nav { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.mst-slide__btn { width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border: 1px solid #292728; border-radius: 0; background: transparent; color: #292728; cursor: pointer; transition: background .3s ease, color .3s ease, transform .3s ease; }
.mst-slide__btn:hover { background: #292728; color: #F8F1DE; }
.mst-slide__btn:active { transform: scale(.94); }
.mst-slide__btn[disabled] { opacity: .35; cursor: default; background: transparent; color: #292728; }
@media (max-width: 1023px) { .mst-slide__track > .mst-cattabs__item { flex-basis: calc((100% - clamp(16px, 2vw, 28px)) / 2); } }
@media (max-width: 767px) { .mst-slide__track { gap: 0; } .mst-slide__track > .mst-cattabs__item { flex-basis: 100%; scroll-snap-stop: always; } .mst-slide__nav { justify-content: center; } }

/* ---------- Reviews: Read more button ---------- */
.mst-review__toggle { align-self: flex-start; margin: 4px 0 0; padding: 0 0 2px; border: 0; border-bottom: 1px solid currentColor; background: none; color: var(--mst-dark); font: inherit; font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.mst-review__toggle:hover { color: var(--mst-accent); }

/* ---------- Reviews written vertically: one comment under another ---------- */
.mst-grid--reviews { grid-template-columns: minmax(0, 1fr) !important; gap: 16px; }

/* =========================================================
   TRIP PAGE: content starts at the same line as the hero text
========================================================= */
@media (min-width: 901px) {
	.mst-single { --mst-edge: clamp(24px, 7.5vw, 220px); }
	.mst-single .mst-tabs .mst-wrap { padding-left: calc(var(--mst-edge) - 16px); }
	.mst-single .mst-section { padding-left: var(--mst-edge); }
}

/* ---------- Download PDF + Share on WhatsApp (after the Reviews tab) ---------- */
.mst-tabs__act { display: flex; align-items: stretch; }
.mst-tabs__act--first { margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--mst-line); }
.mst-tabs__btn {
	display: flex; align-items: center; gap: 8px; margin: 0; padding: 18px 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none;
	color: var(--mst-dark); font: inherit; font-size: .72rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; white-space: nowrap; cursor: pointer; transition: color .25s;
}
.mst-tabs__btn:hover { color: var(--mst-accent); background: none; }
.mst-tabs__btn.is-busy { opacity: .55; cursor: progress; }
.mst-printonly { display: none; }

/* =========================================================
   PRINT / SAVE AS PDF: hero to reviews, no booking parts
========================================================= */
@media print {
	@page { size: A4; margin: 10mm; }
	html, body { background: #fff !important; }
	body, body:not(.header-overlay) { padding-top: 0 !important; }
	/* site furniture and everything about booking */
	.site-header, .mobile-panel, .search-overlay, .site-footer, #wpadminbar, .skip-link,
	.mst-tabs, .mst-quick, .mst-single__aside, .mst-booking, .mst-reviewform, .mst-reviews__more,
	.mst-related, .mst-explore, .mst-section__head .mst-link, .mst-map iframe, .mst-hero + .mst-quick { display: none !important; }
	.mst-printonly { display: block !important; margin: 0 0 8px; font-size: .9rem; word-break: break-all; }
	.mst-single, .mst-single * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	main.mst-single { background: #fff !important; }
	.mst-hero--single { min-height: 300px; break-inside: avoid; }
	.mst-single__layout.mst-wrap { display: block !important; max-width: none !important; }
	.mst-single__main { border-right: 0 !important; padding: 0 !important; background: #FBF7EA !important; }
	.mst-single .mst-section { padding: 20px 6mm !important; }
	/* everything open: all itinerary days, FAQs, and every published review in full */
	.mst-single details > *:not(summary) { display: block !important; }
	.mst-single .mst-day__chev { display: none !important; }
	.mst-single .mst-review[hidden] { display: flex !important; }
	.mst-single .mst-review__text--short, .mst-single .mst-review__toggle { display: none !important; }
	.mst-single .mst-review__text--full[hidden] { display: block !important; }
	/* clean page breaks */
	.mst-single .mst-section h2, .mst-single .mst-section h3 { break-after: avoid; }
	.mst-single .mst-day, .mst-single .mst-faq, .mst-single .mst-review, .mst-single .mst-facts__item,
	.mst-single .mst-monthgrid, .mst-single .mst-inc__col, .mst-single .mst-gallery__item { break-inside: avoid; }
	.mst-single .mst-card, .mst-single .mst-review { box-shadow: none !important; }
	a { text-decoration: none !important; }
}

/* =========================================================================
   Trip card styles: overlay (default), classic, list. No rounded corners.
   Choose per block: [mst_trips card="classic"], the Elementor "Card style"
   option, or the site default in Safari Trips > Settings.
   ========================================================================= */
.mst .mst-card, .mst-card, .mst .mst-card__media, .mst .mst-card__badge, .mst .mst-card .mst-btn,
.mst-empty, .mst .mst-card__facts, .mst .mst-card__facts li { border-radius: 0 !important; }
.mst .mst-card { box-shadow: none; }

/* ----- Classic: photo on top, white text box below ----- */
.mst .mst-card.mst-card--classic {
	display: flex !important; flex-direction: column; width: 100% !important; max-width: none !important;
	height: auto !important; min-height: 0 !important; aspect-ratio: auto !important;
	background: #fff; color: var(--mst-dark); box-shadow: 0 1px 2px rgba(41, 39, 40, .06), 0 14px 30px -22px rgba(41, 39, 40, .45);
}
.mst .mst-card--classic .mst-card__media {
	position: relative !important; grid-area: auto !important; flex: none; width: 100% !important; height: auto !important;
	aspect-ratio: 4 / 3 !important; z-index: 0;
}
.mst .mst-card--classic .mst-card__media::after { content: none !important; }
.mst .mst-card--classic .mst-card__body {
	grid-area: auto !important; flex: 1 1 auto; display: flex; flex-direction: column; padding: 24px 24px 26px;
	background: #fff !important; color: var(--mst-dark);
}
.mst .mst-card--classic .mst-card__title { order: 1; margin: 0 0 18px !important; font-size: 1.5rem !important; text-shadow: none; }
.mst .mst-card--classic .mst-card__title a { color: var(--mst-dark); }
.mst .mst-card--classic .mst-card__meta { order: 2; margin: 0 0 12px; color: var(--mst-muted); letter-spacing: .1em; }
.mst .mst-card--classic .mst-card__blurb { order: 3; margin: 0 0 18px; font-size: .95rem; line-height: 1.6; color: var(--mst-dark); opacity: .85; }
.mst .mst-card--classic .mst-card__facts { order: 4; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0 0 20px; padding: 14px 0; list-style: none; border-top: 1px solid var(--mst-line); border-bottom: 1px solid var(--mst-line); }
.mst .mst-card--classic .mst-card__facts li { display: flex; flex-direction: column; gap: 4px; padding: 0 12px; border-left: 1px solid var(--mst-line); min-width: 0; }
.mst .mst-card--classic .mst-card__facts li:first-child { padding-left: 0; border-left: 0; }
.mst .mst-card--classic .mst-card__facts span { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mst-muted); }
.mst .mst-card--classic .mst-card__facts strong { font-size: .95rem; line-height: 1.3; }
.mst .mst-card--classic .mst-card__rating { order: 5; color: var(--mst-muted); margin-bottom: 16px; }
.mst .mst-card--classic .mst-card__count { color: var(--mst-muted); }
.mst .mst-card--classic .mst-card__buy { order: 6; margin-top: auto; }
.mst .mst-card--classic .mst-card__price, .mst .mst-card--classic .mst-card__actions .mst-btn--luxury, .mst .mst-card--classic .mst-card__actions .mst-btn--midrange { display: none !important; }
.mst .mst-card--classic .mst-card__actions { display: block; }
.mst .mst-card--classic .mst-card__actions .mst-btn--soft { --bg: transparent; --c: var(--mst-dark); --bd: var(--mst-dark); --fill: var(--mst-dark); --hov: var(--mst-bg); backdrop-filter: none; width: auto; min-width: 150px; padding: 0 26px; }

/* ----- List: photo | details | price panel ----- */
.mst .mst-card.mst-card--list {
	display: grid !important; grid-template-columns: 230px minmax(0, 1fr) 250px; grid-template-rows: auto;
	width: 100% !important; max-width: none !important; height: auto !important; min-height: 0 !important; aspect-ratio: auto !important;
	background: #fff; color: var(--mst-dark); box-shadow: 0 1px 2px rgba(41, 39, 40, .06), 0 14px 30px -24px rgba(41, 39, 40, .45);
}
.mst .mst-card--list .mst-card__media {
	grid-area: auto !important; position: relative !important; width: 100% !important; height: 100% !important; min-height: 210px; aspect-ratio: auto !important; z-index: 0;
}
.mst .mst-card--list .mst-card__media::after { content: none !important; }
.mst .mst-lcard__main { display: flex; flex-direction: column; gap: 12px; padding: 22px 26px; min-width: 0; }
.mst .mst-lcard__title { margin: 0 !important; font-size: 1.35rem !important; text-shadow: none; }
.mst .mst-lcard__title a { color: var(--mst-dark); }
.mst .mst-lcard__line { margin: 0; padding-left: 10px; border-left: 3px solid var(--mst-sage, #869192); font-size: .84rem; color: var(--mst-muted); }
.mst .mst-lcard__line i { font-style: normal; margin: 0 6px; }
.mst .mst-lcard__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.mst .mst-lcard__tags li { padding: 4px 10px; background: #F2F2F0; border: 1px solid var(--mst-line); font-size: .72rem; }
.mst .mst-lcard__lbl { display: block; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mst-muted); }
.mst .mst-lcard__inc ul { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 6px 0 0; padding: 0; list-style: none; font-size: .78rem; color: var(--mst-muted); }
.mst .mst-lcard__inc li { position: relative; padding-left: 14px; }
.mst .mst-lcard__inc li::before { content: ""; position: absolute; left: 0; top: .35em; width: 8px; height: 8px; border: 1px solid var(--mst-muted); }
.mst .mst-lcard__inc li.is-more::before { display: none; }
.mst .mst-lcard__inc li.is-more { padding-left: 0; color: var(--mst-accent); }
.mst .mst-lcard .mst-card__rating, .mst .mst-lcard .mst-card__count { color: var(--mst-muted); }
.mst .mst-lcard__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 6px; }
.mst .mst-lcard__btns .mst-btn { flex: 0 1 auto; min-width: 150px; padding: 0 20px; font-size: .7rem; letter-spacing: .1em; }
.mst .mst-lcard__btns .mst-btn--luxury { --bg: var(--mst-dark); --c: var(--mst-bg); --bd: var(--mst-dark); --fill: #3d3a3b; --hov: var(--mst-bg); }
.mst .mst-lcard__btns .mst-btn--wa { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; --bg: #1f8f4e; --c: #fff; --bd: #1f8f4e; --fill: #176f3c; --hov: #fff; }
.mst .mst-lcard__side { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 22px 24px; background: #F2F2F0; border-left: 1px solid var(--mst-line); min-width: 0; }
.mst .mst-lcard__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.mst .mst-lcard__opt { padding: 4px 12px; border: 1px solid var(--mst-dark); font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--mst-dark); background: #fff; }
.mst .mst-lcard__opt--luxury { background: var(--mst-dark); color: var(--mst-bg); }
.mst .mst-lcard__opt:hover { background: var(--mst-brown); border-color: var(--mst-brown); color: var(--mst-bg); }
.mst .mst-lcard__tag { margin: 0; font-size: .82rem; line-height: 1.5; color: var(--mst-muted); }
.mst .mst-lcard__price { display: flex; flex-direction: column; gap: 2px; }
.mst .mst-lcard__price strong { font-family: var(--mst-font-head); font-size: 2rem; line-height: 1.1; font-weight: 600; color: var(--mst-dark); }
.mst .mst-lcard__pp { font-size: .78rem; color: var(--mst-muted); }
.mst .mst-lcard__ask { font-size: 1.3rem !important; }

/* Layouts that hold list cards */
.mst-grid--list { grid-template-columns: minmax(0, 1fr) !important; }
.mst-cs-classic .mst-cattabs__item, .mst-cs-list .mst-cattabs__item { display: flex; }
.mst-cs-classic .mst-cattabs__item[hidden], .mst-cs-list .mst-cattabs__item[hidden] { display: none; }
.mst-cs-classic .mst-cattabs__item > .mst-card, .mst-cs-list .mst-cattabs__item > .mst-card { flex: 1 1 auto; }
.mst-slide--list .mst-slide__track > .mst-cattabs__item { flex-basis: 100%; }

@media (max-width: 1023px) {
	.mst-slide--list .mst-slide__track > .mst-cattabs__item { flex-basis: 100%; }
}
@media (max-width: 1100px) {
	.mst .mst-card.mst-card--list { grid-template-columns: 200px minmax(0, 1fr); }
	.mst .mst-lcard__side { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; border-left: 0; border-top: 1px solid var(--mst-line); }
}
@media (max-width: 767px) {
	.mst .mst-card.mst-card--list { grid-template-columns: minmax(0, 1fr); }
	.mst .mst-card--list .mst-card__media { height: auto !important; min-height: 0; aspect-ratio: 16 / 10 !important; }
	.mst .mst-lcard__main { padding: 20px; }
	.mst .mst-lcard__btns .mst-btn { flex: 1 1 100%; }
	.mst .mst-card--classic .mst-card__facts li { padding: 0 8px; }
}
}

/* Classic card: price per person + WhatsApp button */
.mst .mst-card--classic .mst-card__facts small { font-size: .7rem; font-weight: 500; color: var(--mst-muted); }
.mst .mst-card--classic .mst-card__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.mst .mst-card--classic .mst-card__actions .mst-btn--soft { flex: 1 1 150px; min-width: 0; }
.mst .mst-card--classic .mst-card__actions .mst-btn--wa { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; flex: 1 1 150px; min-width: 0; padding: 0 16px; --bg: #1f8f4e; --c: #fff; --bd: #1f8f4e; --fill: #176f3c; --hov: #fff; }
.mst .mst-card--classic .mst-card__actions .mst-btn--wa svg { flex: none; }

/* Filters + sliding cards: the results column slides instead of paging */
.mst-slide--filters { min-width: 0; }
.mst-slide--filters .mst-slide__track > .mst-cattabs__item { flex-basis: calc((100% - clamp(16px, 2vw, 28px)) / 2); }
.mst-slide--filters.mst-slide--list .mst-slide__track > .mst-cattabs__item { flex-basis: 100%; }
@media (min-width: 1600px) { .mst-slide--filters:not(.mst-slide--list) .mst-slide__track > .mst-cattabs__item { flex-basis: calc((100% - 2 * clamp(16px, 2vw, 28px)) / 3); } }
@media (max-width: 767px) { .mst-slide--filters .mst-slide__track > .mst-cattabs__item, .mst-slide--filters.mst-slide--list .mst-slide__track > .mst-cattabs__item { flex-basis: 100%; } }

/* Classic card: WhatsApp is an icon-only square button beside View itinerary */
.mst .mst-card--classic .mst-card__actions { flex-wrap: nowrap; }
.mst .mst-card--classic .mst-card__actions .mst-btn--soft { flex: 1 1 auto; }
.mst .mst-card--classic .mst-card__actions .mst-btn--wa { flex: 0 0 48px; width: 48px; min-width: 48px; padding: 0; }
.mst .mst-card--classic .mst-card__actions .mst-btn--wa svg { width: 22px; height: 22px; }

/* Sliding cards with several rows: each slide shows (rows x 3) cards */
.mst-slide--rows .mst-slide__track { display: grid; grid-template-rows: repeat(var(--mst-rows, 2), auto); grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--mst-per, 3) - 1) * clamp(16px, 2vw, 28px)) / var(--mst-per, 3)); gap: clamp(16px, 2vw, 28px); }
.mst-slide--rows .mst-slide__track > .mst-cattabs__item { flex: none; min-width: 0; }
@media (max-width: 1023px) { .mst-slide--rows .mst-slide__track { grid-auto-columns: calc((100% - clamp(16px, 2vw, 28px)) / 2); } }
@media (max-width: 767px) { .mst-slide--rows .mst-slide__track { grid-auto-columns: 100%; gap: 16px 0; } }
.mst-slide--rows.mst-slide--list .mst-slide__track { grid-auto-columns: 100%; }

/* =========================================================
   FOUR CARDS PER ROW: same layout, smaller (compact) card
   ========================================================= */
.mst-grid[style*="--mst-cols:4"], .mst-slide[style*="--mst-per:4"] { --mst-gap4: clamp(14px, 1.4vw, 22px); }
.mst-grid[style*="--mst-cols:4"] { gap: var(--mst-gap4); }
@media (min-width: 641px) and (max-width: 1100px) { .mst-grid[style*="--mst-cols:4"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__media,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__media { aspect-ratio: 16 / 9 !important; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__body,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__body { padding: 18px 18px 20px; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__title,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__title { margin-bottom: 12px !important; font-size: 1.15rem !important; line-height: 1.2 !important; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__facts,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__facts { margin-bottom: 14px; padding: 10px 0; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__facts li,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__facts li { padding: 0 8px; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__facts span,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__facts span { font-size: .56rem; letter-spacing: .1em; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__facts strong,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__facts strong { font-size: .8rem; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__facts small,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__facts small { font-size: .6rem; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__rating,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__rating { margin-bottom: 12px; font-size: .72rem; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__actions .mst-btn,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__actions .mst-btn { min-height: 40px; font-size: .6rem; letter-spacing: .12em; padding: 0 12px; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__actions .mst-btn--wa,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__actions .mst-btn--wa { flex-basis: 40px; width: 40px; min-width: 40px; }
.mst-grid[style*="--mst-cols:4"] .mst-card--classic .mst-card__actions .mst-btn--soft,
.mst-slide[style*="--mst-per:4"] .mst-card--classic .mst-card__actions .mst-btn--soft { min-width: 0; flex-basis: 0; }
/* overlay card, compact */
.mst-grid[style*="--mst-cols:4"] .mst-card--overlay .mst-card__body,
.mst-slide[style*="--mst-per:4"] .mst-card--overlay .mst-card__body { padding: 16px 16px 18px; }
.mst-grid[style*="--mst-cols:4"] .mst-card--overlay .mst-card__title,
.mst-slide[style*="--mst-per:4"] .mst-card--overlay .mst-card__title { font-size: 1.15rem !important; }
.mst-grid[style*="--mst-cols:4"] .mst-card--overlay .mst-card__price strong,
.mst-slide[style*="--mst-per:4"] .mst-card--overlay .mst-card__price strong { font-size: 1.3rem; }
.mst-grid[style*="--mst-cols:4"] .mst-card--overlay .mst-card__actions .mst-btn,
.mst-slide[style*="--mst-per:4"] .mst-card--overlay .mst-card__actions .mst-btn { font-size: .58rem; letter-spacing: .08em; min-height: 38px; }

/* Season price table (trip page) */
.mst-seasons { display: flex; flex-direction: column; gap: 28px; }
.mst-season__title { margin: 0 0 12px; font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mst-dark); }
.mst-season__dates { font-weight: 400; letter-spacing: .02em; text-transform: none; }
.mst-season__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }
.mst-season__col { display: flex; flex-direction: column; gap: 10px; }
.mst-season__persons { font-size: .95rem; color: var(--mst-dark); }
.mst-season__price { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 16px 8px; color: #fff; font-size: 1.05rem; font-weight: 700; text-align: center; border-radius: 0; }
.mst-season__price small { font-size: .7em; font-weight: 600; letter-spacing: .04em; }
.mst-season__price--green { background: #44592a; }
.mst-season__price--gold { background: #d4900f; }
.mst-season__price--brown { background: #6b4331; }
.mst-season__price--sage { background: #869192; }
.mst-season__price--charcoal { background: #292728; }
@media (max-width: 640px) { .mst-season__price { font-size: .9rem; padding: 14px 4px; flex-wrap: wrap; } .mst-season__persons { font-size: .85rem; } }
.mst-seasons .mst-season .mst-season__title { margin: 0 0 14px; font-family: inherit; font-size: 1rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; line-height: 1.4; }
.mst-seasons .mst-season .mst-season__dates { font-weight: 400; letter-spacing: .02em; text-transform: none; }
.mst-season__persons { margin-top: 4px; }
.mst-season__col { gap: 12px; }
.mst-season__price { flex: 1; white-space: nowrap; padding: 18px 8px; }
@media (max-width: 640px) {
	.mst-season__price { font-size: .78rem; padding: 14px 2px; gap: 3px; }
	.mst-season__price small { font-size: .62rem; }
}
