/* Site-wide: wider layout on large screens (theme default caps at 1200px). */
@media screen and (min-width: 1440px) {
	html body .container { max-width: 1380px; }
	html body .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1350px; }
	html body .pdcs-shero-inner { max-width: 1380px; }
	/* Footer (Elementor template 70) sets 1200px per section */
	.elementor-70 .elementor-section > .elementor-container { max-width: 1350px !important; }
}

/* ---------- Mobile menu ---------- */
.pdc-menu-contact, .pdc-menu-backdrop { display: none; }
@media screen and (max-width: 1199px) { .pdc-menu-backdrop { display: block; } }
@media screen and (max-width: 1199px) { #ct-header .pdc-menu-contact { display: block; } }
@media screen and (max-width: 1199px) {
	html.pdc-menu-open, html.pdc-menu-open body { overflow: hidden !important; }
	html.pdc-menu-open .pdcb-mbar,
	html.pdc-menu-open #pdc-premium-launcher,
	html.pdc-menu-open #pdc-premium-cta,
	html.pdc-menu-open #callnowbutton { display: none !important; }

	/* Dim the page behind the panel (element added by site.js) */
	.pdc-menu-backdrop {
		position: fixed; inset: 0; z-index: 998; background: rgba(16, 28, 61, .55);
		-webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
		opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;
	}
	html.pdc-menu-open .pdc-menu-backdrop { opacity: 1; visibility: visible; }
	html.pdc-menu-open #ct-header-wrap { z-index: 1000 !important; }

	/* Close button floats over the dimmed area */
	html.pdc-menu-open #ct-menu-mobile {
		position: fixed !important; top: 16px !important; right: 16px !important; left: auto !important; z-index: 1100 !important; transform: none !important;
		width: 48px !important; height: 48px !important; border-radius: 50%; background: #f1f2f5;
		display: flex !important; align-items: center; justify-content: center; box-shadow: none;
	}
	html.pdc-menu-open #ct-menu-mobile .open-menu { position: static !important; transform: scale(.75); }

	/* Panel */
	#ct-header .ct-header-navigation { width: 100vw !important; }
	#ct-header .ct-header-navigation .ct-main-navigation {
		width: 100vw !important; max-width: none !important; background: #fff !important; box-shadow: none;
		height: 100vh; height: 100dvh; overflow-y: auto; overscroll-behavior: contain; padding-top: 0 !important; margin-top: 0 !important;
	}
	#ct-header .ct-main-navigation-inner {
		width: 100% !important; max-width: 560px; padding: 16px 20px 32px !important; margin: 0 !important; top: 0 !important;
		display: flex; flex-direction: column;
	}
	#ct-header .ct-logo-mobile { width: auto !important; min-height: 48px; display: flex !important; align-items: center; margin: 0 0 12px !important; padding: 0 64px 16px 0 !important; text-align: left !important; border-bottom: 1px solid #ece9e3; }
	#ct-header .ct-logo-mobile img { height: 46px !important; width: auto !important; max-width: none !important; }
	#ct-header .header-mobile-search { display: none !important; }

	/* Links */
	#ct-header #ct-main-menu { width: 100% !important; margin: 0 !important; padding: 0 !important; }
	#ct-header #ct-main-menu > li { position: relative; margin: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid #ece9e3 !important; }
	#ct-header #ct-main-menu > li > a {
		display: block !important; padding: 16px 56px 16px 0 !important; margin: 0 !important;
		font-size: 18px !important; font-weight: 600 !important; line-height: 1.3 !important;
		color: #101c3d !important; letter-spacing: -.01em; text-transform: none !important;
	}
	#ct-header #ct-main-menu > li > a::before, #ct-header #ct-main-menu > li > a::after { display: none !important; }
	#ct-header #ct-main-menu > li.current-menu-item > a,
	#ct-header #ct-main-menu > li.current-menu-ancestor > a { color: #e31e24 !important; }

	/* Dropdown toggle: its own button, never over the text */
	#ct-header #ct-main-menu .ct-menu-toggle {
		position: absolute !important; right: 0 !important; top: 9px !important; left: auto !important;
		width: 42px !important; height: 42px !important; line-height: 42px !important; margin: 0 !important;
		display: flex !important; align-items: center; justify-content: center;
		border: 1px solid #e3e0da !important; border-radius: 10px !important; background: #f6f5f2 !important;
		color: #101c3d !important; font-size: 14px !important; transition: transform .2s, background .2s;
	}
	#ct-header #ct-main-menu .ct-menu-toggle.toggle-open { transform: rotate(180deg); background: #101c3d !important; color: #fff !important; border-color: #101c3d !important; }

	/* Sub-menu */
	#ct-header #ct-main-menu .sub-menu {
		position: static !important; width: 100% !important; margin: 0 0 12px !important; padding: 4px 0 4px 14px !important;
		border: 0 !important; border-left: 2px solid #e31e24 !important; box-shadow: none !important; background: none !important;
		opacity: 1 !important; visibility: visible !important; transform: none !important;
	}
	#ct-header #ct-main-menu .sub-menu li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
	#ct-header #ct-main-menu .sub-menu a {
		display: block !important; padding: 10px 0 !important; font-size: 16px !important; font-weight: 500 !important;
		color: #2c3347 !important; line-height: 1.35 !important; text-transform: none !important;
	}
	#ct-header #ct-main-menu .sub-menu a .link-icon, #ct-header #ct-main-menu .sub-menu a::before { display: none !important; }
	#ct-header #ct-main-menu .sub-menu .current-menu-item > a { color: #e31e24 !important; }

	/* Book button */
	#ct-header .ct-header-button-mobile { width: 100% !important; margin: 22px 0 0 !important; padding: 0 !important; text-align: left !important; }
	#ct-header .ct-header-button-mobile a.btn {
		display: flex !important; align-items: center; justify-content: center; gap: 10px;
		width: 100% !important; height: 54px !important; line-height: 1 !important; padding: 0 20px !important; margin: 0 !important;
		background: #e31e24 !important; border-radius: 10px !important; box-shadow: none !important;
		font-size: 17px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; color: #fff !important;
	}
	#ct-header .ct-header-button-mobile a.btn::before, #ct-header .ct-header-button-mobile a.btn::after { display: none !important; }

	/* Call block */
	#ct-header .pdc-menu-contact { margin-top: 14px; padding: 16px 18px; border-radius: 12px; background: #101c3d; }
	#ct-header .pdc-menu-contact p { margin: 0 0 4px; font-size: 14px; color: rgba(255,255,255,.8); line-height: 1.4; }
	#ct-header .pdc-menu-contact .pdc-menu-call { display: flex; align-items: center; gap: 10px; color: #fff !important; font-size: 26px; font-weight: 700; letter-spacing: -.01em; text-decoration: none; line-height: 1.2; }
	#ct-header .pdc-menu-contact svg { width: 22px; height: 22px; fill: none; stroke: #ffc72c; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
}

/* ---------- Floating chat: one tidy control ---------- */
.scroll-top { display: none !important; } /* theme back-to-top overlapped the chat */
#pdc-premium-launcher { bottom: 24px !important; right: 24px !important; }
#pdc-premium-launcher .pdc-launcher-inner {
	width: 56px !important; height: 56px !important; border-radius: 50% !important;
	background: #101c3d !important; box-shadow: 0 8px 24px rgba(16, 28, 61, .28) !important;
	animation: none !important; border: 0 !important; transition: transform .15s, background .15s !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
}
#pdc-premium-launcher .pdc-launcher-inner:hover { transform: translateY(-2px) !important; background: #1c2c5c !important; box-shadow: 0 10px 28px rgba(16, 28, 61, .32) !important; }
#pdc-premium-launcher .pdc-launcher-icon { font-size: 0 !important; width: 26px; height: 26px; display: block;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20.5l1.4-4.9A8 8 0 1 1 21 12z'/%3E%3Cpath d='M8.5 12h.01M12 12h.01M15.5 12h.01' stroke-width='3'/%3E%3C/svg%3E"); }
#pdc-premium-launcher .pdc-launcher-icon img { display: none !important; }

#pdc-premium-cta { bottom: 30px !important; right: 90px !important; animation: none !important; }
#pdc-premium-cta-btn {
	display: inline-flex !important; align-items: center !important; gap: 8px !important;
	height: 44px !important; padding: 0 18px 0 14px !important; border-radius: 999px !important;
	background: #fff !important; color: #101c3d !important; border: 1px solid #e3e0da !important;
	font-family: Rubik, system-ui, sans-serif !important; font-size: 15px !important; font-weight: 600 !important;
	letter-spacing: 0 !important; text-transform: none !important; line-height: 1 !important;
	box-shadow: 0 8px 24px rgba(16, 28, 61, .16) !important; animation: none !important; transition: transform .15s, box-shadow .15s !important;
}
#pdc-premium-cta-btn::before {
	content: "" !important; width: 9px; height: 9px; border-radius: 50%; background: #22b35e; flex: none;
	box-shadow: 0 0 0 3px rgba(34, 179, 94, .18); font-size: 0 !important;
}
#pdc-premium-cta-btn:hover { transform: translateY(-1px) !important; background: #fff !important; box-shadow: 0 10px 28px rgba(16, 28, 61, .22) !important; }
@media (max-width: 767px) {
	#pdc-premium-launcher { bottom: 86px !important; right: 14px !important; }
	#pdc-premium-launcher .pdc-launcher-inner { width: 50px !important; height: 50px !important; }
}

/* ---------- Mobile header ---------- */
.pdc-head-strip, .pdc-head-rating { display: none; }
@media screen and (max-width: 1199px) {
	.pdc-head-strip {
		display: flex; align-items: center; justify-content: space-between; gap: 12px;
		height: 32px; padding: 0 16px; background: #101c3d; color: rgba(255,255,255,.85);
		font-family: Rubik, system-ui, sans-serif; font-size: 12.5px; font-weight: 500; letter-spacing: .01em;
	}
	.pdc-head-live { display: inline-flex; align-items: center; gap: 7px; color: #fff; }
	.pdc-head-live i { width: 8px; height: 8px; border-radius: 50%; background: #34d27b; box-shadow: 0 0 0 0 rgba(52,210,123,.6); animation: pdc-live 2s infinite; }
	@keyframes pdc-live { 70% { box-shadow: 0 0 0 7px rgba(52,210,123,0); } 100% { box-shadow: 0 0 0 0 rgba(52,210,123,0); } }

	#ct-header { box-shadow: 0 1px 0 #ece9e3, 0 6px 18px rgba(16,28,61,.06); }
	#ct-header .ct-header-branding img { max-height: 50px !important; width: auto !important; }

	/* 5-star rating badge */
	#ct-header .pdc-head-rating {
		display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
		position: absolute; top: 50%; right: 72px; transform: translateY(-50%); z-index: 5;
		padding: 6px 4px; text-decoration: none !important;
	}
	#ct-header .pdc-stars {
		position: relative; display: inline-flex; gap: 2px; overflow: hidden; border-radius: 3px;
	}
	#ct-header .pdc-stars svg { width: 19px; height: 19px; fill: #ffb400; animation: pdc-star-pop .5s cubic-bezier(.3,1.6,.6,1) both; }
	#ct-header .pdc-stars svg:nth-child(2) { animation-delay: .08s; }
	#ct-header .pdc-stars svg:nth-child(3) { animation-delay: .16s; }
	#ct-header .pdc-stars svg:nth-child(4) { animation-delay: .24s; }
	#ct-header .pdc-stars svg:nth-child(5) { animation-delay: .32s; }
	/* light sweeping across the stars */
	#ct-header .pdc-stars::after {
		content: ""; position: absolute; top: -4px; bottom: -4px; left: -40%; width: 30%;
		background: linear-gradient(100deg, transparent, rgba(255,255,255,.9), transparent);
		transform: skewX(-18deg); animation: pdc-shine 3.6s ease-in-out 1s infinite; pointer-events: none;
	}
	#ct-header .pdc-rated {
		font-family: Rubik, system-ui, sans-serif; font-size: 11.5px; font-weight: 500; line-height: 1;
		color: #5d6478; letter-spacing: .01em; white-space: nowrap;
	}
	#ct-header .pdc-cat-logo { display: block; height: 13px; width: auto; max-width: none; }
	@keyframes pdc-star-pop { from { transform: scale(.3); opacity: 0; } to { transform: none; opacity: 1; } }
	@keyframes pdc-shine { 0% { left: -40%; } 45%, 100% { left: 120%; } }
	html.pdc-menu-open .pdc-head-rating { display: none !important; }

	/* Menu button: solid navy square with white lines */
	html:not(.pdc-menu-open) #ct-menu-mobile {
		width: 44px !important; height: 44px !important; right: 16px !important; top: 50% !important; transform: translateY(-50%) !important;
		background: #101c3d; border-radius: 10px; display: flex !important; align-items: center; justify-content: center;
	}
	html:not(.pdc-menu-open) #ct-menu-mobile .btn-nav-mobile { transform: scale(.72); }
	html:not(.pdc-menu-open) #ct-menu-mobile .btn-nav-mobile::before,
	html:not(.pdc-menu-open) #ct-menu-mobile .btn-nav-mobile::after,
	html:not(.pdc-menu-open) #ct-menu-mobile .btn-nav-mobile > span { background: #fff !important; }
	html.pdc-menu-open #ct-menu-mobile .btn-nav-mobile::before,
	html.pdc-menu-open #ct-menu-mobile .btn-nav-mobile::after,
	html.pdc-menu-open #ct-menu-mobile .btn-nav-mobile > span { background: #101c3d !important; }
	
}
@media (prefers-reduced-motion: reduce) {
	#ct-header .pdc-stars svg, #ct-header .pdc-stars::after { animation: none !important; }
	#ct-header .pdc-stars::after { display: none; }
}


/* Footer logo badge overlaps the page bottom by ~60px: always leave room for it (home page handles its own). */
body:not(.home) #content.site-content { padding-bottom: 110px !important; }
@media (max-width: 767px) { body:not(.home) #content.site-content { padding-bottom: 96px !important; } }
