@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,600;1,400&display=swap');
.page .header-post-title-container {
    display: none;
}

.vc-hoverbox-block-inner.vc-hoverbox-front-inner h2 {
    color: #fff;
    font-weight: 600;
    text-shadow: 2px 2px 3px black;
}

.vc_carousel-slideline {
	max-height: 300px;
}

.prettyphoto  img {
    max-width: 100%;
    width: 100%;
}

form#wpforms-form-1446 {
    padding: 10px 20px;
    background: #ebebeb;
    border: 3px solid #5472d2;
}

.vc_custom_heading.vc_custom_1505744456572.vc_gitem-post-data.vc_gitem-post-data-source-post_title {
    margin-top: 270px;
}

.big-slider .entry-title a {
    color: #ffffff;
    background: #060c081f;
    padding: 2px 10px;
    text-shadow: -2px 0px 5px black;
}

.slider-button {
    background: #c15d78;
}

.testimonial-entry-content p {
    font-size: 18px;
    color: #4d4a4a !important;
    font-weight: 500;
}

footer#colophon {
    background: #171717;
}

#colophon p {
    color: #e9e9e9;
}
.footer-box {
	width: 29%
}

#colophon a {
    color: #efefef;
    font-size: 16px;
}

h2.vc_custom_heading {
    background: transparent !important;
    border: 2px solid #fff;
}

/* ===== Paradise Holidays – Phase 1 (Nov 2026): readability + enquiry buttons =====
   Brand pink #F96BB7 and blue #568EBF kept as accents; deeper shades used where text must be readable. */

/* Body copy in content areas: #888 -> #4A4A4A */
#main .entry-content p,
#main .entry-content li { color: #4A4A4A; }

/* Content links: deeper brand pink for contrast */
#main .entry-content a:not(.ph-btn) { color: #C2367F; }
#main .entry-content a:not(.ph-btn):hover { color: #F96BB7; }

/* Tagline blue: deeper shade of brand blue */
#site-description { color: #2F6A9E; }

/* Primary enquiry button */
.ph-cta-wrap { margin: 18px 0 10px; }
#main a.ph-btn,
.wpforms-container button.wpforms-submit {
  display: inline-block;
  background: #C2367F !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px;
  padding: 14px 26px !important;
  font-size: 16px !important;
  font-weight: 600;
  letter-spacing: .3px;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .2s ease;
}
#main a.ph-btn:hover, #main a.ph-btn:focus,
.wpforms-container button.wpforms-submit:hover,
.wpforms-container button.wpforms-submit:focus { background: #A92C6D !important; color: #fff !important; }
.ph-cta-note { display: inline-block; margin-top: 8px; font-size: 13px; color: #4A4A4A; }

/* Enquiry form: clean white card (overrides earlier grey/blue box) */
form#wpforms-form-1446 {
  background: #fff;
  border: 1px solid #E2E7EE;
  border-top: 4px solid #568EBF;
  border-radius: 6px;
  padding: 20px 22px;
}
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-label-inline { color: #333 !important; }
.wpforms-container .wpforms-field-label { font-weight: 600 !important; }
.wpforms-container .wpforms-field-description { color: #5E5E5E !important; }
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container select,
.wpforms-container textarea { font-size: 16px !important; color: #333 !important; } /* 16px stops iPhone zoom-on-tap */

/* Contact quick links */
.ph-contact-quick a { font-weight: 600; }

@media (max-width: 600px) {
  #main a.ph-btn { display: block; text-align: center; }
  .wpforms-container button.wpforms-submit { width: 100%; }
}
/* Hero slider button: brand pink, readable */
.slider-button { background: #C2367F; }
.slider-button:hover { background: #A92C6D; }
/* ===== end Phase 1 ===== */


/* ===== Paradise Holidays design system v1 (Nov 2026) =====
   Brand colours measured from the logo: rose #C15D77, blue #5779B5, white.
   Theme accents kept: petal pink #F96BB7 (tiny highlights), sky blue #568EBF.
   Usage: ~75% white/sand, ~20% blue (structure), <=5% rose (action). */

/* ---------- Base type ---------- */
body, button, input, select, textarea { font-family: Roboto, "Helvetica Neue", Arial, sans-serif; }
#main .entry-content p,
#main .entry-content li { color: #4A4A4A; font-weight: 400; font-size: 17px; line-height: 1.65; }
#main .entry-content h1, #main .entry-content h2, #main .entry-content h3,
#main .entry-content h1.vc_custom_heading, #main .entry-content h2.vc_custom_heading, #main .entry-content h3.vc_custom_heading, #main .entry-content h4.vc_custom_heading {
  font-family: Lora, Georgia, serif !important; font-weight: 600; letter-spacing: 0; }
#main .entry-content h1, #main .entry-content h2, #main .entry-content h3 { color: #1F3A5F; }
#main .entry-content h4, #main .entry-content h5 { color: #1F3A5F; font-weight: 600; }
#main .entry-content .vc_custom_heading[style*="#1e73be"] { color: #1F3A5F !important; }
@media (max-width: 767px) {
  #main .entry-content p, #main .entry-content li { font-size: 16px; }
}

/* ---------- Links ---------- */
#main .entry-content a:not(.ph-btn):not(.ph-btn2) { color: #2F5C99; }
#main .entry-content a:not(.ph-btn):not(.ph-btn2):hover { color: #1F3A5F; }
#main .entry-content .vc_custom_heading a,
#main .entry-content h1 a, #main .entry-content h2 a { color: inherit !important; }

/* ---------- Header ---------- */
#site-title a { color: #5779B5; }
#site-description { color: #2F5C99; }
#site-navigation .menu > li > a { color: #1F3A5F; font-weight: 500; font-size: 15px; }
#site-navigation .menu > li > a:hover,
#site-navigation .menu > li.current-menu-item > a,
#site-navigation .menu > li.current-menu-ancestor > a { color: #A8465F; }
#site-navigation .sub-menu a { color: #1F3A5F; font-size: 15px; }
#site-navigation .sub-menu a:hover { color: #A8465F; }
#site-navigation .menu > li.ph-menu-cta > a {
  display: inline-block; background: #A8465F; color: #fff !important; line-height: 44px;
  padding: 0 18px; border-radius: 6px; margin-top: 13px; font-weight: 600; }
#site-navigation .menu > li.ph-menu-cta > a:hover { background: #8F3A50; }
@media (max-width: 767px) {
  #masthead .main-head-wrap { padding: 12px 0; }
  #header-logo-image img { max-height: 44px; width: auto; }
  #header-left-section { display: flex; align-items: center; gap: 10px; }
  #header-logo-image, #header-text { float: none; margin: 0; }
  #site-title { margin: 0; line-height: 1.1; }
  #site-title a { font-size: 22px; }
  #site-description { display: none; }
  #site-navigation .menu > li.ph-menu-cta > a { margin: 10px 0; display: block; text-align: center; }
}

/* ---------- Buttons ---------- */
#main a.ph-btn, .slider-button, .wpforms-container button.wpforms-submit {
  background: #A8465F !important; color: #fff !important; }
#main a.ph-btn:hover, #main a.ph-btn:focus, .slider-button:hover,
.wpforms-container button.wpforms-submit:hover { background: #8F3A50 !important; color: #fff !important; }
#main a.ph-btn2 {
  display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; box-sizing: border-box;
  border: 2px solid #1F3A5F; border-radius: 6px; color: #1F3A5F; font: 600 16px/20px Roboto, sans-serif; text-decoration: none; }
#main a.ph-btn2:hover { background: #1F3A5F; color: #fff; }
#main a.ph-btn2.ph-on-dark { border-color: #fff; color: #fff; }
#main a.ph-btn2.ph-on-dark:hover { background: #fff; color: #1F3A5F; }
a:focus-visible, button:focus-visible { outline: 3px solid #F96BB7; outline-offset: 3px; }

/* ---------- Form card ---------- */
form#wpforms-form-1446 { border-top-color: #3E74AD; }

/* ---------- Footer ---------- */
footer#colophon, #colophon .footer-widgets-wrapper { background: #16263D; }
#colophon .widget-title { color: #F96BB7; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
#colophon p, #colophon .textwidget, #colophon .site-info, #colophon .footer-bottom { color: #C9D3E0; }
#colophon a { color: #fff; }
#colophon a:hover { color: #F96BB7; }

/* ---------- Homepage components (.ph-*) ---------- */
.ph-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ph-eb { font: 500 13px/16px Roboto, sans-serif !important; letter-spacing: .08em; text-transform: uppercase; color: #2F5C99 !important; margin: 0 0 12px !important; }
.ph-h2 { font: 600 36px/44px Lora, Georgia, serif !important; color: #1F3A5F; margin: 0 0 16px !important; }
.ph-sec { padding: 96px 0; }
.ph-sand { background: #FAF8F5; }
.ph-tint { background: #EEF3FA; }
.ph-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 40px; }
.ph-lk { font: 600 15px/22px Roboto, sans-serif; color: #2F5C99 !important; text-decoration: none; }
.ph-lk:hover { text-decoration: underline; }
.ph-hero { position: relative; min-height: 600px; display: flex; align-items: flex-end; overflow: hidden; background: #1F3A5F; }
.ph-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ph-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(22,38,61,0) 30%, rgba(22,38,61,.75)); }
.ph-hero .ph-wrap { position: relative; z-index: 1; padding-bottom: 64px; width: 100%; }
.ph-hero .ph-eb { color: #fff !important; }
.ph-hero h1 { font: 600 52px/60px Lora, Georgia, serif !important; color: #fff !important; max-width: 780px; margin: 0 0 18px !important; }
.ph-hero p.ph-lead { font: 400 19px/30px Roboto, sans-serif !important; color: #fff !important; max-width: 640px; margin: 0 0 24px !important; }
.ph-hero p.ph-small { font: 400 14px/20px Roboto, sans-serif !important; color: #fff !important; margin: 16px 0 0 !important; }
.ph-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.ph-btns .ph-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 26px; border-radius: 6px; font: 600 16px/20px Roboto, sans-serif; text-decoration: none; box-sizing: border-box; }
.ph-trust { background: #FAF8F5; border-bottom: 1px solid #E2E7EE; }
.ph-trust .ph-wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 24px; padding-bottom: 24px; }
.ph-trust strong { font: 600 15px/20px Roboto, sans-serif; color: #1F3A5F; }
.ph-trust img { height: 44px; width: auto; }
.ph-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.ph-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ph-step-n { display: inline-block; width: 44px; height: 44px; border-radius: 50%; background: #FBEFF2; color: #8F3A50; font: 600 18px/44px Lora, serif; text-align: center; margin-bottom: 12px; }
.ph-step h3 { font: 600 22px/30px Lora, Georgia, serif !important; margin: 0 0 8px !important; }
.ph-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 12px rgba(22,38,61,.10); display: flex; flex-direction: column; text-decoration: none !important; transition: box-shadow .2s, transform .2s; }
.ph-card:hover { box-shadow: 0 6px 20px rgba(22,38,61,.16); transform: translateY(-2px); }
.ph-card .ph-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.ph-card .ph-img.ph-32 { aspect-ratio: 3 / 2; }
.ph-card .ph-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ph-card .ph-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.ph-card h3 { font: 600 22px/28px Lora, Georgia, serif !important; color: #1F3A5F !important; margin: 0 !important; }
.ph-card p { font-size: 15px !important; line-height: 24px !important; margin: 0 !important; }
.ph-badge { position: absolute; top: 12px; left: 12px; background: #1F3A5F; color: #fff; font: 600 13px/16px Roboto, sans-serif; padding: 6px 9px; border-radius: 6px; }
.ph-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ph-tag { background: #EEF3FA; color: #1F3A5F; font: 500 13px/16px Roboto, sans-serif; padding: 6px 10px; border-radius: 6px; }
.ph-tag.ph-rose { background: #FBEFF2; color: #8F3A50; }
.ph-why { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: center; }
.ph-why > img { width: 100%; height: 440px; object-fit: cover; border-radius: 10px; }
.ph-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-bottom: 20px; }
.ph-grid2 h3 { font: 600 19px/26px Lora, Georgia, serif !important; margin: 0 0 6px !important; }
.ph-grid2 p { font-size: 15px !important; line-height: 24px !important; margin: 0 !important; }
.ph-quote { border: 1px solid #E2E7EE; border-radius: 10px; padding: 28px; display: flex; flex-direction: column; gap: 16px; background: #fff; }
.ph-quote blockquote { margin: 0; padding: 0; border: 0; font: italic 400 18px/29px Lora, Georgia, serif; color: #1F3A5F; background: none; }
.ph-quote cite { font: 400 14px/20px Roboto, sans-serif; font-style: normal; color: #5F6672; }
.ph-quote cite b { color: #1F3A5F; }
.ph-band { background: #3E74AD; padding: 72px 0; }
.ph-band .ph-wrap { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.ph-band h2 { font: 600 34px/42px Lora, Georgia, serif !important; color: #fff !important; margin: 0 0 10px !important; }
.ph-band p { color: #fff !important; margin: 0 !important; max-width: 640px; }
@media (max-width: 1024px) {
  .ph-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ph-why { grid-template-columns: 1fr; gap: 32px; }
  .ph-why > img { height: 320px; }
}
@media (max-width: 767px) {
  .ph-sec { padding: 56px 0; }
  .ph-wrap { padding: 0 20px; }
  .ph-h2 { font-size: 28px !important; line-height: 34px !important; }
  .ph-hero { min-height: 560px; }
  .ph-hero .ph-wrap { padding-bottom: 28px; }
  .ph-hero h1 { font-size: 34px !important; line-height: 40px !important; }
  .ph-hero p.ph-lead { font-size: 16px !important; line-height: 25px !important; }
  .ph-btns { flex-direction: column; }
  .ph-btns .ph-btn, .ph-btns .ph-btn2 { width: 100%; justify-content: center; min-height: 52px; }
  .ph-trust .ph-wrap { gap: 14px; justify-content: center; }
  .ph-trust img { height: 34px; }
  .ph-grid3 { grid-template-columns: 1fr; gap: 24px; }
  .ph-grid4.ph-cards-style { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ph-grid4.ph-cards-style .ph-body { padding: 12px; }
  .ph-grid4.ph-cards-style .ph-body p, .ph-grid4.ph-cards-style .ph-lk { display: none; }
  .ph-grid4.ph-cards-style h3 { font-size: 17px !important; line-height: 22px !important; }
  .ph-grid4.ph-itins { display: flex; overflow-x: auto; gap: 14px; margin: 0 -20px; padding: 0 20px 8px; scroll-snap-type: x mandatory; }
  .ph-grid4.ph-itins .ph-card { flex: 0 0 78%; scroll-snap-align: start; }
  .ph-grid2 { grid-template-columns: 1fr; }
  .ph-band { padding: 48px 0; }
  .ph-band h2 { font-size: 27px !important; line-height: 33px !important; }
  .ph-quotes { display: flex; overflow-x: auto; gap: 14px; margin: 0 -20px; padding: 0 20px 8px; scroll-snap-type: x mandatory; }
  .ph-quotes .ph-quote { flex: 0 0 85%; scroll-snap-align: start; }
}
/* ===== end design system v1 ===== */
/* --- header fit + homepage spacing (design system v1.1) --- */
#site-navigation .menu > li { padding: 0 12px; }
#site-navigation .menu > li.ph-menu-cta { padding-right: 0; }
#site-navigation .menu > li.ph-menu-cta > a { height: auto; }
#header-left-section { margin-right: 16px; }
@media (min-width: 768px) and (max-width: 1180px) {
  #site-navigation .menu > li { padding: 0 8px; }
  #site-navigation .menu > li > a { font-size: 14px; }
  #site-title a { font-size: 28px; }
}
.page-id-49 #main .single-page, .page-id-4157 #main .single-page, #main .single-page:has(.ph-hero) { margin-top: 0; }
.page-id-49 .entry-content > .vc_row:last-child, .page-id-4157 .entry-content > .vc_row:last-child { margin-bottom: 0; }
/* ===== end design system v1.1 ===== */
/* --- v1.2: homepage polish --- */
.ph-row, .ph-row .wpb_raw_code, .ph-row .wpb_content_element, .ph-row .vc_column-inner > .wpb_wrapper > * { margin-bottom: 0 !important; }
.ph-row .vc_column-inner { padding: 0 !important; }
.ph-quote, .ph-quote blockquote, .ph-quote cite { text-align: left; }
.ph-quote blockquote::before, .ph-quote blockquote::after { content: none !important; }
.ph-quote { margin: 0; }
.ph-band .ph-wrap > div:first-child { flex: 1 1 480px; }
.ph-band .ph-wrap > .ph-btns { flex: 0 0 auto; }
#header-right-section .search-top { margin-left: 18px; }
/* ===== end design system v1.2 ===== */
/* --- v1.3: mobile polish --- */
.menu-toggle, .menu-toggle:before { color: #1F3A5F; }
@media (max-width: 767px) {
  .ph-grid4.ph-itins, .ph-quotes { scroll-padding-left: 20px; }
  .ph-band .ph-wrap > .ph-btns { width: 100%; }
}
/* mobile enquiry bar: design-system colours */
.ph-mbar-enquire { background: #A8465F !important; }
.ph-mbar-wa { background: #2F5C99 !important; }
/* ===== end design system v1.3 ===== */
/* --- v1.4: header details --- */
#site-navigation .menu > li.menu-item-type-custom.current-menu-item > a { color: #1F3A5F; }
#site-navigation .menu > li.menu-item-type-custom.current-menu-item > a:hover { color: #A8465F; }
@media (min-width: 768px) { #site-navigation .menu > li.ph-menu-cta { padding-right: 0; } #site-navigation { padding-right: 44px; } }
/* ===== end design system v1.4 ===== */
/* --- v1.5: mobile fixes for existing page headers + submenu toggles --- */
@media (max-width: 767px) {
  #main .entry-content h2.vc_custom_heading.vc_custom_heading { margin-left: 16px !important; margin-right: 16px !important; }
}
#site-navigation .sub-toggle { background: #EEF3FA; color: #1F3A5F; }
/* ===== end design system v1.5 ===== */
/* --- v1.6: page-builder grids and buttons --- */
#main .entry-content div.vc_custom_heading, #main .entry-content div.vc_custom_heading p { font-family: Roboto, "Helvetica Neue", Arial, sans-serif !important; font-weight: 400 !important; color: #4A4A4A; }
#main .entry-content a.vc_btn3, #main .entry-content .vc_btn3 {
  background: transparent !important; color: #1F3A5F !important; border: 2px solid #1F3A5F !important;
  border-radius: 6px !important; font: 600 15px/20px Roboto, sans-serif !important; padding: 12px 20px !important; box-shadow: none !important; }
#main .entry-content a.vc_btn3:hover, #main .entry-content a.vc_btn3:focus { background: #1F3A5F !important; color: #fff !important; }
#main .entry-content .vc_grid-item h4, #main .entry-content .vc_grid-item h4 a { font-family: Lora, Georgia, serif !important; font-weight: 600 !important; color: #1F3A5F !important; }
/* ===== end design system v1.6 ===== */
/* --- v1.7: site title as text (not a heading) + 4-column footer --- */
#site-title { margin: 0; line-height: 1.4; }
#site-title a { font-weight: 400; }
#colophon .footer-box { width: 22%; }
@media (max-width: 767px) { #colophon .footer-box { width: 100%; float: none; margin-right: 0; margin-bottom: 28px; } }
#colophon .ph-flinks { list-style: none; margin: 0; padding: 0; }
#colophon .ph-flinks li { margin: 0; padding: 0; line-height: 1.4; list-style: none; }
#colophon .ph-flinks li a { display: inline-block; padding: 6px 0; font-size: 15px; color: #fff; }
#colophon .ph-flinks li a:hover { color: #F96BB7; }
#colophon .ph-fblurb, #colophon .ph-fnote { color: #C9D3E0; font-size: 14px; line-height: 1.6; margin: 0 0 10px; }
#colophon .ph-fnote a { color: #fff; }
/* ===== end design system v1.7 ===== */
/* --- v1.8: How it works icons --- */
.ph-step-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.ph-step-icon { width: 60px; height: 60px; border-radius: 50%; background: #FBEFF2; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.ph-step-icon svg { width: 28px; height: 28px; fill: none; stroke: #A8465F; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ph-step-num { font: 500 13px/16px Roboto, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #2F5C99; }
/* ===== end design system v1.8 ===== */
/* --- v2.0: Tour page template (.pt-*) --- */
.pt-crumbs { font: 400 13px/18px Roboto, sans-serif; color: #fff; margin: 0 0 18px !important; opacity: .9; }
.pt-crumbs a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
.pt-hero { min-height: 560px; }
.pt-hero h1 { font-size: 48px !important; line-height: 56px !important; }
.pt-sub { font: 500 16px/24px Roboto, sans-serif !important; color: #fff !important; margin: 0 0 24px !important; }
.pt-facts { position: relative; z-index: 2; margin-top: -44px; }
.pt-facts .ph-wrap > div { background: #fff; border-radius: 10px; box-shadow: 0 6px 24px rgba(22,38,61,.12); display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pt-fact { padding: 18px 20px; border-right: 1px solid #E2E7EE; }
.pt-fact:last-child { border-right: 0; }
.pt-fact span { display: block; font: 500 12px/16px Roboto, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #5F6672; margin-bottom: 4px; }
.pt-fact b { font: 600 16px/22px Roboto, sans-serif; color: #1F3A5F; }
.pt-layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 48px; align-items: start; padding-top: 56px; padding-bottom: 24px; }
.pt-main > section { margin-bottom: 56px; }
.pt-main h2 { font: 600 30px/38px Lora, Georgia, serif !important; color: #1F3A5F !important; margin: 0 0 16px !important; }
.pt-side { position: sticky; top: 24px; }
.pt-card { background: #fff; border: 1px solid #E2E7EE; border-top: 4px solid #A8465F; border-radius: 10px; padding: 24px; box-shadow: 0 2px 12px rgba(22,38,61,.08); }
.pt-card h3 { font: 600 22px/28px Lora, Georgia, serif !important; color: #1F3A5F !important; margin: 0 0 8px !important; }
.pt-card p { font-size: 15px !important; line-height: 24px !important; margin: 0 0 16px !important; }
.pt-card .ph-btn, .pt-card .ph-btn2 { display: flex !important; justify-content: center; width: 100%; margin-bottom: 10px; box-sizing: border-box; }
.pt-card .pt-wa { display: block; text-align: center; font: 600 15px/22px Roboto, sans-serif; color: #2F5C99 !important; margin-top: 6px; }
.pt-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
.pt-list li { position: relative; padding-left: 30px; margin: 0 !important; }
.pt-list li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: #FBEFF2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8465F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat; }
.pt-route-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.pt-route-chips span { background: #EEF3FA; color: #1F3A5F; font: 500 13px/16px Roboto, sans-serif; padding: 6px 10px; border-radius: 6px; }
.pt-map { position: relative; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; border: 1px solid #E2E7EE; }
.pt-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pt-day { border: 1px solid #E2E7EE; border-radius: 10px; margin-bottom: 10px; background: #fff; }
.pt-day summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 14px 18px; min-height: 44px; }
.pt-day summary::-webkit-details-marker { display: none; }
.pt-day summary::after { content: "+"; margin-left: auto; font: 400 24px/1 Roboto, sans-serif; color: #2F5C99; }
.pt-day[open] summary::after { content: "−"; }
.pt-dn { flex: none; background: #1F3A5F; color: #fff; font: 600 13px/16px Roboto, sans-serif; padding: 6px 9px; border-radius: 6px; }
.pt-dp { font: 600 18px/24px Lora, Georgia, serif; color: #1F3A5F; }
.pt-dt { font: 500 12px/16px Roboto, sans-serif; color: #8F3A50; background: #FBEFF2; padding: 4px 8px; border-radius: 6px; }
.pt-day .pt-db { padding: 0 18px 16px 18px; }
.pt-day .pt-db p { font-size: 16px !important; margin: 0 0 10px !important; }
.pt-gap { border: 2px dashed #A8465F; background: #FBEFF2; border-radius: 10px; padding: 16px 18px; }
.pt-gap::before { content: "TO CONFIRM – preview only, not published"; display: block; font: 600 12px/16px Roboto, sans-serif; letter-spacing: .06em; color: #8F3A50; margin-bottom: 8px; }
.pt-gap p, .pt-gap li { font-size: 15px !important; color: #4A4A4A; }
.pt-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pt-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; display: block; }
.pt-faq details { border-bottom: 1px solid #E2E7EE; padding: 4px 0; }
.pt-faq summary { cursor: pointer; font: 600 17px/26px Roboto, sans-serif; color: #1F3A5F; padding: 12px 0; min-height: 44px; }
.pt-faq details p { margin: 0 0 14px !important; }
.pt-enq { background: #EEF3FA; }
.pt-enq .ph-wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: start; }
@media (max-width: 1024px) {
  .pt-facts .ph-wrap > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pt-fact:nth-child(3) { border-right: 0; }
  .pt-fact:nth-child(-n+3) { border-bottom: 1px solid #E2E7EE; }
  .pt-layout { grid-template-columns: 1fr; }
  .pt-side { position: static; }
  .pt-enq .ph-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .pt-hero { min-height: 520px; }
  .pt-hero h1 { font-size: 32px !important; line-height: 38px !important; }
  .pt-facts { margin-top: -28px; }
  .pt-facts .ph-wrap > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-fact { padding: 14px; border-bottom: 1px solid #E2E7EE; }
  .pt-fact:nth-child(odd) { border-right: 1px solid #E2E7EE; }
  .pt-fact:nth-child(even) { border-right: 0; }
  .pt-layout { padding-top: 36px; gap: 32px; }
  .pt-main > section { margin-bottom: 40px; }
  .pt-main h2 { font-size: 25px !important; line-height: 31px !important; }
  .pt-list { grid-template-columns: 1fr; }
  .pt-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-dp { font-size: 16px; }
}
/* ===== end tour template v2.0 ===== */
/* --- v2.1: tour template polish --- */
.pt-facts { margin-top: 0; padding-top: 24px; }
#main .entry-content ul.pt-list, #main .entry-content ul.pt-list li { list-style: none !important; margin-left: 0 !important; }
#main .entry-content ul.pt-list { padding-left: 0 !important; }
#main .entry-content a.ph-btn2 { color: #1F3A5F; }
#main .entry-content a.ph-btn2:hover { color: #fff; }
#main .entry-content a.ph-btn2.ph-on-dark { color: #fff; }
#main .entry-content a.ph-btn2.ph-on-dark:hover { color: #1F3A5F; }
.ph-row.pt-r3, .ph-row.pt-r3 .vc_column_container, .ph-row.pt-r3 .vc_column-inner, .ph-row.pt-r3 .wpb_wrapper, .ph-row.pt-r3 .wpb_raw_code, #main .single-page, #main .inner-wrap, #primary, #content, #main .entry-content, #main article { overflow: visible !important; }
.pt-enq-row { background: #EEF3FA; padding-bottom: 72px !important; }
.pt-enq-row .wpb_text_column { max-width: 760px; margin: 0 auto !important; }
@media (max-width: 767px) { .pt-enq-row { padding-bottom: 48px !important; } }
body:has(.pt-layout), #page:has(.pt-layout) { overflow: visible !important; overflow-x: clip !important; }
/* ===== end tour template v2.1 ===== */
/* --- v2.2: short day summaries + read-more --- */
.pt-day .pt-db p.pt-sum { font-size: 16px !important; line-height: 26px !important; color: #1F3A5F; margin: 0 0 8px !important; }
.pt-day .pt-more { margin: 0; }
.pt-day .pt-more > summary { display: inline-flex; align-items: center; gap: 6px; padding: 6px 0; min-height: 32px; font: 600 14px/20px Roboto, sans-serif; color: #2F5C99; cursor: pointer; }
.pt-day .pt-more > summary::after { content: "▾"; margin-left: 0; font-size: 12px; color: #2F5C99; }
.pt-day .pt-more[open] > summary::after { content: "▴"; }
.pt-day .pt-more[open] > summary { margin-bottom: 6px; }
.pt-day .pt-more p { color: #4A4A4A; font-size: 15px !important; line-height: 24px !important; }
.pt-map { aspect-ratio: 4 / 3; }
@media (min-width: 768px) { .pt-map { aspect-ratio: 16 / 10; } }
/* ===== end tour template v2.2 ===== */
/* --- v2.3: inclusions block --- */
.pt-incl { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px; }
.pt-incl > div { background: #FAF8F5; border: 1px solid #E2E7EE; border-radius: 10px; padding: 20px 22px; }
.pt-main .pt-h3 { font: 600 19px/26px Lora, Georgia, serif !important; color: #1F3A5F !important; margin: 0 0 12px !important; }
#main .entry-content ul.pt-list.pt-one { grid-template-columns: 1fr; }
.pt-list.pt-x li::before { background: #EEF3FA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F5C99' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center/11px no-repeat; }
@media (max-width: 767px) { .pt-incl { grid-template-columns: 1fr; } }
/* ===== end tour template v2.3 ===== */