:root {
	--imotel-blue: #132861;
	--imotel-orange: #f7a600;
	--imotel-whatsapp: #178b4f;
	--imotel-pale: #f4f6fb;
}

.imotel-stopover { color: #20273a; font-size: 17px; line-height: 1.65; }
.imotel-stopover *, .imotel-stopover *::before, .imotel-stopover *::after { box-sizing: border-box; }
.imotel-stopover h1, .imotel-stopover h2, .imotel-stopover h3 { color: var(--imotel-blue); line-height: 1.17; }
.imotel-stopover h1 { margin: 0 0 20px; color: #fff; font-size: clamp(38px, 5vw, 66px); overflow-wrap: break-word; hyphens: auto; }
.imotel-stopover h2 { margin: 0 0 28px; font-size: clamp(28px, 3.5vw, 42px); text-align: center; }
.imotel-stopover h3 { margin: 0 0 10px; font-size: 21px; }
.imotel-stopover__hero { position: relative; min-height: 650px; display: grid; align-items: center; overflow: hidden; background: var(--imotel-blue); }
.imotel-stopover__hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; }
.imotel-stopover__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(19,40,97,.96) 0%, rgba(19,40,97,.72) 55%, rgba(19,40,97,.18) 100%); }
.imotel-stopover__hero-copy { position: relative; z-index: 1; width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 90px 0; color: #fff; }
.imotel-stopover__hero-copy > p:not(.imotel-stopover__eyebrow) { max-width: 760px; font-size: 21px; }
.imotel-stopover__eyebrow { margin: 0 0 12px; color: var(--imotel-orange); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.imotel-stopover__section, .imotel-stopover__split { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 84px 0; }
.imotel-stopover__section--tint { width: 100%; max-width: none; padding-inline: max(20px, calc((100% - 1180px)/2)); background: var(--imotel-pale); }
.imotel-stopover__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.imotel-stopover__grid article { padding: 28px; border-radius: 12px; background: #fff; border: 1px solid #dfe4ef; box-shadow: 0 8px 30px rgba(19,40,97,.07); }
.imotel-stopover__split { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; }
.imotel-stopover__split img { width: 100%; border-radius: 14px; box-shadow: 0 18px 42px rgba(19,40,97,.14); }
.imotel-stopover__split h2 { text-align: left; }
.imotel-stopover__lead { max-width: 800px; margin: -12px auto 35px; text-align: center; }
.imotel-stopover__rooms { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; max-width: 1180px; margin: 0 auto; }
.imotel-stopover__rooms article { overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 8px 28px rgba(19,40,97,.09); }
.imotel-stopover__rooms img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.imotel-stopover__rooms h3, .imotel-stopover__rooms p { margin-inline: 22px; }
.imotel-stopover__rooms h3 { margin-top: 20px; }
.imotel-stopover__rooms p { margin-bottom: 24px; }
.imotel-stopover__notice { max-width: 850px; margin: 0 auto 20px; padding: 25px 30px; border-left: 6px solid var(--imotel-orange); background: var(--imotel-pale); }
.imotel-stopover__section > .imotel-stopover__notice + p { max-width: 850px; margin-inline: auto; }
.imotel-stopover__faq { max-width: 900px; }
.imotel-stopover__faq details { margin: 12px 0; border: 1px solid #dfe4ef; border-radius: 9px; background: #fff; }
.imotel-stopover__faq summary { cursor: pointer; padding: 20px 24px; color: var(--imotel-blue); font-weight: 800; }
.imotel-stopover__faq details p { padding: 0 24px 20px; }
.imotel-stopover__final { padding: 78px 20px; background: var(--imotel-blue); color: #fff; text-align: center; }
.imotel-stopover__final h2 { color: #fff; }
.imotel-stopover__final > p { max-width: 750px; margin: 0 auto 22px; }
.imotel-stopover__contact { margin-top: 26px !important; font-size: 15px; }
.imotel-booking-form { display: inline-block; margin: 12px 8px 12px 0; }
.imotel-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 24px; border: 0; border-radius: 7px; background: var(--imotel-orange); color: var(--imotel-blue) !important; font: inherit; font-weight: 800; line-height: 1.2; text-decoration: none !important; cursor: pointer; }
.imotel-btn--light { margin: 12px 0; background: #fff; }
.imotel-btn:hover, .imotel-btn:focus-visible { transform: translateY(-1px); box-shadow: 0 7px 18px rgba(0,0,0,.18); }
.imotel-language-switcher { position: relative; z-index: 20; width: min(1180px, calc(100% - 30px)); margin: 18px auto; color: var(--imotel-blue); }
.imotel-language-switcher details { position: relative; width: min(360px, 100%); margin-left: auto; border: 1px solid rgba(19,40,97,.16); border-radius: 10px; background: #fff; box-shadow: 0 6px 24px rgba(19,40,97,.12); }
.imotel-language-switcher summary { cursor: pointer; padding: 11px 14px; font-weight: 800; list-style-position: inside; }
.imotel-language-switcher__links { position: absolute; right: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(520px, calc(100vw - 30px)); max-height: 65vh; overflow-y: auto; padding: 10px; border: 1px solid rgba(19,40,97,.16); border-radius: 10px; background: #fff; box-shadow: 0 12px 32px rgba(19,40,97,.18); }
.imotel-language-switcher a { padding: 7px 9px; color: var(--imotel-blue); font-size: 12px; font-weight: 800; text-decoration: none; }
.imotel-language-switcher a[aria-current="page"] { border-radius: 5px; background: var(--imotel-blue); color: #fff; }
.imotel-mobile-bar {
	display: none;
}

@media (max-width: 767px) {
	.imotel-stopover { font-size: 16px; }
	.imotel-stopover__hero { min-height: 600px; }
	.imotel-stopover__hero-copy { width: min(100% - 30px, 1180px); padding: 70px 0; }
	.imotel-stopover__hero-copy > p:not(.imotel-stopover__eyebrow) { font-size: 18px; }
	.imotel-stopover__section, .imotel-stopover__split { width: min(100% - 30px, 1180px); padding: 58px 0; }
	.imotel-stopover__section--tint { width: 100%; padding-inline: 15px; }
	.imotel-stopover__grid, .imotel-stopover__rooms, .imotel-stopover__split { grid-template-columns: 1fr; }
	.imotel-stopover__split { gap: 30px; }
	.imotel-stopover__grid { gap: 12px; }
	.imotel-stopover__grid article { padding: 22px; }
	.imotel-language-switcher { position: relative; width: calc(100% - 30px); }
	.imotel-language-switcher details { width: 100%; margin: 0; }
	.imotel-language-switcher__links { position: static; grid-template-columns: 1fr; width: 100%; max-height: 52vh; border: 0; border-top: 1px solid rgba(19,40,97,.12); border-radius: 0 0 10px 10px; box-shadow: none; }
	body {
		padding-bottom: calc(68px + env(safe-area-inset-bottom));
	}

	.imotel-mobile-bar {
		position: fixed;
		z-index: 99990;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		min-height: 64px;
		padding-bottom: env(safe-area-inset-bottom);
		background: #fff;
		border-top: 1px solid rgba(19, 40, 97, 0.18);
		box-shadow: 0 -4px 18px rgba(17, 24, 39, 0.13);
	}

	.imotel-mobile-bar__item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		min-width: 0;
		min-height: 64px;
		padding: 7px 4px;
		color: var(--imotel-blue);
		font-size: 12px;
		font-weight: 700;
		line-height: 1.15;
		text-align: center;
		text-decoration: none;
	}

	.imotel-mobile-bar__item + .imotel-mobile-bar__item {
		border-left: 1px solid rgba(19, 40, 97, 0.12);
	}

	.imotel-mobile-bar__item--whatsapp {
		color: var(--imotel-whatsapp);
	}

	.imotel-mobile-bar__item--booking {
		background: var(--imotel-orange);
		color: var(--imotel-blue);
	}

	.imotel-mobile-bar__item:focus-visible {
		outline: 3px solid #111;
		outline-offset: -4px;
	}

	.imotel-mobile-bar__icon {
		font-size: 20px;
		line-height: 1;
	}

	@media (prefers-reduced-motion: reduce) {
		.imotel-mobile-bar *,
		.imotel-mobile-bar *::before,
		.imotel-mobile-bar *::after {
			scroll-behavior: auto !important;
			transition: none !important;
		}
	}
}

@media print {
	.imotel-mobile-bar {
		display: none !important;
	}
}
