/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Child theme custom styles (organized).
Tags: translation-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.2.28.1755013145
Updated: 2025-08-16
*/

/* =========================================================
   00. GLOBAL IMPORTS
   ---------------------------------------------------------
   Load DM Serif Text ONCE (used by hero headings).
   Keep imports at the very top for performance.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Text:ital@0;1&display=swap');

/* =========================================================
   01. CSS VARIABLES
   ========================================================= */
:root{
  /* Brand palette */
  --brand-blue:   #00b4d8;
  --brand-orange: #ff5400;
  --ink:          #111827;
  --ink-2:        #374151;
  --muted:        #666;
  --border:       #ddd;
  --bg:           #fff;

  /* Typography */
  --font-body:    'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-accent:  'Open Sans', Arial, sans-serif;

  /* Spacing + radius */
  --radius-sm:    6px;
  --radius-md:    10px;
  --gap-xs:       6px;
  --gap-sm:       10px;
  --gap-md:       15px;
}

/* =========================================================
   02. BASE/COMPONENTS (existing)
   ========================================================= */

/* --- Smart Tag Cloud --- */
.tagcloud.my-smart-tags-list .tag-cloud-link { text-decoration: none !important; }
.tagcloud.my-smart-tags-list .tag-cloud-link:hover {
  text-decoration: none !important; background-image: none !important; box-shadow: none !important; color: inherit !important;
}

/* --- Breadcrumbs --- */
.kadence-breadcrumb-container {
  font-size: 14px !important;
  font-family: 'Poppins', sans-serif;
  color: #555;
}
.kadence-breadcrumb-container a { text-decoration: none !important; color: #555; }
.kadence-breadcrumb-container a:hover { color: #000; }
.kadence-breadcrumb-container .bc-delimiter { margin: 0 5px; color: #888; }

/* =========================================================
   03. WIDGET — Travel Quote of the Week (Card)
   ========================================================= */
.travel-quote-card {
  position: relative;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  padding: 16px 18px 18px;
  overflow: hidden;
  font-family: var(--font-accent);
  text-align: center;
  max-width: 720px;
  margin: 20px auto;
}
.tq-badge {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--brand-blue);
  background: color-mix(in srgb, var(--brand-blue) 12%, white);
  padding: 5px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.tq-badge::after {
  content: "";
  display: block;
  width: 120px; height: 3px; margin: 8px auto 0; border-radius: 9999px;
  background: linear-gradient(to right, #ffffff, var(--brand-blue), #ffffff);
}
.tq-quote {
  margin: 12px auto 6px;
  color: var(--ink);
  font-size: 18px;
  max-width: 40ch;
  display: inline-block;
  font-family: "Roboto Condensed", "Arial Narrow", "Helvetica Condensed", var(--font-accent), sans-serif;
  font-stretch: condensed;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.2px;
  white-space: normal;
}
.tq-quote-mark {
  color: #000;
  font-weight: 600;
  font-size: 17px;
  display: inline;
  vertical-align: baseline;
  margin: 0; padding: 0;
}
.tq-author { margin-top: 10px; color: var(--muted); font-size: 13px; font-weight: 600; text-align: center; }

/* =========================================================
   04. MEDIA — Images in Columns & Captions
   ========================================================= */
body.single-post .entry-content .wp-block-columns { gap: 10px !important; }
body.single-post .entry-content .wp-block-columns .wp-block-image,
body.single-post .entry-content .wp-block-columns .wp-block-image .pin-it-container {
  margin: 0 !important; display: block !important; line-height: 0 !important;
}
body.single-post .entry-content .wp-block-image img {
  display: block; margin: 0; line-height: 0;
}
body.single-post .entry-content figure.wp-block-image figcaption.wp-element-caption,
body.single-post .entry-content .wp-block-columns figure.wp-block-image figcaption.wp-element-caption {
  margin-top: 6px !important; font-family: var(--font-body); font-size: 13px; color: #666; text-align: left; line-height: 1.4;
}

/* =========================================================
   05. FONT DISPLAY SWAPS (Performance)
   ========================================================= */
@font-face { font-family: 'Font Awesome 6 Free';   font-style: normal; font-weight: 900; font-display: swap; src: local('Font Awesome 6 Free'); }
@font-face { font-family: 'Font Awesome 6 Brands'; font-style: normal; font-weight: 400; font-display: swap; src: local('Font Awesome 6 Brands'); }

/* =========================================================
   06. CATEGORY SEPARATOR (orange pipes)
   ========================================================= */
.pt-cv-taxoterm {
  display: flex; justify-content: center; align-items: center; flex-wrap: nowrap;
  column-gap: 8px; margin: 10px 0; font-weight: 600; text-align: center;
}
.pt-cv-taxoterm a {
  position: relative; display: inline-block; margin: 0; padding: 0;
  color: #FF5400 !important; text-decoration: none;
}
.pt-cv-taxoterm a + a::before {
  content: ""; position: absolute; left: -4px; top: 50%; transform: translateY(-50%);
  height: 1em; border-left: 1px solid #000;
}
.pt-cv-taxoterm a:visited,
.pt-cv-taxoterm a:hover,
.pt-cv-taxoterm a:focus,
.pt-cv-taxoterm a:active { color: #FF5400 !important; }
.pt-cv-taxoterm a::after { content: none !important; }

/* =========================================================
   07. MISC SMALL FIXES
   ========================================================= */
button.kt-modal-close { transform: translate(-20px, 7px); z-index: 9999; }

/* =========================================================
   08. KADENCE FORMS — Overrides
   ========================================================= */
.kb-forms-submit.button{
  background-color: #fff !important; color: #000 !important; border: 2px solid #000 !important;
  font-weight: 600; transition: all 0.3s ease;
}
.kb-forms-submit.button:hover{
  background-color: #FF5400 !important; color: #fff !important; border-color: #FF5400 !important;
}
.kb-field.kb-email-field{
  border: 2px solid #fff !important; background: transparent; color: #fff;
  font-family: 'DM Sans', sans-serif; padding: 10px 14px; border-radius: 4px;
}
.kb-field.kb-email-field::placeholder { color: #ddd; }
.kb-field.kb-email-field:focus { outline: none !important; border: 2px solid #fff !important; box-shadow: none !important; }

/* stop mobile zoom */
.kb-field,
.kb-field input[type="email"],
.kb-field input[type="text"],
.kb-field input[type="password"],
.kb-field input[type="tel"] {
  font-size: 16px !important; max-width: 100% !important; box-sizing: border-box;
}
.kb-field input:focus { transform: none !important; -webkit-transform: none !important; outline: none; }

/* Hide specific “Scan Me” block on mobile */
@media (max-width: 767px){
  p.kt-adv-headinga6441c-a8,
  figure.wp-block-image .wp-image-5468,
  p.has-theme-palette-9-color.has-small-font-size.wp-elements-89e6be6683ffe920160fbea130135649 { display: none !important; }
}

/* =========================================================
   09. HERO VIDEO (homepage) — keep for future use
   ========================================================= */
.ld-hero-video{
  position: relative; height: min(70svh, 820px); min-height: 380px; overflow: hidden;
  border-bottom-left-radius: 30%; border-bottom-right-radius: 30%;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
}
.ld-bg-video{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ld-hero-overlay{
  position: relative; z-index: 1; display: grid; place-items: center; height: 100%;
  padding: 0 2rem; background: none; color: #000;
}
.ld-hero-block{
  position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 680px;
  transform: translateX(-60%) translateY(-20%);
}
.ld-hero-text{
  display: inline-block; background: rgba(255,255,255,0.6); border-radius: 69px; padding: 1.4rem 2rem;
  box-shadow: 0 5px 20px rgba(0,0,0,0.14);
}
.ld-hero-text h6{
  font-weight: 400; font-size: clamp(28px, 4vw, 54px); line-height: 1.1; margin: 0 !important; padding: 0 !important; color: #000; text-shadow: none !important;
}
.ld-hero-sub{
  font-family: "Raleway", sans-serif; font-weight: 400;
  font-size: calc(clamp(16px, 1.8vw, 20px) + 1px); line-height: 1.35; margin: .4em 0 0 0 !important; padding: 0 !important; color: #000; text-align: center;
}
.ld-hero-sub .ld-hero-link{
  color: #ff7a00; font-weight: 700; text-decoration: none; transition: color .3s ease, border-bottom .3s ease; border-bottom: 1px solid transparent;
}
.ld-hero-sub .ld-hero-link:hover{ color: #000; border-bottom: 1px solid #000; }
@media (max-width:1024px){ .ld-hero-video{ display:none !important; } }
@media (prefers-reduced-motion: reduce){ .ld-bg-video{ display:none; } }

/* =========================================================
   09A. STATIC HERO (Image version) — lazy-proof + CLS-safe
   ========================================================= */
.ld-hero-static{
  position: relative;
  height: min(70svh, 820px);
  min-height: 380px;
  overflow: hidden;
  border-bottom-left-radius: 30%;
  border-bottom-right-radius: 30%;
  box-shadow: 0 10px 20px rgba(0,0,0,0.18);
  background: #f2f2f2;         /* safe fallback color */
  contain: layout paint;        /* isolate layout/paint (CLS help) */
}
.ld-hero-img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block !important;    /* defeat any fade-in/hide scripts */
  opacity: 1 !important;
  z-index: 0;
  pointer-events: none;         /* overlay remains clickable */
}
.ld-hero-layer{
  position: relative; z-index: 1; display: grid; place-items: center;
  height: 100%; padding: 0 2rem; background: none; color: #000;
}
.ld-hero-shell{
  position: relative; display: flex; flex-direction: column; align-items: center;
  text-align: center; max-width: 680px;
  transform: translateX(-60%) translateY(-20%);
}
.ld-hero-copy{
  display: inline-block; background: rgba(255,255,255,0.6);
  border-radius: 69px; padding: 1.4rem 2rem;
  box-shadow: 0 5px 20px rgba(0,0,0,0.14);
}
.ld-hero-copy h6{
  font-weight: 400; font-size: clamp(28px, 4vw, 54px); line-height: 1.1;
  margin: 0 !important; color: #000;
}
.ld-hero-desc{
  font-family: "Raleway", sans-serif; font-weight: 400;
  font-size: calc(clamp(16px, 1.8vw, 20px) + 1px);
  line-height: 1.35; margin: .4em 0 0 0 !important; color: #000; text-align: center;
}
.ld-hero-anchor{
  color: #ff7a00; font-weight: 700; text-decoration: none;
  transition: color .3s ease, border-bottom .3s ease;
  border-bottom: 1px solid transparent;
}
.ld-hero-anchor:hover{ color: #000; border-bottom: 1px solid #000; }
@media (max-width: 820px){
  .ld-hero-static{ display: none !important; } /* desktop-only hero, as requested */
}

/* =========================================================
   10. COOL LIST + CAROUSEL (left list + right scroller)
   ========================================================= */

/* Container */
.cool__container{
  display: flex; gap: 55px; width: 100%;
  padding: 20px 45px 20px 80px; margin-left: 30px;
}

/* Left column (small links) */
.cool__left{
  width: 30%; min-width: 250px; flex: none; padding-left: 50px; margin-left: 0;
}
.article-text-block{
  display: flex; align-items: center; text-decoration: none; color: inherit; margin-bottom: 20px;
}
.article-text-block__image{
  flex-shrink: 0; margin-right: 15px; width: 140px; height: 100px; overflow: hidden; border-radius: 5px;
}
.article-text-block__image img{
  display: block; width: 100%; height: 100%; object-fit: cover; filter: brightness(100%); transition: filter .3s ease-in-out;
}
.article-text-block__content{ flex-grow: 1; padding-right: 10px; }
.article-text-block__title{ margin: 0; font-size: 19px; line-height: 1.3; color: #333; }
.article-text-block:hover .article-text-block__image img{ filter: brightness(115%); }
.cool__left .article-text-block__title{ text-decoration: none; }
.cool__left .article-text-block:hover .article-text-block__title,
.cool__left .article-text-block:focus-visible .article-text-block__title{
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: currentColor;
}

/* Right column (carousel) */
.cool__right{
  width: 70%; flex: none; display: flex; overflow-x: scroll; -webkit-overflow-scrolling: touch; cursor: grab;
  padding-right: 40px; padding-bottom: 10px; gap: 20px;
  user-select: none; -webkit-user-select: none; -moz-user-select: none;
  -ms-overflow-style: none; scrollbar-width: none;
}
.cool__right::-webkit-scrollbar{ display:none; }
.article-block, .article-block img{ user-select:none; -webkit-user-select:none; -moz-user-select:none; }
.cool__right.active{ cursor: grabbing; cursor: -webkit-grabbing; }

.article-block{
  flex-shrink:0; position:relative; text-decoration:none; color:#fff; width:322px; height:466px; overflow:hidden; border-radius:10px;
}
.article-block__image{ position:absolute; top:0; left:0; width:100%; height:100%; }
.article-block__image img{ display:block; width:100%; height:100%; object-fit:cover; filter:brightness(100%); transition:filter .3s ease-in-out; }
.article-block__content{
  position:absolute; bottom:0; left:0; width:100%; padding:15px 25px 5px 25px;
  background:linear-gradient(to top, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 100%); z-index:10;
}
.article-block__title{ margin:0; font-size:26px; }
.article-block__subtitle{ margin:5px 0 0; font-size:17px; font-weight:normal; }
.article-block:hover .article-block__image img{ filter:brightness(85%); }

/* North America special (desktop) */
.cool__right a[title="NORTH AMERICA"] h3.article-block__title{
  margin-top:0 !important; position:absolute; top:50%; left:50%; transform:translate(-50%, 7%); text-align:center; width:100%;
}
.cool__right a[title="NORTH AMERICA"] .article-block__content{
  top:auto; bottom:0; padding:25px; height:40%;
  background:linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 100%);
}

/* Caribbean special (desktop only) */
@media (min-width:821px){
  .cool__right a[title="CARIBBEAN"] .article-block__title{
    white-space:nowrap; word-break:keep-all; hyphens:none;
    font-size:2.0em !important; letter-spacing:0 !important; line-height:1;
    position:relative; top:-10px;
  }
}

/* Tablet layout (820–1200px) */
@media (min-width:820px) and (max-width:1200px){
  .cool__container{ padding:20px 25px 20px 15px; gap:30px; margin-left:0; }
  .cool__left{ margin-right:50px !important; padding-left:5px; width:350px !important; min-width:350px !important; flex:0 0 350px; }
  .cool__right{ width:auto; flex-grow:1; gap:15px; }
  .cool__right .article-block{ width:280px; height:405px; }
  .article-block__content .article-block__title{ font-size:24px; }
  .article-block .article-block__content-link h3{ font-size:24px !important; }
}

/* Mobile (≤768px) */
@media (max-width:768px){
  .cool__container{ flex-direction:column; gap:20px; padding:20px 0; margin-left:0; }
  .cool__left{ width:100%; padding-left:20px; padding-right:20px; margin-left:0; min-width:100%; flex:none; margin-right:0 !important; width:100% !important; min-width:100% !important; }
  .cool__left, .cool__right{ width:100%; min-width:100%; flex:none; }
  .cool__right .article-block{ height:300px; }
  .cool__right{ padding-left:20px; padding-right:20px; padding-bottom:10px; margin-left:0; margin-right:0; }
  .cool__left .article-text-block__image{ width:70px; height:55px; }
  .article-block:hover .article-block__image img{ filter:brightness(100%); }
  .article-text-block:hover .article-text-block__image img{ filter:brightness(100%); }
  .cool__right a[title="NORTH AMERICA"] h3.article-block__title{ top:50%; transform:translate(-50%, 10%); font-size:1.6em; line-height:1; }
  .cool__right a[title="NORTH AMERICA"] .article-block__content{ height:60%; padding:18px; }
}

/* Desktop: add tiny buffer so first/last carousel cards aren’t clipped */
@media (min-width:1025px){
  .cool__right .article-block:first-child{ margin-left: 2px; }
  .cool__right .article-block:last-child{  margin-right:17px; }
  .cool__right{ scroll-padding-left:9px; scroll-padding-right:9px; }
}

/* Tablet (768–1200) — CARIBBEAN: one line, tighter, smaller, lifted */
@media (min-width:768px) and (max-width:1200px){
  .cool__right a.article-block[title="CARIBBEAN"] .article-block__content{
    padding-left:14px !important; padding-right:14px !important;
  }
  .cool__right a.article-block[title="CARIBBEAN"] .article-block__content-link > h3.article-block__title{
    white-space:nowrap !important; word-break:keep-all !important; overflow-wrap:normal !important; hyphens:none !important;
    letter-spacing:-0.4px !important; font-size:37px !important; line-height:1 !important; position:relative; top:-2px;
  }
}

/* =========================================================
   11. FIND YOUR ESCAPE (circular scroller)
   ========================================================= */
.escape-strip{ max-width:100%; position:relative; overflow-x:hidden; box-sizing:border-box; }
.escape-inner{ display:flex; align-items:center; gap:14px; max-width:100%; min-width:0; }
.escape-title{ margin:0; display:flex; flex-direction:column; line-height:1.05; min-width:0; text-wrap:balance; }
.escape-title__line{ display:inline-block; vertical-align:middle; }
.escape-title__line:first-child{ font-weight:600; font-size:1.5rem; }
.escape-title__line:last-child{  font-weight:800; font-size:2rem; }
.escape-track{ flex:1 1 auto; min-width:0; max-width:100%; overflow:hidden; position:relative; }
.escape-scroll{
  display:flex; flex-wrap:nowrap; gap:20px; margin:0; padding:0; align-items:center; overflow-x:hidden; max-width:100%;
}
.escape-item{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.escape-link{ display:flex; flex-direction:column; align-items:center; text-decoration:none; text-align:center; line-height:1.2; padding:4px 0; }
.circular-image-wrapper{
  width:80px; height:80px; border-radius:50%; overflow:hidden; border:3px solid #fff; box-shadow:0 0 0 2px #bbb; margin:0 0 6px 0; position:relative;
}
.circular-image-wrapper img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (min-width:1025px){
  .circular-image-wrapper::after{ content:""; position:absolute; inset:0; background:rgba(0,0,0,0.16); opacity:0; pointer-events:none; transition:opacity .4s ease; }
  .circular-image-wrapper:hover::after{ opacity:1; }
}
.card-label{ color:#000; font-family:'DM Sans', sans-serif; font-size:.9rem; font-weight:600; text-transform:capitalize; line-height:1.2; }
@media (min-width:1025px){ .escape-track{ overflow:visible; } .escape-scroll{ overflow:visible; padding-inline:6px; } }
@media (max-width:1024px){
  .escape-inner{ flex-direction:column; align-items:stretch; gap:12px; }
  #escape-title.escape-title{ flex-direction:row; justify-content:center; align-items:center; gap:.35em; width:100%; text-align:center; }
  #escape-title.escape-title .escape-title__line{ font-weight:800 !important; font-size:clamp(16px,4vw,20px) !important; line-height:1.1 !important; letter-spacing:.02em !important; }
  .escape-scroll{
    overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; gap:16px;
    padding-left:14px; padding-right:12px; padding-bottom:12px; scroll-padding-left:14px; width:100%; max-width:100%;
  }
  .escape-scroll::-webkit-scrollbar{ display:none; }
  .escape-item{ scroll-snap-align:start; flex:0 0 auto; margin-left:0; }
  html, body{ overflow-x:hidden; }
  .wp-site-blocks, .site, .site-main, .content-area, .entry-content, .container, .wrap, .kadence-container, .kb-row-layout-wrap{ overflow-x:visible; }
}

/* =========================================================
   12. NEWSLETTER (dark + light variants)
   ========================================================= */
.ld-newsletter-wrap{
  background:#000; padding:28px 22px 22px; border-radius:16px; max-width:600px; margin:0 auto 14px; font-family:'DM Sans', sans-serif; box-shadow:none;
}
.ld-newsletter-title{
  color:#d1d5db; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:1.4px; margin:0 0 16px 0; line-height:1.45; text-align:center;
}
.ld-newsform{ --ld-accent:#00b4d8; --ld-border:#ccc; --ld-radius:14px; max-width:100%; }
.ld-newsform .formkit-fields{ display:flex; justify-content:center; align-items:flex-start; gap:12px; flex-wrap:wrap; position:relative; }
.ld-newsform .formkit-field{ flex:1 1 68%; display:flex; flex-direction:column; align-items:flex-start; position:relative; }
.ld-newsform .formkit-input{
  width:100%; font-size:16px; padding:8px 14px; border:1px solid var(--ld-border); border-radius:var(--ld-radius);
  background:#fff !important; color:#111; transition:border-color .25s ease, box-shadow .25s ease;
}
.ld-newsform .formkit-input:focus{ border-color:var(--ld-accent); box-shadow:0 0 0 3px rgba(0,180,216,0.3); outline:none; background:#fff !important; }
.ld-newsform .formkit-input::placeholder{ color:#6b7280; }
.ld-newsform .formkit-submit{
  flex:0 1 30%; border:none; border-radius:var(--ld-radius); background:#ld-accent; color:#fff; font-weight:600; font-size:16px; cursor:pointer;
  transition:background .25s ease, transform .1s ease, color .25s ease; height:auto; padding:8px 0;
}
.ld-newsform .formkit-submit:hover{ background:#ff5400 !important; color:#fff !important; }
.ld-newsform .formkit-submit:active{ transform:translateY(1px); }
.ld-newsform .formkit-alert{
  display:none; background:rgba(255,77,77,0.1); border:1px solid #f2643b; color:#f87171; border-radius:8px; padding:8px 10px; font-size:13px; margin-bottom:8px;
}
.ld-newsform .formkit-alert:not(:empty){ display:block; }

@media (max-width:640px){
  .ld-newsform .formkit-fields{ flex-direction:column; align-items:stretch; }
  .ld-newsform .formkit-field{ flex:1 1 100%; }
  .ld-newsform .formkit-submit{ flex:1 1 100%; margin-top:8px; padding:11px 0; }
  .ld-newsletter-wrap{ padding:24px 18px 20px; }
}
.ld-newsletter-wrap.light{ background:#fff; box-shadow:0 8px 28px rgba(0,0,0,0.08); }
.ld-newsletter-wrap.light .ld-newsletter-title{ color:#111; opacity:.9; }
.ld-newsletter-wrap.light .ld-newsform .formkit-input{ background:#f9fafb; color:#111 !important; }
.ld-newsletter-wrap.light .ld-newsform .formkit-submit{ background:#00b4d8; color:#fff; }
.ld-newsletter-wrap.light .ld-newsform .formkit-submit:hover{ background:#ff5400; color:#fff; }

@media (min-width:768px){
  .ld-newsletter-wrap .seva-form.ld-newsform .formkit-fields{
    display:flex !important; flex-direction:row !important; align-items:stretch !important; justify-content:center; gap:12px !important; flex-wrap:nowrap !important;
  }
  .ld-newsletter-wrap .seva-form.ld-newsform .formkit-fields > *{ width:auto !important; max-width:none !important; margin:0 !important; }
  .ld-newsletter-wrap .seva-form.ld-newsform .formkit-field{ flex:0 1 65% !important; max-width:65% !important; display:flex !important; }
  .ld-newsletter-wrap .seva-form.ld-newsform .formkit-field .formkit-input{ width:100% !important; padding:8px 16px !important; }
  .ld-newsletter-wrap .seva-form.ld-newsform .formkit-submit{
    flex:0 1 35% !important; max-width:35% !important; display:inline-flex !important; justify-content:center; align-items:center; white-space:nowrap; padding:8px 18px !important;
  }
}
.ld-newsletter-wrap .seva-form.ld-newsform .formkit-input{ box-sizing:border-box; }
.ld-newsletter-wrap .seva-form.ld-newsform .formkit-input:focus{
  border-color:#00b4d8; box-shadow: inset 0 0 0 2px rgba(0,180,216,0.35) !important; background:#fff !important; outline:none;
}

/* =========================================================
   13. YOUTUBE — Generic responsive embed
   ========================================================= */
.ld-youtube-container{
  position:relative; width:100%; padding-bottom:56.25%; height:0; overflow:hidden;
  border-radius:16px; background:#000; box-shadow:0 8px 24px rgba(0,0,0,0.08);
  margin:30px auto; max-width:1100px;
}
.ld-youtube-container iframe{
  position:absolute; inset:0; width:100%; height:100%; border:none; border-radius:16px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.ld-youtube-container:hover iframe{ transform:scale(1.01); box-shadow:0 12px 32px rgba(0,0,0,0.15); }
.ld-youtube-caption{ font-family:'DM Sans', sans-serif; font-size:.95rem; color:#444; text-align:center; margin-top:8px; line-height:1.4; }
figure.wp-block-embed-youtube, .wp-block-embed__wrapper, .ld-youtube-container{ width:100%; max-width:100%; }

/* IMPORTANT: Mobile guard rails — prevent horizontal scroll everywhere EXCEPT single posts */
@media (max-width:1024px){
  html, body{ overflow-x:hidden; }
  body:not(.single-post) .wp-site-blocks,
  body:not(.single-post) .site,
  body:not(.single-post) .site-main,
  body:not(.single-post) .content-area,
  body:not(.single-post) .entry-content,
  body:not(.single-post) .container,
  body:not(.single-post) .wrap,
  body:not(.single-post) .kadence-container,
  body:not(.single-post) .kb-row-layout-wrap{
    max-width:100%; overflow-x:hidden;
  }
}

/* =========================================================
   14. LATEST YOUTUBE VLOG (big glow)
   ========================================================= */
.ld-latest-vlog{
  max-width:1200px; width:100%; margin:0 auto 48px; text-align:center; font-family:"DM Sans", sans-serif; color:#fff; background:transparent; position:relative; z-index:1;
}
.ld-latest-vlog .ld-latest-title{ display:none !important; }
.ld-latest-vlog .ld-frame-16x9{
  position:relative; display:block; width:100%; aspect-ratio:16 / 9; background:#000; border-radius:12px; overflow:hidden; margin:0 auto;
  box-shadow: 0 0 40px rgba(255,255,255,0.55), 0 0 80px rgba(255,255,255,0.28);
  transition: box-shadow .35s ease;
}
.ld-latest-vlog .ld-frame-16x9:hover{ box-shadow: 0 0 60px rgba(255,255,255,0.70), 0 0 120px rgba(255,255,255,0.38); }
.ld-latest-vlog .ld-frame-16x9 iframe{ position:absolute; inset:0; width:100%; height:100%; border:none; display:block; }
.ld-latest-vlog .ld-playlist-btn{
  display:inline-block; margin-top:18px; padding:10px 22px; border-radius:8px; background:#00b4d8; color:#fff; font-weight:600; font-size:16px; text-decoration:none;
  transition: background .3s ease, transform .2s ease;
}
.ld-latest-vlog .ld-playlist-btn:hover{ background:#ff5400; color:#fff; transform: translateY(-2px); }
@media (max-width:1024px){ .ld-latest-vlog{ max-width:1000px; } }
@media (max-width:768px){
  .ld-latest-vlog{ max-width:100%; margin:0 auto 40px; }
  .ld-latest-vlog .ld-frame-16x9{ border-radius:10px; }
  .ld-latest-vlog .ld-playlist-btn{ font-size:15px; padding:9px 20px; }
}
@media (max-width:480px){
  .ld-latest-vlog .ld-frame-16x9{ border-radius:8px; }
  .ld-latest-vlog .ld-playlist-btn{ font-size:14px; padding:8px 18px; }
}

/* =========================================================
   15. TEXT BLOCKS — “Our Latest Vlog” & “Get Inspired”
   (Headings use DM Serif Text, buttons w/out outline/motion)
   ========================================================= */

/* Our Latest Vlog */
.ld-vlog-text{
  color:#fff; text-align:center; padding:40px 20px; font-family:"DM Sans", sans-serif; max-width:650px; margin:0 auto;
}
.ld-vlog-text h2{
  font-family:"DM Serif Text", serif !important; font-weight:400; font-size:42px; letter-spacing:.4px !important;
  text-transform:uppercase; margin-bottom:18px; color:#fff;
  text-shadow: 2px 2px 5px rgba(0,0,0,.9), 6px 6px 12px rgba(0,0,0,.75);
}
.ld-vlog-text p{ font-size:19px; font-weight:500; line-height:1.75; opacity:.97; margin-bottom:26px; }
.ld-vlog-text .ld-btn{
  display:inline-block; padding:12px 28px; border-radius:999px; background:#00b4d8; color:#fff; font-weight:600; font-size:17px; text-decoration:none;
  border:none !important; box-shadow:none !important; outline:none !important; transform:none !important;
  transition: background .2s ease, color .2s ease;
}
.ld-vlog-text .ld-btn:hover,
.ld-vlog-text .ld-btn:focus,
.ld-vlog-text .ld-btn:active{
  background:#ff5400; color:#fff; transform:none !important; box-shadow:none !important; outline:none !important;
}
@media (max-width:1024px){ .ld-vlog-text h2{ font-size:36px; } .ld-vlog-text p{ font-size:18px; } }
@media (max-width:768px){ .ld-vlog-text{ padding:28px 14px; } .ld-vlog-text h2{ font-size:32px; letter-spacing:.3px !important; } .ld-vlog-text p{ font-size:17px; line-height:1.65; } }

/* Get Inspired */
.ld-inspire-text{
  color:#fff; text-align:center; padding:40px 20px; font-family:"DM Sans", sans-serif; max-width:650px; margin:0 auto;
}
.ld-inspire-text h2{
  font-family:"DM Serif Text", serif !important; font-weight:400; font-size:42px; letter-spacing:.4px !important;
  text-transform:uppercase; margin-bottom:18px; color:#fff;
  text-shadow: 4px 4px 6px rgba(0,0,0,.9), 6px 6px 12px rgba(0,0,0,.75);
}
.ld-inspire-text p{ font-size:19px; font-weight:500; line-height:1.75; opacity:.97; margin-bottom:26px; }
.ld-inspire-text a.ld-btn.ld-btn{
  display:inline-block; padding:12px 28px; border-radius:999px; background:#00b4d8 !important; color:#fff !important; font-weight:600; font-size:17px; text-decoration:none !important;
  border:none !important; box-shadow:none !important; outline:none !important; transform:none !important; -webkit-tap-highlight-color:transparent;
  transition: background .2s ease, color .2s ease !important;
}
.ld-inspire-text a.ld-btn.ld-btn:hover,
.ld-inspire-text a.ld-btn.ld-btn:focus,
.ld-inspire-text a.ld-btn.ld-btn:active,
.ld-inspire-text a.ld-btn.ld-btn:focus-visible{
  background:#ff5400 !important; color:#fff !important; border:none !important; box-shadow:none !important; outline:none !important; transform:none !important;
}
@media (max-width:1024px){ .ld-inspire-text h2{ font-size:36px; } .ld-inspire-text p{ font-size:18px; } }
@media (max-width:768px){ .ld-inspire-text{ padding:28px 14px; } .ld-inspire-text h2{ font-size:32px; letter-spacing:.3px !important; } .ld-inspire-text p{ font-size:17px; line-height:1.65; } }

/* =========================================================
   16. “OUR TAIWAN VLOGS” — Split hero (full-bleed)
   ========================================================= */
.ld-bleed-tw{
  position:relative; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
@supports (width:100dvw){
  .ld-bleed-tw{ width:100dvw; margin-left:calc(50% - 50dvw); margin-right:calc(50% - 50dvw); }
}
.ld-vlog-hero-tw{
  background-image: var(--ld-vlog-bg-tw); background-size:cover; background-position:center; background-repeat:no-repeat;
  height:500px; color:#fff; font-family:"DM Sans", sans-serif; padding:0;
}
.ld-vlog-hero-tw__inner{
  width:min(1280px, 100%); margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:clamp(48px, 6vw, 80px); height:100%;
}
.ld-vlog-text-tw{
  flex:0 1 45%; text-align:center; padding:28px 20px; max-width:650px; margin:0 auto;
}
.ld-vlog-text-tw h2{
  font-weight:700; font-size:42px; letter-spacing:.4px; text-transform:uppercase; margin:0 0 18px 0; color:#fff;
  text-shadow: 2px 2px 5px rgba(0,0,0,.9), 6px 6px 12px rgba(0,0,0,.75);
}
.ld-vlog-text-tw p{ font-size:19px; font-weight:500; line-height:1.75; opacity:.97; margin:0 0 18px 0; }
.ld-btn-tw{
  display:inline-block; padding:12px 28px; border-radius:999px; background:#00b4d8; color:#fff; font-weight:600; font-size:17px; text-decoration:none;
  border:none; box-shadow:none; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.ld-btn-tw:hover, .ld-btn-tw:focus:hover{ background:#FF5400; color:#fff; border-color:#FF5400; }
.ld-latest-vlog-tw{ flex:0 1 55%; display:flex; align-items:center; justify-content:center; height:auto; margin:0; }
.ld-frame-16x9-tw{
  position:relative; width:100%; aspect-ratio:16 / 9; margin:0; border-radius:16px; overflow:hidden; box-shadow:0 8px 20px rgba(0,0,0,.10); background:rgba(0,0,0,.15);
}
.ld-frame-16x9-tw iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.ld-vlog-hero-tw, .ld-vlog-hero-tw__inner, .ld-vlog-text-tw, .ld-latest-vlog-tw, .ld-frame-16x9-tw{ margin-top:0 !important; margin-bottom:0 !important; }
@media (max-width:1200px){ .ld-vlog-text-tw h2{ font-size:38px; } }
@media (max-width:1024px){ .ld-vlog-text-tw h2{ font-size:36px; letter-spacing:.3px; } .ld-vlog-text-tw p{ font-size:18px; } }
@media (max-width:900px){
  .ld-vlog-hero-tw{ height:auto; padding:24px 0; }
  .ld-vlog-hero-tw__inner{ flex-direction:column; align-items:center; gap:22px; }
  .ld-vlog-text-tw, .ld-latest-vlog-tw{ flex-basis:auto; width:100%; }
  .ld-vlog-text-tw{ padding:28px 14px; }
  .ld-vlog-text-tw h2{ font-size:32px; letter-spacing:.3px; }
  .ld-vlog-text-tw p{ font-size:17px; line-height:1.65; }
}

/* =========================================================
   17. MOBILE SINGLE-POST ANTI-CLIPPING FIX
   ========================================================= */
@media (max-width:1024px){
  body.single-post .wp-site-blocks,
  body.single-post .site,
  body.single-post .site-main,
  body.single-post .content-area,
  body.single-post .entry-header,
  body.single-post .entry-content,
  body.single-post .container,
  body.single-post .wrap,
  body.single-post .kadence-container,
  body.single-post .kb-row-layout-wrap{
    overflow-x: visible !important;
  }
  body.single-post .kadence-breadcrumbs,
  body.single-post .breadcrumbs,
  body.single-post .entry-header,
  body.single-post .entry-title,
  body.single-post .entry-content{
    padding-inline-start: 2px;
  }
}

/* ======================================================================
   ARCHIVE HIDE (Selected category archives)
   ====================================================================== */
body:is(
  .category-bali,
  .category-taiwan,
  .category-thailand,
  .category-vietnam,
  .category-saba,
  .category-sint-maarten,
  .category-sint-eustatius,
  .category-barbados,
  .category-portugal,
  .category-canada
) #archive-container {
  display: none !important;
}

body:is(
  .category-bali,
  .category-taiwan,
  .category-thailand,
  .category-vietnam,
  .category-saba,
  .category-sint-maarten,
  .category-sint-eustatius,
  .category-barbados,
  .category-portugal,
  .category-canada
) .archive-pagination,
body:is(
  .category-bali,
  .category-taiwan,
  .category-thailand,
  .category-vietnam,
  .category-saba,
  .category-sint-maarten,
  .category-sint-eustatius,
  .category-barbados,
  .category-portugal,
  .category-canada
) .navigation.posts-navigation {
  display: none !important;
}

/* ✅ Only hide the title for high-level hubs */
body:is(
  .category-bali,
  .category-taiwan,
  .category-thailand,
  .category-vietnam,
  .category-saba,
  .category-sint-maarten,
  .category-sint-eustatius,
  .category-barbados,
  .category-portugal,
  .category-canada,
  .category-caribbean,
  .category-asia,
  .category-europe,
  .category-north-america,
  .category-wondrous-eats,
  .category-accommodations,
  .category-inspirations,
  .category-indonesia
) h1.page-title.archive-title {
  display: none !important;
}

/* ============================================================
   🎞️ Smooth Zoom-in Hover — Mask Safe + Desktop Only
   ============================================================ */
.kb-advanced-image-link { display: block; text-decoration: none; }
.kb-advanced-image-link .kb-img {
  display: block; width: 100%; height: auto;
  transition: transform 0.6s ease; will-change: transform; backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
  .kb-advanced-image-link:hover .kb-img { transform: scale(1.05); }
}
@media (prefers-reduced-motion: reduce) {
  .kb-advanced-image-link .kb-img { transition: none; transform: none; }
}

/* =========================================================
   18. CLS GUARDS — Header/Logo + Consent
   ========================================================= */
/* Reserve header height + explicit logo box to kill big CLS */
.site-header, .site-header .kadence-header { min-height: 86px; }  /* adjust if your header is taller */
.site-branding, .site-branding .custom-logo-link {
  display:inline-block;
  width:174px; height:42px;            /* matches your logo file */
}
.site-branding .custom-logo-link img.custom-logo{
  width:174px !important; height:42px !important; object-fit:contain;
}

/* Cookie banner containment (micro CLS) */
.cmplz-cookiebanner { contain: layout; }