/*
Theme Name: JustGoToGreece
Theme URI: https://justgo2greece.com/
Author: JustGoToGreece
Description: An English travel collection and enquiry theme for JustGoToGreece. Includes public accommodation, professional tour packages, rental cars and service request management.
Version: 1.4.7.6
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: vela-stays
*/

:root {
  --vela-blue: #0756b8;
  --vela-aegean: #08a7d7;
  --vela-navy: #082748;
  --vela-sky: #eaf8ff;
  --vela-sand: #fff7e8;
  --vela-sun: #ffc94a;
  --vela-coral: #f46c52;
  --vela-white: #ffffff;
  --vela-ink: #12243a;
  --vela-muted: #627187;
  --vela-line: #dbe7f1;
  --vela-radius: 24px;
  --vela-shadow: 0 20px 55px rgba(8, 39, 72, .12);
  --vela-width: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--vela-ink);
  background: #fff;
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.vela-shell { width: min(calc(100% - 40px), var(--vela-width)); margin-inline: auto; }
.vela-section { padding: 88px 0; }
.vela-section--soft { background: linear-gradient(180deg, #f7fbff 0%, #eef8ff 100%); }
.vela-eyebrow { margin: 0 0 10px; color: var(--vela-blue); font-size: .78rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.vela-title { margin: 0; color: var(--vela-navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.15rem, 4vw, 4.25rem); line-height: 1.06; letter-spacing: -.035em; }
.vela-heading { margin: 0; color: var(--vela-navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.9rem, 3vw, 3rem); line-height: 1.12; letter-spacing: -.025em; }
.vela-lead { max-width: 680px; margin: 18px 0 0; color: var(--vela-muted); font-size: 1.08rem; }
.vela-kicker { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.vela-kicker__copy { max-width: 680px; }
.vela-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 9px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--vela-blue); color: #fff; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.vela-button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(7,86,184,.22); background: #064a9d; }
.vela-button--light { background: #fff; color: var(--vela-navy); }
.vela-button--coral { background: var(--vela-coral); }
.vela-button--outline { border: 1px solid rgba(255,255,255,.5); background: transparent; }
.vela-button--small { min-height: 42px; padding-inline: 18px; font-size: .9rem; }

/* Header */
.vela-site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(219,231,241,.85); background: rgba(255,255,255,.92); backdrop-filter: blur(16px); }
.vela-header-inner { display: grid; min-height: 78px; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; }
.vela-brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 850; color: var(--vela-navy); letter-spacing: -.025em; }
.vela-brand__mark { position: relative; width: 38px; height: 38px; overflow: hidden; border-radius: 50% 50% 45% 55%; background: linear-gradient(145deg, var(--vela-blue), var(--vela-aegean)); }
.vela-brand__mark::after { position: absolute; right: -2px; bottom: 6px; width: 31px; height: 9px; border-radius: 50%; background: #fff; content: ""; transform: rotate(-12deg); }
.vela-brand__sub { color: var(--vela-aegean); font-size: .68em; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.vela-custom-logo { width: auto; max-width: 220px; height: 52px; object-fit: contain; }
.vela-logo-image { display:block; width:218px; height:52px; object-fit:contain; object-position:left center; }
.vela-footer-brand{display:inline-flex;padding:9px 12px;border-radius:11px;background:#fff}.vela-footer-brand .vela-logo-image{width:185px;height:44px}
.vela-nav { display: flex; align-items: center; justify-content: center; gap: 20px; }
.vela-nav ul { display: flex; align-items: center; gap: 20px; margin: 0; padding: 0; list-style: none; }
.vela-nav a { color: #29425c; font-size: .9rem; font-weight: 750; white-space: nowrap; }
.vela-nav a:hover { color: var(--vela-blue); }
.vela-header-actions { display: flex; align-items: center; gap: 10px; }
.vela-email-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-weight:700;white-space:nowrap}.vela-email-link svg{width:18px;height:18px;flex:0 0 auto}.vela-email-link--footer{color:rgba(255,255,255,.82)!important}.vela-email-link--footer:hover{color:#fff!important}.vela-email-link--contact{margin-top:1.25rem;color:#fff;font-size:1rem}.vela-email-link--contact:hover{color:#dff7ff}
.vela-menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--vela-line); border-radius: 50%; background: #fff; color: var(--vela-navy); font-size: 1.2rem; }

/* Home hero */
.vela-hero { position: relative; min-height: 720px; overflow: hidden; background: var(--vela-navy); color: #fff; isolation: isolate; }
.vela-hero::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(6,30,58,.9) 0%, rgba(6,30,58,.64) 45%, rgba(6,30,58,.14) 74%); content: ""; }
.vela-hero__media { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vela-hero__inner { display: flex; min-height: 720px; align-items: center; padding: 88px 0 142px; }
.vela-hero__copy { width: min(720px, 100%); }
.vela-hero__copy::before { display: block; width: 74px; height: 2px; margin-bottom: 25px; background: linear-gradient(90deg, var(--vela-coral), #fff); content: ""; }
.vela-hero .vela-eyebrow { color: #8ce8ff; }
.vela-hero .vela-title { color: #fff; font-size: clamp(3.35rem, 7vw, 6.8rem); }
.vela-hero__text { max-width: 600px; margin: 22px 0 30px; color: rgba(255,255,255,.84); font-size: clamp(1.05rem, 2vw, 1.28rem); }
.vela-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.vela-greek-line { position: absolute; bottom: 0; left: 0; width: 100%; height: 14px; background: repeating-linear-gradient(90deg, #fff 0 42px, var(--vela-blue) 42px 84px); }
.vela-home-intro { position: relative; z-index: 6; margin: 26px 0 0; }
.vela-journey-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; overflow: hidden; border: 1px solid rgba(219,231,241,.9); border-radius: 23px; background: rgba(255,255,255,.97); box-shadow: 0 19px 42px rgba(8,39,72,.1); }
.vela-journey-strip > div { display: grid; grid-template-columns: 39px 1fr; column-gap: 13px; padding: 20px 24px; }
.vela-journey-strip > div + div { border-left: 1px solid var(--vela-line); }
.vela-journey-strip span { display: grid; grid-row: span 2; width: 39px; height: 39px; place-items: center; border-radius: 13px; background: #e8f8ff; color: var(--vela-blue); font-weight: 900; }
.vela-journey-strip strong { color: var(--vela-navy); font-size: .92rem; }
.vela-journey-strip p { margin: 1px 0 0; color: var(--vela-muted); font-size: .77rem; line-height: 1.45; }

/* Search */
.vela-search-wrap { position: relative; z-index: 5; margin-top: -67px; }
.vela-search { display: grid; grid-template-columns: 1.15fr 1.05fr .9fr .9fr .72fr auto; gap: 1px; padding: 9px; overflow: hidden; border: 1px solid rgba(219,231,241,.8); border-radius: 24px; background: #fff; box-shadow: var(--vela-shadow); }
.vela-field { position: relative; min-width: 0; padding: 9px 16px; border-right: 1px solid var(--vela-line); }
.vela-field label { display: block; margin-bottom: 2px; color: #75859a; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.vela-field input, .vela-field select { width: 100%; min-height: 34px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--vela-navy); font-size: .95rem; font-weight: 750; }
.vela-search .vela-button { align-self: stretch; border-radius: 18px; }
.vela-tour-search { grid-template-columns: 1.2fr 1.2fr auto; }
.vela-car-search { grid-template-columns: 1.2fr .75fr 1fr auto; }

/* Cards */
.vela-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vela-stay-card { position: relative; overflow: hidden; border: 1px solid var(--vela-line); border-radius: var(--vela-radius); background: #fff; box-shadow: 0 10px 35px rgba(8,39,72,.07); transition: transform .25s ease, box-shadow .25s ease; }
.vela-stay-card:hover { transform: translateY(-6px); box-shadow: var(--vela-shadow); }
.vela-stay-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--vela-sky); }
.vela-stay-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.vela-stay-card:hover .vela-stay-card__media img { transform: scale(1.035); }
.vela-badge { position: absolute; top: 15px; left: 15px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--vela-blue); font-size: .72rem; font-weight: 850; backdrop-filter: blur(10px); }
.vela-destination-badge { position: absolute; top: 15px; right: 15px; display: inline-flex; align-items: center; justify-content: center; max-width: calc(50% - 21px); min-height: 30px; padding: 7px 11px; border-radius: 999px; background: rgba(8,39,72,.93); color: #fff; font-size: .72rem; font-weight: 850; line-height: 1.24; text-align: center; overflow-wrap: anywhere; box-shadow: 0 8px 20px rgba(8,39,72,.20); backdrop-filter: blur(10px); }
.vela-stay-card__media .vela-badge { max-width: calc(50% - 21px); overflow-wrap: anywhere; line-height: 1.24; text-align: center; }
.vela-stay-card__body { padding: 20px; }
.vela-stay-card__location { margin: 0 0 5px; color: var(--vela-blue); font-size: .76rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.vela-stay-card__location--below { margin: 12px 0 0; }
.vela-stay-card h3 { margin: 0; color: var(--vela-navy); font-family: Georgia, serif; font-size: 1.5rem; line-height: 1.22; }
.vela-stay-card__meta { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 14px; color: var(--vela-muted); font-size: .84rem; }
.vela-stay-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--vela-line); }
.vela-price { color: var(--vela-navy); font-weight: 850; }
.vela-price span { color: var(--vela-muted); font-size: .73rem; font-weight: 600; }
.vela-text-link { color: var(--vela-blue); font-size: .86rem; font-weight: 850; }
.vela-featured-stay-group + .vela-featured-stay-group { margin-top: 64px; padding-top: 58px; border-top: 1px solid var(--vela-line); }
.vela-featured-stay-group__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.vela-featured-stay-group__head .vela-eyebrow { margin-bottom: 7px; }
.vela-featured-stay-group__head h3 { margin: 0; color: var(--vela-navy); font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3rem); line-height: 1; }
.vela-featured-stay-group__head p:not(.vela-eyebrow) { max-width: 570px; margin: 10px 0 0; color: var(--vela-muted); }

/* Destination and category tiles */
.vela-destinations { display: grid; grid-template-columns: 1.35fr 1fr 1fr; grid-template-rows: repeat(2, 240px); gap: 18px; }
.vela-destination { position: relative; display: flex; overflow: hidden; align-items: flex-end; padding: 24px; border-radius: var(--vela-radius); color: #fff; isolation: isolate; }
.vela-destination:first-child { grid-row: 1 / 3; }
.vela-destination::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(4,29,56,.84)); content: ""; }
.vela-destination img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.vela-destination:hover img { transform: scale(1.04); }
.vela-destination h3 { margin: 0; font-family: Georgia, serif; font-size: 1.65rem; }
.vela-destination p { margin: 4px 0 0; color: rgba(255,255,255,.78); font-size: .86rem; }
.vela-categories { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; }
.vela-category { padding: 28px 24px; border: 1px solid var(--vela-line); border-radius: var(--vela-radius); background: #fff; }
.vela-category__icon { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 22px; border-radius: 18px; background: var(--vela-sky); font-size: 1.6rem; }
.vela-category h3 { margin: 0 0 7px; color: var(--vela-navy); font-family: Georgia, serif; font-size: 1.25rem; }
.vela-category p { margin: 0; color: var(--vela-muted); font-size: .9rem; }

/* Tours and rental cars */
.vela-page-hero--tours { background: linear-gradient(135deg, #392b77, #0756b8 55%, #08a7d7); }
.vela-page-hero--cars { background: linear-gradient(135deg, #082748, #0756b8 62%, #15a6b9); }
.vela-tour-card .vela-stay-card__media, .vela-car-card .vela-stay-card__media { background: #dff7ff; }
.vela-results-note { font-size: .84rem; }
.vela-rental-band { display: grid; grid-template-columns: 1fr .9fr; gap: 54px; align-items: center; overflow: hidden; padding: 62px; border-radius: 34px; background: linear-gradient(135deg, #061f3d, #0756b8); color: #fff; }
.vela-rental-band .vela-heading { color: #fff; }
.vela-rental-band p { color: rgba(255,255,255,.76); }
.vela-rental-band__features { display: grid; gap: 8px; margin: 24px 0 28px; color: #dff8ff; font-size: .9rem; font-weight: 700; }
.vela-rental-band__visual { position: relative; }
.vela-rental-band__visual img { width: 100%; border: 1px solid rgba(255,255,255,.16); border-radius: 25px; box-shadow: 0 28px 60px rgba(0,0,0,.25); }
.vela-rental-stat { position: absolute; right: 20px; bottom: -22px; display: flex; max-width: 210px; align-items: center; gap: 12px; padding: 14px 17px; border-radius: 17px; background: #fff; color: var(--vela-navy); box-shadow: var(--vela-shadow); }
.vela-rental-stat strong { color: var(--vela-blue); font-size: 1.7rem; }
.vela-rental-stat span { font-size: .75rem; line-height: 1.25; }
.vela-itinerary { position: relative; display: grid; gap: 0; margin-top: 18px; }
.vela-itinerary__item { position: relative; display: grid; grid-template-columns: 46px 1fr; gap: 17px; padding-bottom: 26px; }
.vela-itinerary__item:not(:last-child)::before { position: absolute; top: 42px; bottom: 0; left: 20px; width: 2px; background: var(--vela-line); content: ""; }
.vela-itinerary__marker { position: relative; z-index: 1; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--vela-blue); color: #fff; font-weight: 850; }
.vela-itinerary__item p { margin: 0; color: var(--vela-blue); font-size: .72rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.vela-itinerary__item h3 { margin: 1px 0 5px; color: var(--vela-navy); font-family: Georgia, serif; font-size: 1.16rem; }
.vela-itinerary__item div p { margin: 0; color: var(--vela-muted); font-size: .9rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.vela-inclusion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 28px; }
.vela-package-list { display: grid; gap: 9px; padding: 0; list-style: none; }
.vela-package-list li { position: relative; padding-left: 25px; }
.vela-package-list li::before { position: absolute; left: 0; font-weight: 900; }
.vela-package-list--yes li::before { color: #168b53; content: "✓"; }
.vela-package-list--no li::before { color: var(--vela-coral); content: "×"; }
.vela-package-notes { margin-top: 42px; padding: 26px; border: 1px solid var(--vela-line); border-radius: 22px; background: #f8fcff; }
.vela-package-notes h2 { margin-top: 0; }
.vela-package-notes dl { margin: 0; }
.vela-package-notes dl div { display: grid; grid-template-columns: 140px 1fr; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--vela-line); }
.vela-package-notes dl div:last-child { border-bottom: 0; }
.vela-package-notes dt { color: var(--vela-navy); font-weight: 850; }
.vela-package-notes dd { margin: 0; color: var(--vela-muted); }
.vela-gallery--car .vela-gallery__item { background: #dff7ff; }

/* Service band */
.vela-concierge { position: relative; overflow: hidden; padding: 70px; border-radius: 36px; background: linear-gradient(130deg, var(--vela-blue), var(--vela-aegean)); color: #fff; }
.vela-concierge::after { position: absolute; right: -90px; bottom: -130px; width: 380px; height: 380px; border: 50px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; }
.vela-concierge__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.vela-concierge .vela-heading { color: #fff; }
.vela-concierge p { color: rgba(255,255,255,.82); }
.vela-steps { display: grid; gap: 15px; }
.vela-step { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 18px; background: rgba(255,255,255,.1); }
.vela-step__number { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 15px; background: #fff; color: var(--vela-blue); font-weight: 900; }
.vela-step strong { display: block; }
.vela-step span { color: rgba(255,255,255,.74); font-size: .84rem; }

/* Archive */
.vela-page-hero { padding: 76px 0 112px; background: linear-gradient(140deg, #072f5d, var(--vela-blue)); color: #fff; }
.vela-page-hero .vela-title, .vela-page-hero .vela-lead { color: #fff; }
.vela-page-hero .vela-lead { opacity: .78; }
.vela-catalog-search { margin-top: -54px; margin-bottom: 44px; }
.vela-results-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.vela-results-bar p { margin: 0; color: var(--vela-muted); }
.vela-accommodation-types { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 28px; padding: 20px 23px; border: 1px solid var(--vela-line); border-radius: 23px; background: linear-gradient(135deg, #fff 0%, #f5fbff 100%); box-shadow: 0 14px 36px rgba(8,39,72,.06); }
.vela-accommodation-types__intro { display: grid; flex: 0 0 177px; gap: 1px; }
.vela-accommodation-types__intro .vela-eyebrow { margin: 0 0 2px; font-size: .64rem; }
.vela-accommodation-types__intro strong { color: var(--vela-navy); font-family: Georgia, serif; font-size: 1.32rem; line-height: 1.1; }
.vela-accommodation-types__intro span { color: var(--vela-muted); font-size: .72rem; line-height: 1.35; }
.vela-accommodation-types__buttons { display: flex; flex: 1; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.vela-accommodation-type { display: inline-flex; min-height: 45px; align-items: center; gap: 8px; padding: 0 14px; border: 1px solid #cfdfed; border-radius: 14px; background: #fff; color: #38536e; font-size: .81rem; font-weight: 800; transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.vela-accommodation-type b { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 8px; background: #e8f8ff; color: var(--vela-blue); font-size: .9rem; }
.vela-accommodation-type:hover { border-color: #78bfe4; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(8,39,72,.08); }
.vela-accommodation-type.is-active { border-color: var(--vela-blue); background: var(--vela-blue); color: #fff; box-shadow: 0 10px 20px rgba(7,86,184,.18); }
.vela-accommodation-type.is-active b { background: rgba(255,255,255,.16); color: #fff; }
.vela-filter-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.vela-chip { padding: 8px 13px; border: 1px solid var(--vela-line); border-radius: 999px; background: #fff; color: var(--vela-muted); font-size: .82rem; font-weight: 750; }
.vela-chip.is-active { border-color: var(--vela-blue); background: var(--vela-blue); color: #fff; }
.vela-empty { padding: 54px; border: 1px dashed #b9cedf; border-radius: var(--vela-radius); text-align: center; background: #f8fcff; }

/* Single */
.vela-single { padding: 42px 0 90px; }
.vela-breadcrumbs { margin-bottom: 22px; color: var(--vela-muted); font-size: .84rem; }
.vela-single-head { display: flex; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.vela-single-head__meta { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 12px; color: var(--vela-muted); }
.vela-gallery { display: grid; grid-template-columns: 2fr 1fr; grid-auto-rows: 230px; gap: 10px; overflow: hidden; border-radius: 28px; }
.vela-gallery__item { overflow: hidden; background: var(--vela-sky); }
.vela-gallery__item:first-child { grid-row: span 2; }
.vela-gallery img { width: 100%; height: 100%; object-fit: cover; }
.vela-stay-slider { overflow: hidden; border-radius: 28px; background: var(--vela-sky); }
.vela-stay-slider__main { position: relative; height: min(57vw, 560px); min-height: 340px; background: var(--vela-sky); }
.vela-stay-slider__main > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vela-stay-slider__arrow { position: absolute; top: 50%; z-index: 1; display: grid; width: 44px; height: 44px; padding: 0 0 4px; place-items: center; border: 0; border-radius: 50%; transform: translateY(-50%); background: rgba(6, 42, 82, .8); color: #fff; font-family: Arial, sans-serif; font-size: 2rem; line-height: 1; cursor: pointer; }
.vela-stay-slider__arrow:hover, .vela-stay-slider__arrow:focus { background: var(--vela-blue); }
.vela-stay-slider__arrow--prev { left: 18px; }
.vela-stay-slider__arrow--next { right: 18px; }
.vela-stay-slider__thumbs { display: flex; gap: 10px; padding: 12px; overflow-x: auto; background: #fff; }
.vela-stay-slider__thumb { flex: 0 0 92px; height: 70px; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 10px; background: var(--vela-sky); cursor: pointer; }
.vela-stay-slider__thumb.is-active { border-color: var(--vela-blue); }
.vela-stay-slider__thumb img { width: 100%; height: 100%; object-fit: cover; }
.vela-single-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 390px); gap: 60px; margin-top: 48px; align-items: start; }
.vela-prose { color: #3a5068; }
.vela-prose h2 { margin-top: 42px; color: var(--vela-navy); font-family: Georgia, serif; }
.vela-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 26px 0; }
.vela-fact { padding: 18px; border: 1px solid var(--vela-line); border-radius: 18px; background: #fff; }
.vela-fact strong { display: block; color: var(--vela-navy); font-size: 1.12rem; }
.vela-fact span { color: var(--vela-muted); font-size: .75rem; }
.vela-amenities { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0; list-style: none; }
.vela-amenities li { padding: 12px 14px; border-radius: 14px; background: var(--vela-sky); font-size: .9rem; }
.vela-amenities li::before { margin-right: 8px; color: var(--vela-blue); content: "✓"; font-weight: 900; }
.vela-enquiry-card { position: sticky; top: 104px; padding: 26px; border: 1px solid var(--vela-line); border-radius: 26px; background: #fff; box-shadow: var(--vela-shadow); }
.vela-enquiry-card h2 { margin: 0; color: var(--vela-navy); font-family: Georgia, serif; font-size: 1.65rem; }
.vela-enquiry-card__hint { margin: 5px 0 20px; color: var(--vela-muted); font-size: .83rem; }
.vela-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.vela-form-field { margin-bottom: 12px; }
.vela-form-field--full { grid-column: 1 / -1; }
.vela-form-field label { display: block; margin-bottom: 5px; color: var(--vela-navy); font-size: .75rem; font-weight: 800; }
.vela-form-field input, .vela-form-field select, .vela-form-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--vela-line); border-radius: 12px; outline: none; background: #fff; color: var(--vela-ink); }
.vela-form-field textarea { min-height: 90px; resize: vertical; }
.vela-form-field input:focus, .vela-form-field select:focus, .vela-form-field textarea:focus { border-color: var(--vela-aegean); box-shadow: 0 0 0 3px rgba(8,167,215,.12); }
.vela-enquiry-card .vela-button { width: 100%; }
.vela-form-note { margin: 12px 0 0; color: var(--vela-muted); font-size: .72rem; text-align: center; }
.vela-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vela-privacy label { display: flex; gap: 8px; align-items: flex-start; color: var(--vela-muted); font-weight: 500; line-height: 1.4; }
.vela-privacy input { width: auto; min-height: auto; margin-top: 3px; }
.vela-alert { margin: 0 0 22px; padding: 14px 16px; border-radius: 14px; font-size: .9rem; }
.vela-alert--success { background: #e8f8ee; color: #17653a; }
.vela-alert--error { background: #fff0ed; color: #a13b2a; }

/* Gate */
.vela-gate { display: grid; min-height: calc(100vh - 78px); place-items: center; padding: 50px 20px; background: linear-gradient(140deg, #061f3d, #0756b8 62%, #08a7d7); color: #fff; }
.vela-gate__card { width: min(100%, 540px); padding: 46px; border: 1px solid rgba(255,255,255,.2); border-radius: 32px; background: rgba(255,255,255,.1); box-shadow: 0 25px 80px rgba(0,0,0,.2); text-align: center; backdrop-filter: blur(16px); }
.vela-gate__icon { display: grid; width: 74px; height: 74px; place-items: center; margin: 0 auto 22px; border-radius: 24px; background: #fff; color: var(--vela-blue); font-size: 2rem; }
.vela-gate h1 { margin: 0; font-family: Georgia, serif; font-size: 2.3rem; }
.vela-gate p { color: rgba(255,255,255,.76); }
.vela-gate form { display: flex; gap: 9px; margin-top: 26px; }
.vela-gate input { min-width: 0; flex: 1; padding: 13px 16px; border: 0; border-radius: 999px; outline: none; }
.vela-gate__back { display: inline-block; margin-top: 22px; color: rgba(255,255,255,.8); font-size: .82rem; }

/* Footer */
.vela-footer { position: relative; overflow: hidden; padding: 0 0 24px; background: radial-gradient(circle at 82% 8%, #0f659a 0, #06294e 23%, #061d38 57%); color: #fff; }
.vela-footer::before { position: absolute; right: -150px; bottom: -210px; width: 580px; height: 580px; border: 70px solid rgba(113,219,250,.08); border-radius: 50%; content: ""; }
.vela-footer > .vela-shell { position: relative; z-index: 1; }
.vela-footer__newsletter { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr); gap: 44px; align-items: center; padding: 43px 48px; border: 1px solid rgba(255,255,255,.23); border-top: 0; border-radius: 0 0 30px 30px; background: linear-gradient(110deg, rgba(7,86,184,.96), rgba(8,167,215,.86)); box-shadow: 0 28px 54px rgba(0,0,0,.19); }
.vela-footer__newsletter .vela-eyebrow { color: #d4f7ff; }
.vela-footer__newsletter h2 { margin: 0; color: #fff; font-family: Georgia, serif; font-size: clamp(2rem, 3vw, 2.85rem); line-height: 1.04; }
.vela-footer__newsletter p:not(.vela-eyebrow):not(.vela-newsletter-message) { max-width: 610px; margin: 12px 0 0; color: rgba(255,255,255,.82); font-size: .94rem; }
.vela-newsletter-form { display: flex; gap: 10px; }
.vela-newsletter-form input[type="email"] { min-width: 0; flex: 1; min-height: 51px; padding: 0 17px; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; outline: 0; background: #fff; color: var(--vela-navy); }
.vela-newsletter-form input[type="email"]:focus { box-shadow: 0 0 0 4px rgba(255,255,255,.22); }
.vela-newsletter-form .vela-button { flex: 0 0 auto; }
.vela-footer__newsletter-form small { display: block; margin: 9px 4px 0; color: rgba(255,255,255,.74); font-size: .7rem; }
.vela-newsletter-message { margin: 0 0 10px; padding: 8px 12px; border-radius: 10px; font-size: .8rem; font-weight: 800; }
.vela-newsletter-message.is-success { background: #e7fff0; color: #17653a; }
.vela-newsletter-message.is-error { background: #fff0ed; color: #a13b2a; }
.vela-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 16px; padding-top: 54px; }
.vela-footer__grid > div { position: relative; min-height: 182px; padding: 25px 24px; overflow: hidden; border: 1px solid rgba(186,226,247,.2); border-radius: 20px; background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.vela-footer__grid > div::before { position: absolute; top: 0; left: 24px; width: 54px; height: 2px; background: linear-gradient(90deg, #8ce8ff, rgba(140,232,255,0)); content: ""; }
.vela-footer__grid > div:first-child { border-color: rgba(140,232,255,.32); background: linear-gradient(145deg, rgba(10,126,190,.24), rgba(255,255,255,.04)); }
.vela-footer__grid > div:not(:first-child) { transition: border-color .25s ease, transform .25s ease, background .25s ease; }
.vela-footer__grid > div:not(:first-child):hover { border-color: rgba(140,232,255,.55); transform: translateY(-3px); background: rgba(255,255,255,.09); }
.vela-footer h3 { margin: 0 0 15px; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.vela-footer p, .vela-footer a { color: rgba(255,255,255,.65); font-size: .9rem; }
.vela-footer ul { margin: 0; padding: 0; list-style: none; }
.vela-footer li + li { margin-top: 8px; }
.vela-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 46px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.5); font-size: .78rem; }

/* Motion is opt-in after JavaScript loads, so content remains accessible without it. */
html.vela-motion-ready [data-vela-reveal] { opacity: 0; transform: translateY(28px); }
html.vela-motion-ready [data-vela-reveal].is-visible { opacity: 1; transform: translateY(0); transition: opacity .76s cubic-bezier(.22,1,.36,1), transform .76s cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
.vela-room-table-wrap { overflow-x: auto; border: 1px solid var(--vela-line); border-radius: 18px; }
.vela-room-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.vela-room-table th, .vela-room-table td { padding: 14px; border-bottom: 1px solid var(--vela-line); text-align: left; white-space: nowrap; }
.vela-room-table th { background: var(--vela-sky); color: var(--vela-navy); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
.vela-room-table tr:last-child td { border-bottom: 0; }
.vela-single-price { min-width: 150px; text-align: right; font-size: 1.3rem; }
.vela-pagination { margin-top: 38px; }
.vela-pagination .nav-links { display: flex; gap: 7px; justify-content: center; }
.vela-pagination .page-numbers { display: grid; min-width: 42px; height: 42px; place-items: center; border: 1px solid var(--vela-line); border-radius: 50%; }
.vela-pagination .current { border-color: var(--vela-blue); background: var(--vela-blue); color: #fff; }

/* Generic content */
.vela-content { padding: 80px 0; }
.vela-content article { max-width: 820px; }
.vela-content h1 { color: var(--vela-navy); font-family: Georgia, serif; font-size: clamp(2.4rem,5vw,4.5rem); line-height: 1.05; }

@media (max-width: 1040px) {
  .vela-header-inner { grid-template-columns: auto auto; justify-content: space-between; }
  .vela-menu-toggle { display: inline-grid; place-items: center; }
  .vela-nav { position: absolute; top: 78px; right: 20px; left: 20px; display: none; padding: 24px; border: 1px solid var(--vela-line); border-radius: 20px; background: #fff; box-shadow: var(--vela-shadow); }
  .vela-nav.is-open { display: grid; justify-content: stretch; gap: 16px; }
  .vela-nav ul { display: grid; gap: 16px; }
  .vela-header-actions .vela-button { display: none; }
  .vela-search { grid-template-columns: repeat(2, 1fr); }
  .vela-search .vela-button { min-height: 56px; grid-column: 1 / -1; }
  .vela-field { border-bottom: 1px solid var(--vela-line); }
  .vela-card-grid { grid-template-columns: repeat(2, 1fr); }
  .vela-categories { grid-template-columns: repeat(2, 1fr); }
  .vela-single-grid { grid-template-columns: 1fr; }
  .vela-enquiry-card { position: static; }
  .vela-rental-band { grid-template-columns: 1fr; }
  .vela-footer__newsletter { grid-template-columns: 1fr; gap: 25px; }
  .vela-accommodation-types { align-items: flex-start; flex-direction: column; }
  .vela-accommodation-types__buttons { justify-content: flex-start; }
}

@media (max-width: 760px) {
  .vela-shell { width: min(calc(100% - 28px), var(--vela-width)); }
  .vela-section { padding: 64px 0; }
  .vela-header-inner { min-height: 68px; gap: 14px; }
  .vela-nav { top: 68px; }
  .vela-brand__text { font-size: .9rem; }
  .vela-logo-image { width:176px; height:42px; }
  .vela-footer-brand .vela-logo-image { width:168px; height:40px; }
  .vela-hero, .vela-hero__inner { min-height: 650px; }
  .vela-hero__inner { padding: 70px 0 135px; align-items: flex-end; }
  .vela-hero .vela-title { font-size: clamp(3rem, 15vw, 4.7rem); }
  .vela-search { grid-template-columns: 1fr; border-radius: 21px; }
  .vela-home-intro { margin-top: 20px; }
  .vela-journey-strip { grid-template-columns: 1fr; border-radius: 19px; }
  .vela-journey-strip > div + div { border-top: 1px solid var(--vela-line); border-left: 0; }
  .vela-search .vela-button { grid-column: auto; }
  .vela-field { padding: 7px 13px; border-right: 0; }
  .vela-kicker { display: block; }
  .vela-featured-stay-group__head { display: block; }
  .vela-featured-stay-group__head > .vela-text-link { display: inline-block; margin-top: 16px; }
  .vela-kicker > .vela-button { margin-top: 20px; }
  .vela-card-grid { grid-template-columns: 1fr; }
  .vela-destinations { grid-template-columns: 1fr; grid-template-rows: none; }
  .vela-destination, .vela-destination:first-child { min-height: 290px; grid-row: auto; }
  .vela-categories { grid-template-columns: 1fr; }
  .vela-concierge { padding: 38px 24px; border-radius: 26px; }
  .vela-concierge__grid { grid-template-columns: 1fr; gap: 35px; }
  .vela-page-hero { padding: 60px 0 100px; }
  .vela-results-bar { display: block; }
  .vela-filter-chips { margin-top: 14px; }
  .vela-single-head { display: block; }
  .vela-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 270px 150px; grid-auto-rows: 150px; }
  .vela-gallery__item:first-child { grid-column: 1 / -1; grid-row: auto; }
  .vela-stay-slider__main { min-height: 0; height: clamp(220px, 62vw, 310px); }
  .vela-stay-slider__thumb { flex-basis: 74px; height: 56px; }
  .vela-single-grid, .vela-single-grid > *, .vela-prose, .vela-enquiry-card, .vela-facts, .vela-fact { min-width: 0; }
  .vela-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vela-amenities { grid-template-columns: 1fr; }
  .vela-form-grid { grid-template-columns: 1fr; }
  .vela-form-field--full { grid-column: auto; }
  .vela-inclusion-grid { grid-template-columns: 1fr; gap: 5px; }
  .vela-package-notes dl div { grid-template-columns: 1fr; gap: 3px; }
  .vela-rental-band { padding: 38px 24px 55px; }
  .vela-gate__card { padding: 34px 22px; }
  .vela-gate form { display: grid; }
  .vela-footer__grid { grid-template-columns: 1fr 1fr; }
  .vela-footer__grid > div { min-height: 0; padding: 22px 19px; }
  .vela-footer__newsletter { padding: 34px 24px; border-radius: 0 0 24px 24px; }
  .vela-newsletter-form { display: grid; }
  .vela-newsletter-form .vela-button { width: 100%; }
  .vela-accommodation-types { gap: 16px; padding: 19px; border-radius: 19px; }
  .vela-accommodation-types__buttons { width: 100%; }
  .vela-footer__bottom { display: block; }
}

.vela-contact-hero{background:linear-gradient(120deg,#062a52,#0874be);color:#fff;padding:5.5rem 0 4.5rem}.vela-contact-hero .vela-title{color:#fff;margin:.35rem 0 .9rem}.vela-contact-hero p:last-child{max-width:650px;font-size:1.08rem;margin:0}.vela-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.vela-contact-card{border:1px solid #d9e5ef;border-radius:18px;background:#fff;padding:2rem;box-shadow:0 12px 35px rgba(6,42,82,.08)}.vela-contact-card--request{border-color:#8ee3ff;background:#f5fbff}.vela-contact-card h2{margin:.4rem 0 .55rem;color:#082748}.vela-contact-card>p:not(.vela-eyebrow){color:#587086;margin-top:0}.vela-contact-card .vela-form-grid{margin-top:1.5rem}.vela-contact-card textarea{min-height:130px}.vela-contact-card select{width:100%;padding:.8rem .9rem;border:1px solid #c8d8e5;border-radius:9px;background:#fff;color:#153149;font:inherit}.vela-contact-card .vela-button{margin-top:1rem}@media(max-width:850px){.vela-contact-grid{grid-template-columns:1fr}.vela-contact-hero{padding:4.25rem 0 3.5rem}}

@media (max-width: 460px) {
  .vela-footer__grid { grid-template-columns: 1fr; }
  .vela-header-actions { gap: 6px; }
  .vela-brand__mark { width: 34px; height: 34px; }
  .vela-single { padding: 28px 0 60px; }
  .vela-single-head__meta { gap: 8px; font-size: .78rem; }
  .vela-stay-slider { border-radius: 18px; }
  .vela-stay-slider__thumbs { gap: 8px; padding: 9px; }
  .vela-stay-slider__thumb { flex-basis: 66px; height: 50px; }
  .vela-stay-slider__arrow { width: 38px; height: 38px; font-size: 1.65rem; }
  .vela-stay-slider__arrow--prev { left: 10px; }
  .vela-stay-slider__arrow--next { right: 10px; }
  .vela-facts { grid-template-columns: 1fr; gap: 10px; }
  .vela-fact { padding: 15px 16px; }
  .vela-enquiry-card { padding: 20px; border-radius: 20px; }
  .vela-form-field input, .vela-form-field select, .vela-form-field textarea { max-width: 100%; }
}

/* Elementor pages manage their own spacing and section widths. */
.vela-elementor-page { width: 100%; }

/* Premium navigation and inner-page hero system. */
.vela-site-header { min-height: 84px; border: 0; background: rgba(255,255,255,.86); box-shadow: 0 10px 32px rgba(8,39,72,.07); backdrop-filter: blur(22px) saturate(150%); }
.vela-site-header::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--vela-aegean), var(--vela-blue) 43%, var(--vela-coral)); content: ""; }
.vela-header-inner { min-height: 84px; gap: 28px; }
.vela-brand { position: relative; min-width: 218px; padding: 7px 0; }
.vela-brand::after { position: absolute; bottom: 3px; left: 2px; width: 48px; height: 3px; border-radius: 99px; background: linear-gradient(90deg, var(--vela-aegean), var(--vela-blue)); content: ""; opacity: .9; }
.vela-logo-image { width: 210px; height: 54px; transition: transform .25s ease; }
.vela-brand:hover .vela-logo-image { transform: translateY(-1px); }
.vela-nav { gap: 9px; padding: 6px; border: 1px solid rgba(201,220,234,.75); border-radius: 999px; background: rgba(247,251,255,.8); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.vela-nav ul { gap: 2px; }
.vela-nav a { position: relative; display: inline-flex; min-height: 38px; align-items: center; padding: 0 13px; border-radius: 999px; color: #28445f; font-size: .82rem; font-weight: 800; letter-spacing: .005em; transition: color .22s ease, background .22s ease, transform .22s ease; }
.vela-nav a::after { position: absolute; bottom: 7px; left: 50%; width: 4px; height: 4px; border-radius: 50%; background: var(--vela-coral); content: ""; opacity: 0; transform: translate(-50%, 4px); transition: opacity .22s ease, transform .22s ease; }
.vela-nav a:hover { background: #fff; color: var(--vela-blue); transform: translateY(-1px); }
.vela-nav a:hover::after, .vela-nav .current-menu-item > a::after, .vela-nav .current_page_item > a::after { opacity: 1; transform: translate(-50%, 0); }
.vela-nav .current-menu-item > a, .vela-nav .current_page_item > a { background: #fff; color: var(--vela-navy); box-shadow: 0 5px 14px rgba(8,39,72,.09); }
.vela-header-actions { gap: 12px; }
.vela-header-adviser { display: inline-flex; min-height: 46px; align-items: center; gap: 8px; padding: 0 15px 0 13px; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: linear-gradient(135deg, #063e89, #0a72dc); color: #fff; box-shadow: 0 10px 21px rgba(7,86,184,.22), inset 0 1px 0 rgba(255,255,255,.28); font-size: .83rem; font-weight: 850; transition: transform .22s ease, box-shadow .22s ease; white-space: nowrap; }
.vela-header-adviser:hover { transform: translateY(-2px); box-shadow: 0 14px 26px rgba(7,86,184,.3), inset 0 1px 0 rgba(255,255,255,.28); }
.vela-header-adviser__dot { width: 7px; height: 7px; border-radius: 50%; background: #94f4d3; box-shadow: 0 0 0 4px rgba(148,244,211,.16); }
.vela-header-adviser__arrow { font-size: 1.08em; line-height: 1; }
.vela-menu-toggle { position: relative; display: none; width: 46px; height: 46px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid rgba(124,157,185,.4); border-radius: 15px; background: linear-gradient(145deg, #fff, #eff7fc); box-shadow: 0 6px 18px rgba(8,39,72,.08); }
.vela-menu-toggle span { display: block; width: 19px; height: 2px; border-radius: 2px; background: var(--vela-navy); transition: transform .23s ease, opacity .23s ease; }
.vela-menu-toggle.is-open span:first-child { transform: translateY(7px) rotate(45deg); }
.vela-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.vela-menu-toggle.is-open span:last-child { transform: translateY(-7px) rotate(-45deg); }

.vela-page-hero { position: relative; min-height: 426px; padding: 0; overflow: hidden; background: radial-gradient(circle at 78% 24%, rgba(88,217,255,.28), transparent 28%), linear-gradient(118deg, #051f45 0%, #063f91 52%, #087dcc 100%); color: #fff; isolation: isolate; }
.vela-page-hero::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(100deg, rgba(0,16,48,.23), transparent 58%), radial-gradient(circle at 14% 100%, rgba(244,108,82,.22), transparent 27%); content: ""; }
.vela-page-hero__grain { position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(rgba(255,255,255,.34) .7px, transparent .8px); background-size: 10px 10px; opacity: .11; mask-image: linear-gradient(90deg, #000, transparent 82%); }
.vela-page-hero__inner { position: relative; z-index: 2; display: grid; min-height: 426px; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); align-items: center; gap: 42px; padding: 65px 0 100px; }
.vela-page-hero__content { max-width: 700px; }
.vela-page-hero .vela-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 15px; color: #a5efff; font-size: .69rem; letter-spacing: .19em; }
.vela-page-hero .vela-eyebrow::before { width: 25px; height: 1px; background: currentColor; content: ""; }
.vela-page-hero .vela-title { max-width: 690px; margin: 0; color: #fff; font-size: clamp(3rem, 5.25vw, 5.35rem); line-height: .96; text-wrap: balance; text-shadow: 0 7px 28px rgba(0,28,71,.23); }
.vela-page-hero .vela-lead { max-width: 610px; margin-top: 20px; color: rgba(255,255,255,.86); font-size: 1.06rem; line-height: 1.65; opacity: 1; }
.vela-page-hero__meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.vela-page-hero__meta span { display: inline-flex; min-height: 32px; align-items: center; padding: 0 12px; border: 1px solid rgba(255,255,255,.23); border-radius: 999px; background: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.17); color: rgba(255,255,255,.95); font-size: .72rem; font-weight: 760; letter-spacing: .02em; backdrop-filter: blur(8px); }
.vela-page-hero__art { position: relative; width: min(100%, 400px); aspect-ratio: 1.15; justify-self: end; filter: drop-shadow(0 20px 30px rgba(0,25,71,.18)); }
.vela-hero-art__orb { position: absolute; top: 13%; right: 5%; width: 68%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 32% 26%, #fdf4bb 0 5%, #ffd768 6% 19%, #fd934e 47%, #f15666 100%); box-shadow: 0 0 0 15px rgba(255,255,255,.06), 0 0 0 38px rgba(255,255,255,.045); }
.vela-hero-art__ring { position: absolute; top: 5%; right: -8%; width: 81%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; }
.vela-hero-art__ring::after { position: absolute; inset: 15px; border: 1px dashed rgba(255,255,255,.35); border-radius: inherit; content: ""; }
.vela-hero-art__tile { position: absolute; display: block; border: 1px solid rgba(255,255,255,.35); background: linear-gradient(145deg, rgba(255,255,255,.34), rgba(255,255,255,.09)); box-shadow: inset 0 1px 0 rgba(255,255,255,.26); backdrop-filter: blur(10px); }
.vela-hero-art__tile--one { bottom: 7%; left: 2%; width: 40%; height: 31%; border-radius: 31px 31px 10px 31px; transform: rotate(-8deg); }
.vela-hero-art__tile--two { right: 2%; bottom: 2%; width: 28%; height: 24%; border-radius: 18px 18px 30px 18px; transform: rotate(12deg); }
.vela-hero-art__symbol { position: absolute; top: 29%; right: 24%; display: grid; width: 31%; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.44); border-radius: 32% 32% 43% 32%; background: rgba(4,45,113,.34); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); color: #fff; font-family: Georgia, serif; font-size: clamp(3.4rem, 6vw, 5.7rem); line-height: 1; transform: rotate(-7deg); }
.vela-hero-art__symbol::before { content: "⌂"; transform: translateY(-4px); }
.vela-hero-art__ticket { position: absolute; bottom: 18%; left: 11%; display: grid; min-width: 128px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.42); border-radius: 16px; background: rgba(255,255,255,.92); box-shadow: 0 12px 24px rgba(1,30,83,.18); color: var(--vela-navy); line-height: 1.1; transform: rotate(4deg); }
.vela-hero-art__ticket b { font-size: .72rem; letter-spacing: .16em; }
.vela-hero-art__ticket small { margin-top: 4px; color: var(--vela-blue); font-size: .61rem; font-weight: 850; letter-spacing: .12em; }
.vela-page-hero__sweep { position: absolute; z-index: 1; right: -8%; bottom: -1px; left: -8%; height: 48px; border-radius: 50% 50% 0 0 / 60% 60% 0 0; background: #fff; transform: rotate(-1.2deg) translateY(27px); }
.vela-page-hero--tours { background: radial-gradient(circle at 75% 22%, rgba(198,156,255,.3), transparent 27%), linear-gradient(120deg, #191857 0%, #1543ad 56%, #09a8c9 100%); }
.vela-page-hero--tours .vela-hero-art__orb { background: radial-gradient(circle at 32% 26%, #fff4c6 0 5%, #ffd36d 6% 19%, #f78064 47%, #8a4bc6 100%); }
.vela-page-hero--tours .vela-hero-art__symbol::before { content: "✦"; font-size: .9em; }
.vela-page-hero--tours .vela-hero-art__symbol { background: rgba(50,19,121,.35); }
.vela-page-hero--cars { background: radial-gradient(circle at 77% 21%, rgba(111,242,229,.27), transparent 27%), linear-gradient(120deg, #041d3d 0%, #0753a8 57%, #0c9da3 100%); }
.vela-page-hero--cars .vela-hero-art__orb { background: radial-gradient(circle at 32% 26%, #e8ffcc 0 5%, #bff089 6% 19%, #18b9a6 47%, #0a6eb7 100%); }
.vela-page-hero--cars .vela-hero-art__symbol::before { content: "↗"; font-family: inherit; font-weight: 300; }
.vela-page-hero--cars .vela-hero-art__symbol { background: rgba(3,58,89,.42); }
.vela-page-hero--contact { background: radial-gradient(circle at 77% 22%, rgba(255,205,120,.3), transparent 28%), linear-gradient(118deg, #062646 0%, #0865ae 58%, #0a9cc2 100%); }
.vela-page-hero--contact .vela-hero-art__orb { background: radial-gradient(circle at 32% 26%, #fff9df 0 5%, #ffd276 6% 19%, #f77d5e 47%, #df4d77 100%); }
.vela-page-hero--contact .vela-hero-art__symbol::before { content: "✉"; font-family: inherit; font-size: .72em; }
.vela-page-hero--contact .vela-hero-art__symbol { background: rgba(6,47,102,.43); }
.vela-contact-hero { padding: 0; }
.vela-contact-hero p:last-child { max-width: none; margin: 0; }
.vela-email-link--contact { width: fit-content; min-height: 42px; margin-top: 23px; padding: 0 14px; border: 1px solid rgba(255,255,255,.27); border-radius: 999px; background: rgba(255,255,255,.11); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); font-size: .85rem; backdrop-filter: blur(8px); transition: transform .2s ease, background .2s ease; }
.vela-email-link--contact:hover { background: rgba(255,255,255,.19); transform: translateY(-1px); }
.vela-section--catalog { padding-top: 0; }
.vela-catalog-search--experience .vela-search { box-shadow: 0 20px 46px rgba(8,39,72,.16); }

/* Match the Explore Greece search-card placement: the complete filter card sits over the hero edge. */
@media (min-width: 761px) {
  .vela-page-hero + .vela-catalog-search { position: relative; z-index: 8; margin-top: -98px; margin-bottom: 44px; }
  .vela-page-hero + .vela-catalog-search .vela-search { position: relative; box-shadow: 0 22px 50px rgba(8,39,72,.18); }
}

@media (max-width: 1040px) {
  .vela-site-header, .vela-header-inner { min-height: 78px; }
  .vela-nav { top: 88px; display: none; padding: 15px; border-radius: 20px; background: rgba(255,255,255,.97); box-shadow: 0 20px 50px rgba(8,39,72,.18); backdrop-filter: blur(18px); }
  .vela-nav.is-open { display: grid; }
  .vela-nav ul { gap: 4px; }
  .vela-nav a { min-height: 44px; padding: 0 14px; }
  .vela-header-adviser { display: none; }
  .vela-menu-toggle { display: inline-flex; }
}

@media (max-width: 760px) {
  .vela-site-header, .vela-header-inner { min-height: 72px; }
  .vela-header-inner { gap: 10px; }
  .vela-brand { min-width: 0; }
  .vela-brand::after { bottom: 2px; width: 38px; }
  .vela-logo-image { width: 176px; height: 44px; }
  .vela-nav { top: 80px; right: 14px; left: 14px; }
  .vela-page-hero { min-height: 0; background: radial-gradient(circle at 104% 12%, rgba(63,190,255,.2), transparent 34%), linear-gradient(130deg, #061f46 0%, #084b9e 64%, #087cac 100%); }
  .vela-page-hero--tours { background: radial-gradient(circle at 104% 12%, rgba(195,160,255,.2), transparent 34%), linear-gradient(130deg, #161653 0%, #2447a9 64%, #0a8fb6 100%); }
  .vela-page-hero--cars { background: radial-gradient(circle at 104% 12%, rgba(124,237,209,.18), transparent 34%), linear-gradient(130deg, #041e3c 0%, #0754a5 64%, #0a8f9b 100%); }
  .vela-page-hero--contact { background: radial-gradient(circle at 104% 12%, rgba(255,204,115,.2), transparent 34%), linear-gradient(130deg, #062747 0%, #0962a8 64%, #0789b3 100%); }
  .vela-page-hero::before { background: linear-gradient(100deg, rgba(0,16,48,.36), rgba(0,22,61,.11) 72%), radial-gradient(circle at 15% 95%, rgba(244,108,82,.15), transparent 35%); }
  .vela-page-hero__inner { display: block; min-height: 0; padding: 58px 0 74px; }
  .vela-page-hero__content { position: relative; z-index: 2; max-width: 620px; }
  .vela-page-hero .vela-eyebrow { margin-bottom: 13px; font-size: .62rem; letter-spacing: .14em; }
  .vela-page-hero .vela-title { width: 100%; max-width: 100%; font-size: clamp(2.35rem, 10vw, 3.15rem); line-height: .99; letter-spacing: -.05em; overflow-wrap: anywhere; text-wrap: balance; }
  .vela-page-hero--stays .vela-title { font-size: clamp(2.3rem, 9.6vw, 3rem); }
  .vela-page-hero .vela-lead { max-width: 100%; margin-top: 17px; font-size: .98rem; line-height: 1.55; }
  .vela-page-hero__art { display: none; }
  .vela-page-hero__meta { margin-top: 20px; }
  .vela-page-hero__meta span { min-height: 30px; padding-inline: 10px; font-size: .66rem; }
  .vela-page-hero__sweep { height: 40px; }
  .vela-catalog-search { position: relative; z-index: 4; margin-top: 0; margin-bottom: 32px; }
  .vela-catalog-search .vela-search { border-radius: 20px; box-shadow: 0 15px 34px rgba(8,39,72,.12); }
  .vela-section--catalog { padding-top: 0; }
}

@media (max-width: 440px) {
  .vela-logo-image { width: 156px; height: 40px; }
  .vela-menu-toggle { width: 43px; height: 43px; }
  .vela-page-hero__inner { padding-top: 54px; }
  .vela-page-hero .vela-title, .vela-page-hero--stays .vela-title { font-size: clamp(2.18rem, 9.4vw, 2.7rem); }
  .vela-page-hero .vela-lead { font-size: .94rem; }
  .vela-page-hero__meta span:last-child { display: none; }
}

/* 1.4.6.7: guarantee accommodation media and content occupy separate visible rows. */
.vela-stay-card { display:flex; flex-direction:column; min-width:0; height:100%; }
.vela-stay-card > a.vela-stay-card__media { display:block; flex:0 0 auto; width:100%; aspect-ratio:4/3; }
.vela-stay-card > a.vela-stay-card__media img { display:block; width:100%; height:100%; object-fit:cover; }
.vela-stay-card > .vela-stay-card__body { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; height:auto; overflow:visible; visibility:visible; opacity:1; }
.vela-stay-card__body .vela-stay-card__bottom { margin-top:auto; padding-top:16px; }
.vela-pagination { margin-top:36px; }
.vela-pagination ul.page-numbers { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; padding:0; margin:0; list-style:none; }
.vela-pagination .page-numbers a, .vela-pagination .page-numbers span { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:42px; padding:8px 12px; border:1px solid var(--vela-line); border-radius:10px; text-decoration:none; }
.vela-pagination .page-numbers .current { background:var(--vela-navy); color:#fff; border-color:var(--vela-navy); }

/* 1.4.6.8: complete, consistently visible stay details above the main gallery. */
.vela-single-head__meta > span { display:inline-flex; align-items:center; min-height:33px; padding:7px 11px; border-radius:999px; background:var(--vela-sky); color:var(--vela-navy); font-weight:700; line-height:1.3; }
@media (max-width:440px) { .vela-destination-badge, .vela-stay-card__media .vela-badge { top:10px; padding:6px 8px; font-size:.66rem; } .vela-destination-badge { right:10px; } .vela-stay-card__media .vela-badge { left:10px; } }

/* 1.4.7.0: visible keyboard focus and accessible skip navigation. */
.vela-skip-link { position:fixed; top:-100px; left:16px; z-index:10000; padding:12px 18px; background:#fff; color:#102b48; border:2px solid currentColor; border-radius:8px; }
.vela-skip-link:focus { top:12px; }
:where(a,button,input,select,textarea):focus-visible { outline:3px solid #e18b45; outline-offset:3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* Explicit newsletter consent, accessible across desktop and mobile. */
.vela-newsletter-consent { display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.5; margin:8px 0; }
.vela-newsletter-consent input { width:auto; flex:0 0 auto; margin-top:3px; }
.vela-newsletter-consent a { text-decoration:underline; }

/* v1.4.7.2 — Newsletter and premium footer refinements */
.vela-footer__newsletter-form,.vela-newsletter-form { min-width:0; width:100%; }
.vela-newsletter-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 14px; align-items:center; }
.vela-newsletter-form input[type="email"] { grid-column:1; grid-row:1; box-sizing:border-box; width:100%; min-width:0; max-width:none; min-height:52px; border-radius:26px; }
.vela-newsletter-form > .vela-button { grid-column:2; grid-row:1; white-space:nowrap; min-height:52px; }
.vela-newsletter-form .vela-newsletter-consent { grid-column:1 / -1; grid-row:2; display:flex; align-items:flex-start; gap:10px; margin:0; max-width:100%; color:#fff; font-size:12px; line-height:1.5; }
.vela-newsletter-form .vela-newsletter-consent input[type="checkbox"] { appearance:auto; -webkit-appearance:checkbox; display:inline-block; width:16px; min-width:16px; height:16px; flex:none; margin:2px 0 0; padding:0; border-radius:3px; }
.vela-footer__grid .vela-footer-brand { display:inline-flex; align-items:center; }
.vela-footer__grid > div:first-child > p { margin-top:20px; line-height:1.7; }
.vela-footer__grid > div:not(:first-child) li { margin:0; padding:10px 0; border-bottom:1px solid rgba(186,226,247,.15); }
.vela-footer__grid > div:not(:first-child) li:last-child { border-bottom:0; }
.vela-footer__grid > div:not(:first-child) li a { display:inline-flex; align-items:center; min-height:20px; transition:color .2s ease; }
.vela-footer__grid > div:not(:first-child) li a:hover,.vela-footer__grid > div:not(:first-child) li a:focus-visible { color:#fff; }
@media (max-width:700px) { .vela-newsletter-form { grid-template-columns:minmax(0,1fr); } .vela-newsletter-form input[type="email"] { grid-column:1;grid-row:1; } .vela-newsletter-form .vela-newsletter-consent { grid-column:1;grid-row:2; } .vela-newsletter-form > .vela-button { grid-column:1;grid-row:3;width:100%; } }

/* v1.4.7.4 — multi-channel messaging experience */
.vela-brand-icon { display:block; width:19px; height:19px; flex:0 0 19px; }
.vela-contact-link { display:inline-flex; align-items:center; gap:8px; font-weight:750; }
.vela-contact-link--footer { color:rgba(255,255,255,.82); }
.vela-contact-link--footer:hover { color:#fff; }
.vela-single-head__actions { display:flex; flex:0 0 auto; flex-direction:column; align-items:flex-end; gap:12px; }
.vela-messenger-quick-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; max-width:680px; }
.vela-messenger-quick { display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:8px; padding:0 15px; border:1px solid transparent; border-radius:999px; font-size:.8rem; font-weight:850; box-shadow:0 8px 22px rgba(8,39,72,.1); transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.vela-messenger-quick:hover { box-shadow:0 11px 26px rgba(8,39,72,.17); transform:translateY(-1px); }
.vela-messenger-quick--whatsapp { border-color:rgba(18,140,126,.24); background:#e9faf3; color:#087565; }
.vela-messenger-quick--whatsapp:hover { background:#dcf6eb; }
.vela-messenger-quick--viber { border-color:rgba(115,96,242,.25); background:#f0edff; color:#6550cb; }
.vela-messenger-quick--viber:hover { background:#e7e2ff; }
.vela-messenger-quick--telegram { border-color:rgba(35,158,216,.25); background:#eaf7fe; color:#1179ac; }
.vela-messenger-quick--telegram:hover { background:#dff2fd; }
.vela-enquiry-actions { display:grid; gap:12px; }
.vela-messaging-panel { margin-top:4px; padding:14px; border:1px solid #d7e5ef; border-radius:16px; background:linear-gradient(145deg,#fbfdff,#f3f9fd); box-shadow:inset 0 1px 0 #fff; }
.vela-messaging-panel__title { margin:0 0 10px; color:#50677b; font-size:.72rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.vela-messaging-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.vela-messaging-buttons .vela-button { margin-top:0; }
.vela-button--messenger { display:inline-flex; min-width:0; min-height:44px; align-items:center; justify-content:center; gap:7px; padding:0 10px; border:1px solid transparent; border-radius:11px; color:#fff; font-size:.78rem; line-height:1.15; box-shadow:0 8px 18px rgba(8,39,72,.12); }
.vela-button--messenger:hover { color:#fff; transform:translateY(-1px); }
.vela-button--whatsapp { border-color:rgba(5,106,89,.18); background:linear-gradient(135deg,#128c7e,#20b98d); }
.vela-button--whatsapp:hover { background:linear-gradient(135deg,#0f796d,#18a67d); box-shadow:0 12px 24px rgba(18,140,126,.25); }
.vela-button--viber { border-color:rgba(73,56,174,.18); background:linear-gradient(135deg,#6656cf,#8373e9); }
.vela-button--viber:hover { background:linear-gradient(135deg,#5949bd,#7462db); box-shadow:0 12px 24px rgba(102,86,207,.25); }
.vela-button--telegram { border-color:rgba(13,112,160,.18); background:linear-gradient(135deg,#168ac3,#2aabee); }
.vela-button--telegram:hover { background:linear-gradient(135deg,#117aad,#2198d7); box-shadow:0 12px 24px rgba(42,171,238,.25); }
.vela-messaging-status { min-height:0; margin:8px 0 0; color:#46647b; font-size:.72rem; line-height:1.45; }
.vela-messaging-status:empty { display:none; }
.vela-contact-hero__links { display:flex; flex-wrap:wrap; gap:9px; margin-top:23px; }
.vela-contact-hero__links .vela-email-link--contact { margin-top:0; }
.vela-contact-link--contact { min-height:42px; padding:0 14px; border:1px solid rgba(255,255,255,.27); border-radius:999px; background:rgba(255,255,255,.11); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); color:#fff; font-size:.85rem; backdrop-filter:blur(8px); transition:transform .2s ease,background .2s ease; }
.vela-contact-link--contact:hover { background:rgba(255,255,255,.19); color:#fff; transform:translateY(-1px); }
.vela-contact-link--whatsapp { border-color:rgba(149,255,215,.42); background:rgba(18,140,126,.3); }
.vela-contact-link--viber { border-color:rgba(213,205,255,.46); background:rgba(102,86,207,.34); }
.vela-contact-link--telegram { border-color:rgba(190,234,255,.46); background:rgba(42,171,238,.3); }
@media (max-width:760px) {
  .vela-single-head__actions { align-items:stretch; margin-top:18px; }
  .vela-single-price { text-align:left; }
  .vela-messenger-quick-links { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .vela-messenger-quick { min-height:48px; padding:6px 8px; flex-direction:column; gap:3px; text-align:center; font-size:.68rem; }
  .vela-contact-hero__links { display:grid; align-items:stretch; }
  .vela-contact-hero__links > a { width:100%; justify-content:flex-start; }
}
@media (max-width:520px) {
  .vela-messaging-buttons { grid-template-columns:1fr; }
  .vela-button--messenger { font-size:.85rem; }
}
