/* Self-hosted fonts (Lato,"Lato Fallback", Outfit; SIL Open Font Licence): no request to Google Fonts before the page can render. */
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/lato-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/lato-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/lato-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/lato-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Fallback sized to Lato's metrics, so text doesn't jump when the web font arrives (layout shift / CLS). */
@font-face{font-family:'Lato Fallback';src:local('Arial');size-adjust:97.38%;ascent-override:101.36%;descent-override:21.87%;line-gap-override:0%}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600 800;font-display:swap;src:url(fonts/outfit-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600 800;font-display:swap;src:url(fonts/outfit-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ===== Shared styles for all pages (Travel Wiki brand: navy #0F4C81, green #00A86B, orange #FF6B35) ===== */
:root{
  /* Text/buttons use slightly deeper shades of the brand colours so white text passes WCAG AA contrast. */
  --primary:#0F4C81; --primary-2:#047857; --accent:#C9420C; --brand-green:#00A86B; --brand-orange:#FF6B35; --green:#25d366;
  --grad:linear-gradient(90deg,#0F4C81,#0b5f73,#047857);
  --grad-diag:linear-gradient(135deg,#0F4C81,#047857);
  --dark:#051326;
  --bg:#f3f7f5; --card:#fff; --text:#1f2937; --muted:#4b5b63; --border:#d6e4dd;
  --tint:linear-gradient(90deg,#e6f6ef,#e8f0f8);
  --radius:12px;
  --head:Outfit,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none !important}   /* components set display:flex/grid; hidden must still hide them */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:Lato,"Lato Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.65}
h1,h2,h3,h4,.title,.card-title,.box-title,.wordmark,.modal-title{font-family:var(--head)}
.logo img{height:52px;width:auto}
footer.site .logo img{background:#fff;border-radius:10px;padding:4px 8px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}

/* Top bar */
.topbar{background:var(--grad);color:#fff;font-size:12px}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:8px;flex-wrap:wrap}
.topbar .left,.topbar .right{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.social a{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.15);margin-right:4px;font-size:11px;color:#fff}
.social a:hover{background:rgba(255,255,255,.3)}
.topbar-btn{background:var(--brand-orange);color:#1f1300;border:0;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}

/* Header */
header.site{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);position:sticky;top:0;z-index:50}
header.site .container{display:flex;align-items:center;justify-content:space-between;padding-block:10px;gap:16px;position:relative}
.logo{display:flex;align-items:center;gap:10px;color:var(--primary)}
.logo .mark{width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:var(--grad-diag);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700;letter-spacing:.5px}
.wordmark{font-weight:700;font-size:16px;line-height:1.15}
.wordmark small{display:block;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--primary-2)}
nav.main ul{display:flex;gap:22px;list-style:none;font-weight:500;font-size:13px}
nav.main li{position:relative}
nav.main li:hover>.dropdown,nav.main li:focus-within>.dropdown{display:block}
nav.main a:hover,nav.main a.active{color:var(--primary)}
nav.main a.active{font-weight:700}
.dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.1);border-radius:8px;padding:8px 0;min-width:230px;z-index:5}
.dropdown a{display:block;padding:8px 16px}
.dropdown a:hover{background:var(--bg)}
.call{display:flex;align-items:center;gap:10px}
.call .ic{width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center}
.call b{display:block;font-size:15px;color:var(--primary)}
.call small{color:var(--muted);font-size:11px}
.menu-btn{display:none;background:none;border:0;font-size:26px;color:var(--primary)}

/* Hero slider */
.hero{position:relative;height:380px;overflow:hidden;background:#0c4a6e}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s}
.slide.active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.hero .arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.3);border:0;color:#fff;width:42px;height:42px;border-radius:50%;font-size:22px;z-index:2}
.hero .arrow:hover{background:rgba(0,0,0,.5)}
.hero .prev{left:16px}.hero .next{right:16px}
.dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:2}
.dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.6)}
.dots button.active{background:#fff;width:24px;border-radius:6px}

/* Inner page banner */
.page-hero{position:relative;height:230px;overflow:hidden;display:flex;align-items:center;background:#0c4a6e}
.page-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.65),rgba(15,23,42,.15))}
.page-hero .container{position:relative;z-index:1;color:#fff;width:100%}
.page-hero h1{font-size:32px;line-height:1.2}
.page-hero .sub{font-size:16px;margin-top:4px;opacity:.95}
.crumbs{font-size:13px;opacity:.95;margin-top:6px}
.crumbs a:hover{text-decoration:underline}

/* Sections */
.section{padding:44px 0}
.section.white{background:#fff}
.title{text-align:center;font-size:24px;color:var(--primary);margin-bottom:6px}
.subtitle{text-align:center;color:var(--muted);margin-bottom:28px}

/* Buttons */
.btn{display:inline-block;padding:10px 22px;border-radius:6px;font-weight:600;border:0;text-align:center}
.btn-solid{background:var(--grad);color:#fff}
.btn-outline{border:1px solid var(--primary);color:var(--primary);background:#fff}
.btn-red{display:block;margin:0 auto;background:var(--accent);color:#fff;border:0;padding:10px 22px;border-radius:6px;font-weight:600}
.btn-wa{background:var(--green);color:#fff}

/* Callback / enquiry box */
.callback{background:var(--grad-diag);color:#fff;border-radius:var(--radius);padding:22px;align-self:start}
.callback h3{text-align:center;font-size:16px;margin-bottom:14px}
.callback h3 span{color:#fef08a}
.callback .row{display:flex;gap:10px;margin-bottom:12px}
.callback input,.callback select,.callback textarea{flex:1;min-width:0;padding:10px 12px;border-radius:6px;border:0;font-family:inherit;font-size:14px}
.callback .cc{flex:0 0 70px}
.form-msg{text-align:center;margin-top:10px;font-size:13px;display:none}
.callback .form-msg{color:#e0f2fe}

/* Forms */
.form label{display:block;font-size:13px;font-weight:500;margin-bottom:12px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:14px;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid #93c5fd;border-color:var(--primary)}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .form-msg{color:#16a34a}

/* Package cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid.list{grid-template-columns:1fr}
.grid.list .card{display:grid;grid-template-columns:280px 1fr}
.grid.list .thumb{height:100%;min-height:200px}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.thumb{position:relative;height:190px;display:block;overflow:hidden;background:#cbd5e1}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .thumb img,.post:hover .thumb img{transform:scale(1.05)}
.badge{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-weight:700;font-size:12px;padding:3px 8px;border-radius:4px}
.card .body{padding:14px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .card-title{font-size:14px;line-height:1.4;min-height:40px;font-weight:600}
.card .card-title a:hover{color:var(--primary)}
.meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.price small{color:var(--muted);font-size:12px}
.price s{color:#6b7280;margin:0 4px}
.price b{font-size:18px;color:var(--primary-2)}
.card-links{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-top:auto;padding-top:6px;border-top:1px dashed var(--border)}
.card-links a:hover{color:var(--primary)}
.wish{background:none;border:0;font-size:12px;color:var(--text);padding:0}
.wish span{color:#bbb;font-size:15px}
.wish.on span{color:var(--accent)}
.card .btn{padding:8px;font-size:13px}
.card-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.card-btns .btn{width:100%;padding:8px 6px;white-space:nowrap}
#bk{scroll-margin-top:96px}
/* Package pages, desktop: the booking box follows the visitor down the page (sticky under the header).
   The sidebar's boxes become grid items: price box on top, booking box below it, the enquiry form under the itinerary.
   A booking box taller than the screen scrolls inside itself, so "Book this trip" and the travel date stay in view. */
@media (min-width:1001px){
  .two-col:has(> .sidebar #bk){grid-template-rows:auto 1fr auto;align-items:start}
  .two-col:has(> .sidebar #bk) > :first-child{grid-column:1;grid-row:1 / 3}
  .two-col > .sidebar:has(#bk){display:contents}
  .sidebar > .pricebox{grid-column:2;grid-row:1}
  .sidebar > #bk{grid-column:2;grid-row:2;position:sticky;top:96px;max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .two-col > .sidebar:has(#bk) > .callback{grid-column:1;grid-row:3;align-self:start;max-width:560px;width:100%}
}
.empty{grid-column:1/-1;text-align:center;padding:40px;color:var(--muted);background:#fff;border-radius:var(--radius)}
.more{display:block;margin:24px auto 0;background:var(--grad);color:#fff;border:0;padding:10px 28px;border-radius:6px;font-weight:600;width:max-content}

/* Tiles (places) */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.tile{position:relative;border-radius:var(--radius);overflow:hidden;height:220px;display:block;box-shadow:0 2px 10px rgba(0,0,0,.08);background:#cbd5e1}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tile:hover img{transform:scale(1.06)}
.tile .lbl{position:absolute;left:0;right:0;bottom:0;padding:14px;color:#fff;background:linear-gradient(transparent,rgba(15,23,42,.8))}
.tile .lbl b{font-size:17px;display:block}
.tile .lbl small{opacity:.9}
.feature{background:#fff;border-radius:var(--radius);padding:22px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.feature .ic{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--tint);display:grid;place-items:center;font-size:24px}
.feature h4{color:var(--primary);margin-bottom:6px}
.feature p{color:var(--muted);font-size:13px}

.post{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);display:flex;flex-direction:column}
.post .thumb{height:190px}
.post .body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.post h2,.post h3{font-size:16px;line-height:1.4}
.post h2 a:hover,.post h3 a:hover{color:var(--primary)}
.post p{color:var(--muted);font-size:13px}
.post .read{margin-top:auto;color:var(--primary);font-weight:600;font-size:13px}
.tag{display:inline-block;background:var(--tint);color:var(--primary);font-size:11px;font-weight:600;padding:2px 10px;border-radius:20px}

/* Accordion */
.acc{border:1px solid var(--border);border-radius:8px;margin-bottom:12px;overflow:hidden;background:#fff}
.acc summary{list-style:none;padding:14px 18px;font-weight:600;cursor:pointer;background:var(--tint);display:flex;justify-content:space-between;gap:12px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:20px;color:var(--primary);line-height:1}
.acc[open] summary::after{content:"−"}
.acc .content{padding:14px 18px}
.acc ol,.acc ul{padding-left:20px}
.acc li{margin:4px 0}
.wa-link{display:inline-block;margin-top:10px;background:var(--green);color:#fff;padding:6px 14px;border-radius:6px;font-weight:600;font-size:12px}

/* Chips & info */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span,.chips a{background:#fff;border:1px solid #93c5fd;color:#1e40af;padding:6px 12px;border-radius:20px;font-size:12px}
.chips a:hover{background:var(--tint)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px}
.info-grid>div{background:#fff;padding:16px;border-radius:var(--radius);box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid var(--border)}
.info-grid h4{margin:0 0 6px;color:var(--primary)}
.info-grid ul{padding-left:18px;color:#444}
.table-wrap{overflow-x:auto}

/* Long-form text (about, blog, legal) */
.prose{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.prose h2{color:var(--primary);font-size:20px;margin:26px 0 10px}
.prose h2:first-child{margin-top:0}
.prose h3{color:var(--primary-2);font-size:16px;margin:18px 0 8px}
.prose h4{color:var(--primary);font-size:15px;margin:16px 0 6px}
.prose p{margin-bottom:12px;color:#374151}
.prose ul,.prose ol{margin:0 0 12px 22px;color:#374151}
.prose li{margin:4px 0}
.prose table{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:13px}
.prose th,.prose td{border:1px solid var(--border);padding:10px;text-align:left}
.prose th{background:var(--tint);color:var(--primary)}
.prose a{color:var(--primary);text-decoration:underline}
.prose .updated{color:var(--muted);font-size:13px;margin-bottom:18px}
.prose img.wide{width:100%;height:320px;object-fit:cover;border-radius:var(--radius);margin-bottom:20px}
.two-col{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.box{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.box h4,.box .box-title{color:var(--primary);margin-bottom:10px;font-size:15px}
.box ul{list-style:none}
.box li{padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}
.box li:last-child{border:0}
.box li a:hover{color:var(--primary)}

.cta{background:var(--grad-diag);color:#fff;border-radius:var(--radius);padding:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.cta h3{font-size:20px}
.cta .btn{background:#fff;color:var(--primary)}

/* Link lists ("Important Topics", "Famous Places" …) */
.link-groups{display:grid;gap:18px}
.link-groups h4{color:var(--primary);margin-bottom:6px}
.link-groups p{line-height:2}
.link-groups p a{color:#334155}
.link-groups p a:hover{color:var(--primary);text-decoration:underline}
.link-groups p a:not(:last-child)::after{content:" | ";color:#94a3b8}

/* Pre-footer + footer */
.prefooter{background:#fff;padding:36px 0;border-top:1px solid var(--border)}
.prefooter h2{text-align:center;color:var(--primary);font-size:22px;margin-bottom:20px}
.prefooter .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prefooter h3{font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;color:var(--primary-2)}
.prefooter ul{list-style:none}
.prefooter li{padding:4px 0;font-size:13px}
.prefooter a:hover{color:var(--primary);text-decoration:underline}
footer.site{background:var(--dark);color:#dbeafe;padding:40px 0 0}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:24px}
footer.site h3{color:#fff;margin-bottom:12px;font-size:15px}
footer.site ul{list-style:none}
footer.site li{margin:6px 0;font-size:13px}
footer.site a:hover{color:#fff;text-decoration:underline}
footer.site .logo{color:#fff;margin-bottom:12px}
footer.site .wordmark small{color:#7dd3fc}
footer.site .about-txt{font-size:13px;margin-bottom:12px}
footer.site .copy{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding:14px 16px;text-align:center;font-size:12px}
.newsletter{display:flex;flex-wrap:wrap;gap:8px}
.newsletter input{flex:1;min-width:0;padding:10px;border-radius:6px;border:0;font-family:inherit}
.newsletter button{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:10px 14px;font-weight:600}
.newsletter .form-msg{flex-basis:100%;color:#bbf7d0;text-align:left}

.wa-float{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:var(--green);display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:60}

/* Enquiry pop-up */
.modal{position:fixed;inset:0;background:rgba(15,23,42,.6);z-index:100;display:grid;place-items:center;padding:16px;overflow-y:auto}
.modal[hidden]{display:none}
.modal-box{background:#fff;border-radius:12px;max-width:560px;width:100%;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;position:relative;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.modal-img{position:relative;height:190px;overflow:hidden;background:var(--grad-diag)}
.modal-img img{width:100%;height:100%;object-fit:cover;object-position:60% 80%;opacity:.9}
.modal-img .modal-title{font-weight:700;position:absolute;left:18px;bottom:12px;color:#fff;font-size:20px;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.modal-x{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;background:#fff;font-size:22px;line-height:1;color:#333}
.modal-form{padding:18px}

@media (max-width:1100px){
  nav.main ul{gap:14px}
  .call small{display:none}
}
@media (max-width:1000px){
  .grid{grid-template-columns:repeat(2,1fr)}
  footer.site .cols{grid-template-columns:1fr 1fr}
  .two-col{grid-template-columns:1fr}
  .sidebar{position:static}
}
@media (max-width:900px){
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.1);max-height:calc(100vh - 80px);overflow-y:auto}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;gap:0;padding:8px 16px}
  nav.main li a{display:block;padding:10px 0}
  .dropdown{position:static;box-shadow:none;display:block;padding:0 0 0 12px}
  .dropdown a{padding:6px 0}
  .menu-btn{display:block}
  .call{display:none}
}
@media (max-width:820px){
  .hero{height:230px}
  .page-hero{height:200px}
  .page-hero h1{font-size:24px}
  .info-grid,.prefooter .cols{grid-template-columns:1fr}
  .grid.list .card{grid-template-columns:1fr}
  .grid.list .thumb{min-height:190px}
  .prose{padding:20px}
}
@media (max-width:560px){
  .grid{grid-template-columns:1fr}
  footer.site .cols{grid-template-columns:1fr}
  .topbar .left span{display:none}
  .form .two{grid-template-columns:1fr}
  .wordmark{font-size:14px}
  .logo .mark{width:44px;height:44px;flex-basis:44px;font-size:12px}
}

/* Keyword/SEO content blocks */
.seo-copy h2{color:var(--primary);font-size:22px;margin:0 0 12px}
.seo-copy h3{color:var(--primary-2);font-size:17px;margin:22px 0 8px}
.seo-copy p{color:#374151;margin-bottom:12px}
.seo-copy .table-wrap{margin:10px 0 16px}
.seo-copy table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
.seo-copy th,.seo-copy td{border:1px solid var(--border);padding:10px;text-align:left}
.seo-copy th{background:var(--tint);color:var(--primary)}
.seo-copy td a{color:var(--primary);text-decoration:underline}
.info-grid h3,.info-grid h4{margin:0 0 6px;color:var(--primary);font-size:15px}
/* Answer-first and E-E-A-T blocks */
.answer{background:#eff6ff;border-left:4px solid var(--primary);border-radius:8px;padding:14px 16px;margin:0 0 16px;color:#1e293b}
.tip{background:#fefce8;border-left:4px solid #eab308;border-radius:8px;padding:12px 16px;margin:16px 0;color:#422006;font-size:14px}
.takeaways{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:14px 18px;margin:0 0 18px}
.takeaways b{display:block;color:#166534;margin-bottom:6px}
.takeaways ul{margin:0 0 0 18px}
.toc{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:14px 18px;margin:0 0 20px}
.toc b{display:block;margin-bottom:6px;color:var(--primary)}
.toc ol{margin:0 0 0 20px;font-size:14px}
.toc a{color:#334155;text-decoration:none}
.toc a:hover{color:var(--primary);text-decoration:underline}
.byline{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:16px}
.byline a{color:var(--primary)}
.source{font-size:13px;color:var(--muted)}
.source a{color:var(--primary)}
.at-glance{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:0 0 16px;font-size:14px}
.at-glance div{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:8px 12px}
.at-glance b{display:block;font-size:12px;color:var(--muted);font-weight:500}
.prose h2[id],.seo-copy h2[id]{scroll-margin-top:90px}
@media (max-width:560px){.at-glance{grid-template-columns:1fr}}
/* ===== Mobile-friendliness pass ===== */
/* Grid/flex children may shrink below their content width (stops wide tables pushing the page sideways). */
.two-col>*,.grid>*,.split>*,.listing>*,.contact-wrap>*,.story>*,.blog-layout>*,.intro>*,.info-grid>*,.lists>*{min-width:0}
.prose,.seo-copy,.box,.answer,.tip,.toc{overflow-wrap:anywhere}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}

/* Bigger tap targets everywhere */
.social a{width:36px;height:36px;font-size:13px}
.menu-btn{width:44px;height:44px;display:none;align-items:center;justify-content:center}
.dots button{width:12px;height:12px;padding:0;position:relative}
.dots button::after{content:"";position:absolute;inset:-14px}
.dots{gap:16px}
.hero .arrow{width:44px;height:44px}
.card .btn,.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.wa-link{min-height:40px;display:inline-flex;align-items:center;padding:8px 16px}
.wish,.card-links a{min-height:40px;display:inline-flex;align-items:center;gap:4px}
.modal-x{width:44px;height:44px}
.newsletter input,.newsletter button{min-height:44px}
footer.site li a,.prefooter li a,.box li a{display:inline-block;padding:4px 0}
.copy a{display:inline-block;padding:8px 4px}

/* Mobile sticky action bar (replaces the auto pop-up on phones) */
.mbar{display:none}

@media (max-width:900px){
  .menu-btn{display:inline-flex}
}
@media (max-width:767px){
  body{font-size:15px;padding-bottom:64px}
  /* Form fields at 16px so iPhones don't zoom in */
  input,select,textarea,.form input,.form select,.form textarea,.callback input,.callback select{font-size:16px !important}
  /* Readable small text */
  small,.tag,.meta,.price small,.crumbs,.byline,.source,.updated,.wordmark small,.fgroup label,.list-head small,.tile .lbl small{font-size:13px}
  .wordmark small{letter-spacing:2px}
  /* Slim top bar: just the email; contact options live in the bottom bar */
  .topbar .right,.topbar .left span{display:none}
  .topbar .container{justify-content:center;padding-block:6px}
  .topbar .left a{display:inline-block;padding:6px 0}
  header.site .container{padding-block:8px}
  .logo .mark{width:44px;height:44px;flex-basis:44px;font-size:12px}
  /* Headings and spacing */
  .title{font-size:21px}
  .page-hero h1{font-size:22px}
  .section{padding:32px 0}
  .prose{padding:18px}
  .cta{padding:22px}
  .cta .btn{width:100%}
  /* Tables become stacked cards */
  table.stack thead{display:none}
  table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
  table.stack tr{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:6px 10px;background:#fff}
  table.stack td{border:0 !important;padding:5px 0 !important;display:flex;justify-content:space-between;gap:12px;text-align:right}
  table.stack td::before{content:attr(data-label);font-weight:600;color:var(--primary);text-align:left;flex:0 0 42%}
  /* Floating WhatsApp button is replaced by the action bar */
  .wa-float{display:none}
  .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;box-shadow:0 -4px 16px rgba(15,23,42,.12);padding-bottom:env(safe-area-inset-bottom)}
  .mbar a,.mbar button{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:700 12px Lato,"Lato Fallback",system-ui,sans-serif;color:var(--primary);background:none;border:0;border-right:1px solid var(--border)}
  .mbar .ic{font-size:18px;line-height:1}
  .mbar .quote{background:var(--grad);color:#fff;border:0}
  /* Modal fits small screens and scrolls inside */
  .modal{align-items:end;padding:0}
  .modal-box{border-radius:16px 16px 0 0;max-height:92vh;overflow-y:auto}
  .modal-img{height:130px}
}@media (max-width:767px){
  body .list-head select{min-height:44px;width:100%}
  body .list-head>div:last-child{width:100%}
  body .view-toggle{width:100%}
  body .view-toggle button{min-height:44px;flex:1}
  body .tabs{gap:6px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  body .tabs a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
  body .cat-chips button{min-height:40px;padding:6px 14px;font-size:14px}
  body .fgroup label{padding:8px 0;font-size:15px}
  body .fgroup input[type=checkbox]{width:20px;height:20px}
  body .search input{min-height:44px}
  body .acc summary{min-height:48px;align-items:center}
  body .place-row .btns .btn{flex:1}
}@media (max-width:767px){
  /* Open menu fits between the header and the bottom action bar */
  nav.main{max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);overscroll-behavior:contain}
  nav.main li>a{min-height:44px;display:flex;align-items:center}
  .dropdown a{min-height:40px;display:flex;align-items:center}
}@media (max-width:767px){
  .topbar .left a{min-height:44px;display:inline-flex;align-items:center}
  .social a{width:44px;height:44px}
  .copy a{padding:12px 6px}
  .post .read{display:inline-flex;align-items:center;min-height:44px}
  .credits figcaption a{display:inline-block;padding:10px 0}
  .prose li a,.seo-copy li a{display:inline-block;padding:6px 0}
}@media (max-width:767px){
  /* Compact list rows for the price list and distance table */
  table.stack.compact tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:10px 12px;margin-bottom:8px}
  table.stack.compact td{display:inline;width:auto;padding:0 !important;text-align:left}
  table.stack.compact td::before{content:none}
  table.stack.prices td:first-child{flex-basis:100%;font-weight:600}
  table.stack.prices td:nth-child(2){color:var(--muted)}
  table.stack.prices td:nth-child(3){margin-left:auto}
  table.stack.routes td:nth-child(1),table.stack.routes td:nth-child(2){font-weight:600;color:var(--text)}
  table.stack.routes td:nth-child(1)::after{content:" →"}
  table.stack.routes td:nth-child(3){flex-basis:100%;color:var(--muted)}
  table.stack.routes td:nth-child(3)::after{content:" · "}
  table.stack.routes td:nth-child(3){flex-basis:auto;margin-left:auto}
  /* Two-column photo tiles */
  .tiles{grid-template-columns:1fr 1fr;gap:12px}
  .tile{height:150px}
  .tile .lbl{padding:10px}
  .tile .lbl b{font-size:15px}
  .col-grid{grid-template-columns:1fr 1fr !important;gap:12px}
  .col-card{height:120px}
  .col-card span{font-size:14px;left:10px;right:10px;bottom:8px}
  .thumb{height:170px}
  .card .card-title{min-height:0}
}
footer.site .about-txt a{color:#fff;text-decoration:underline}

/* ===== Forminator forms (WordPress version) — styled to match the original forms ===== */
/* Forminator hides each form until its script runs at the end of the page, which made the hero and sidebars jump
   (layout shift). The fields are already in the HTML, so show them straight away; the script still adds the date
   picker, dropdowns and validation when it starts. */
.ktp-form .forminator-ui.forminator-custom-form{display:block !important}
/* Forminator stacks every field pair when a form is under ~480px wide (class forminator-size--small). On tablets and
   desktops keep paired fields side by side, as in the original forms, so the forms stay compact. */
@media (min-width:768px){.ktp-form .forminator-custom-form .forminator-row{display:flex !important;gap:0}.ktp-form .forminator-custom-form .forminator-row>.forminator-col{flex:1 1 0;min-width:0;margin-bottom:0}}
.ktp-form .forminator-ui.forminator-custom-form{margin:0 !important;padding:0 !important;background:none !important;border:0 !important}
.ktp-form .forminator-row{margin:0 0 12px !important}
.ktp-form .forminator-col{padding:0 6px !important}
.ktp-form .forminator-row .forminator-col:first-child{padding-left:0 !important}
.ktp-form .forminator-row .forminator-col:last-child{padding-right:0 !important}
.ktp-form .forminator-label{display:block !important;font:500 13px/1.4 Lato,"Lato Fallback",system-ui,sans-serif !important;margin:0 0 4px !important;color:inherit !important}
.ktp-form .forminator-input,.ktp-form .forminator-textarea,.ktp-form select,.ktp-form .select2-selection{width:100% !important;min-height:44px;padding:10px 12px !important;border:1px solid var(--border) !important;border-radius:6px !important;font:400 15px/1.4 Lato,"Lato Fallback",system-ui,sans-serif !important;background:#fff !important;color:var(--text) !important;box-shadow:none !important}
.ktp-form .forminator-textarea{min-height:110px}
.ktp-form .forminator-input:focus,.ktp-form .forminator-textarea:focus,.ktp-form select:focus{outline:2px solid #93c5fd !important;border-color:var(--primary) !important}
.callback.ktp-form .forminator-input,.callback.ktp-form select,.callback.ktp-form .select2-selection{border:0 !important}
.ktp-form .forminator-button-submit{display:block !important;width:100% !important;min-height:44px;margin:4px 0 0 !important;padding:12px 22px !important;border:0 !important;border-radius:6px !important;background:var(--grad) !important;color:#fff !important;font:600 15px Lato,"Lato Fallback",system-ui,sans-serif !important;cursor:pointer}
.callback.ktp-form .forminator-button-submit{background:var(--accent) !important}
.ktp-form .forminator-error-message{font-size:12px !important;margin-top:4px !important}
.callback .cb-title{color:#fff}
.modal-form.ktp-form{padding:14px 18px 18px}
.modal-form.ktp-form .forminator-row{margin-bottom:8px !important}
/* Submit buttons: a solid colour under the gradient, so they stay visible even if a page builder strips background images. */
.ktp-form .forminator-button-submit{background-color:var(--primary) !important;color:#fff !important;opacity:1 !important;visibility:visible !important}
.callback.ktp-form .forminator-button-submit,.newsletter.ktp-form .forminator-button-submit{background-color:var(--accent) !important}
/* Pop-up: keep the submit button pinned to the bottom of the box, so it's always in view. */
.modal-form.ktp-form .forminator-row-last{position:sticky;bottom:0;z-index:3;background:#fff;margin:0 -18px -18px !important;padding:12px 18px 16px !important;box-shadow:0 -6px 12px rgba(15,23,42,.06)}
@media (max-height:760px){.modal-img{height:120px}}
/* Thank-you panel shown after a successful enquiry. */
.ktp-thanks{text-align:center;padding:28px 22px 30px}
.ktp-thanks .tick{width:56px;height:56px;border-radius:50%;background:#16a34a;color:#fff;font-size:30px;line-height:56px;margin:0 auto 12px}
.ktp-thanks h3{font-size:20px;color:var(--primary);margin-bottom:6px}
.ktp-thanks p{color:#374151;font-size:14px;margin:6px 0}
.ktp-form .forminator-response-message.forminator-success{background:#dcfce7 !important;color:#14532d !important;border:1px solid #86efac !important;padding:10px 12px !important}
.callback.ktp-form .forminator-error-message{color:#fecaca !important}
.ktp-form .forminator-response-message{border-radius:6px !important;font-size:14px !important;margin-bottom:12px !important}
.ktp-form .forminator-response-message p{margin:0 !important}
.newsletter.ktp-form{display:block}
.newsletter.ktp-form .forminator-label{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.newsletter.ktp-form .forminator-button-submit{background:var(--accent) !important}
footer.site .ktp-form .forminator-response-message{color:#bbf7d0 !important}
@media (max-width:767px){
  .ktp-form .forminator-row{display:block !important}
  .ktp-form .forminator-col{padding:0 !important;margin-bottom:12px}
  .ktp-form .forminator-input,.ktp-form .forminator-textarea,.ktp-form select{font-size:16px !important}
}
/* WordPress: keep the site's own fonts (the theme sets a serif font on headings) */
body.ktp-site :is(h1,h2,h3,h4,h5,h6,.title,.card-title,.box-title){font-family:inherit}
body.ktp-site{font-family:Lato,"Lato Fallback",system-ui,sans-serif}
/* The call-back box uses placeholders only, like the original design (labels stay for screen readers) */
.callback.ktp-form .forminator-label{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ===== Travel Wiki additions ===== */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:var(--primary);padding:10px 16px;border-radius:8px;font-weight:700}
.skip:focus{left:8px}
.topbar{background:var(--dark)}
.topbar .left a,.topbar .left span{opacity:.95}
.topbar-btn{border-radius:20px;padding:6px 14px;font-weight:700}
header.site .container{padding-block:8px}
nav.main ul{font-family:var(--head);font-weight:600;font-size:15px}
.call .ic{background:var(--brand-orange);color:#1f1300}
.badge.alt{background:var(--primary)}
.form-small{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}
.page-hero{height:auto;min-height:240px;padding:36px 0}
.page-hero h1{font-size:34px;margin-top:6px}
.page-hero::after{background:linear-gradient(90deg,rgba(5,19,38,.78),rgba(5,19,38,.25))}
.crumbs{margin:0}
.crumbs a,.crumbs span{color:#fff}
/* Home hero */
.home-hero{position:relative;min-height:520px;display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--dark)}
.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,19,38,.82) 0%,rgba(5,19,38,.45) 55%,rgba(5,19,38,.1))}
.home-hero .container{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;width:100%;padding-block:40px}
.home-hero h1{font-size:46px;line-height:1.1;font-weight:800;letter-spacing:-.5px}
.home-hero .lead{font-size:18px;margin:14px 0 18px;max-width:560px;color:#e5edf5}
.home-hero .lead b{color:#ffd2bd}
.trust{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:14px;color:#e5edf5;margin-top:14px}
.trust span::before{content:"✔ ";color:var(--brand-green)}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.btn-orange{background:var(--accent);color:#fff}
.btn-ghost{border:2px solid #fff;color:#fff;background:transparent}
.hero-form{background:#fff;color:var(--text);border-radius:16px;padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.hero-form h2{font-size:20px;color:var(--primary);margin-bottom:4px}
.hero-form p.small{font-size:13px;color:var(--muted);margin-bottom:12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-36px;position:relative;z-index:2}
.stats div{background:#fff;border-radius:var(--radius);padding:16px;text-align:center;box-shadow:0 6px 20px rgba(5,19,38,.08)}
.stats b{display:block;font-family:var(--head);font-size:26px;color:var(--primary)}
.stats small{color:var(--muted);font-size:13px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:22px}
.chip-row button{border:1px solid var(--border);background:#fff;border-radius:20px;padding:8px 16px;font-weight:700;color:var(--primary);min-height:40px}
.chip-row button.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.review{background:#fff;border-radius:var(--radius);padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.review p{font-style:italic;color:#374151;margin-bottom:10px}
.review b{color:var(--primary)}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.team .member{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.team .member b{display:block;color:var(--primary);font-family:var(--head);font-size:17px}
.team .member small{color:var(--primary-2);font-weight:700}
.team .member p{font-size:14px;color:#374151;margin-top:6px}
.day{border:1px solid var(--border);border-radius:10px;margin:0 0 12px;background:#fff;overflow:hidden}
.day summary{padding:12px 16px;font-weight:700;cursor:pointer;background:var(--tint);list-style:none;display:flex;gap:10px;align-items:baseline}
.day summary::-webkit-details-marker{display:none}
.day summary .n{background:var(--primary);color:#fff;border-radius:6px;padding:2px 8px;font-size:12px;white-space:nowrap}
.day summary h3{font-size:16px;margin:0;color:var(--text)}
.day .content{padding:12px 16px}
.day .route{font-size:13px;color:var(--muted);margin-bottom:6px}
.day .stay{font-size:13px;color:var(--primary-2);font-weight:700;margin-top:6px}
.note{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:12px 14px;font-size:14px;color:#7c2d12;margin:12px 0}
.hl{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;list-style:none;margin:0 0 12px !important}
.hl li::before{content:"★ ";color:var(--brand-orange)}
@media (max-width:1000px){.home-hero .container{grid-template-columns:1fr}.home-hero h1{font-size:36px}.stats,.feature-grid,.team{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.home-hero{min-height:0}.home-hero h1{font-size:30px}.home-hero .lead{font-size:16px}.stats{margin-top:16px}.page-hero h1{font-size:26px}.hl{grid-template-columns:1fr}.logo img{height:44px}}
/* Hotel category chips and tier tables */
.tier-chip{display:inline-block;font-weight:700;font-size:12px;border-radius:12px;padding:1px 8px;color:#fff;background:#4b5b63}
.tier-chip.tier-lux5{background:#7c2d12}.tier-chip.tier-deluxe4{background:var(--primary)}.tier-chip.tier-premium3{background:var(--primary-2)}.tier-chip.tier-basic{background:#4b5b63}
.tier-table td:first-child{font-weight:700}
.tier-table tr.this{background:#f0fdf4}
.cat-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.cat-tiles a{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:0 2px 10px rgba(0,0,0,.05);display:block}
.cat-tiles b{display:block;color:var(--primary);font-family:var(--head);font-size:16px;margin-bottom:4px}
.cat-tiles small{color:var(--muted);font-size:13px}
@media (max-width:1000px){.cat-tiles{grid-template-columns:1fr 1fr}}
/* ===== Booking engine ===== */
.holiday-search{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;align-items:end;background:#fff;border-radius:16px;padding:16px;margin-top:-40px;position:relative;z-index:3;box-shadow:0 10px 30px rgba(5,19,38,.12)}
.holiday-search label,.list-filters label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--primary)}
.holiday-search select,.list-filters select{min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;font-weight:400;color:var(--text);background:#fff}
.holiday-search .btn{min-height:44px}
/* Stats sit below the holiday search bar. (Sibling rule inside one container, so it also works when a page builder wraps each section.) */
.holiday-search+.stats{margin-top:16px}
/* Room under the hero content, so the search bar that overlaps the hero bottom never touches the enquiry form. */
@media (min-width:768px){.home-hero .container{padding-bottom:76px}}
.list-filters{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:12px;align-items:end;background:#fff;border-radius:var(--radius);padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.05);margin-bottom:10px}
.showing{color:var(--muted);font-size:14px;margin:6px 0 14px}
.cmp-btn{background:none;border:1px dashed var(--border);border-radius:6px;min-height:36px;font-weight:700;color:var(--primary);font-size:13px}
.cmp-btn[aria-pressed="true"]{background:#e6f6ef;border-style:solid;border-color:var(--primary-2);color:var(--primary-2)}
.compare-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;z-index:80;background:var(--dark);color:#fff;border-radius:40px;padding:8px 10px 8px 20px;display:flex;gap:10px;align-items:center;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.compare-bar[hidden]{display:none}
.compare-bar .btn{min-height:40px;padding:6px 16px}
.compare-bar .btn-outline{background:transparent;color:#fff;border-color:#fff}
.cmp-box{max-width:900px}
.cmp-table{width:100%;border-collapse:collapse;font-size:14px}
.cmp-table th,.cmp-table td{border:1px solid var(--border);padding:10px;text-align:left;vertical-align:top}
.cmp-table thead th{background:var(--tint)}
.bk{border:2px solid var(--primary-2)}
.bk .box-title{font-size:18px}
.bk-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;margin-bottom:10px}
.bk-field input,.bk-field select{min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font:inherit;font-weight:400}
.bk-room{border:1px solid var(--border);border-radius:10px;padding:10px;margin-bottom:8px}
.bk-room-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.bk-del,.bk-add,.bk-pdf{background:none;border:0;color:var(--primary);font-weight:700;min-height:36px;padding:0}
.bk-add{margin-bottom:10px}
.bk-count{display:grid;grid-template-columns:1fr 36px 28px 36px;align-items:center;gap:4px;font-size:14px;padding:3px 0}
.bk-count button{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:18px;color:var(--primary)}
.bk-count button:disabled{opacity:.35}
.bk-count b{text-align:center}
.bk-out{background:#f8fafc;border-radius:10px;padding:10px 12px;margin:6px 0 12px;font-size:14px}
.bk-out:empty{display:none}
.bk-line{display:flex;justify-content:space-between;gap:8px;padding:3px 0}
.bk-total{border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-size:16px}
.bk-total b{color:var(--primary)}
.bk-adv{color:var(--primary-2)}
.bk-note{font-size:12px;color:var(--muted);margin-top:6px}
.bk-form{margin-top:12px}
@media (max-width:1000px){.holiday-search,.list-filters{grid-template-columns:1fr 1fr}.holiday-search .btn,.list-filters .btn{grid-column:1/-1}}
@media (max-width:767px){.holiday-search{margin-top:16px}.compare-bar{bottom:74px}}
/* Printing a package page = a clean itinerary PDF */
@media print{
  .topbar,header.site,.prefooter,footer.site,.wa-float,.mbar,.modal,.sidebar,.tabs,#similar,.title,.subtitle,.skip,.compare-bar{display:none !important}
  body{background:#fff;font-size:12pt}
  .page-hero{min-height:0;padding:0;background:none}
  .page-hero img,.page-hero::after{display:none}
  .page-hero .container,.page-hero h1{color:#000}
  .two-col{display:block}
  .prose{box-shadow:none;padding:0}
  details.day{break-inside:avoid}
  details.day>.content{display:block !important}
}
.list-filters>*,.holiday-search>*{min-width:0}
.list-filters select,.holiday-search select{width:100%;max-width:100%}
@media (max-width:560px){.list-filters,.holiday-search{grid-template-columns:1fr}}
/* ===== Galleries, activity icons, credits ===== */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:12px 0 20px}
.gallery figure{margin:0;background:#e5e7eb;border-radius:10px;overflow:hidden}
.gallery img{width:100%;height:170px;object-fit:cover}
.gallery figcaption{font-size:12px;color:var(--muted);padding:4px 8px;background:#fff}
.gallery figcaption a{color:var(--primary);display:inline-block;padding:4px 0}
.activities{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin:8px 0 22px}
.activities a{background:#fff;border-radius:var(--radius);padding:14px 8px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--primary)}
.activities img{width:56px;height:56px;object-fit:contain}
.h-with-ic{display:flex;align-items:center;gap:10px}
.h-ic{width:44px;height:44px;object-fit:contain;flex:0 0 44px}
.credits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.credits-grid figure{margin:0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.credits-grid img{width:100%;height:160px;object-fit:cover}
.credits-grid figcaption{padding:10px;font-size:13px}
@media (max-width:1000px){.activities{grid-template-columns:repeat(4,1fr)}}
@media (max-width:560px){.activities{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:120px}}
/* Photos placed beside guide sections */
.inline-fig{margin:6px 0 14px;width:46%;border-radius:12px;overflow:hidden;background:#e5e7eb}
.inline-fig img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.inline-fig.right{float:right;margin-left:18px}
.inline-fig.left{float:left;margin-right:18px}
/* Lists next to a floated photo sit beside it instead of flowing underneath, so their bullets stay visible. */
.prose ul:not([class]),.prose ol:not([class]){display:flow-root}
.prose h2{clear:both}
.prose::after{content:"";display:block;clear:both}
@media (max-width:700px){.inline-fig,.inline-fig.right,.inline-fig.left{float:none;width:100%;margin:8px 0 14px}}
/* ===== Home blocks (restored) and new home sections ===== */
.split{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center}
.split img{border-radius:var(--radius);width:100%;height:340px;object-fit:cover}
.col-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:14px 0 18px}
.col-card{position:relative;border-radius:var(--radius);overflow:hidden;height:180px;display:block;background:var(--dark)}
.col-card img{width:100%;height:100%;object-fit:cover;opacity:.78;transition:transform .4s}
.col-card:hover img{transform:scale(1.05)}
.col-card span{position:absolute;left:14px;right:14px;bottom:12px;color:#fff;font-family:var(--head);font-weight:700;font-size:17px;text-shadow:0 2px 8px rgba(0,0,0,.65)}
.more-row{text-align:center;margin-top:22px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.more-row [hidden]{display:none}
.itin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.itin-card{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:8px}
.itin-card h3{font-size:19px;color:var(--primary)}
.itin-sub{font-size:13px;color:var(--muted)}
.itin-card ol{margin:4px 0 8px 18px;font-size:14px;color:#374151}
.itin-card li{margin:3px 0}
.itin-card .btn{margin-top:auto}
.reviews{grid-template-columns:repeat(3,1fr)}
.review blockquote{margin:0}
.link-groups{grid-template-columns:repeat(4,1fr)}
.link-groups h3{font-size:16px;color:var(--primary);margin-bottom:6px}
.link-groups p{line-height:1.9}
.link-groups p a{display:block;color:#334155}
.link-groups p a::after{content:none !important}
@media (max-width:1000px){.col-grid,.itin-cards,.link-groups{grid-template-columns:1fr 1fr}.reviews{grid-template-columns:1fr}}
@media (max-width:820px){.split{grid-template-columns:1fr}.split img{height:240px}}
@media (max-width:560px){.col-grid,.itin-cards,.link-groups{grid-template-columns:1fr}.col-card{height:140px}}
/* Phones: comfortable tap targets for links inside tables and tip boxes */
@media (max-width:767px){
  table.stack td a,.tip a{display:inline-block;padding:11px 0;min-height:40px}
}@media (max-width:767px){
  .card .card-title a,.post h2 a,.post h3 a,.itin-card h3 a{display:block;padding:9px 0;min-height:40px}
}@media (max-width:767px){.answer a{display:inline-block;padding:10px 0;min-height:40px}}
/* Phones: ready-made itineraries as a swipeable row */
@media (max-width:767px){
  .itin-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  .itin-card{flex:0 0 86%;scroll-snap-align:start}
}