/* ==========================================================================
   ItsBali — GeneratePress child theme styles
   Loaded on the front end AND inside the block editor.
   Colours live in theme.json (block editor palette) and here as --ib-* tokens.
   ========================================================================== */

@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/outfit-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	--ib-ocean: #0B3B47;
	--ib-ocean-2: #0E4A58;
	--ib-lagoon: #12A5A9;
	--ib-lagoon-dark: #0B7C80;
	--ib-coral: #F2683C;
	--ib-coral-dark: #D24A22;
	--ib-wa: #0F8A4C;
	--ib-sand: #F7F1E8;
	--ib-paper: #FBF8F3;
	--ib-mist: #EAF5F4;
	--ib-ink: #0F2A30;
	--ib-muted: #55686D;
	--ib-line: #E3DED5;
	--ib-white: #fff;
	--ib-radius: 18px;
	--ib-radius-sm: 12px;
	--ib-shadow: 0 1px 2px rgba(11, 59, 71, .06), 0 12px 32px -12px rgba(11, 59, 71, .18);
	--ib-shadow-lg: 0 2px 4px rgba(11, 59, 71, .06), 0 24px 48px -16px rgba(11, 59, 71, .28);
	--ib-gutter: clamp(16px, 4vw, 40px);
	--ib-section: clamp(56px, 8vw, 112px);
	--ib-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ib-head: "Outfit", "Inter", system-ui, sans-serif;
	--ib-header-h: 76px;
	--ib-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--ib-i-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
	--ib-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--ib-i-car: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9L18 10l-2.7-3.6A2 2 0 0 0 13.7 6H7.3a2 2 0 0 0-1.6.9L3 10.5 1.6 11.3A2 2 0 0 0 1 13v3c0 .6.4 1 1 1h2'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3Cpath d='M9 17h6'/%3E%3C/svg%3E");
	--ib-i-boat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1'/%3E%3Cpath d='M19.38 20A11.6 11.6 0 0 0 21 14l-9-4-9 4c0 2.9.94 5.34 2.81 7.76'/%3E%3Cpath d='M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6'/%3E%3Cpath d='M12 10v4M12 2v3'/%3E%3C/svg%3E");
	--ib-i-food: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2'/%3E%3Cpath d='M7 2v20'/%3E%3Cpath d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E");
	--ib-i-ticket: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z'/%3E%3Cpath d='M13 5v2M13 17v2M13 11v2'/%3E%3C/svg%3E");
	--ib-i-camera: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E");
	--ib-i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	--ib-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
	--ib-i-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E");
	--ib-i-wallet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1'/%3E%3Cpath d='M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E");
	--ib-i-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
	--ib-i-waves: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1'/%3E%3C/svg%3E");
	--ib-i-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M6.3 17.7l-1.4 1.4M19.1 4.9l-1.4 1.4'/%3E%3C/svg%3E");
	--ib-i-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20M2 12h20'/%3E%3C/svg%3E");
	--ib-i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3C/svg%3E");
	--ib-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	--ib-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
	--ib-i-wa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3Cpath d='M9.2 8.6c.2-.5.5-.5.8-.5h.5c.2 0 .4 0 .6.4l.8 1.8c.1.2.1.4 0 .6l-.5.7c-.1.2-.1.4 0 .5.6 1 1.4 1.8 2.4 2.4.2.1.4.1.5 0l.7-.6c.2-.2.4-.2.6-.1l1.8.8c.3.1.4.3.4.5 0 .9-.6 1.8-1.6 2-3.2.6-7.6-3.6-7.2-7-.1-.5 0-.9.2-1.1Z' fill='black' stroke='none'/%3E%3C/svg%3E");

}

/* ---------- Base ---------- */
body,
button,
input,
select,
textarea,
.editor-styles-wrapper {
	font-family: var(--ib-font);
}
body {
	color: var(--ib-ink);
	background: var(--ib-white);
	font-size: 16.5px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6,
.ib-form-card__title, .ib-price, .ib-price-badge, .ib-stat__value {
	font-family: var(--ib-head);
}
h1, h2, h3, h4, h5, h6 {
	color: var(--ib-ocean);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.015em;
	margin-bottom: .5em;
}
h1 { font-size: clamp(2.4rem, 5.6vw, 4.4rem); }
h2 { font-size: clamp(1.9rem, 3.8vw, 2.9rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); letter-spacing: -0.005em; }
a { color: var(--ib-lagoon-dark); text-underline-offset: .18em; }
a:hover, a:focus { color: var(--ib-ocean); }
:focus-visible { outline: 3px solid var(--ib-coral); outline-offset: 2px; }
img { height: auto; }
::selection { background: var(--ib-lagoon); color: #fff; }

/* ---------- Header (GeneratePress) ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid rgba(11, 59, 71, .08);
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 0; } }
.site-header .inside-header {
	max-width: 1320px;
	padding: 12px var(--ib-gutter);
	min-height: var(--ib-header-h);
	align-items: center;
}
.site-logo img,
.site-header .header-image {
	height: 34px;
	width: auto;
	max-width: none;
}
.main-title a { color: var(--ib-ocean); font-weight: 800; }
.main-navigation,
.main-navigation ul ul { background: transparent; }
.main-navigation .main-nav ul li a {
	font-weight: 600;
	font-size: 15px;
	color: var(--ib-ink);
	padding-left: 14px;
	padding-right: 14px;
	line-height: 52px;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus-within > a,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a {
	color: var(--ib-lagoon-dark);
	background: transparent;
}
.main-navigation ul ul {
	background: #fff;
	border-radius: var(--ib-radius-sm);
	box-shadow: var(--ib-shadow-lg);
	padding: 8px;
	width: 260px;
}
.main-navigation .main-nav ul ul li a {
	line-height: 1.35;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 14.5px;
}
.main-navigation .main-nav ul ul li a:hover { background: var(--ib-mist); }
.main-navigation .menu-bar-items { display: flex; align-items: center; order: 3; }
.ib-header-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 12px;
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--ib-wa);
	color: #fff !important;
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: transform .15s ease, box-shadow .15s ease;
}
.ib-header-cta:hover { transform: translateY(-1px); box-shadow: 0 8px 20px -8px rgba(15, 138, 76, .6); }
.ib-wa-icon {
	display: inline-block;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--ib-i-wa) center / contain no-repeat;
	mask: var(--ib-i-wa) center / contain no-repeat;
	flex: none;
}
.menu-toggle,
button.menu-toggle {
	background: var(--ib-mist);
	color: var(--ib-ocean);
	border-radius: 999px;
	padding: 0 16px;
	line-height: 42px;
	font-weight: 700;
	font-size: 15px;
	border: 0;
}
.menu-toggle:hover, .menu-toggle:focus { background: var(--ib-line); color: var(--ib-ocean); }

@media (max-width: 768px) {
	.site-header .inside-header { padding-top: 10px; padding-bottom: 10px; min-height: 64px; }
	.site-logo img, .site-header .header-image { height: 28px; }
	.ib-header-cta { padding: 10px; margin-left: 8px; }
	.ib-header-cta__text { display: none; }
	.main-navigation.toggled .main-nav > ul {
		background: #fff;
		border-radius: var(--ib-radius-sm);
		box-shadow: var(--ib-shadow-lg);
		padding: 8px;
		margin-top: 8px;
	}
	.main-navigation.toggled .main-nav ul ul { box-shadow: none; padding: 0 0 0 12px; width: auto; }
	.main-navigation .main-nav ul li a { line-height: 46px; }
}

/* ---------- Full-width landing layout for pages ---------- */
.itsbali-landing .featured-image.page-header-image,
.itsbali-landing .page-header-image-single { display: none; }
.wp-custom-logo .site-branding { display: none; }
.site-branding-container { align-items: center; }
.ib-header-cta .ib-wa-icon { margin: 0; }
.itsbali-landing .site.grid-container,
.itsbali-landing .container.grid-container,
.itsbali-landing #page {
	max-width: 100%;
	padding: 0;
}
.itsbali-landing .site-content,
.itsbali-landing.one-container .site-content,
.itsbali-landing.separate-containers .site-content { padding: 0; display: block; }
.itsbali-landing .content-area { width: 100%; float: none; }
.itsbali-landing .site-main,
.itsbali-landing.separate-containers .site-main,
.itsbali-landing.one-container .site-main { margin: 0; }
.itsbali-landing .inside-article,
.itsbali-landing.separate-containers .inside-article { padding: 0; background: transparent; }
.itsbali-landing .site-main > * { margin-bottom: 0; }
.itsbali-landing .entry-header { display: none; }
.itsbali-landing .entry-content { margin-top: 0; }
.itsbali-landing .entry-content > .alignfull {
	margin-left: 0;
	margin-right: 0;
	width: auto;
	max-width: none;
}
.itsbali-landing .entry-content > * + * { margin-top: 0; }
.itsbali-landing .entry-content > :not(.alignfull) {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ib-gutter);
	padding-right: var(--ib-gutter);
	box-sizing: content-box;
}
.entry-content > .alignfull.is-layout-constrained,
.ib-footer > .alignfull.is-layout-constrained {
	padding-left: var(--ib-gutter);
	padding-right: var(--ib-gutter);
}

/* ---------- Sections ---------- */
.ib-section { padding-top: var(--ib-section); padding-bottom: var(--ib-section); }
.ib-section--after-facts { padding-top: clamp(36px, 5vw, 56px); }
.ib-section--tight { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(40px, 5vw, 64px); }
.ib-section--sand { background: var(--ib-sand); }
.ib-section--paper { background: var(--ib-paper); }
.ib-section--mist { background: var(--ib-mist); }
.ib-section--ocean { background: var(--ib-ocean); color: rgba(255, 255, 255, .86); }
.ib-section--ocean h1, .ib-section--ocean h2, .ib-section--ocean h3 { color: #fff; }
.ib-head { margin-bottom: clamp(28px, 4vw, 48px) !important; }
.ib-head > * { max-width: 720px; }
.ib-head.is-center > * { margin-left: auto !important; margin-right: auto !important; text-align: center; }
.ib-head > :last-child { margin-bottom: 0; }
.ib-lead { font-size: clamp(1.05rem, 1.6vw, 1.2rem); color: var(--ib-muted); line-height: 1.6; }
.ib-section--ocean .ib-lead { color: rgba(255, 255, 255, .78); }
.ib-muted, .ib-note { color: var(--ib-muted); }
.ib-note { font-size: .9rem; }

/* Eyebrow + pill paragraphs */
p.is-style-eyebrow,
.is-style-eyebrow {
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ib-coral-dark);
	margin-bottom: .75rem;
}
.ib-section--ocean .is-style-eyebrow, .wp-block-cover .is-style-eyebrow { color: #FFB79C; }
p.is-style-pill {
	display: inline-block;
	width: auto;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	border: 1px solid rgba(255, 255, 255, .28);
	color: #fff;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .02em;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

/* ---------- Buttons ---------- */
.wp-block-button__link,
.wp-element-button {
	font-family: var(--ib-font);
	font-weight: 700;
	border-radius: 999px;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
	text-decoration: none;
}
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -10px rgba(210, 74, 34, .7); }
.wp-block-button:not(.is-style-outline):not(.is-style-light):not(.is-style-whatsapp) .wp-block-button__link:not(.has-background) { background-color: var(--ib-coral-dark); color: #fff; }
.wp-block-button.is-style-whatsapp .wp-block-button__link {
	background-color: var(--ib-wa);
	color: #fff;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.wp-block-button.is-style-whatsapp .wp-block-button__link::before {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--ib-i-wa) center / contain no-repeat;
	mask: var(--ib-i-wa) center / contain no-repeat;
}
.wp-block-button.is-style-whatsapp .wp-block-button__link:hover { box-shadow: 0 10px 24px -10px rgba(15, 138, 76, .7); }
.wp-block-button.is-style-light .wp-block-button__link { background: #fff; color: var(--ib-ocean); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--ib-ocean); padding: calc(.9em - 2px) calc(1.6em - 2px); }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link,
.ib-section--ocean .wp-block-button.is-style-outline .wp-block-button__link,
.ib-cta .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; }

/* ---------- Hero (cover) ---------- */
.ib-hero.wp-block-cover { padding-left: var(--ib-gutter); padding-right: var(--ib-gutter); }
.ib-hero__inner > :first-child { margin-top: 0; }
.ib-hero.wp-block-cover { min-height: min(88vh, 760px); padding-top: clamp(80px, 12vw, 140px); padding-bottom: clamp(56px, 8vw, 96px); align-items: flex-end; }
.ib-hero--tour.wp-block-cover { min-height: min(72vh, 620px); }
.ib-hero .wp-block-cover__inner-container { color: #fff; }
.ib-hero h1 { color: #fff; max-width: 15ch; margin-bottom: .35em; text-wrap: balance; }
.ib-hero--tour h1 { max-width: 18ch; }
.ib-hero .ib-lead { color: rgba(255, 255, 255, .9); max-width: 620px; }
.ib-hero .wp-block-buttons { margin-top: 1.75rem; }
.ib-ticks {
	list-style: none;
	padding: 0;
	margin: 1.75rem 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	font-weight: 600;
	font-size: .95rem;
}
.ib-ticks li { display: flex; align-items: center; gap: 8px; margin: 0; }
.ib-ticks li::before {
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	flex: none;
	background: var(--ib-lagoon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.ib-price-badge {
	display: inline-flex !important;
	align-items: baseline;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 999px;
	background: #fff;
	color: var(--ib-ocean) !important;
	font-weight: 800;
	font-size: 1.05rem;
	box-shadow: var(--ib-shadow);
}
.ib-price-badge small, .ib-price-badge em { font-weight: 600; font-style: normal; color: var(--ib-muted); font-size: .85rem; }

/* ---------- Trust strip / features ---------- */
.ib-trust { border-bottom: 1px solid var(--ib-line); }
.ib-trust .ib-feature { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; align-items: start; }
.ib-trust .ib-feature::before { grid-row: span 2; margin: 0; }
.ib-trust .ib-feature h3 { font-size: 1rem; margin: 2px 0 2px; letter-spacing: 0; }
.ib-trust .ib-feature p { font-size: .9rem; margin: 0; color: var(--ib-muted); line-height: 1.5; }
.ib-feature { position: relative; --ib-ico: var(--ib-i-check); }
.ib-feature::before {
	content: "";
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	margin-bottom: 14px;
	background-color: var(--ib-mist);
	background-image: none;
}
.ib-feature::after {
	content: "";
	position: absolute;
	top: 11px;
	left: 11px;
	width: 22px;
	height: 22px;
	background: var(--ib-lagoon-dark);
	-webkit-mask: var(--ib-ico) center / contain no-repeat;
	mask: var(--ib-ico) center / contain no-repeat;
}
.ib-feature.ib-i-pin { --ib-ico: var(--ib-i-pin); }
.ib-feature.ib-i-car { --ib-ico: var(--ib-i-car); }
.ib-feature.ib-i-boat { --ib-ico: var(--ib-i-boat); }
.ib-feature.ib-i-food { --ib-ico: var(--ib-i-food); }
.ib-feature.ib-i-ticket { --ib-ico: var(--ib-i-ticket); }
.ib-feature.ib-i-camera { --ib-ico: var(--ib-i-camera); }
.ib-feature.ib-i-shield { --ib-ico: var(--ib-i-shield); }
.ib-feature.ib-i-clock { --ib-ico: var(--ib-i-clock); }
.ib-feature.ib-i-chat { --ib-ico: var(--ib-i-chat); }
.ib-feature.ib-i-wallet { --ib-ico: var(--ib-i-wallet); }
.ib-feature.ib-i-users { --ib-ico: var(--ib-i-users); }
.ib-feature.ib-i-waves { --ib-ico: var(--ib-i-waves); }
.ib-feature.ib-i-sun { --ib-ico: var(--ib-i-sun); }
.ib-feature.ib-i-globe { --ib-ico: var(--ib-i-globe); }
.ib-feature.ib-i-heart { --ib-ico: var(--ib-i-heart); }
.ib-feature.ib-i-wa { --ib-ico: var(--ib-i-wa); }
.ib-features .ib-feature h3 { margin-bottom: .35em; }
.ib-features .ib-feature p { color: var(--ib-muted); margin: 0; }
.ib-section--ocean .ib-feature::before { background-color: rgba(255, 255, 255, .1); }
.ib-section--ocean .ib-feature::after { background: #7FE0E2; }
.ib-section--ocean .ib-features .ib-feature p { color: rgba(255, 255, 255, .75); }

/* ---------- Cards ---------- */
.wp-block-group.is-style-card {
	background: #fff;
	border-radius: var(--ib-radius);
	box-shadow: var(--ib-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
}
.wp-block-group.is-style-card:hover { transform: translateY(-3px); box-shadow: var(--ib-shadow-lg); }
.wp-block-group.is-style-card > .wp-block-image,
.wp-block-group.is-style-card > figure { margin: 0 !important; }
.is-style-card .wp-block-image img,
.ib-card__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 0; }
.ib-card__body { padding: 22px 24px 24px; display: flex; flex-direction: column; flex: 1; gap: 10px; }
.ib-card__body > * { margin: 0 !important; }
.ib-card__body h3 { font-size: 1.25rem; }
.ib-card__body h3 a { color: inherit; text-decoration: none; }
.ib-card__body h3 a::after { content: ""; position: absolute; inset: 0; }
.ib-card__body { position: relative; }
.ib-card__body .wp-block-buttons { position: relative; z-index: 2; margin-top: auto !important; padding-top: 6px; }
.ib-card__spots { color: var(--ib-muted); font-size: .95rem; line-height: 1.5; }
.ib-chips { display: flex; flex-wrap: wrap; gap: 6px; }
p.ib-chip,
.ib-chip {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--ib-mist);
	color: var(--ib-lagoon-dark);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .02em;
	margin: 0;
}
.ib-chip--hot { background: #FDE7DF; color: #9A2D0E; }
.ib-price { font-weight: 800; color: var(--ib-ocean); font-size: 1.2rem; letter-spacing: -0.01em; }
.ib-price small, .ib-price em { font-weight: 600; font-style: normal; color: var(--ib-muted); font-size: .85rem; letter-spacing: 0; }
.ib-card--mini .ib-card__body { padding: 18px 20px 20px; }
.ib-card--mini .wp-block-image img { aspect-ratio: 16 / 9; }

/* Grids (core group grid layout already responsive; small refinements) */
.ib-grid { --ib-grid-gap: 1.25rem; }

/* ---------- Steps ---------- */
.ib-steps { counter-reset: ibstep; }
.ib-step { counter-increment: ibstep; position: relative; padding-top: 4px; }
.ib-step::before {
	content: counter(ibstep);
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--ib-coral);
	color: #fff;
	font-weight: 800;
	font-size: 1.2rem;
	margin-bottom: 16px;
	box-shadow: 0 0 0 8px rgba(242, 104, 60, .14);
}
.ib-step h3 { margin-bottom: .35em; }
.ib-step p { color: var(--ib-muted); margin: 0; }
.ib-section--ocean .ib-step p { color: rgba(255, 255, 255, .75); }

/* ---------- Tables ---------- */
.wp-block-table.is-style-compare,
.wp-block-table.ib-schedule { margin: 0; overflow-x: auto; }
.wp-block-table.is-style-compare table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	min-width: 600px;
	background: #fff;
	border-radius: var(--ib-radius);
	overflow: hidden;
	box-shadow: var(--ib-shadow);
	font-size: .95rem;
}
.wp-block-table.is-style-compare th,
.wp-block-table.is-style-compare td {
	border: 0;
	border-bottom: 1px solid var(--ib-line);
	padding: 14px 16px;
	text-align: left;
	vertical-align: top;
}
.wp-block-table.is-style-compare thead th {
	background: var(--ib-ocean);
	color: #fff;
	font-weight: 700;
	font-size: .85rem;
	letter-spacing: .03em;
	text-transform: uppercase;
	border-bottom: 0;
}
.wp-block-table.is-style-compare tbody tr:last-child td { border-bottom: 0; }
.wp-block-table.is-style-compare tbody tr:nth-child(even) td { background: var(--ib-paper); }
.wp-block-table.is-style-compare td:first-child { font-weight: 700; color: var(--ib-ocean); }
.wp-block-table.is-style-compare td a { font-weight: 700; }
.wp-block-table.is-style-compare figcaption { font-size: .85rem; color: var(--ib-muted); margin-top: 10px; text-align: left; }
.wp-block-table thead { border-bottom: 0; }

/* ---------- Lists ---------- */
ul.is-style-check, ul.is-style-cross { list-style: none; padding-left: 0; margin-left: 0; }
ul.is-style-check li, ul.is-style-cross li { position: relative; padding-left: 32px; margin: 0 0 .6em; }
ul.is-style-check li::before, ul.is-style-cross li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 22px;
	height: 22px;
	border-radius: 50%;
}
ul.is-style-check li::before { background: var(--ib-mist); }
ul.is-style-check li::after,
ul.is-style-cross li::after {
	content: "";
	position: absolute;
	left: 5px;
	top: calc(.2em + 5px);
	width: 12px;
	height: 12px;
	-webkit-mask: var(--ib-i-check) center / contain no-repeat;
	mask: var(--ib-i-check) center / contain no-repeat;
	background: var(--ib-lagoon-dark);
}
ul.is-style-cross li::before { background: #FDE7DF; }
ul.is-style-cross li::after { -webkit-mask-image: var(--ib-i-x); mask-image: var(--ib-i-x); background: var(--ib-coral-dark); }

ol.is-style-timeline,
ul.is-style-timeline { list-style: none; padding-left: 0; margin-left: 0; position: relative; }
.is-style-timeline li { position: relative; padding: 0 0 22px 34px; margin: 0; }
.is-style-timeline li::before {
	content: "";
	position: absolute;
	left: 5px;
	top: .45em;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid var(--ib-lagoon);
	z-index: 1;
}
.is-style-timeline li::after {
	content: "";
	position: absolute;
	left: 11px;
	top: 1.2em;
	bottom: -0.2em;
	width: 2px;
	background: var(--ib-line);
}
.is-style-timeline li:last-child::after { display: none; }
.is-style-timeline li strong:first-child { color: var(--ib-ocean); display: inline-block; min-width: 3.4em; }

/* ---------- Spots (media & text) ---------- */
.ib-spot.wp-block-media-text { gap: 0; margin-bottom: clamp(18px, 3vw, 28px) !important; background: #fff; border-radius: var(--ib-radius); overflow: hidden; box-shadow: var(--ib-shadow); }
.ib-spot .wp-block-media-text__media img { border-radius: 0; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: 100%; }
.ib-spot .wp-block-media-text__content { padding: clamp(18px, 3vw, 32px) !important; }
.ib-spot .wp-block-media-text__content > :last-child { margin-bottom: 0; }
.ib-spot h3 { margin-bottom: .3em; }
.ib-spot p { color: var(--ib-muted); }
@media (max-width: 600px) {
	.ib-spot.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { padding: 18px 20px 22px !important; }
}

/* Image style: soft */
.wp-block-image.is-style-soft img, .ib-rounded img { border-radius: var(--ib-radius); }

/* ---------- Tour page layout ---------- */
.ib-facts { background: #fff; border-radius: var(--ib-radius); box-shadow: var(--ib-shadow-lg); padding: clamp(18px, 2.5vw, 26px) clamp(18px, 3vw, 32px) !important; margin-top: calc(-1 * clamp(36px, 5vw, 56px)) !important; position: relative; z-index: 3; }
.ib-fact { margin: 0 !important; }
.ib-fact p { margin: 0; }
.ib-fact .ib-fact__label { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; color: var(--ib-muted); }
.ib-fact .ib-fact__value { font-weight: 700; color: var(--ib-ocean); font-size: 1.02rem; line-height: 1.35; }
.ib-tour-body { align-items: flex-start !important; }
.ib-tour-body > .wp-block-column:first-child > h2 { margin-top: clamp(36px, 5vw, 56px); }
.ib-tour-body > .wp-block-column:first-child > h2:first-child { margin-top: 0; }
.ib-sticky { position: sticky; top: calc(var(--ib-header-h) + 20px); }
.admin-bar .ib-sticky { top: calc(var(--ib-header-h) + 52px); }
.ib-box { background: var(--ib-paper); border: 1px solid var(--ib-line); border-radius: var(--ib-radius); padding: clamp(18px, 3vw, 28px) !important; }
.ib-box > :last-child { margin-bottom: 0; }
.ib-box h3 { font-size: 1.1rem; }

@media (max-width: 781px) {
	.ib-sticky { position: static; }
	.ib-facts { margin-top: -28px !important; }
}

/* ---------- FAQ (details) ---------- */
.ib-faq .wp-block-details {
	background: #fff;
	border: 1px solid var(--ib-line);
	border-radius: 14px;
	padding: 0;
	margin: 0 auto 12px !important;
	transition: box-shadow .2s ease, border-color .2s ease;
}
.ib-faq .wp-block-details[open] { box-shadow: var(--ib-shadow); border-color: transparent; }
.ib-faq .wp-block-details summary {
	list-style: none;
	cursor: pointer;
	padding: 18px 56px 18px 22px;
	font-weight: 700;
	color: var(--ib-ocean);
	position: relative;
	line-height: 1.4;
}
.ib-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.ib-faq .wp-block-details summary::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background: var(--ib-lagoon-dark);
	-webkit-mask: var(--ib-i-plus) center / contain no-repeat;
	mask: var(--ib-i-plus) center / contain no-repeat;
	transition: transform .2s ease;
}
.ib-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.ib-faq .wp-block-details > :not(summary) { padding: 0 22px; color: var(--ib-muted); }
.ib-faq .wp-block-details > :not(summary):last-child { padding-bottom: 20px; margin-bottom: 0; }

/* ---------- CTA band ---------- */
.ib-cta {
	background: linear-gradient(135deg, var(--ib-ocean) 0%, #0B6168 100%);
	color: rgba(255, 255, 255, .86);
	border-radius: clamp(18px, 3vw, 28px);
	padding: clamp(32px, 6vw, 64px) clamp(22px, 5vw, 64px) !important;
	position: relative;
	overflow: hidden;
}
.ib-cta::after {
	content: "";
	position: absolute;
	right: -80px;
	top: -80px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(242, 104, 60, .55), rgba(242, 104, 60, 0) 70%);
	pointer-events: none;
}
.ib-cta h2, .ib-cta h3 { color: #fff; }
.ib-cta .ib-lead, .ib-cta p { color: rgba(255, 255, 255, .82); }
.ib-cta > * { position: relative; z-index: 1; }

/* ---------- Booking form ---------- */
.ib-form-card {
	background: #fff;
	border-radius: var(--ib-radius);
	box-shadow: var(--ib-shadow-lg);
	padding: clamp(20px, 3vw, 28px);
	border-top: 5px solid var(--ib-coral);
	scroll-margin-top: calc(var(--ib-header-h) + 20px);
}
.ib-form-card__title { font-size: 1.35rem; font-weight: 800; color: var(--ib-ocean); margin: 0 0 4px; letter-spacing: -0.01em; }
.ib-form-card__sub { font-size: .875rem; color: var(--ib-muted); margin: 0 0 18px; line-height: 1.5; }
.ib-form { display: grid; gap: 12px; margin: 0; }
.ib-row { display: grid; grid-template-columns: 1fr 76px 76px; gap: 10px; }
.ib-field { display: grid; gap: 5px; margin: 0; min-width: 0; }
.ib-form, .ib-row > * { min-width: 0; }
.ib-field label { font-size: .8rem; font-weight: 700; color: var(--ib-ocean); letter-spacing: .01em; }
.ib-field label span { color: var(--ib-coral-dark); }
.ib-form input[type="text"],
.ib-form input[type="tel"],
.ib-form input[type="email"],
.ib-form input[type="date"],
.ib-form input[type="number"],
.ib-form select,
.ib-form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1.5px solid var(--ib-line);
	border-radius: 10px;
	background: var(--ib-paper);
	padding: 11px 12px;
	font-size: 16px;
	line-height: 1.3;
	color: var(--ib-ink);
	min-height: 46px;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
	-webkit-appearance: none;
	appearance: none;
}
.ib-form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B3B47' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 16px;
	padding-right: 36px;
}
.ib-form input:focus, .ib-form select:focus, .ib-form textarea:focus {
	outline: none;
	border-color: var(--ib-lagoon);
	background-color: #fff;
	box-shadow: 0 0 0 4px rgba(18, 165, 169, .15);
}
.ib-form .is-invalid { border-color: var(--ib-coral-dark) !important; background: #FFF6F3 !important; }
.ib-more summary { cursor: pointer; font-size: .85rem; font-weight: 700; color: var(--ib-lagoon-dark); padding: 2px 0; }
.ib-more[open] summary { margin-bottom: 10px; }
.ib-more .ib-field + .ib-field { margin-top: 10px; }
.ib-form__submit {
	width: 100%;
	border: 0;
	border-radius: 999px;
	padding: 15px 20px;
	background: var(--ib-coral-dark);
	color: #fff;
	font-weight: 800;
	font-size: 1.05rem;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.ib-form__submit::before {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--ib-i-wa) center / contain no-repeat;
	mask: var(--ib-i-wa) center / contain no-repeat;
}
.ib-form__submit:hover, .ib-form__submit:focus { background: #B93D19; color: #fff; transform: translateY(-1px); box-shadow: 0 12px 24px -12px rgba(210, 74, 34, .8); }
.ib-form__submit[disabled] { opacity: .7; cursor: wait; transform: none; }
.ib-form__note { font-size: .8rem; color: var(--ib-muted); text-align: center; margin: 0; }
.ib-form__error { margin: 0; padding: 10px 12px; border-radius: 10px; background: #FDE7DF; color: #8A2A0E; font-size: .875rem; font-weight: 600; }
.ib-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 380px) { .ib-row { grid-template-columns: 1fr 1fr; } .ib-row .ib-field:first-child { grid-column: 1 / -1; } }

/* ---------- Footer ---------- */
.ib-footer { background: var(--ib-ocean); color: rgba(255, 255, 255, .78); font-size: .95rem; }
.ib-footer a { color: #fff; text-decoration: none; }
.ib-footer a:hover { color: #7FE0E2; text-decoration: underline; }
.ib-footer h2, .ib-footer h3, .ib-footer h4 { color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 1rem; }
.ib-footer ul { list-style: none; padding: 0; margin: 0; }
.ib-footer li { margin: 0 0 .55em; }
.ib-footer .ib-footer__logo img { height: 34px; width: auto; }
.ib-footer .wp-block-columns { margin-bottom: 0; }
.site-footer .site-info,
.site-info { background: #082F39; color: rgba(255, 255, 255, .6); font-size: .85rem; }
.site-info a { color: rgba(255, 255, 255, .8); }
.site-info .inside-site-info { padding-top: 18px; padding-bottom: 18px; }
body:not(.itsbali-has-mobilebar) .site-info { padding-bottom: 0; }

/* ---------- Floating WhatsApp + mobile bar ---------- */
.ib-float-wa {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 90;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--ib-wa);
	color: #fff;
	display: grid;
	place-items: center;
	box-shadow: 0 12px 28px -8px rgba(15, 138, 76, .65);
	transition: transform .2s ease;
}
.ib-float-wa:hover, .ib-float-wa:focus { transform: scale(1.06); color: #fff; }
.ib-float-wa .ib-wa-icon { width: 30px; height: 30px; }
.ib-float-wa::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(15, 138, 76, .5);
	animation: ib-pulse 2.6s infinite;
}
@keyframes ib-pulse { 0% { box-shadow: 0 0 0 0 rgba(15, 138, 76, .45); } 70% { box-shadow: 0 0 0 16px rgba(15, 138, 76, 0); } 100% { box-shadow: 0 0 0 0 rgba(15, 138, 76, 0); } }
@media (prefers-reduced-motion: reduce) { .ib-float-wa::after { animation: none; } * { scroll-behavior: auto !important; } }
.ib-mobilebar { display: none; }
@media (max-width: 768px) {
	.ib-float-wa { display: none; }
	.ib-mobilebar {
		display: grid;
		grid-template-columns: 1fr 1.35fr;
		gap: 10px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 95;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .97);
		box-shadow: 0 -8px 24px -12px rgba(11, 59, 71, .35);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		transform: translateY(110%);
		transition: transform .25s ease;
	}
	.ib-mobilebar.is-visible { transform: none; }
	.ib-mobilebar a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		border-radius: 999px;
		padding: 13px 10px;
		font-weight: 800;
		font-size: 15px;
		text-decoration: none;
		line-height: 1;
	}
	.ib-mobilebar__wa { background: var(--ib-wa); color: #fff !important; }
	.ib-mobilebar__book { background: var(--ib-coral-dark); color: #fff !important; }
	body { padding-bottom: 72px; }
}

html { scroll-behavior: smooth; }
.ib-autowa { display: none; }
.ib-autowa.is-on { display: block; }
.editor-styles-wrapper .ib-autowa { display: block; opacity: .6; }

/* ---------- Editor tweaks (scoped automatically to the editor canvas) ---------- */
.editor-styles-wrapper .ib-hp { display: none; }
.editor-styles-wrapper .ib-form-card { pointer-events: none; }

/* ==========================================================================
   v1.1 — Split header, new home sections, compare matrix, CTA band, footer
   ========================================================================== */

/* ---------- Top bar ---------- */
.ib-topbar { background: var(--ib-ocean); color: rgba(255, 255, 255, .82); font-size: 13px; line-height: 1.2; }
.ib-topbar__inner { max-width: 1320px; margin: 0 auto; padding: 9px var(--ib-gutter); display: flex; justify-content: center; gap: 28px; flex-wrap: wrap; }
.ib-topbar__item { display: inline-flex; align-items: center; gap: 7px; color: inherit; text-decoration: none; }
a.ib-topbar__item:hover { color: #fff; }
.ib-topbar__item::before { content: ""; width: 14px; height: 14px; background: #7FE0E2; -webkit-mask: var(--ib-i-pin) center / contain no-repeat; mask: var(--ib-i-pin) center / contain no-repeat; }
.ib-topbar__item--clock::before { -webkit-mask-image: var(--ib-i-clock); mask-image: var(--ib-i-clock); }
.ib-topbar__item--wa::before { -webkit-mask-image: var(--ib-i-wa); mask-image: var(--ib-i-wa); }

/* ---------- Header ---------- */
.ib-header.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, .97);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid rgba(11, 59, 71, .08);
	transition: box-shadow .2s ease;
}
.admin-bar .ib-header.site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ib-header.site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ib-header.site-header { top: 0; } }
.ib-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(11, 59, 71, .45); }
.ib-header__inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 14px var(--ib-gutter);
	display: flex;
	align-items: center;
	gap: 20px;
	transition: padding .2s ease;
}
.ib-header.is-scrolled .ib-header__inner { padding-top: 9px; padding-bottom: 9px; }
.ib-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-decoration: none; line-height: 1; flex: none; }
.ib-brand__logo { height: 38px; width: auto; display: block; transition: height .2s ease; }
.ib-header.is-scrolled .ib-brand__logo { height: 32px; }
.ib-brand__tag {
	font-family: var(--ib-head);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--ib-lagoon-dark);
	white-space: nowrap;
	padding-left: 2px;
}
.ib-nav { margin-left: auto; }
.ib-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.ib-menu > li { position: relative; margin: 0; }
.ib-menu a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	border-radius: 999px;
	color: var(--ib-ink);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.ib-menu > li > a:hover,
.ib-menu > li:focus-within > a,
.ib-menu > li.current-menu-item > a,
.ib-menu > li.current-menu-ancestor > a,
.ib-menu > li.current_page_parent > a { background: var(--ib-mist); color: var(--ib-lagoon-dark); }
.ib-menu > .menu-item-has-children > a::after {
	content: "";
	width: 10px;
	height: 10px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%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' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ib-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 8px;
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 250px;
	background: #fff;
	border-radius: 14px;
	box-shadow: var(--ib-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
	z-index: 10;
}
.ib-menu .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.ib-menu > li:hover > .sub-menu,
.ib-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.ib-menu .sub-menu a { border-radius: 9px; padding: 10px 12px; font-size: 14.5px; }
.ib-menu .sub-menu a:hover { background: var(--ib-mist); color: var(--ib-lagoon-dark); }
.ib-header-cta { margin-left: 8px; padding: 11px 20px; gap: 9px; font-family: var(--ib-font); font-weight: 600; flex: none; }
.ib-header-cta .ib-wa-icon { width: 18px; height: 18px; }
.ib-burger { display: none; }
.ib-drawer[hidden] { display: none !important; }

@media (max-width: 1180px) {
	.ib-menu a { padding: 9px 10px; font-size: 14.5px; }
	.ib-header__inner { gap: 10px; }
}
@media (max-width: 1024px) {
	.ib-topbar__item--clock { display: none; }
	.ib-header__inner { padding-top: 10px; padding-bottom: 10px; }
	.ib-nav { display: none; }
	.ib-brand__logo { height: 32px; }
	.ib-brand__tag { font-size: 9.5px; letter-spacing: .22em; }
	.ib-header-cta { margin-left: auto; width: 44px; height: 44px; padding: 0; justify-content: center; }
	.ib-header-cta__text { display: none; }
	.ib-burger {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 44px;
		height: 44px;
		padding: 0 11px;
		border: 0;
		border-radius: 50%;
		background: var(--ib-mist);
		cursor: pointer;
		flex: none;
	}
	.ib-burger span:not(.screen-reader-text) { display: block; height: 2px; border-radius: 2px; background: var(--ib-ocean); transition: transform .2s ease, opacity .2s ease; }
	.ib-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.ib-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.ib-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
	.ib-drawer { border-top: 1px solid var(--ib-line); background: #fff; padding: 10px var(--ib-gutter) 22px; max-height: calc(100vh - 120px); overflow-y: auto; }
	.ib-drawer .ib-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.ib-drawer .ib-menu > li > a { font-size: 17px; padding: 13px 4px; border-radius: 0; border-bottom: 1px solid var(--ib-line); background: transparent !important; }
	.ib-drawer .ib-menu > .menu-item-has-children > a::after { display: none; }
	.ib-drawer .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; padding: 4px 0 8px 12px; min-width: 0; }
	.ib-drawer .sub-menu a { color: var(--ib-muted); padding: 8px 4px; }
	.ib-drawer__wa { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; padding: 14px; border-radius: 999px; background: var(--ib-wa); color: #fff !important; font-weight: 700; text-decoration: none; }
	.ib-drawer__addr { margin: 14px 0 0; text-align: center; color: var(--ib-muted); font-size: 13.5px; }
}
@media (max-width: 480px) { .ib-topbar__item--pin { display: none; } }

/* Legacy (v1.0 pages): centre the trust strip and make old CTA boxes full width */
.ib-trust .ib-grid { max-width: 1100px; margin-left: auto !important; margin-right: auto !important; }
.ib-trust .ib-feature { justify-content: center; }
.ib-section--tight:has(> .ib-cta) { padding: 0 !important; max-width: none !important; }
.ib-section--tight > .ib-cta { max-width: none !important; width: 100%; border-radius: 0; padding-left: max(var(--ib-gutter), calc((100% - 1200px) / 2)) !important; padding-right: max(var(--ib-gutter), calc((100% - 1200px) / 2)) !important; }

/* ---------- Buttons (refined) ---------- */
.wp-block-button__link { font-weight: 600; letter-spacing: .005em; padding: .95em 1.7em; box-shadow: 0 6px 16px -10px rgba(11, 59, 71, .5); }
.wp-block-button.is-style-whatsapp .wp-block-button__link { gap: 10px; }
.wp-block-button.is-style-light .wp-block-button__link { box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .4); }
.wp-block-button.is-style-outline .wp-block-button__link { box-shadow: none; }
.wp-block-buttons { gap: 12px; }

/* ---------- Home hero ---------- */
.ib-hero--home.wp-block-cover { min-height: min(92vh, 820px); align-items: flex-end; padding-bottom: clamp(96px, 12vw, 150px); }
.ib-hero--home h1 { max-width: 16ch; font-size: clamp(2.5rem, 5.4vw, 4.4rem); }
.ib-hero-cols { gap: clamp(24px, 4vw, 64px) !important; margin-bottom: 0; }
.ib-hero-card {
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .25);
	-webkit-backdrop-filter: blur(14px) saturate(1.3);
	backdrop-filter: blur(14px) saturate(1.3);
	border-radius: 22px;
	padding: 22px !important;
	color: #fff;
	max-width: 420px;
	margin-left: auto !important;
}
.ib-hero-card__title { font-family: var(--ib-head); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .78rem; color: #FFC7B2; margin: 0 0 10px !important; }
ul.ib-hero-card__list { list-style: none; padding: 0; margin: 0; }
.ib-hero-card__list li { margin: 0; }
.ib-hero-card__list a {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	column-gap: 12px;
	padding: 12px 12px;
	border-radius: 12px;
	color: #fff;
	text-decoration: none;
	transition: background-color .15s ease;
}
.ib-hero-card__list a:hover { background: rgba(255, 255, 255, .14); color: #fff; }
.ib-hero-card__list strong { font-family: var(--ib-head); font-size: 1.05rem; font-weight: 600; }
.ib-hero-card__list em { grid-row: 2; font-style: normal; font-size: .82rem; color: rgba(255, 255, 255, .72); }
.ib-hero-card__list span { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-weight: 700; font-size: .9rem; background: rgba(255, 255, 255, .92); color: var(--ib-ocean); padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.ib-hero-card__list li + li a { border-top: 1px solid rgba(255, 255, 255, .14); border-radius: 0 0 12px 12px; }
p.ib-hero-card__more { margin: 10px 0 0 !important; text-align: right; font-weight: 600; font-size: .9rem; }
.ib-hero-card__more a { color: #fff; }
@media (max-width: 781px) { .ib-hero-card { max-width: none; margin-left: 0 !important; } .ib-hero--home.wp-block-cover { padding-bottom: 80px; } }

/* ---------- Stats strip (overlaps hero) ---------- */
.ib-stats-wrap { position: relative; z-index: 3; }
.ib-stats {
	background: #fff;
	border-radius: 22px;
	box-shadow: var(--ib-shadow-lg);
	padding: clamp(18px, 2.5vw, 28px) clamp(18px, 3vw, 36px) !important;
	margin-top: calc(-1 * clamp(48px, 6vw, 72px)) !important;
}
.ib-stat { margin: 0 !important; padding-left: 18px; border-left: 3px solid var(--ib-coral); }
.ib-stat p { margin: 0; }
.ib-stat__value { font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 700; color: var(--ib-ocean); line-height: 1.1; letter-spacing: -0.02em; }
.ib-stat__label { color: var(--ib-muted); font-size: .9rem; line-height: 1.4; margin-top: 4px !important; }

/* ---------- Service tiles ---------- */
.ib-tile.wp-block-cover { border-radius: 22px; overflow: hidden; padding: 26px; align-items: flex-end; transition: transform .25s ease, box-shadow .25s ease; }
.ib-tile.wp-block-cover:hover { transform: translateY(-4px); box-shadow: var(--ib-shadow-lg); }
.ib-tile .wp-block-cover__image-background { transition: transform .6s ease; }
.ib-tile:hover .wp-block-cover__image-background { transform: scale(1.06); }
.ib-tile .wp-block-cover__inner-container { color: #fff; }
.ib-tile h3 { color: #fff; font-size: 1.55rem; margin: 0 0 .35em; }
.ib-tile p { color: rgba(255, 255, 255, .85); font-size: .95rem; margin: 0 0 .9em; }
p.ib-tile__num { font-family: var(--ib-head); font-weight: 700; font-size: .85rem; letter-spacing: .14em; color: #FFC7B2; margin-bottom: .6em; }
.ib-tile__link { margin: 0 !important; }
.ib-tile__link a { color: #fff; font-weight: 700; text-decoration: none; }
.ib-tile__link a::after { content: ""; position: absolute; inset: 0; z-index: 2; }

/* ---------- Bento tour grid ---------- */
@media (min-width: 900px) {
	.ib-bento > .ib-card--feature { grid-column: span 2; flex-direction: row; }
	.ib-bento > .ib-card--feature > .wp-block-image { flex: 0 0 56%; }
	.ib-bento > .ib-card--feature > .wp-block-image { position: relative; min-height: 360px; }
	.ib-bento > .ib-card--feature > .wp-block-image img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
	.ib-bento > .ib-card--feature .ib-card__body { padding: 30px; justify-content: center; }
	.ib-bento > .ib-card--feature h3 { font-size: 1.75rem; }
}
.ib-card__body h3 { font-size: 1.3rem; }
.ib-card__img { overflow: hidden; }
.ib-card__img img { transition: transform .5s ease; }
.is-style-card:hover .ib-card__img img { transform: scale(1.05); }

/* ---------- Tour finder ---------- */
.ib-pick {
	position: relative;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 20px;
	padding: 26px !important;
	transition: transform .2s ease, background-color .2s ease;
}
.ib-section--mist .ib-pick { background: #fff; border-color: transparent; box-shadow: var(--ib-shadow); }
.ib-pick:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .1); }
.ib-section--mist .ib-pick:hover { background: #fff; box-shadow: var(--ib-shadow-lg); }
.ib-pick--hot { border-color: var(--ib-coral) !important; }
.ib-pick--hot::before { content: "Most booked"; position: absolute; top: -12px; right: 20px; background: var(--ib-coral); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; }
p.ib-pick__q { font-weight: 600; color: #7FE0E2; margin: 0 0 6px; }
.ib-section--mist p.ib-pick__q { color: var(--ib-coral-dark); }
.ib-pick h3 { margin: 0 0 .4em; }
.ib-pick p { margin: 0 0 1em; }
.ib-section--ocean .ib-pick p { color: rgba(255, 255, 255, .78); }
.ib-section--mist .ib-pick p { color: var(--ib-muted); }
.ib-pick__link { margin: 0 !important; }
.ib-pick__link a { font-weight: 700; text-decoration: none; color: #fff; }
.ib-section--mist .ib-pick__link a { color: var(--ib-lagoon-dark); }
.ib-pick__link a::after { content: ""; position: absolute; inset: 0; }
.ib-picker__more { margin-top: 2.25rem !important; }
.ib-section--mist .ib-picker__more .is-style-light .wp-block-button__link { background: var(--ib-ocean); color: #fff; }

/* ---------- Collage ---------- */
.ib-collage { position: relative; padding: 0 12% 14% 0 !important; }
.ib-collage > figure { margin: 0 !important; }
.ib-collage__a img { width: 100%; aspect-ratio: 4 / 3.4; object-fit: cover; border-radius: 24px; display: block; }
.ib-collage__b { position: absolute !important; right: 0; bottom: 0; width: 46%; }
.ib-collage__b img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 20px; border: 6px solid var(--ib-paper); display: block; box-shadow: var(--ib-shadow-lg); }
p.ib-collage__badge {
	position: absolute;
	left: 18px;
	bottom: 22%;
	margin: 0;
	background: var(--ib-coral);
	color: #fff;
	padding: 12px 16px;
	border-radius: 14px;
	font-size: .82rem;
	line-height: 1.3;
	box-shadow: var(--ib-shadow-lg);
}
.ib-collage__badge strong { font-family: var(--ib-head); font-size: 1.05rem; font-weight: 600; }

/* ---------- Steps with connecting line ---------- */
@media (min-width: 900px) {
	.ib-steps--line { position: relative; }
	.ib-steps--line .ib-step { text-align: center; }
	.ib-steps--line .ib-step::before { margin-left: auto; margin-right: auto; position: relative; z-index: 1; }
	.ib-steps--line::before { content: ""; position: absolute; top: 28px; left: 16%; right: 16%; border-top: 2px dashed rgba(242, 104, 60, .45); }
}

/* ---------- Fast boat route cards (horizontal) ---------- */
@media (min-width: 700px) {
	.ib-routes .ib-card--mini { flex-direction: row; }
	.ib-routes .ib-card--mini > .wp-block-image { flex: 0 0 42%; }
	.ib-routes .ib-card--mini > .wp-block-image { position: relative; min-height: 220px; }
	.ib-routes .ib-card--mini > .wp-block-image img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
	.ib-routes .ib-card--mini .ib-card__body { justify-content: center; padding: 26px; }
}

/* ---------- FAQ split ---------- */
.ib-faq-split .ib-faq { max-width: none; }
.ib-faq-split .ib-faq .wp-block-details { max-width: none !important; }

/* ---------- Compare matrix ---------- */
.ib-matrix table { min-width: 760px; }
.ib-matrix th, .ib-matrix td { text-align: center !important; vertical-align: middle !important; }
.ib-matrix th:first-child, .ib-matrix td:first-child { text-align: left !important; position: sticky; left: 0; background: #fff; z-index: 1; min-width: 180px; }
.ib-matrix tbody tr:nth-child(even) td:first-child { background: var(--ib-paper); }
.ib-matrix thead th:first-child { background: var(--ib-ocean); }
.ib-matrix thead th { font-family: var(--ib-head); text-transform: none !important; letter-spacing: 0 !important; font-size: 1rem !important; font-weight: 600 !important; }
.ib-matrix td { color: #A9B4B6; font-weight: 600; }
.ib-matrix td strong { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ib-mist); color: var(--ib-lagoon-dark); font-size: .95rem; }
.ib-matrix tbody tr:nth-last-child(3) td, .ib-matrix tbody tr:nth-last-child(2) td { color: var(--ib-ink); }
.ib-matrix tbody tr:nth-last-child(2) td { font-family: var(--ib-head); font-weight: 700; color: var(--ib-ocean); background: var(--ib-mist) !important; }
.ib-matrix tbody tr:last-child td a { display: inline-block; padding: 8px 16px; border-radius: 999px; background: var(--ib-coral-dark); color: #fff; text-decoration: none; font-weight: 700; font-size: .9rem; }
.ib-matrix tbody tr:last-child td a:hover { background: #B93D19; }

/* ---------- Full-width CTA band ---------- */
.ib-cta-band.wp-block-cover { min-height: 460px; padding: clamp(64px, 8vw, 110px) var(--ib-gutter); }
.ib-cta-band .wp-block-cover__inner-container { color: #fff; }
.ib-cta-band__inner > * { max-width: 640px; }
.ib-cta-band h2 { color: #fff; font-size: clamp(2.1rem, 4.4vw, 3.4rem); margin-bottom: .3em; }
.ib-cta-band .ib-lead { color: rgba(255, 255, 255, .86); }
.ib-cta-band .wp-block-buttons { margin-top: 1.6rem; }
p.ib-cta-band__meta { margin-top: 1.4rem; font-size: .9rem; color: rgba(255, 255, 255, .7); }

/* ---------- Footer ---------- */
.ib-footer-cta { background: var(--ib-coral); color: #fff; padding-top: clamp(28px, 4vw, 40px); padding-bottom: clamp(28px, 4vw, 40px); }
.ib-footer-cta h2 { color: #fff; font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0 0 .25em; text-transform: none; letter-spacing: -0.01em; }
.ib-footer-cta p { color: rgba(255, 255, 255, .92); margin: 0; }
.ib-footer-cta__inner { gap: 20px !important; }
.ib-footer-cta .wp-block-buttons { margin: 0; }
.ib-footer-cta .is-style-whatsapp .wp-block-button__link { background: var(--ib-ocean); }
.ib-footer-inner { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(36px, 5vw, 56px); }
.ib-footer h3 { color: #fff; font-family: var(--ib-head); font-size: .82rem; text-transform: uppercase; letter-spacing: .16em; margin-bottom: 1.1rem; }
.ib-footer li { margin-bottom: .7em; }
p.ib-footer__tag { font-family: var(--ib-head); font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: #7FE0E2; margin: 10px 0 16px; }
.ib-footer__contact li { line-height: 1.55; }
.ib-footer__contact strong { color: #fff; }
.site-info .copyright-bar a { color: rgba(255, 255, 255, .85); }

/* ---------- Misc ---------- */
.ib-box--dark { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .15); color: rgba(255, 255, 255, .85); }
.ib-box--dark a { color: #7FE0E2; }
.ib-box--dark strong { color: #fff; }
.ib-section--ocean .is-style-light .wp-block-button__link { background: #fff; color: var(--ib-ocean); }

/* Cover content aligned with the 1200px page container */
.ib-hero .wp-block-cover__inner-container,
.ib-cta-band .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ==========================================================================
   v1.2 — Quick booking bar, blog, latest guides
   ========================================================================== */

/* Home hero (single column + booking bar) */
.ib-hero--home .ib-hero__inner > * { max-width: 760px; }
.ib-hero--home .ib-hero__inner > .ib-quick { max-width: 980px; }
.ib-hero--home h1 { max-width: 15ch; }

/* Quick booking bar */
.ib-quick {
	display: grid;
	grid-template-columns: 1.6fr 1.1fr .7fr auto;
	gap: 6px;
	align-items: stretch;
	background: #fff;
	border-radius: 20px;
	padding: 8px;
	margin-top: 2rem !important;
	box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .45);
}
.ib-quick__field {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	padding: 8px 16px;
	border-radius: 14px;
	cursor: pointer;
	transition: background-color .15s ease;
	min-width: 0;
}
.ib-quick__field + .ib-quick__field { border-left: 1px solid var(--ib-line); border-radius: 0; }
.ib-quick__field:hover { background: var(--ib-paper); }
.ib-quick__field span { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ib-muted); }
.ib-quick select, .ib-quick input {
	border: 0;
	background: transparent;
	padding: 2px 0;
	font: 600 1rem/1.3 var(--ib-font);
	color: var(--ib-ocean);
	width: 100%;
	min-height: 28px;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	cursor: pointer;
}
.ib-quick__btn {
	border: 0;
	border-radius: 14px;
	background: var(--ib-coral-dark);
	color: #fff;
	font: 700 1rem/1 var(--ib-font);
	padding: 0 28px;
	cursor: pointer;
	white-space: nowrap;
	min-height: 58px;
	transition: background-color .15s ease, transform .15s ease;
}
.ib-quick__btn:hover { background: #B93D19; transform: translateY(-1px); }
@media (max-width: 781px) {
	.ib-quick { grid-template-columns: 1fr 1fr; padding: 10px; }
	.ib-quick__field--tour { grid-column: 1 / -1; }
	.ib-quick__field + .ib-quick__field { border-left: 0; }
	.ib-quick__field { background: var(--ib-paper); border-radius: 12px !important; }
	.ib-quick__btn { grid-column: 1 / -1; min-height: 52px; }
}

/* Section header with button on the right */
.ib-head-row { margin-bottom: clamp(28px, 4vw, 44px) !important; gap: 20px !important; }
.ib-head-row > .ib-head { margin-bottom: 0 !important; }

/* Latest posts (home) */
.ib-latest.wp-block-latest-posts { padding: 0; margin: 0; gap: 26px; display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); }
.ib-latest.wp-block-latest-posts li { width: auto !important; }
.ib-latest.wp-block-latest-posts li {
	background: #fff;
	border-radius: 18px;
	box-shadow: var(--ib-shadow);
	overflow: hidden;
	margin: 0 !important;
	padding-bottom: 22px;
	display: flex;
	flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
	position: relative;
}
.ib-latest li:hover { transform: translateY(-3px); box-shadow: var(--ib-shadow-lg); }
.ib-latest .wp-block-latest-posts__featured-image { margin: 0 0 18px; }
.ib-latest .wp-block-latest-posts__featured-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.ib-latest .wp-block-latest-posts__post-title { display: block; font-family: var(--ib-head); font-weight: 600; font-size: 1.2rem; line-height: 1.3; color: var(--ib-ocean); text-decoration: none; padding: 0 22px; }
.ib-latest .wp-block-latest-posts__post-title::after { content: ""; position: absolute; inset: 0; }
.ib-latest .wp-block-latest-posts__post-date { padding: 6px 22px 0; color: var(--ib-coral-dark); font-weight: 600; font-size: .8rem; order: -1; margin-bottom: 4px; }
.ib-latest .wp-block-latest-posts__featured-image { order: -2; }
.ib-latest .wp-block-latest-posts__post-excerpt { padding: 0 22px; margin: 8px 0 0; color: var(--ib-muted); font-size: .95rem; }
@media (max-width: 781px) { .ib-latest.wp-block-latest-posts li { width: 100% !important; } }

/* Blog archive */
.ib-blog .site-content { max-width: 1200px; margin: 0 auto; padding: clamp(28px, 4vw, 48px) var(--ib-gutter) !important; }
.ib-blog .content-area { width: 100%; }
.ib-blog .site-main {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
	gap: 26px;
	margin: 0 !important;
}
.ib-blog .site-main > .ib-blog-head,
.ib-blog .site-main > .paging-navigation,
.ib-blog .site-main > nav,
.ib-blog .site-main > .page-header { grid-column: 1 / -1; }
.ib-blog-head { padding: clamp(10px, 3vw, 30px) 0 clamp(6px, 2vw, 16px); }
.ib-blog-head h1 { margin: 0 0 .3em; }
.ib-blog-head__eyebrow { font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ib-coral-dark); margin: 0 0 .6rem; }
.ib-blog-head__intro { color: var(--ib-muted); font-size: 1.1rem; max-width: 640px; margin: 0; }
.ib-blog article { margin: 0 !important; }
.ib-blog article .inside-article {
	background: #fff;
	border-radius: 18px;
	box-shadow: var(--ib-shadow);
	overflow: hidden;
	padding: 0 0 22px !important;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
}
.ib-blog article .inside-article:hover { transform: translateY(-3px); box-shadow: var(--ib-shadow-lg); }
.ib-blog .post-image { margin: 0 0 18px !important; order: -1; }
.ib-blog .post-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.ib-blog .entry-header, .ib-blog .entry-summary, .ib-blog footer.entry-meta { padding: 0 22px; }
.ib-blog .entry-title { font-size: 1.25rem; line-height: 1.3; margin: 0 0 .4em; }
.ib-blog .entry-title a { color: var(--ib-ocean); text-decoration: none; }
.ib-blog .entry-meta { font-size: .8rem; color: var(--ib-muted); }
.ib-blog .entry-summary { color: var(--ib-muted); font-size: .95rem; margin-top: 8px; }
.ib-blog .entry-summary p { margin: 0; }
.ib-blog .read-more-container, .ib-blog .read-more { font-weight: 700; }

/* Single post */
.ib-post .site-content { padding: clamp(28px, 4vw, 56px) var(--ib-gutter) !important; }
.ib-post .content-area { width: 100%; }
.ib-post .inside-article { max-width: 780px; margin: 0 auto; padding: 0 !important; background: transparent; }
.ib-post .featured-image, .ib-post .page-header-image-single { max-width: 980px; margin: 0 auto 28px !important; }
.ib-post .featured-image img, .ib-post .page-header-image-single img { border-radius: 22px; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.ib-post .entry-title { font-size: clamp(2rem, 4.5vw, 3.1rem); margin-bottom: .3em; }
.ib-post .entry-content { font-size: 1.075rem; line-height: 1.8; }
.ib-post .entry-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-top: 1.8em; }
.ib-post .entry-content h3 { margin-top: 1.4em; }
.ib-post .entry-content ul { padding-left: 1.2em; }
.ib-post .entry-content .wp-block-table { margin: 1.5em 0; }
.ib-breadcrumbs { font-size: .85rem; color: var(--ib-muted); margin-bottom: 14px; }
.ib-breadcrumbs a { color: var(--ib-lagoon-dark); text-decoration: none; }
.ib-breadcrumbs .sep { margin: 0 6px; opacity: .5; }
.ib-post-cta { margin: 2em 0 !important; background: var(--ib-mist) !important; border-color: transparent !important; }
.ib-post-cta h3 { margin-top: 0 !important; }
.ib-post-end {
	margin: 48px 0 0;
	padding: clamp(24px, 4vw, 40px);
	border-radius: 22px;
	background: linear-gradient(135deg, var(--ib-ocean) 0%, #0B6168 100%);
	color: rgba(255, 255, 255, .86);
}
.ib-post-end__eyebrow { font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #FFB79C; margin: 0 0 .4rem; }
.ib-post-end__title { font-family: var(--ib-head); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; color: #fff; margin: 0 0 .4rem; line-height: 1.2; }
.ib-post-end__btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.2rem 0 0; }
.ib-btn { display: inline-flex; align-items: center; gap: 9px; padding: 13px 24px; border-radius: 999px; background: var(--ib-coral-dark); color: #fff !important; font-weight: 700; text-decoration: none; }
.ib-btn--wa { background: var(--ib-wa); }
.ib-btn:hover { filter: brightness(1.08); }
