.vc-mp{max-width:900px;margin:0 auto;font-size:17px;line-height:1.7;color:#2a3542}
.vc-mp h2{color:#004a97;font-size:27px;margin:38px 0 14px}
.vc-mp h3{color:#1c2a3a;font-size:20px;margin:26px 0 8px}
.vc-mp .vc-hero{background:linear-gradient(135deg,#003463,#0066cc);color:#fff;padding:34px 28px;border-radius:16px;margin:0 0 26px}
.vc-mp .vc-hero h1,.vc-mp .vc-hero h2{margin:0;font-size:31px;color:#fff}
.vc-mp .vc-hero p{font-size:19px;margin:10px 0 0;opacity:.95;color:#fff}
.vc-mp .vc-hero .vc-trial{display:inline-block;background:#ffd54a;color:#003463;font-weight:800;font-size:14px;padding:7px 16px;border-radius:30px;margin:0 0 14px}
.vc-mp .vc-cta{display:inline-block;background:#ffd54a;color:#003463;font-weight:700;padding:13px 26px;border-radius:8px;text-decoration:none;margin:10px 8px 10px 0;transition:filter .2s}
.vc-mp .vc-cta:hover{filter:brightness(.93)}
.vc-mp .vc-cta.alt{background:#004a97;color:#fff}
.vc-mp .vc-box{background:#f0f6ff;border-left:4px solid #004a97;border-radius:8px;padding:16px 20px;margin:18px 0}
.vc-mp ul{margin:10px 0 10px 4px;padding-left:22px}
.vc-mp li{margin:7px 0}
.vc-mp .vc-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}
.vc-mp .vc-tile{background:#fff;border:1px solid #e8ecf2;border-radius:12px;padding:18px;box-shadow:0 3px 12px rgba(0,40,90,.05)}
.vc-mp .vc-tile h3{margin:0 0 6px;font-size:17px;color:#004a97}
.vc-mp .vc-faq details{border:1px solid #e2e8f0;border-radius:10px;padding:4px 18px;margin:10px 0;background:#fff}
.vc-mp .vc-faq summary{font-weight:700;cursor:pointer;padding:12px 0;color:#1c2a3a}
.vc-mp .vc-faq p{margin:0 0 14px}
@media(max-width:720px){.vc-mp .vc-grid3{grid-template-columns:1fr}}
@media(max-width:600px){
.vc-mp{font-size:16px}
.vc-mp .vc-hero{padding:26px 20px}
.vc-mp .vc-hero h1,.vc-mp .vc-hero h2{font-size:25px;line-height:1.25}
.vc-mp .vc-hero p{font-size:16px}
.vc-mp h2{font-size:23px}
}
.vc-lr{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #e6ebf2;border-radius:14px;padding:24px;box-shadow:0 4px 18px rgba(0,40,90,.06)}
.vc-lr *{box-sizing:border-box}
.vc-lr-h{margin:0 0 4px;color:#004a97;font-size:22px}
.vc-lr label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14px;color:#25313f;width:100%;margin:0}
.vc-lr input,.vc-lr select,.vc-lr textarea{font:inherit;font-weight:400;padding:12px 13px;border:1px solid #d5dbe4;border-radius:9px;font-size:16px}
.vc-lr select{opacity:1!important;position:static!important;display:block!important;visibility:visible!important;width:100%!important;max-width:100%!important;height:auto!important;line-height:1.45!important;color:#25313f;background-color:#fff;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23485668' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:38px!important}
.vc-lr input:focus,.vc-lr select:focus,.vc-lr textarea:focus{outline:2px solid #004a97;border-color:#004a97}
.vc-lr .vc-lr-gdpr{flex-direction:row;align-items:flex-start;gap:9px;font-weight:400}
.vc-lr .vc-lr-gdpr span{flex:1;min-width:0}
.vc-lr input[type=checkbox],.vc-lr input[type=radio],.vc-nlo input[type=checkbox]{-webkit-appearance:checkbox;appearance:auto;width:20px!important;height:20px!important;min-height:20px!important;min-width:20px!important;max-width:20px!important;padding:0!important;margin:2px 0 0!important;flex:0 0 20px!important;display:inline-block!important;box-shadow:none!important;border-radius:4px;accent-color:#004a97;cursor:pointer;position:static!important}
.vc-lr input[type=radio],.vc-lr .vc-bill-radios input[type=radio]{-webkit-appearance:radio;border-radius:50%}
.vc-lr .vc-billwrap{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;color:#25313f}
.vc-lr .vc-billwrap small{font-weight:400;color:#5a6b80}
.vc-lr .vc-bill-radios{display:flex;flex-direction:row;gap:18px;flex-wrap:wrap;font-weight:400}
.vc-lr .vc-bill-radios label{display:flex;flex-direction:row;align-items:center;gap:7px;width:auto;font-weight:400;cursor:pointer}
.vc-lr .vc-lr-hp{position:absolute;left:-9999px;width:1px;height:1px}
.vc-lr button{background:#004a97;color:#fff;border:0;border-radius:9px;padding:14px;font-size:16px;font-weight:700;cursor:pointer}
.vc-lr button:hover{filter:brightness(1.08)}
.vc-lr button:disabled{opacity:.6}
.vc-lr-note{text-align:center;font-size:13px;color:#5a6b80;margin:-2px 0 0}
.vc-lr-msg{padding:14px;border-radius:9px;font-weight:600}
.vc-lr-msg.ok{background:#e7f6ec;color:#1c7a3f}
.vc-lr-msg.bad{background:#fdecea;color:#b3261e}
@media(max-width:600px){.vc-lr{padding:18px}.vc-lr button{width:100%}}
.vc-nlo .vc-nlo-gdpr{display:flex;flex-direction:row;align-items:flex-start;gap:8px}
.vc-nlo .vc-nlo-gdpr span{flex:1;min-width:0}
.vc-bill-toggle{display:flex;justify-content:center;gap:0;background:#eef1f6;border-radius:10px;padding:5px;width:max-content;max-width:100%;margin:0 auto 22px}
.vc-bill-toggle button{border:0;background:transparent;color:#5c6675;padding:9px 18px;border-radius:7px;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.vc-bill-toggle button.on{background:#004a97;color:#fff}
.vc-bill-toggle .vc-bt-save{display:inline-block;background:#1f7a4d;color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:20px;margin-left:5px}
.vc-bill-toggle button.on .vc-bt-save{background:rgba(255,255,255,.28)}
.vc-mp .vc-price{font-size:26px;font-weight:800;color:#004a97;margin:2px 0}
.vc-mp .vc-price small{font-size:14px;font-weight:500;color:#7a879a}
.vc-mp .vc-price-a{display:none}
.vc-mp.bill-a .vc-price-a{display:block}
.vc-mp.bill-a .vc-price-m{display:none}
.vc-mp .vc-trial-line{text-align:center;color:#1f7a4d;font-weight:700;font-size:15px;margin:4px 0 8px}
.vc-mp .vc-promo{background:#fff4d6;border:1px solid #ffd54a;color:#6b4d00;border-radius:12px;padding:14px 18px;text-align:center;font-size:15px;margin:0 0 10px}
/* ===== v5 (18 Jul 2026): mobile usability ===== */
/* iOS Safari auto-zooms any focused field whose font-size < 16px. This kept
   leaving visitors zoomed-in after touching a form. 16px stops it. */
@media (max-width:767px){
  input[type=text],input[type=email],input[type=tel],input[type=password],
  input[type=search],input[type=number],input[type=url],textarea,select,
  #vc-kb-lead input,#vc-kb-input,#vc-lr-form input,#vc-lr-form textarea,
  #vc-lr-form select,.vc-nlo input,#commentform input,#commentform textarea,
  #login input,#register input{font-size:16px !important}
}
/* tap targets: WCAG 2.5.8 asks for >=44px */
@media (max-width:767px){
  .slick-prev,.slick-next{width:44px !important;height:44px !important}
  .slg-button,.highlighted-category{min-height:44px !important;padding-top:11px !important;padding-bottom:11px !important}
}
/* comment field was reaching 405px inside a 390px viewport */
#commentform input,#commentform textarea{max-width:100% !important;box-sizing:border-box !important}
/* Listeo's hidden rating validator caused a 5px horizontal overflow on desktop */
.rating-validator{max-width:1px !important;opacity:0 !important;pointer-events:none !important}
/* "2 months free" badge was 11px - too small for a selling point */
.vc-bt-save,.vc-mp small{font-size:13px !important}
/* ===== v8 (18 Jul 2026): laptop header — menu was dropping below the logo ===== */
/* Two theme rules combined to break it: below 1230px .container shrinks to 970px,
   and #navigation.style-1 is forced to width:100%. Together the menu could not sit
   beside the logo and wrapped to a second row on common laptop widths.
   Applied from 1130px up only: below that the 6 items genuinely need more room
   than the viewport has (measured min 1129px), and forcing one row causes
   horizontal overflow — there the theme's stacked header is the correct layout. */
@media (min-width:1130px) and (max-width:1239px){
  #header .container{width:auto !important;max-width:none !important;
                     padding-left:18px !important;padding-right:18px !important}
  #navigation.style-1{width:auto !important;margin:22px 0 0 10px !important;
                      padding-top:0 !important;padding-bottom:0 !important}
  #navigation.style-1 > ul > li > a,#navigation ul.menu > li > a{
      padding-left:8px !important;padding-right:8px !important;
      font-size:13.5px !important;letter-spacing:0 !important}
  #logo img{max-height:52px !important;width:auto !important}
}
/* ===== v9 (18 Jul 2026): shared 4-up slider (reviews, tours) ===== */
.vc-slider{position:relative}
.vc-slider-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding:4px 2px 14px;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin}
.vc-slider-track::-webkit-scrollbar{height:6px}
.vc-slider-track::-webkit-scrollbar-thumb{background:#c9d4e2;border-radius:3px}
.vc-slider-item{flex:0 0 calc((100% - 54px)/4);scroll-snap-align:start;min-width:0}
.vc-slider-btn{position:absolute;top:38%;transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;border:1px solid #dbe3ec;background:#fff;
  color:#004a97;font-size:20px;line-height:1;cursor:pointer;
  box-shadow:0 3px 14px rgba(0,40,90,.16);display:flex;align-items:center;justify-content:center}
.vc-slider-btn:hover:not(:disabled){background:#004a97;color:#fff}
.vc-slider-btn:disabled{opacity:.32;cursor:default}
.vc-slider-prev{left:-14px}
.vc-slider-next{right:-14px}
.vc-slider-static .vc-slider-btn{display:none}
.vc-slider-static .vc-slider-track{overflow-x:visible}
@media(max-width:1100px){.vc-slider-item{flex:0 0 calc((100% - 36px)/3)}}
@media(max-width:900px){.vc-slider-item{flex:0 0 calc((100% - 18px)/2)}
  .vc-slider-prev{left:-6px}.vc-slider-next{right:-6px}}
@media(max-width:600px){.vc-slider-item{flex:0 0 86%}
  .vc-slider-btn{display:none}}
/* ===== v11 (18 Jul 2026): event form labels + add-listing intro ===== */
.vc-ev-l{display:block;margin:0 0 12px}
.vc-ev-l > span{display:block;font-size:14px;font-weight:600;color:#33445c;margin:0 0 5px}
.vc-ev-l input,.vc-ev-l textarea{width:100%;box-sizing:border-box}
.vc-ev-row .vc-ev-l{flex:1}
.vc-al-intro{max-width:820px;margin:0 auto 26px;background:#f5f8fc;border:1px solid #e2eaf3;
  border-radius:14px;padding:22px 24px}
.vc-al-intro h2{margin:0 0 10px;color:#004a97;font-size:22px}
.vc-al-intro p{margin:0 0 10px;color:#3a4655;font-size:15.5px;line-height:1.6}
.vc-al-intro ol{margin:0 0 12px 20px;color:#3a4655;font-size:15.5px;line-height:1.7}
.vc-al-intro .vc-al-cta{display:inline-block;background:#004a97;color:#fff;font-weight:700;
  text-decoration:none;padding:11px 20px;border-radius:9px;font-size:15px}
.vc-al-intro .vc-al-cta:hover{background:#00376f}
/* ===== v12 (18 Jul 2026): the 5px desktop overflow on listing pages =====
   .rating-validator is Listeo's hidden required input. Our v5 rule lost to the
   theme's input[type=text]{max-width:100%} — same !important, but the theme's
   selector is more specific. Matching on the element + class wins. */
input.rating-validator,
input[type=text].rating-validator,
.add-sub-rating input.rating-validator{
  max-width:1px !important;width:1px !important;
  opacity:0 !important;pointer-events:none !important}
/* ===== v13 (18 Jul 2026): slider arrows must not stick out =====
   The arrows sit at left/right:-14px, which is fine while the content column has
   margin either side. Between 1024px and 1150px the container fills the viewport,
   so the right arrow pushed the page 6px wide. Tuck them inside there. */
@media(max-width:1150px){
  .vc-slider-prev{left:2px !important}
  .vc-slider-next{right:2px !important}
}
/* ---- v14 (24 Jul 2026): desktop dropdown no-wrap + mobile footer compact ---- */
#navigation ul li ul.sub-menu,
#navigation .sub-menu{width:-moz-max-content!important;width:max-content!important;min-width:200px!important;max-width:340px!important}
#navigation .sub-menu li,
#navigation .sub-menu li a{width:auto!important;white-space:nowrap!important}
#navigation .sub-menu li a{padding-right:22px!important}
@media(max-width:767px){
  #footer .footer-widget.widget_nav_menu ul.menu{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:0}
  #footer .footer-widget.widget_nav_menu ul.menu li{margin:0!important;border:0!important}
  #footer .footer-widget.widget_nav_menu ul.menu li a{padding-top:7px!important;padding-bottom:7px!important;font-size:13px!important;line-height:1.25!important}
}
