/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* ── Global layout width override ───────────────────────────────────────────── */

.fusion-row, .fusion-fullwidth {
	width: 100% !important;
	max-width: 100% !important;
}

/* ── Sticky header fix ───────────────────────────────────────────────────────── */
/* Avada core (header-legacy.css) sets position:fixed + width:100% on the sticky
   header but never sets left/right, so the browser falls back to the element's
   static-position offset instead of pinning it to the viewport edge — shifting
   the whole nav to the right once sticky activates. kostas */
.fusion-is-sticky .fusion-header-v1 .fusion-header {
	left: 0;
	right: 0;
}

	.width-100 .fusion-fullwidth, .width-100 .nonhundred-percent-fullwidth {
    	margin-left: 0px !important;
    	margin-right:0px !important;
	}

	html:not(.avada-has-site-width-percent) #main.width-100 {
		padding-left: 0px !important;
		padding-right: 0px !important;
		padding-top: 0px !important;
	}
/* ── Mobile: remove white gap between stacked full-width hero containers ───── */
/* Avada sets each Fusion Builder container's responsive padding/margin as an
   inline style, so a plain override needs !important to win. This collapses
   the gap between two adjacent full-width containers (e.g. the aerial photo
   section immediately followed by the hero slider section) on mobile. kostas */
@media only screen and (max-width: 800px) {
	.fusion-builder-row-container.fusion-flex-container.fusion-full-width-container + .fusion-builder-row-container.fusion-flex-container.fusion-full-width-container {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.fusion-builder-row-container.fusion-full-width-container {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}


}

/* ── Mobile header: logo + menu toggle on one row, Book Now centered below ── */
/* The header template (wp-admin → Fusion Builder header row) has 3 columns:
   fusion-builder-column-0 = logo, -1 = main menu / mobile toggle,
   -2 = "Book Now" button. On mobile each column defaults to 100% width and
   stacks on its own line (Avada's --awb-width-small / --awb-order-small
   vars, set inline per column). We keep the logo + menu-toggle columns side
   by side on one row and push the Book Now column onto its own centered
   line below. Matches Avada's own small-breakpoint (640px). kostas */
@media only screen and (max-width: 640px) {
	.fusion-tb-header .fusion-builder-row {
		flex-wrap: wrap !important;
		align-items: center !important;
	}

	.fusion-tb-header .fusion-builder-column-0 {
		--awb-width-small: 40% !important;
		width: 40% !important;
		flex-basis: 40% !important;
		max-width: 40% !important;
		--awb-order-small: 0 !important;
		order: 0 !important;
		margin-bottom: 0 !important;
	}

	.fusion-tb-header .fusion-builder-column-1 {
		--awb-width-small: 60% !important;
		width: 60% !important;
		flex-basis: 60% !important;
		max-width: 60% !important;
		--awb-order-small: 1 !important;
		order: 1 !important;
		margin-bottom: 0 !important;
	}

	.fusion-tb-header .fusion-builder-column-1 .awb-menu {
		justify-content: flex-end !important;
	}

	/* Book Now: pulled out of the row flow entirely and floated as a small
	   round icon button, pinned top-right just under the (fixed) header —
	   sits visually over the top-right corner of whatever hero/slider
	   follows, on every page. kostas */
	.fusion-tb-header .fusion-builder-column-2 {
		position: absolute !important;
		top: 100% !important;
		right: 12px !important;
		width: auto !important;
		flex-basis: auto !important;
		max-width: none !important;
		margin: 10px 0 0 !important;
		z-index: 20;
	}

	.fusion-tb-header .fusion-builder-column-2 .fusion-column-wrapper > div {
		text-align: right !important;
	}

	.fusion-tb-header .book-now-with-no-yacht-selected {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 46px !important;
		height: 46px !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 50% !important;
		background-color: #d4004a !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
		overflow: hidden;
	}

	.fusion-tb-header .book-now-with-no-yacht-selected .fusion-button-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.fusion-tb-header .book-now-with-no-yacht-selected::before {
		content: "";
		display: block;
		width: 22px;
		height: 22px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12,2A2,2 0 0,1 14,4C14,4.74 13.6,5.39 13,5.73V7H16A2,2 0 0,1 18,9V10H22V12H21A9,9 0 0,1 13,20.95V22H11V20.95A9,9 0 0,1 3,12H2V10H6V9A2,2 0 0,1 8,7H11V5.73C10.4,5.39 10,4.74 10,4A2,2 0 0,1 12,2M4,12A8,8 0 0,0 11,19.93V12H4M13,12V19.93A8,8 0 0,0 20,12H13Z'/%3E%3C/svg%3E") no-repeat center / contain;
	}
}

/* ── Yachts Archive ──────────────────────────────────────────────────────────── */

.vaskon-yachts-archive {
	/* max-width: 1600px;
	margin: 0 auto; */
	padding: 48px 24px;
}

/* Header */
.vaskon-yachts-header {
	text-align: center;
	margin-bottom: 48px;
}

.vaskon-yachts-title {
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 16px;
}

.vaskon-yachts-description {
	font-size: 1.1rem;
	color: #555;
	max-width: 640px;
	margin: 0 auto;
	line-height: 1.7;
}

/* Filters */
.vaskon-yachts-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 16px;
	margin-bottom: 40px;
	padding: 24px;
	background: #f5f5f5;
	border-radius: 8px;
}

.vaskon-filter-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.vaskon-filter-group label {
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #333;
}

.vaskon-filter-select {
	height: 42px;
	padding: 0 36px 0 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center;
	appearance: none;
	font-size: 0.95rem;
	color: #333;
	cursor: pointer;
	min-width: 140px;
}

.vaskon-filter-select:focus {
	outline: none;
	border-color: #aaa;
}

.vaskon-filter-reset {
	height: 42px;
	padding: 0 20px;
	background: transparent;
	border: 1px solid #bbb;
	border-radius: 4px;
	font-size: 0.9rem;
	color: #555;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
	align-self: flex-end;
}

.vaskon-filter-reset:hover {
	background: #333;
	color: #fff;
	border-color: #333;
}

/* Yacht Grid */
.vaskon-yachts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

@media (max-width: 1024px) {
	.vaskon-yachts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.vaskon-yachts-grid {
		grid-template-columns: 1fr;
	}
}

/* Yacht Card — image top, content below */
.vaskon-yacht-card[hidden] {
	display: none;
}

.vaskon-yacht-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	color: #222;
	box-shadow: 0 2px 12px rgba(0,0,0,0.09);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.vaskon-yacht-card:hover {
	text-decoration: none;
	color: #222;
	box-shadow: 0 8px 32px rgba(0,0,0,0.16);
	transform: translateY(-3px);
}

/* Image section */
.vaskon-yacht-card__image {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	flex-shrink: 0;
}

.vaskon-yacht-card__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.vaskon-yacht-card:hover .vaskon-yacht-card__bg {
	transform: scale(1.04);
}

.vaskon-yacht-card__bg--placeholder {
	position: absolute;
	inset: 0;
	background: #c9d6df;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3.5rem;
	color: #8fa8b8;
}

/* Special offer pennant badge */
.vaskon-yacht-card__badge {
	position: absolute;
	top: 16px;
	left: 0;
	background: #d4004a;
	color: #fff;
	font-size: 0.64rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	padding: 7px 22px 7px 14px;
	clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);
	line-height: 1.35;
	z-index: 1;
}

/* Body content */
.vaskon-yacht-card__body {
	padding: 18px 18px 32px;
	display: flex;
	flex-direction: column;
	gap: 7px;
	flex: 1;
	position: relative;
}

/* Diagonal arrow indicator bottom-right */
.vaskon-yacht-card__body::after {
	content: '';
	position: absolute;
	bottom: 18px;
	right: 16px;
	width: 10px;
	height: 10px;
	border-right: 2px solid #ccc;
	border-top: 2px solid #ccc;
	transform: rotate(45deg);
	transition: border-color 0.2s, right 0.2s;
}

.vaskon-yacht-card:hover .vaskon-yacht-card__body::after {
	border-color: #d4004a;
	right: 14px;
}

/* Title: "Jeanneau Sun Odyssey 440" */
.vaskon-yacht-card__title {
	margin: 0 0 1px !important;
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	color: #111 !important;
	line-height: 1.3;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: break-word;
	padding-right: 24px;
	text-shadow: none !important;
}

.vaskon-yacht-card__maker {
	font-weight: 600;
}

.vaskon-yacht-card__title strong {
	font-weight: 700;
}

/* "Model 2021" */
.vaskon-yacht-card__subtitle {
	margin: 0;
	font-size: 1.15rem;
	color: #262626;
	line-height: 1.4;
}

/* "10 guests / 4 cabins / 2 wc" */
.vaskon-yacht-card__specs-line {
	margin: 0;
	font-size: 1.15rem;
	color: #262626;
	line-height: 1.4;
}

/* Amenity icons */
.vaskon-yacht-card__amenities {
	display: flex;
	gap: 6px;
	margin: 6px 0 4px;
	align-items: center;
}

.vaskon-yacht-card__amenity {
	position: relative;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #e6f0fa;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.vaskon-yacht-card__amenity[data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: calc(100% + 7px);
	left: 50%;
	transform: translateX(-50%);
	background: rgba(20, 20, 30, 0.85);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 500;
	white-space: nowrap;
	padding: 4px 9px;
	border-radius: 4px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.18s ease;
	z-index: 10;
}

.vaskon-yacht-card__amenity[data-tooltip]:hover::after {
	opacity: 1;
}

.vaskon-yacht-card__amenity svg {
	width: 22px;
	height: 22px;
	color: #1a6eb5;
}

.vaskon-yacht-card__amenity img {
	width: 26px;
	height: 26px;
	object-fit: contain;
}

/* Price */
.vaskon-yacht-card__price {
	margin: 5px 0 0;
	font-size: 1.05rem;
	color: #262626;
	line-height: 1.4;
}

.vaskon-yacht-card__price-amount {
	color: #d4004a;
	font-weight: 700;
	font-size: 1rem;
}

/* Service type */
.vaskon-yacht-card__service {
	margin: 3px 0 0;
	font-size: 1.05rem;
	color: #262626;
	line-height: 1.4;
}

/* Location */
.vaskon-yacht-card__location {
	margin: 2px 0 0;
	font-size: 1.05rem;
	color: #262626;
	line-height: 1.4;
}

/* No results message */
.vaskon-no-results,
.vaskon-no-yachts {
	text-align: center;
	padding: 48px 0;
	color: #777;
	font-size: 1rem;
	grid-column: 1 / -1;
}

.vaskon-no-results a {
	color: var(--primary_color, #0a6e9e);
	text-decoration: underline;
}

/* ── Yachts Shortcode ────────────────────────────────────────────────────────── */

.vaskon-sc-yachts {
	width: 100%;
}

/* Fusion Builder's "Code" element renders its content as a monospaced code
   block (font-family, white-space, etc. all get forced), which clobbers the
   card's normal styling whenever the shortcode is placed inside one. These
   overrides re-assert the card's intended typography regardless of the
   surrounding Fusion Builder element. kostas */
.vaskon-sc-yachts,
.vaskon-sc-yachts * {
	font-family: inherit !important;
	white-space: normal !important;
}

.vaskon-sc-yachts .vaskon-yacht-card {
	color: #222 !important;
}

.vaskon-sc-yachts .vaskon-yacht-card__title {
	color: #111 !important;
}

.vaskon-sc-yachts .vaskon-yacht-card__subtitle,
.vaskon-sc-yachts .vaskon-yacht-card__specs-line,
.vaskon-sc-yachts .vaskon-yacht-card__price,
.vaskon-sc-yachts .vaskon-yacht-card__service,
.vaskon-sc-yachts .vaskon-yacht-card__location {
	color: #262626 !important;
}

.vaskon-sc-yachts .vaskon-yacht-card__price-amount {
	color: #d4004a !important;
}

.vaskon-sc-grid--cols-1 { grid-template-columns: 1fr; }
.vaskon-sc-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.vaskon-sc-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.vaskon-sc-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1024px) {
	.vaskon-sc-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
	.vaskon-sc-grid--cols-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
	.vaskon-sc-grid--cols-1,
	.vaskon-sc-grid--cols-2,
	.vaskon-sc-grid--cols-3,
	.vaskon-sc-grid--cols-4 { grid-template-columns: 1fr; }
}

.vaskon-sc-view-all {
	text-align: center;
	margin-top: 32px;
}

.vaskon-sc-view-all__link {
	display: inline-block;
	padding: 11px 36px;
	border: none;
	color: #333;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.25s;
}

.vaskon-sc-view-all__link:hover {
	color: #111;
	text-decoration: none;
}

/* ── Single Yacht ────────────────────────────────────────────────────────────── */

/* .vaskon-yacht-single {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 24px 64px;
} */

/* Hero */
.vaskon-single-hero {
	position: relative;
	width: calc(100% + 48px);
	margin-left: -24px;
	height: 750px;
	overflow: hidden;
	margin-bottom: 0;
}

.vaskon-single-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vaskon-single-hero__placeholder {
	position: absolute;
	inset: 0;
	background: #c9d6df;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 5rem;
	color: #8fa8b8;
}

.vaskon-single-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(5, 15, 25, 0.75) 0%, rgba(5, 15, 25, 0.2) 60%, transparent 100%);
}

/* Hero slider */
.vaskon-single-hero--slider .vaskon-single-hero__slide {
	opacity: 0;
	transition: opacity 0.7s ease;
	z-index: 0;
}

.vaskon-single-hero--slider .vaskon-single-hero__slide.is-active {
	opacity: 1;
	z-index: 1;
}

.vaskon-single-hero__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(5, 15, 25, 0.4);
	border: none;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s;
}

.vaskon-single-hero__nav:hover {
	background: rgba(5, 15, 25, 0.7);
}

.vaskon-single-hero__nav--prev {
	left: 20px;
}

.vaskon-single-hero__nav--next {
	right: 20px;
}

.vaskon-single-hero__dots {
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 8px;
}

.vaskon-single-hero__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}

.vaskon-single-hero__dot.is-active {
	background: #fff;
	transform: scale(1.2);
}

@media (max-width: 600px) {
	.vaskon-single-hero__nav {
		width: 36px;
		height: 36px;
	}

	.vaskon-single-hero__nav--prev {
		left: 10px;
	}

	.vaskon-single-hero__nav--next {
		right: 10px;
	}
}

.vaskon-single-hero__content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 32px 40px;
	color: #fff;
}

.vaskon-single-hero__title {
	margin: 0 0 8px;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
	line-height: 1.2;
}

.vaskon-single-hero__location {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.85);
}

/* Yacht name & marina (below hero image) */
.vaskon-single-heading {
	margin: 24px 0 0;
}

.vaskon-single-heading__name {
	margin: 0 0 6px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	color: #111;
}

.vascon-single-heading-2{
	margin: 0 0 6px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: #111;
}

.vaskon-single-heading__marina {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 1rem;
	color: #555;
}

/* Back link */
.vaskon-single-back {
	margin: 24px 0 32px;
}

.vaskon-single-back a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.9rem;
	color: #555;
	text-decoration: none;
	transition: color 0.2s;
}

.vaskon-single-back a:hover {
	color: #111;
}

/* Body layout */
.vaskon-single-body {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 48px;
	align-items: start;
	margin-bottom: 56px;
}

@media (max-width: 900px) {
	.vaskon-single-body {
		grid-template-columns: 1fr;
	}
}

/* Section titles */
.vaskon-section-title {
	font-size: 1.2rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #111;
	margin: 0 0 24px;
	padding-bottom: 12px;
	/* border-bottom: 2px solid #e5e5e5; */
}

/* Specs list */
.vaskon-specs-list {
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px 24px;
}

@media (max-width: 700px) {
	.vaskon-specs-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 400px) {
	.vaskon-specs-list {
		grid-template-columns: 1fr;
	}
}

.vaskon-spec-row {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0 0 16px;
	border-bottom: 1px solid #f0f0f0;
}

.vaskon-spec-row__label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.15rem;
	font-weight: 600;
	color: #777;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	flex-shrink: 0;
	margin: 0;
}

.vaskon-spec-row__label svg {
	width: 14px;
	height: 14px;
	min-width: 14px;
	max-width: 14px;
	color: #888;
	flex-shrink: 0;
}

.vaskon-spec-row__value {
	font-size: 1.25rem;
	font-weight: 600;
	color: #222;
	margin: 0;
}

/* Sidebar */
.vaskon-single-sidebar {
	position: sticky;
	top: 100px;
	background: #f7f8f9;
	border-radius: 10px;
	padding: 28px;
	border: 1px solid #e8e8e8;
}

.vaskon-sidebar-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e0e0e0;
}

.vaskon-price-label {
	font-size: 1.15rem;
	color: #777;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.vaskon-price-amount {
	font-size: 1.9rem;
	font-weight: 700;
	color: #111;
	line-height: 1;
}

.vaskon-price-period {
	font-size: 1.15rem;
	color: #888;
}

.vaskon-sidebar-meta {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.vaskon-sidebar-meta li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #ebebeb;
	font-size: 1.15rem;
}

.vaskon-sidebar-meta li:last-child {
	border-bottom: none;
}

.vaskon-sidebar-meta strong {
	color: #555;
	font-weight: 600;
}

.vaskon-sidebar-meta span {
	color: #111;
}

.vaskon-sidebar-types {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}

.vaskon-type-badge {
	display: inline-block;
	padding: 4px 12px;
	background: #e8eff5;
	color: #2a5f85;
	border-radius: 20px;
	font-size: 0.8rem;
	font-weight: 600;
}

/* Description */
.vaskon-single-description {
	margin-bottom: 20px;
}

.vaskon-description-body {
	font-size: 1rem;
	line-height: 1.8;
	color: #444;
	/* max-width: 800px; */
	background: #fff;
	border-left: 4px solid #1a6eb5;
	border-radius: 0 0 6px 6px;
	padding: 20px;
	margin: 0;
}

/* Amenities */
.vaskon-single-amenities {
	margin-bottom: 56px;
}

.vaskon-amenities-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.vaskon-amenities-list--cols {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px 24px;
}

.vaskon-amenities-list li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1.15rem;
	color: #333;
}

.vaskon-amenities-list li svg {
	flex-shrink: 0;
	color: #1a6eb5;
}

@media (max-width: 767px) {
	.vaskon-amenities-list--cols {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.vaskon-amenities-list--cols {
		grid-template-columns: 1fr;
	}
}

/* Comfort / Entertainment */
.vaskon-single-comfort {
	margin-top: 32px;
}

.vaskon-amenities-list--cols-2 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px 24px;
}

@media (max-width: 480px) {
	.vaskon-amenities-list--cols-2 {
		grid-template-columns: 1fr;
	}
}

/* Quote Request Banner */
.vaskon-quote-banner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin-top: 24px;
	padding: 24px;
	background: linear-gradient(135deg, #0d3b57, #1a6eb5);
	border-radius: 10px;
	color: #fff;
}

.vaskon-quote-banner__title {
	margin: 0 0 4px;
	font-size: 1.15rem;
	font-weight: 700;
	color: #FFF;
}

.vaskon-quote-banner__subtitle {
	margin: 0;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.85);
}

.vaskon-quote-banner__btn {
	width: 100%;
	padding: 14px 28px;
	background: #d4004a;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s;
	white-space: nowrap;
}

.vaskon-quote-banner__btn:hover {
	background: #b40040;
}

/* Quote Request Modal */
.vaskon-quote-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.vaskon-quote-modal[hidden] {
	display: none;
}

.vaskon-quote-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
}

.vaskon-quote-modal__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 460px;
	max-height: 90vh;
	overflow-y: auto;
	background: #fff;
	border-radius: 10px;
	padding: 32px;
}

.vaskon-quote-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	color: #555;
	cursor: pointer;
	border-radius: 50%;
	transition: background 0.2s;
}

.vaskon-quote-modal__close:hover {
	background: #f0f0f0;
}

.vaskon-quote-modal__title {
	margin: 0 0 20px;
	padding-right: 32px;
	font-size: 1.25rem;
	font-weight: 700;
	color: #111;
}

.vaskon-quote-modal__yacht {
	display: block;
	margin-top: 4px;
	font-size: 0.95rem;
	font-weight: 400;
	color: #666;
}

.vaskon-quote-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.vaskon-quote-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.vaskon-quote-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	color: #333;
}

.vaskon-quote-form__field input,
.vaskon-quote-form__field select {
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 0.95rem;
	font-weight: 400;
	color: #222;
	background: #fff;
}

.vaskon-quote-form__field input:focus,
.vaskon-quote-form__field select:focus {
	outline: none;
	border-color: #1a6eb5;
}

.vaskon-quote-form__submit {
	margin-top: 8px;
	padding: 14px;
	background: #d4004a;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s;
}

.vaskon-quote-form__submit:hover {
	background: #b40040;
}

.vaskon-quote-form__submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.vaskon-quote-form__status {
	margin: 0;
	font-size: 0.9rem;
	text-align: center;
	color: #555;
}

.vaskon-quote-form__status--ok {
	color: #1a8f4c;
}

.vaskon-quote-form__status--error {
	color: #d4004a;
}

@media (max-width: 480px) {
	.vaskon-quote-form__row {
		grid-template-columns: 1fr;
	}
}

/* Full Inventory / Equipment */
.vaskon-single-layout,
.vaskon-single-inventory {
	margin-bottom: 20px;
}

.vaskon-inventory-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	background: #f5f7f9;
	border: none;
	border-left: 4px solid #1a6eb5;
	border-radius: 6px;
	padding: 16px 20px;
	margin: 0;
	cursor: pointer;
	text-align: left;
	font: inherit;
	color: inherit;
	transition: background 0.2s ease;
}

.vaskon-inventory-heading:hover {
	background: #eaeff3;
}

.vaskon-inventory-heading .vaskon-section-title {
	flex: 1;
	margin: 0;
	padding: 0;
}

.vaskon-inventory-heading__chevron {
	flex-shrink: 0;
	color: #555;
	transition: transform 0.25s ease;
}

.vaskon-inventory-heading.is-open .vaskon-inventory-heading__chevron {
	transform: rotate(180deg);
}

.vaskon-inventory-heading.is-open {
	border-radius: 6px 6px 0 0;
}

.vaskon-sections-toggle-all-wrap {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 12px;
}

.vaskon-sections-toggle-all {
	background: none;
	border: none;
	padding: 4px 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: #1a6eb5;
	cursor: pointer;
	text-decoration: underline;
}

.vaskon-sections-toggle-all:hover {
	color: #14507f;
}

.vaskon-inventory-section-body {
	background: #fff;
	border-left: 4px solid #1a6eb5;
	border-radius: 0 0 6px 6px;
	margin: 0;
	padding: 20px 20px 20px 44px;
}

.vaskon-inventory-toggle-all {
	background: #fff;
	border: 1px solid #1a6eb5;
	border-radius: 4px;
	padding: 6px 14px;
	font-size: 0.85rem;
	font-weight: 600;
	color: #1a6eb5;
	cursor: pointer;
	white-space: nowrap;
	display: block;
	margin: 0 0 16px auto;
	transition: background 0.2s ease, color 0.2s ease;
}

.vaskon-inventory-toggle-all:hover {
	background: #1a6eb5;
	color: #fff;
}

.vaskon-inventory-accordion {
	border-top: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.vaskon-inventory-item {
	background: #f5f7f9;
	border: none;
	border-left: 4px solid #1a6eb5;
	border-radius: 6px;
	overflow: hidden;
}

.vaskon-inventory-item__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	font-size: 1rem;
	font-weight: 700;
	color: #111;
	cursor: pointer;
	list-style: none;
	transition: background 0.2s ease;
}

.vaskon-inventory-item__summary:hover {
	background: #eaeff3;
}

.vaskon-inventory-item__summary::-webkit-details-marker {
	display: none;
}

.vaskon-inventory-item__chevron {
	flex-shrink: 0;
	color: #888;
	transition: transform 0.2s ease;
}

.vaskon-inventory-item[open] > .vaskon-inventory-item__summary .vaskon-inventory-item__chevron {
	transform: rotate(180deg);
}

.vaskon-inventory-item .vaskon-amenities-list--cols {
	padding: 4px 16px 20px;
	background: #fff;
}

/* Gallery */
.vaskon-single-gallery {
	margin-top: 20px;
	margin-bottom: 0;
	padding: 0 0px 64px;
}

.vaskon-gallery-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	margin: 0;
	background: #fff;
	border-left: 4px solid #1a6eb5;
	border-radius: 0 0 6px 6px;
	padding: 20px;
}

.vaskon-gallery-grid[hidden] {
	display: none;
}

.vaskon-single-layout .vaskon-gallery-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.vaskon-single-layout .vaskon-gallery-grid[hidden] {
	display: none;
}

.vaskon-single-layout .vaskon-gallery-item {
	/*flex: 0 1 420px;*/
	max-width: 70%;
	aspect-ratio: auto;
}

.vaskon-single-layout .vaskon-gallery-item img {
	position: static;
	width: 100%;
	height: auto;
	object-fit: initial;
}

@media (max-width: 900px) {
	.vaskon-gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.vaskon-gallery-grid {
		grid-template-columns: 1fr;
	}
}

.vaskon-gallery-item {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
	cursor: pointer;
	padding: 0;
	border: none;
	background: #1a1a1a;
}

.vaskon-gallery-item img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.vaskon-gallery-item:hover img {
	transform: scale(1.06);
}

.vaskon-gallery-item__caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 32px 16px 16px;
	background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 100%);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.3;
	text-align: left;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.vaskon-gallery-item:hover .vaskon-gallery-item__caption {
	opacity: 1;
}

/* ── Lightbox ────────────────────────────────────────────────────────────────── */

.vaskon-lb {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vaskon-lb[hidden] {
	display: none;
}

.vaskon-lb__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	cursor: zoom-out;
}

.vaskon-lb__figure {
	position: relative;
	z-index: 1;
	margin: 0;
	max-width: 90vw;
	max-height: 88vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vaskon-lb__img {
	display: block;
	max-width: 90vw;
	max-height: 88vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 4px;
	opacity: 0;
	transition: opacity 0.25s ease;
	box-shadow: 0 8px 48px rgba(0, 0, 0, 0.6);
}

.vaskon-lb__img--loaded {
	opacity: 1;
}

/* Spinner */
.vaskon-lb__spinner {
	position: absolute;
	width: 36px;
	height: 36px;
	border: 3px solid rgba(255, 255, 255, 0.2);
	border-top-color: #fff;
	border-radius: 50%;
	animation: vaskon-spin 0.7s linear infinite;
}

.vaskon-lb__spinner[hidden] {
	display: none;
}

@keyframes vaskon-spin {
	to { transform: rotate(360deg); }
}

/* Close button */
.vaskon-lb__close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}

.vaskon-lb__close:hover {
	background: rgba(255, 255, 255, 0.25);
}

/* Prev / Next */
.vaskon-lb__prev,
.vaskon-lb__next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}

.vaskon-lb__prev { left: 16px; }
.vaskon-lb__next { right: 16px; }

.vaskon-lb__prev:hover,
.vaskon-lb__next:hover {
	background: rgba(255, 255, 255, 0.25);
}

.vaskon-lb__prev[hidden],
.vaskon-lb__next[hidden] {
	display: none;
}

/* Counter */
.vaskon-lb__counter {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.65);
	pointer-events: none;
}

@media (max-width: 600px) {
	.vaskon-single-hero {
		height: 320px;
	}

	.vaskon-single-hero__title {
		font-size: 1.6rem;
	}

	.vaskon-single-heading__name {
		font-size: 1.5rem;
	}

	.vaskon-single-hero__content {
		padding: 20px 20px;
	}
}

#main {
	padding: 10px 10px 45px !important;
}
