/* Freewave responsive layer: Villa Nena's native 1140px navigation breakpoint. */
#masthead .header-right-wrapper { min-width: 0; }
#masthead .main-navigation .onepress-menu > li > a { white-space: nowrap; }
#nav-toggle { flex-shrink: 0; }
@media (min-width: 1141px) and (max-width: 1399px) {
 #masthead .site-branding { max-width: 27%; }
 #masthead .onepress-menu > li > a { padding-left: 12px; padding-right: 12px; }
}
@media (max-width: 1140px) {
 #masthead .site-branding { max-width: calc(100% - 72px); }
 #masthead .custom-logo-link img { max-width: 240px; }
 #masthead .header-right-wrapper { display: flex; align-items: center; justify-content: flex-end; }
 #nav-toggle { display: block; width: 44px; height: 44px; margin: 0 0 0 16px; line-height: 44px; border-radius: 0; }
 #nav-toggle span, #nav-toggle span::before, #nav-toggle span::after { width: 26px; height: 2px; background-color: #123b58; }
 #nav-toggle span { right: 9px; }
 #nav-toggle.nav-is-visible span { background-color: transparent; }
 #nav-toggle:focus-visible { outline: 2px solid #85a5cc; outline-offset: 2px; }
 #masthead .onepress-menu.onepress-menu-mobile { top: 100% !important; left: 0; right: 0; padding: 8px 20px 20px; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; box-shadow: 0 12px 20px #123b5818; }
 #masthead .onepress-menu.onepress-menu-mobile > li > a { padding: 14px 48px 14px 0; line-height: 1.4; white-space: normal; font-size:inherit; color: #123b58; }
 #masthead .onepress-menu-mobile .nav-toggle-subarrow { width: 44px; min-height: 48px; padding: 12px; font-size: 20px; color: #123b58; }
 #masthead .onepress-menu-mobile ul { width: 100%; }
 #masthead .onepress-menu-mobile ul li a { padding: 12px 48px 12px 20px; line-height: 1.4; color: #123b58; }
 body.onepress-menu-mobile-opening { overflow: hidden; }
 .nav-toggle-subarrow:focus-visible { outline: 2px solid #85a5cc; outline-offset: -2px; }
}
@media (max-width: 991px) {
 .freewave-section { padding-top: 48px; padding-bottom: 48px; }
 .freewave-contrast { padding: 0; }
 .yacht-unified-section { padding-top: 48px; }
 .yacht-information-column { padding-right: 15px; }
 .yacht-content-columns { row-gap: 40px; }
 .price-terms-grid { column-gap: 24px; }
 .contact-details { overflow-wrap: anywhere; }
}
@media (max-width: 767px) {
 .site .container { padding-left: 20px; padding-right: 20px; }
 #masthead .custom-logo-link img { max-width: 200px; }
 #masthead .site-branding { padding-top: 14px; padding-bottom: 14px; }
 body.freewave-site .page-header:not(.page--cover) { padding: 38px 0; }
 body.freewave-site .page-header:not(.page--cover) :is(.entry-title,.page-title) { font-size: 30px; overflow-wrap: anywhere; }
 .price-2027-notes, .price-terms-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; }
 .price-2027-notes > :is(h3,p) { grid-column: auto; grid-row: auto; }
 .price-2027-notes > h3 { margin-bottom: 0; }
 .price-table-scroll { max-width: 100%; }
 .yacht-price-matrix thead th:first-child, .yacht-price-matrix tbody th { width: 150px; }
 .site-footer .freewave-footer-bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
 .site-footer .freewave-footer-bottom > * { margin: 0 !important; }
 .site-footer .footer-menu { display: flex; flex-wrap: wrap; gap: 10px 20px; }
 #footer-widgets .footer-column { margin-bottom: 30px; }
 #footer-widgets .footer-column:last-child { margin-bottom: 0; }
}
@media (max-width: 575px) {
 .freewave-section { padding-top: 40px; padding-bottom: 40px; }
 .freewave-contrast { padding: 0; }
 .section-title-area { margin-bottom: 28px; }
 body.freewave-site .freewave-section .section-title, body.freewave-site .news-gallery-title, body.freewave-site .price-day-title { font-size: 30px; }
 .freewave-slider { height: clamp(480px,78svh,620px); min-height: 480px; }
 body.freewave-site .freewave-slider .slide-copy h2 { font-size: 32px; }
 .freewave-slider .slide-copy .eyebrow { font-size: 16px !important; letter-spacing: 2px; }
 .freewave-slider .slide-description { font-size:inherit; }
 .site .freewave-slider .slide-copy { padding-left: 20px; padding-right: 20px; padding-bottom: 85px; }
 .featured-card h2 { font-size: 28px; }
 .yacht-summary-row { grid-template-columns: minmax(0,1fr); gap: 24px; margin-bottom: 32px; }
 .yacht-summary-copy { order: -1; }
 body.freewave-site .single-yacht-content .yacht-summary-copy h1 { font-size: 30px; margin-bottom: 16px; }
 .yacht-summary-row > .yacht-blueprint.freewave-gallery { width: min(70%,240px); margin: 0 auto; }
 .yacht-summary-copy .button0 { display: inline-flex; width: auto; font-size: 16px; padding: 12px 18px; gap: 18px; }
 .yacht-summary-copy .button0 { margin-bottom: 0 !important; }
 .tech-block li { overflow-wrap: anywhere; }
 .tech-block li span { max-width: 58%; }
 .yacht-booking-column .yacht-charter-sale-form { padding: 24px 18px; }
 .wpcf7 .row { margin-left: -8px; margin-right: -8px; }
 .wpcf7 .row > [class*="col-"] { padding-left: 8px; padding-right: 8px; }
 .wpcf7 input, .wpcf7 select, .wpcf7 textarea { max-width: 100%; font-size: 16px; }
 .yacht-unified-section > .yacht-gallery-section { margin-top: 40px; }
 .freewave-search { padding-left: 0; padding-right: 0; }
 .freewave-search #nsWidget { padding-left: 0; padding-right: 0; }
 .single-post .entry-title { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { #masthead.header-fixed { animation: none; } }
@media (max-width: 767px) {
 .price-2027-notes > h3:nth-of-type(n), .price-2027-notes > p:nth-of-type(n) { grid-column: auto; grid-row: auto; }
}
@media (max-width: 1140px) {
 #masthead .header-right-wrapper .main-navigation { width: 0; min-width: 0; flex: 0 0 0; }
}

/* Full-width image/text panels stack before their copy becomes cramped. */
@media (max-width: 1199px) {
 .freewave-contrast .split-panel { grid-template-columns: minmax(0,1fr); gap: 0; }
 .freewave-contrast .split-panel > img { order: 0; width: 100%; height: clamp(300px,45vw,520px); min-height: 0; aspect-ratio: auto; }
 .freewave-contrast .contrast-copy { order: 1; padding: 40px 32px; }
}
@media (max-width: 575px) {
 .freewave-contrast .contrast-copy { padding: 32px 20px; }
}

/* Off-canvas navigation, preserving native OnePress toggle/submenu behaviour. */
@media(max-width:1140px){
 #masthead .onepress-menu, #masthead .onepress-menu.onepress-menu-mobile { position:fixed!important; top:var(--fw-menu-top,100px)!important; bottom:0; left:auto!important; right:0!important; width:min(380px,88vw)!important; height:calc(100dvh - var(--fw-menu-top,100px))!important; max-height:none!important; display:block!important; padding:20px 24px 40px; background:#fff; overflow-y:auto; transform:translateX(105%); visibility:hidden; transition:transform .28s ease,visibility .28s; z-index:1002; box-shadow:-12px 0 35px #123b5826; }
 body.onepress-menu-mobile-opening #masthead .onepress-menu { transform:translateX(0); visibility:visible; }
 body.onepress-menu-mobile-opening::after { content:"";position:fixed;inset:var(--fw-menu-top,100px) 0 0;background:#123b5866;z-index:98; }
 #masthead .onepress-menu > li { display:block;float:none; }
 #masthead .onepress-menu > li > a { padding:14px 44px 14px 0; color:#123b58; }
}
@media(prefers-reduced-motion:reduce){#masthead .onepress-menu{transition:none!important}}
/* Article headings have no decorative rule or column divider. */
.single-post .freewave-post-heading { display:flex;align-items:flex-start;gap:24px;margin-bottom:32px; }
body.freewave-site.single-post .entry-title { font-size:40px;line-height:1.15;margin:0; }
.single-post .entry-title::after,.single-post .entry-header::after { display:none!important; }
.single-post .entry-header { border:0!important;padding-bottom:0;margin-bottom:30px; }
.single-post .news-badge { flex:0 0 60px; }
.single-post .news-badge small { display:block;font-size:13px;line-height:20px;background:white;color:#123b58; }
.single-post #primary,.single-post #secondary { border:0!important; }
.single-post #primary::before,.single-post #primary::after,.single-post #secondary::before { display:none!important; }
.freewave-other-posts { display:grid;gap:28px; }
.freewave-other-posts img { width:100%;height:170px;object-fit:cover; }
body.freewave-site .freewave-other-posts h3 { font-size:23px;line-height:1.25;margin:12px 0 0; }
.freewave-blog-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
.freewave-blog-grid img { width:100%;aspect-ratio:16/9;object-fit:cover; }

@media(min-width:992px){
 .reading-layout { display:flex;gap:48px; }
 .reading-layout .content-area { width:calc(62% - 24px);padding:0;float:none; }
 .reading-layout .widget-area { width:calc(38% - 24px);padding:0;float:none; }
}
@media(max-width:991px){.reading-layout .content-area,.reading-layout .widget-area{width:100%;float:none;padding:0}.single-post #secondary{margin-top:40px}}
@media(max-width:991px){.freewave-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:575px){body.freewave-site.single-post .entry-title{font-size:30px;line-height:1.15}.single-post .freewave-post-heading{gap:16px}.single-post .news-badge{flex-basis:52px}.freewave-blog-grid{grid-template-columns:1fr}}
.single-post #content-inside { padding-top:48px;padding-bottom:64px; }
body.freewave-site.single-post .freewave-post-page-header .page-title { color:#fff; }
.single-post .freewave-post-page-header .page-title::after { display:none!important; }
@media(max-width:1140px){
 #masthead .onepress-menu.onepress-menu-mobile li { border-color:#85a5cc; }
 #masthead .onepress-menu.onepress-menu-mobile li.menu-item-has-children { display:grid;grid-template-columns:minmax(0,1fr) 44px;position:relative; }
 #masthead .onepress-menu.onepress-menu-mobile li.menu-item-has-children > a { grid-column:1;grid-row:1;padding-right:16px; }
 #masthead .onepress-menu.onepress-menu-mobile li > .nav-toggle-subarrow { grid-column:2;grid-row:1;position:static;align-self:stretch;display:flex;align-items:center;justify-content:center;width:44px;height:auto;min-height:100%;margin:0;padding:0;border-left:1px solid #85a5cc;box-sizing:border-box;line-height:1;color:#123b58; }
 #masthead .onepress-menu.onepress-menu-mobile li > .nav-toggle-subarrow i { line-height:1;margin:0; }
 #masthead .onepress-menu.onepress-menu-mobile li > ul { grid-column:1/-1;grid-row:2; }
}
.freewave-destination-map { height:620px;width:100%;z-index:1; }
.freewave-destination-map img { max-width:none!important;max-height:none!important;aspect-ratio:auto!important; }
.destination-pin { background:#123b58;border:2px solid white;border-radius:16px 16px 16px 0;box-shadow:0 2px 5px #123b5855;color:white;text-align:center;font:600 16px/30px Arial,sans-serif; }
.destination-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;margin:32px 0; }
.destination-list details { border:1px solid #85a5cc;padding:16px 20px; }
.destination-list summary { cursor:pointer;color:#123b58;font-weight:500; }
.destination-description { margin-top:16px; }
.destination-description img { max-width:100%;height:auto; }
@media(max-width:767px){.freewave-destination-map{height:440px}.destination-list{grid-template-columns:1fr}}
body.freewave-site .h3 { display:block;font-size:28px;line-height:34px;color:#123b58;font-weight:400; }
.freewave-post-sidebar .sidebar-label { margin:0 0 24px; }
.freewave-other-posts article .h3 { font-size:23px;line-height:29px;margin:0 0 12px; }
.freewave-other-posts article p { margin:0; }
body.freewave-site.single-post .entry-content h3 { font-size:28px;line-height:36px;font-weight:400;margin:32px 0 15px; }
.single-post .entry-content p,.single-post .entry-content ul,.single-post .entry-content ol { margin-top:0;margin-bottom:22px;line-height:29px; }
body.freewave-site.single-post .freewave-post-page-header .h3 { font-size:32px;line-height:40px;font-weight:500; }
@media(max-width:991px){.freewave-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:575px){body.freewave-site.single-post .entry-content h3{font-size:25px;line-height:32px}}
/* Shared compact disclosure rows use the slider's line-chevron shape. */
.freewave-faq-column .freewave-faq { max-width:none;margin:20px 0; }
.freewave-faq-column .faq-item { margin:0;padding:0;border-bottom:1px solid #85a5cc; }
.freewave-faq-column .faq-item:first-child { border-top:1px solid #85a5cc; }
.freewave-faq-column .faq-item summary,.destination-list summary { display:block;list-style:none;position:relative;padding:14px 36px 14px 0;line-height:28px;color:var(--fw-teal);font-weight:500;cursor:pointer; }
.freewave-faq-column .faq-item summary::-webkit-details-marker,.destination-list summary::-webkit-details-marker { display:none; }
.freewave-faq-column .faq-item summary::marker,.destination-list summary::marker { content:""; }
.freewave-faq-column .faq-item summary::after,.destination-list summary::after { content:"";position:absolute;right:5px;top:50%;width:12px;height:12px;border-right:2px solid #85a5cc;border-bottom:2px solid #85a5cc;transform:translateY(-75%) rotate(45deg); }
.freewave-faq-column .faq-item[open] > summary::after,.destination-list details[open] > summary::after { transform:translateY(-25%) rotate(225deg); }
.freewave-faq-column .faq-answer { padding:0 0 14px; }
.freewave-faq-column .faq-answer p:last-child { margin-bottom:0; }
.destination-list-container .destination-list { gap:10px 24px;align-items:start;margin:24px 0; }
.destination-list-container .destination-list details { padding:0 16px;border:1px solid #85a5cc;margin:0; }
.destination-list-container .destination-list summary { padding-top:11px;padding-bottom:11px;font-size:19px;line-height:26px; }
.destination-list-container .destination-description { margin:0;padding:0 0 12px; }
.destination-list-container .destination-description p { margin:0 0 12px; }
.destination-list-container .destination-description p:last-child { margin-bottom:0; }
.destination-pin { background:none;border:0;border-radius:0;box-shadow:none; }
.destination-pin svg { display:block; }
.freewave-faq-column .faq-item summary,.destination-list-container .destination-list summary { margin:0; }
.freewave-faq-column .faq-answer.entry-content { margin:0; }
/* Destination maps meet the page header; details use the shared section rhythm. */
#freewave-content > .destination-page-content { padding:0;margin:0; }
.destination-page-content .freewave-destinations { margin:0; }
.destination-details-section .destination-list-container .destination-list { margin:0; }
body.page-template-destinations #freewave-content > section.destination-page-content { padding:0!important; }
/* Booking entry points and equal-height contact cards. */
.freewave-topbar .topbar-booking { flex-shrink:0;margin:0;padding:7px 16px;font-size:16px;line-height:22px;letter-spacing:0; }
.freewave-languages { margin-left:auto; }
.contact-box-column { display:flex; }
.contact-box-column .box.extras { width:100%;height:100%;margin:0; }
.contact-booking-cta { display:flex;justify-content:center;margin:28px 0 40px; }
.contact-booking-cta .button0 { margin:0; }
.freewave-booking-modal { z-index:1050; }
.freewave-booking-modal .modal-content { border:1px solid #85a5cc;border-radius:0; }
.freewave-booking-modal .modal-header { padding:22px 28px;border-bottom:1px solid #85a5cc;align-items:center; }
.freewave-booking-modal .modal-title.h3 { font-size:28px;line-height:34px;margin:0; }
.freewave-booking-modal .booking-close { width:40px;height:40px;padding:0;line-height:36px;font-size:34px;background:none;border:0;color:#123b58; }
.freewave-booking-modal .modal-body.yacht-charter-sale-form { margin:0;padding:24px 28px;background:#f2f6f7; }
.freewave-booking-modal label { width:100%;font-size:16px;line-height:24px;margin:0 0 18px;font-weight:400; }
.freewave-booking-modal .wpcf7 :is(input:not([type=checkbox]):not([type=radio]),select) { height:46px;border:1px solid #85a5cc;border-radius:0;box-shadow:none;padding:9px 12px;margin:6px 0 0; }
.freewave-booking-modal .wpcf7 textarea { height:110px;min-height:110px;margin:6px 0 0;border:1px solid #85a5cc;border-radius:0;box-shadow:none; }
.freewave-booking-modal .wpcf7 :is(input,select,textarea):focus { outline:none;box-shadow:none;border-color:#123b58; }
.freewave-booking-modal .flatpickr-wrapper { display:block;width:100%; }
.freewave-booking-modal .flatpickr-calendar { z-index:1100; }
.freewave-booking-modal .booking-note { font-size:16px;line-height:24px;margin:0 0 18px; }
.freewave-booking-modal .wpcf7 p { margin-bottom:0; }
body.freewave-booking-open #masthead { z-index:100; }
@media(max-width:767px){
 .freewave-topbar .container > a:first-child { display:none; }
 .freewave-topbar .container { gap:12px; }
 .freewave-topbar .topbar-booking { font-size:14px;padding:6px 12px; }
 .freewave-languages { margin-left:0;gap:10px; }
 .freewave-topbar .topbar-booking { margin-left:auto; }
 .contact-boxes { row-gap:20px; }
 .freewave-booking-modal .modal-dialog { margin:12px; }
 .freewave-booking-modal .modal-body.yacht-charter-sale-form,.freewave-booking-modal .modal-header { padding:18px; }
}
.freewave-booking-modal { --booking-padding:28px; }
.freewave-booking-modal .modal-header { padding-right:calc(var(--booking-padding) + var(--booking-scrollbar,0px)); }
.freewave-booking-modal .booking-close { display:flex;align-items:center;justify-content:flex-end;flex-shrink:0; }
.freewave-booking-modal .booking-close svg { display:block; }
.freewave-booking-modal .booking-note { font-weight:400; }
@media(max-width:767px){.freewave-booking-modal{--booking-padding:18px}}
body.freewave-booking-open #cookie-law-info-again { display:none!important; }
.freewave-booking-modal select[name="menu-490"] {
 -webkit-appearance:none;
 appearance:none;
 padding-right:46px!important;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='M2 2l7 7 7-7' fill='none' stroke='%23123b58' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 16px center;
 background-size:18px 12px;
}
.freewave-topbar .button0.topbar-booking {
 background:transparent;
 border:1px solid #85a5cc;
 color:#fff;
 padding:3px 12px;
 font-size:14px;
 line-height:20px;
 min-height:0;
 margin:0;
}
.freewave-topbar .button0.topbar-booking:hover,
.freewave-topbar .button0.topbar-booking:focus-visible { background:rgba(133,165,204,.12);border-color:#85a5cc;color:#fff; }
.freewave-topbar .topbar-booking::after { display:none; }
.freewave-topbar .button0.topbar-booking { background:transparent!important; }
.freewave-topbar .button0.topbar-booking:hover,
.freewave-topbar .button0.topbar-booking:focus-visible { background:rgba(133,165,204,.12)!important; }
.freewave-topbar .button0.topbar-booking,
.freewave-topbar .button0.topbar-booking:hover,
.freewave-topbar .button0.topbar-booking:focus,
.freewave-topbar .button0.topbar-booking:focus-visible,
.freewave-topbar .button0.topbar-booking:active { background:transparent!important; }
.freewave-topbar .button0.topbar-booking,
.freewave-topbar .button0.topbar-booking:hover,
.freewave-topbar .button0.topbar-booking:focus,
.freewave-topbar .button0.topbar-booking:focus-visible,
.freewave-topbar .button0.topbar-booking:active {
 color:#7de1e7;
 border-color:#7de1e7;
 text-transform:uppercase;
 background:transparent!important;
}
.freewave-topbar .button0.topbar-booking,
.freewave-topbar .button0.topbar-booking:hover,
.freewave-topbar .button0.topbar-booking:focus,
.freewave-topbar .button0.topbar-booking:focus-visible,
.freewave-topbar .button0.topbar-booking:active { color:#7de1e7!important; }
.entry-content ul {
 list-style:none;
 padding-left:0;
 margin-left:0;
}
.entry-content ul li {
 position:relative;
 padding-left:1.5em;
}
.entry-content ul li::before,
ul.lista-aktivnosti li::before,
.opis-aktivnosti ul li::before {
 content:"—";
 position:absolute;
 left:0;
 top:0;
}

/* Single-yacht inquiry uses the popup form's field rhythm. */
.single-yacht .yacht-booking-column .yacht-charter-sale-form { padding:24px 28px; }
.single-yacht .yacht-charter-sale-form .wpcf7-form > .row { margin-left:-12px; margin-right:-12px; }
.single-yacht .yacht-charter-sale-form .wpcf7-form > .row + .row { margin-top:18px; }
.single-yacht .yacht-charter-sale-form .row > [class*="col-"] { padding-left:12px; padding-right:12px; }
.single-yacht .yacht-charter-sale-form .wpcf7 p { margin:0; }
.single-yacht .yacht-charter-sale-form .wpcf7-form-control-wrap { display:block; }
body.freewave-site.single-yacht .yacht-charter-sale-form .wpcf7 input:not([type=hidden]):not([type=checkbox]):not([type=radio]) { margin:6px 0 0; padding:9px 12px; height:46px; }
.single-yacht .yacht-charter-sale-form .row:has(.wpcf7-submit) > div { flex:0 0 100%; max-width:100%; text-align:left!important; }
body.freewave-site.single-yacht .yacht-charter-sale-form .wpcf7 input[type=submit] { width:auto; min-width:140px; padding:9px 24px; }
.single-yacht .yacht-charter-sale-form .wpcf7-spinner { vertical-align:middle; }
@media(max-width:575px) {
 .single-yacht .yacht-booking-column .yacht-charter-sale-form { padding:18px; }
 .single-yacht .yacht-charter-sale-form .row > [class*="col-"] { flex:0 0 100%; max-width:100%; }
 .single-yacht .yacht-charter-sale-form .row > [class*="col-"] + [class*="col-"] { margin-top:18px; }
}
/* Temporary fleet search presentation. */
.freewave-demo-results .demo-search-notice{padding:18px 22px;margin-bottom:36px;background:#eef3f6;border-left:3px solid #86a6cb;color:#143e58;text-align:left}
.freewave-demo-results .demo-search-notice p{margin:6px 0 0}
.freewave-demo-results>.container>h3{margin-bottom:20px}
.freewave-demo-results .demo-results-summary{margin-bottom:32px}
.freewave-demo-results .demo-yacht-price{display:flex;flex-direction:column;gap:5px;margin:18px 0;color:#143e58}
.freewave-demo-results .demo-yacht-price small{font-size:14px}
.freewave-demo-results .demo-yacht-price strong{font-size:24px}
.freewave-demo-results .demo-yacht-details{margin-bottom:18px;text-decoration:underline}
.freewave-demo-results .card-copy .button0{margin-top:auto;padding-left:18px;padding-right:18px}
.freewave-demo-results .demo-price-note{margin:28px 0 0;font-size:14px}

/* Match yacht titles within their own grid row, with no fixed global minimum. */
body.freewave-site .yacht-grid .freewave-card .card-copy h3{min-height:0;padding-bottom:30px;flex:none}
body.freewave-site .freewave-demo-results .demo-yacht-details{margin:0 0 20px;text-decoration:none;width:100%;gap:12px}
body.freewave-site .freewave-demo-results .demo-yacht-details::after{content:none}
.demo-select{display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;margin:0;font-weight:600;line-height:1.4;min-height:44px}
.demo-select input{width:20px;height:20px;accent-color:#244c65;flex-shrink:0}
.freewave-demo-results .freewave-card.is-selected{outline:2px solid #85a5cc;outline-offset:-2px}
.demo-selection-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin-top:28px;background:#244c65;color:white;box-shadow:0 -2px 12px #123b581a}
.demo-selection-bar button:disabled{opacity:.5;cursor:default}
.demo-details-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:30px}
.demo-details-grid .demo-layout{width:100%;max-height:650px;object-fit:contain}
.demo-details-modal .modal-body{padding:28px}
.demo-details-modal .modal-title{margin:0;font-size:26px}
.demo-details-grid .tech-block h3{margin:0 0 18px;font-size:24px}
.demo-details-grid .tech-block h3:not(:first-child){margin-top:26px}
.demo-technical-data{list-style:none;padding:0!important;margin:0}
.demo-technical-data li{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid #d8e2e8;line-height:1.4}
.demo-technical-data strong{text-align:right}
.freewave-booking-modal .booking-selected-yachts textarea{height:100px;min-height:70px;resize:vertical}
body.freewave-site .freewave-booking-modal .wpcf7 input[type=submit]{width:auto;min-width:180px;padding:9px 24px;background-image:none!important;text-indent:0!important}
.freewave-booking-modal .wpcf7-submit::after{content:none!important}
@media(max-width:767px){.demo-details-grid{grid-template-columns:1fr}.demo-details-grid .demo-layout{max-height:360px}.demo-selection-bar{flex-wrap:wrap;padding:16px}.demo-selection-bar button{width:100%}}

.freewave-booking-modal .wpcf7-form-control-wrap{display:block;width:100%}
.freewave-booking-modal .wpcf7 .row{margin-left:-12px;margin-right:-12px}
.freewave-booking-modal .wpcf7 .row>[class*=col-]{padding-left:12px;padding-right:12px}
.freewave-booking-modal .wpcf7 :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),select,textarea){width:100%;max-width:100%}

/* Compact result cards and technical details. */
body.freewave-site .freewave-demo-results .card-copy .demo-yacht-details{margin:20px 0 16px!important}
.freewave-demo-results .card-copy .yacht-facts{margin-bottom:0}
.freewave-demo-results .demo-yacht-price:empty{display:none}
.freewave-demo-results .demo-yacht-price{margin:16px 0 0}
body.freewave-site .demo-details-modal .modal-header{padding:16px 22px}
body.freewave-site .demo-details-modal .modal-title{font-size:23px;line-height:1.25}
body.freewave-site .demo-details-modal .modal-body{padding:20px 22px;font-size:15px;line-height:1.4}
body.freewave-site .demo-details-modal .demo-details-grid{gap:24px;align-items:start}
body.freewave-site .demo-details-modal .tech-block h3{font-size:20px;line-height:1.25;margin:0 0 12px}
body.freewave-site .demo-details-modal .tech-block h3:not(:first-child){margin-top:20px}
body.freewave-site .demo-details-modal .tech-block ul{margin:0;padding:0;list-style:none}
body.freewave-site .demo-details-modal .tech-block li{padding:9px 0!important;margin:0!important;line-height:1.4;font-size:15px;font-weight:400;border-bottom:1px solid #d8e2e8}
body.freewave-site .demo-details-modal .demo-technical-data li{display:flex;align-items:center;justify-content:space-between;gap:16px}
.demo-details-modal .demo-technical-data li>span{flex:1;text-align:left}
.demo-details-modal .demo-technical-data li>strong{max-width:58%;text-align:right;overflow-wrap:anywhere}
.demo-details-modal .demo-layout{max-height:540px}
@media(max-width:767px){body.freewave-site .demo-details-modal .modal-body{padding:16px}.demo-details-modal .demo-layout{max-height:280px}}

/* Jarallax moves the entire picture so responsive sources stay attached to the image. */
.freewave-slider .slide-picture{display:block;position:absolute;inset:0;width:100%;height:100%}
.freewave-slider .slide-picture .slide-image{width:100%;height:100%;object-fit:cover;object-position:center center}

/* Clear month navigation with a separate year control. */
.flatpickr-calendar.fw-calendar .flatpickr-months{display:none!important}
.flatpickr-calendar.fw-calendar .fw-calendar-header{display:grid;grid-template-columns:28px minmax(0,1fr) 28px 70px;gap:6px;align-items:center;padding:12px 12px 10px;background:#f2f6f7;border-bottom:1px solid #d8e2e8;margin-bottom:7px;border-radius:4px 4px 0 0}
body.freewave-site .fw-calendar-header .fw-calendar-nav{display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:28px;height:34px;background:transparent;border:0;border-radius:0;color:#123b58}
.fw-calendar-header .fw-calendar-nav.next svg{transform:rotate(180deg)}
.fw-calendar-header .fw-calendar-nav:disabled{opacity:.25;cursor:default}
.fw-calendar-header .fw-calendar-nav:not(:disabled):hover{background:#dce7ee}
body.freewave-site .fw-calendar-header select{width:100%;min-width:0;height:34px;min-height:0;margin:0;padding:4px 20px 4px 6px;background-color:#fff;border:1px solid #d8e2e8;border-radius:0;box-shadow:none;color:#123b58;font-family:inherit;font-size:16px;line-height:24px;font-weight:600;text-transform:none;letter-spacing:normal}
body.freewave-site .fw-calendar-header .fw-calendar-year{border:0;border-left:1px solid #c7d8e3;background-color:transparent;margin-left:2px}
body.freewave-site .fw-calendar-header .fw-calendar-year:disabled{appearance:none;opacity:1;padding:4px 6px;text-align:center;color:#123b58;-webkit-text-fill-color:#123b58}
.fw-calendar-header :is(button,select):focus-visible{outline:2px solid #85a5cc;outline-offset:1px}
/* Mobile artwork keeps its full original aspect ratio; copy sits below it. */
@media(max-width:991.98px){
 body.freewave-site #header-section #masthead:not(.header-fixed){position:relative!important;top:auto!important;background:#244c65}
 body.freewave-site .freewave-slider{height:auto!important;min-height:0!important;background:#244c65}
 .freewave-slider>.swiper-wrapper{height:auto!important;align-items:stretch}
 .freewave-slider .swiper-slide{display:flex;flex-direction:column;height:auto!important;background:#244c65}
 .freewave-slider .swiper-slide::after,.freewave-slider .slide-copy-inner::before{display:none!important}
 .freewave-slider .jarallax-container{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;clip-path:none!important;transform:none!important;z-index:0!important;order:0;flex:none}
 .freewave-slider .slide-picture{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;transform:none!important;min-height:0!important;max-height:none!important}
 .freewave-slider .slide-picture .slide-image{position:static!important;display:block;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;transform:none!important}
 body.freewave-site .site .freewave-slider .slide-copy{order:1;position:relative;height:auto;flex:1;padding:20px 20px 82px!important;justify-content:flex-start;align-items:center;text-align:center}
 .freewave-slider .slide-copy .eyebrow,.freewave-slider .slide-description{display:none!important}
 body.freewave-site .freewave-slider .slide-copy h2{font-size:26px!important;line-height:1.2;margin:0!important;padding:0!important}
 .freewave-slider .slide-copy h2::after{display:none!important}
 .freewave-slider .slider-pause{bottom:18px!important}
 .freewave-slider .swiper-pagination{bottom:27px!important}
 .freewave-slider .swiper-button-prev,.freewave-slider .swiper-button-next{bottom:18px!important}
}
@media(max-width:991.98px){
 .freewave-slider .slide-picture{margin:0!important}
}

/* Keep the mobile booking action at the right edge of the top bar. */
@media (max-width: 991.98px) {
 .freewave-topbar .freewave-languages { margin-left: 0; }
 .freewave-topbar .button0.topbar-booking { margin-left: auto; }
}

/* Long model names must stay inside the sticky yacht column. */
.freewave-pricelist .yacht-price-matrix tbody th a,
.freewave-pricelist .price-yacht-model,
.freewave-pricelist .price-yacht-name { white-space:normal;overflow-wrap:anywhere; }
.freewave-pricelist .price-table-scroll { scrollbar-width:auto;scrollbar-color:#85a5cc #e4edf2;margin-bottom:8px; }
.price-scroll-controls { display:flex;align-items:center;gap:10px;margin:0 0 20px; }
.price-scroll-controls[hidden] { display:none; }
.price-scroll-controls button { display:flex;align-items:center;justify-content:center;flex:0 0 34px;height:34px;padding:0;background:#123b58;color:#fff;border:0;font:28px/1 Arial,sans-serif; }
.price-scroll-controls button:disabled { opacity:.35;cursor:default; }
.price-scroll-controls input[type=range] { flex:1;min-width:0;width:100%;height:20px;margin:0;padding:0;border:0;accent-color:#85a5cc;cursor:ew-resize; }

/* One consistent mobile header across the legacy 992px breakpoint. */
@media(max-width:1140px){
 #masthead .site-branding {float:none!important;display:flex;align-items:center;}
 #masthead .container {display:flex;align-items:center;justify-content:space-between;}
 body.freewave-site #nav-toggle {position:relative;display:block;width:44px;height:44px;padding:0;margin-left:16px;}
 body.freewave-site #nav-toggle span {position:absolute!important;top:21px!important;left:9px!important;right:auto!important;width:26px!important;height:2px!important;background:#fff!important;transform:none!important;}
 body.freewave-site #nav-toggle span::before,body.freewave-site #nav-toggle span::after {content:"";position:absolute!important;top:0!important;left:0!important;width:26px!important;height:2px!important;background:#fff!important;transform-origin:center!important;}
 body.freewave-site #nav-toggle span::before {transform:translateY(-8px)!important;}
 body.freewave-site #nav-toggle span::after {transform:translateY(8px)!important;}
 body.freewave-site #nav-toggle.nav-is-visible span {background:transparent!important;}
 body.freewave-site #nav-toggle.nav-is-visible span::before {transform:rotate(45deg)!important;}
 body.freewave-site #nav-toggle.nav-is-visible span::after {transform:rotate(-45deg)!important;}
 #masthead .nav-toggle-subarrow i {display:none!important;}
 #masthead .nav-toggle-subarrow::after {content:"";display:block;width:10px;height:10px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-5px;}
 #masthead .nav-toggle-dropdown>.nav-toggle-subarrow::after {transform:rotate(225deg);margin-top:5px;}
 #wpadminbar {overflow:hidden;}
 #wpadminbar #wp-admin-bar-top-secondary {float:right!important;position:static!important;}
}
.freewave-pricelist .price-table-scroll {scrollbar-width:none;margin-bottom:0;}
.freewave-pricelist .price-table-scroll::-webkit-scrollbar {display:none;}
.price-scroll-controls {margin-top:20px;}
.price-scroll-controls button {background:transparent;color:#123b58;border:1px solid #85a5cc;}
.price-scroll-controls button svg {display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.2;}
.price-scroll-controls input[type=range] {-webkit-appearance:none;appearance:none;background:transparent;}
.price-scroll-controls input[type=range]::-webkit-slider-runnable-track {height:4px;background:#dce6ec;border-radius:0;}
.price-scroll-controls input[type=range]::-webkit-slider-thumb {-webkit-appearance:none;width:30px;height:12px;background:#85a5cc;border:0;border-radius:0;margin-top:-4px;}
.price-scroll-controls input[type=range]::-moz-range-track {height:4px;background:#dce6ec;}
.price-scroll-controls input[type=range]::-moz-range-thumb {width:30px;height:12px;background:#85a5cc;border:0;border-radius:0;}

/* Preserve the regular header and logo when navigation collapses. */
@media(max-width:1140px){
 body.freewave-site:not(.home) #masthead,
 body.freewave-site:not(.home) #header-section #masthead:not(.header-fixed) {background:#fff!important;}
 body.freewave-site:not(.home) #masthead .custom-logo {display:block!important;}
 body.freewave-site:not(.home) #masthead .custom-logo-transparent {display:none!important;}
 body.freewave-site:not(.home) #nav-toggle span,
 body.freewave-site:not(.home) #nav-toggle span::before,
 body.freewave-site:not(.home) #nav-toggle span::after {background:#123b58!important;}
 body.freewave-site:not(.home) #nav-toggle.nav-is-visible span {background:transparent!important;}
}

/* Show charter departure dates instead of an empty full-month grid. */
.fw-compact-dates .flatpickr-innerContainer {display:none;}
.fw-date-rows {padding:14px 12px;}
.fw-date-row {display:flex;align-items:center;gap:7px;}
.fw-date-row+.fw-date-row {margin-top:10px;}
.fw-date-weekday {flex:0 0 34px;font-size:14px;color:#123b58;}
.fw-date-option {display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;min-width:0;height:36px;padding:0;background:transparent;border:1px solid #85a5cc;border-radius:0;color:#123b58;font:inherit;font-size:16px;}
.fw-date-option:hover,.fw-date-option[aria-pressed=true] {background:#85a5cc;color:#123b58;}

.fw-date-option:disabled {border-color:transparent;background:transparent;color:#a8b4bd;cursor:default;opacity:1;}

/* Pagination spans the slider width, but only its dots should capture clicks. */
.freewave-slider > .swiper-pagination {pointer-events:none;}
.freewave-slider > .swiper-pagination .swiper-pagination-bullet {pointer-events:auto;}
.freewave-slider > .swiper-button-prev,
.freewave-slider > .swiper-button-next,
.freewave-slider > .slider-pause {z-index:11;pointer-events:auto;}
