/* Sky Maxxi Next editorial system 0.8.2.
   Scoped to opt-in .smxn-article. Does not restyle booking, hero or the existing Next pages.
   WordPress/Blocksy post-shell alignment is limited to single posts containing .smxn-article. */
.smxn-article {
  --smxn-a-navy:#252668;
  --smxn-a-link:#1B4FA6;
  --smxn-a-ink:#43536d;
  --smxn-a-muted:#66768f;
  --smxn-a-border:#dce5f0;
  --smxn-a-pale:#f1f5f9;
  --smxn-a-soft:#f7f9fc;
  box-sizing:border-box;
  display:flow-root;
  width:100%;
  max-width:1120px;
  min-width:0;
  margin:0 auto;
  padding:20px clamp(16px,3.2vw,36px) 56px;
  color:var(--smxn-a-ink);
  font-family:SkyMaxxiLato,Lato,Arial,sans-serif;
  font-size:16px;
  line-height:1.68;
  overflow-wrap:break-word;
}
.smxn-article *, .smxn-article *::before, .smxn-article *::after{box-sizing:border-box}
.smxn-article > :first-child{margin-top:0}
.smxn-article :is(h1,h2,h3,h4,h5,h6) {font-family:inherit;color:var(--smxn-a-navy);font-weight:750;line-height:1.25;letter-spacing:-.018em;overflow-wrap:break-word}
.smxn-article h1{font-size:clamp(28px,3vw,40px);margin:0 0 19px}
.smxn-article h2{font-size:clamp(24px,2.5vw,30px);margin:38px 0 14px}
.smxn-article h3{font-size:clamp(19px,2vw,23px);margin:26px 0 11px}
.smxn-article :is(h4,h5,h6){font-size:17px;margin:21px 0 10px}
.smxn-article :is(p,ul,ol,dl,blockquote,table,figure){margin-top:0;margin-bottom:17px}
.smxn-article p{line-height:1.68;max-width:78ch}
.smxn-article :is(a:not(.smxn-button):not(.smxn-route-link)){color:var(--smxn-a-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.smxn-article a:hover{color:var(--smxn-a-navy)}
.smxn-article a:focus-visible,.smxn-article summary:focus-visible{outline:3px solid #6b9dea;outline-offset:3px}
.smxn-article :is(ul,ol){padding-inline-start:1.4em}
.smxn-article li{margin-bottom:8px;padding-inline-start:2px}
.smxn-article li :is(ul,ol){margin-top:8px;margin-bottom:8px}
.smxn-article :is(strong,b){font-weight:750;color:var(--smxn-a-navy)}
.smxn-article :is(img,video,iframe,svg){max-width:100%;height:auto}
.smxn-article img{display:block;border-radius:11px}
.smxn-article figure{width:100%;max-width:100%}
.smxn-article figcaption{color:var(--smxn-a-muted);font-size:13px;margin-top:8px;line-height:1.5}
.smxn-article hr{height:1px;border:0;background:var(--smxn-a-border);margin:32px 0}
.smxn-article blockquote{border-inline-start:3px solid var(--smxn-a-link);background:var(--smxn-a-soft);padding:17px 20px;color:var(--smxn-a-navy);border-radius:0 10px 10px 0}
.smxn-article blockquote p:last-child{margin-bottom:0}
.smxn-article :is(pre,code){overflow-wrap:anywhere}
.smxn-article pre{max-width:100%;overflow-x:auto;padding:16px;background:var(--smxn-a-soft);border-radius:9px}

/* Existing editorial components — compatible with previous article markup. */
.smxn-article :is(.smxn-table-wrap,.smxn-table-scroll){width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;margin:18px 0 24px;border:1px solid var(--smxn-a-border);border-radius:11px}
.smxn-article table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:14px;line-height:1.5;border:1px solid var(--smxn-a-border);border-radius:11px;overflow:hidden;background:#fff}
.smxn-article :is(.smxn-table-wrap,.smxn-table-scroll) table{margin:0;border:0;border-radius:0;min-width:520px}
.smxn-article :is(th,td){vertical-align:top;text-align:left;padding:11px 14px;border:0;border-bottom:1px solid var(--smxn-a-border);overflow-wrap:break-word}
.smxn-article th{background:var(--smxn-a-pale);color:var(--smxn-a-navy);font-weight:750}
.smxn-article tr:last-child td{border-bottom:0}
.smxn-article tbody tr:nth-child(even){background:#fafbfd}
.smxn-article :is(.smxn-card,.smxn-info-box){min-width:0;padding:22px;border:1px solid var(--smxn-a-border);border-radius:13px;background:#fff;box-shadow:none}
.smxn-article :is(.smxn-card,.smxn-info-box) > :first-child{margin-top:0}
.smxn-article :is(.smxn-card,.smxn-info-box) > :last-child{margin-bottom:0}
.smxn-article .smxn-card :is(h2,h3,h4),.smxn-article .smxn-info-box :is(h2,h3,h4){margin:0 0 11px}
.smxn-article .smxn-info-box{background:var(--smxn-a-soft);margin:22px 0}
.smxn-article :is(.smxn-grid,.smxn-columns){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;margin:20px 0 28px}
.smxn-article .smxn-grid.smxn-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.smxn-article .smxn-grid.smxn-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.smxn-article .smxn-grid > *,.smxn-article .smxn-columns > *{min-width:0;max-width:100%}
.smxn-article .smxn-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 19px;border:1px solid var(--smxn-a-navy);border-radius:10px;background:var(--smxn-a-navy);color:#fff!important;font-size:14px;font-weight:700;line-height:1.35;text-align:center;text-decoration:none!important;cursor:pointer;max-width:100%;transition:background-color .15s ease,border-color .15s ease}
.smxn-article .smxn-button:hover,.smxn-article .smxn-button:focus-visible{background:var(--smxn-a-link);border-color:var(--smxn-a-link);color:#fff!important}
.smxn-article .smxn-button.smxn-button-outline{background:transparent;color:var(--smxn-a-navy)!important}
.smxn-article .smxn-button.smxn-button-outline:hover{background:var(--smxn-a-soft)}

/* Content-first editorial components: optional, never required for existing articles. */
.smxn-article .smxn-eyebrow{display:block;color:var(--smxn-a-link);font-size:12px;font-weight:750;line-height:1.4;letter-spacing:.085em;text-transform:uppercase;margin:0 0 12px}
.smxn-article .smxn-lead{font-size:clamp(17px,1.9vw,20px);line-height:1.55;color:#3c4d67;max-width:74ch;margin:0 0 22px}
.smxn-article .smxn-article-intro{padding:0 0 8px;margin-bottom:26px}
.smxn-article .smxn-article-intro > :last-child{margin-bottom:0}
.smxn-article .smxn-article-intro h2{margin-top:0}
.smxn-article .smxn-article-feature{margin:24px 0 30px;overflow:hidden;border-radius:16px}
.smxn-article .smxn-article-feature img{border-radius:16px;width:100%;height:auto;aspect-ratio:16/8;object-fit:cover}
.smxn-article .smxn-article-feature figcaption{padding:0 2px}
.smxn-article .smxn-article-toc{margin:25px 0 32px;padding:20px 24px;background:var(--smxn-a-soft);border:1px solid var(--smxn-a-border);border-radius:14px}
.smxn-article .smxn-article-toc > :is(h2,h3,p):first-child{margin:0 0 10px;font-size:17px;line-height:1.3;font-weight:750;color:var(--smxn-a-navy)}
.smxn-article .smxn-article-toc ul{display:flex;flex-wrap:wrap;column-gap:22px;row-gap:5px;list-style:none;margin:0;padding:0}
.smxn-article .smxn-article-toc li{padding:0;margin:0}
.smxn-article .smxn-article-toc a{font-size:14px;font-weight:650;text-decoration:none!important}
.smxn-article .smxn-article-toc a:hover{text-decoration:underline!important}
.smxn-article :is(h2,h3)[id],.smxn-article section[id]{scroll-margin-top:90px}
.smxn-article .smxn-checklist{list-style:none;margin:18px 0 24px;padding:0;display:grid;gap:12px}
.smxn-article .smxn-checklist li{position:relative;margin:0;padding:0 0 0 30px}
.smxn-article .smxn-checklist li::before{content:'✓';position:absolute;left:0;top:0;width:21px;height:21px;display:grid;place-items:center;background:#eaf2fd;border-radius:50%;color:var(--smxn-a-link);font-size:13px;font-weight:800}
.smxn-article .smxn-article-note{padding:17px 20px;background:var(--smxn-a-soft);border-inline-start:3px solid var(--smxn-a-link);border-radius:0 11px 11px 0;margin:20px 0 26px}
.smxn-article .smxn-article-note > :last-child{margin-bottom:0}

/* Editorial route cards: links, photos and facts, with no fabricated fares. */
.smxn-article .smxn-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:22px 0 30px}
.smxn-article .smxn-route-grid > *{min-width:0}
.smxn-article .smxn-route-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--smxn-a-border);border-radius:14px;background:#fff;transition:border-color .15s ease,transform .15s ease}
.smxn-article .smxn-route-card:hover{border-color:#a2b7dd;transform:translateY(-2px)}
.smxn-article .smxn-route-card figure{margin:0}
.smxn-article .smxn-route-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:0}
.smxn-article .smxn-route-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:8px;padding:18px}
.smxn-article .smxn-route-card-body :is(h2,h3){font-size:19px;line-height:1.3;margin:0}
.smxn-article .smxn-route-card-body p{font-size:14px;line-height:1.5;color:var(--smxn-a-muted);margin:0}
.smxn-article .smxn-route-card-body .smxn-route-meta{font-size:13px;color:var(--smxn-a-muted)}
.smxn-article .smxn-route-card-body .smxn-route-link{font-size:14px;color:var(--smxn-a-link);font-weight:750;text-decoration:none;margin-top:auto;padding-top:8px}
.smxn-article .smxn-route-card-body .smxn-route-link:hover{text-decoration:underline}
.smxn-article .smxn-route-list{list-style:none;margin:18px 0 30px;padding:0;border:1px solid var(--smxn-a-border);border-radius:13px;overflow:hidden}
.smxn-article .smxn-route-list li{display:grid;grid-template-columns:minmax(0,36%) minmax(0,1fr);align-items:start;gap:15px;margin:0;padding:14px 18px;border-bottom:1px solid var(--smxn-a-border)}
.smxn-article .smxn-route-list li:last-child{border-bottom:0}
.smxn-article .smxn-route-list li > :first-child{min-width:0}
.smxn-article .smxn-route-list li p{font-size:14px;color:var(--smxn-a-muted);margin:4px 0 0}
.smxn-article .smxn-route-list li a{white-space:normal;font-size:14px;font-weight:750}

/* Editorial conversion modules; use only for genuine route/search links. */
.smxn-article .smxn-article-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;background:var(--smxn-a-navy);border-radius:16px;padding:27px 30px;margin:34px 0;color:#fff}
.smxn-article .smxn-article-cta :is(h2,h3,p,strong){color:#fff}
.smxn-article .smxn-article-cta :is(h2,h3){font-size:clamp(20px,2.2vw,25px);line-height:1.3;margin:0 0 9px}
.smxn-article .smxn-article-cta p{font-size:15px;line-height:1.6;margin:0;color:#e6eaf7}
.smxn-article .smxn-article-cta .smxn-button{background:#fff;color:var(--smxn-a-navy)!important;border-color:#fff;white-space:nowrap}
.smxn-article .smxn-article-cta .smxn-button:hover{background:#e9eefc;border-color:#e9eefc}
.smxn-article .smxn-article-links{margin:24px 0 36px;border-top:1px solid var(--smxn-a-border);padding-top:20px}
.smxn-article .smxn-article-links :is(h2,h3){margin:0 0 11px;font-size:19px}
.smxn-article .smxn-article-links ul{margin:0;display:flex;flex-wrap:wrap;column-gap:30px;row-gap:5px}
.smxn-article .smxn-faq{margin:16px 0 32px;border-top:1px solid var(--smxn-a-border)}
.smxn-article .smxn-faq details{border-bottom:1px solid var(--smxn-a-border);padding:0 2px}
.smxn-article .smxn-faq summary{position:relative;cursor:pointer;color:var(--smxn-a-navy);font-weight:750;line-height:1.4;list-style:none;padding:18px 33px 18px 0}
.smxn-article .smxn-faq summary::-webkit-details-marker{display:none}
.smxn-article .smxn-faq summary::after{content:'+';position:absolute;right:3px;top:16px;font-size:22px;line-height:1}
.smxn-article .smxn-faq details[open] summary::after{content:'−'}
.smxn-article .smxn-faq details > :not(summary){margin:0 0 17px}

/* 0.8.4: Blocksy separates the post title (hero) from the post body and
   applies a different narrow width to each. Instead of fragile theme CSS,
   PHP puts the visible H1 inside .smxn-article. This guarantees alignment. */
body.smxn-editorial-post .hero-section,
body.smxn-editorial-post #main article.post > .entry-header,
body.smxn-editorial-post #main .site-main > article.post > .entry-header {
  display:none !important;
}
/* Fallback for themes/templates rendering only entry-header, not hero. */
body.smxn-editorial-post .entry-meta,
body.smxn-editorial-post .ct-post-meta,
body.smxn-editorial-post .ct-entry-meta,
body.smxn-editorial-post .ct-post-tags,
body.smxn-editorial-post .ct-tags-container,
body.smxn-editorial-post .post-tags,
body.smxn-editorial-post [data-id="post-meta"] {display:none !important;}
body.smxn-editorial-post #main > :is(.ct-container,.ct-container-full,.ct-container-narrow) {padding-top:0 !important;}
body.smxn-editorial-post .entry-content {margin-top:0 !important;padding-top:0 !important;}
body.smxn-editorial-post .smxn-article {padding-top:clamp(22px,3.4vw,42px);}
body.smxn-editorial-post .smxn-article > .smxn-article-page-title {
  width:100%;max-width:100%;font-size:clamp(30px,3vw,40px);
  line-height:1.18;letter-spacing:-.025em;margin:0 0 24px;
  text-align:left;overflow-wrap:break-word;
}
body.smxn-editorial-post .smxn-article-intro > p:first-of-type:not(.smxn-eyebrow) {
  font-size:clamp(17px,1.9vw,20px);line-height:1.55;max-width:74ch;color:#3c4d67;
}
/* A compact, optional flag before a route. Flag is opt-in in HTML via
   <li data-flag="🇮🇹"> and does not request external images. */
.smxn-article .smxn-route-list li[data-flag] {position:relative;padding-inline-start:55px;}
.smxn-article .smxn-route-list li[data-flag]::before {
  content:attr(data-flag);position:absolute;inset-inline-start:17px;top:16px;
  font-size:22px;line-height:1.3;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
}
.smxn-article .smxn-route-list li > p {font-size:14px;line-height:1.55;}
.smxn-article .smxn-route-list li > :is(div,span,strong) {min-width:0;}
@media(max-width:980px){
  .smxn-article .smxn-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .smxn-article .smxn-grid.smxn-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .smxn-article{padding:18px 18px 40px;font-size:15.5px;line-height:1.65}
  .smxn-article h1{font-size:clamp(28px,7.3vw,34px);margin-bottom:16px}
  .smxn-article h2{font-size:clamp(23px,6vw,27px);margin:32px 0 12px}
  .smxn-article h3{font-size:clamp(19px,5vw,22px);margin:23px 0 10px}
  .smxn-article .smxn-lead{font-size:17px}
  .smxn-article .smxn-article-feature img{aspect-ratio:4/3}
  .smxn-article .smxn-article-toc{padding:16px}
  .smxn-article .smxn-article-toc ul{display:grid;gap:9px}
  .smxn-article :is(.smxn-grid,.smxn-columns,.smxn-grid.smxn-grid-3,.smxn-grid.smxn-grid-4,.smxn-route-grid){grid-template-columns:minmax(0,1fr);gap:13px}
  .smxn-article :is(.smxn-card,.smxn-info-box){padding:17px}
  .smxn-article .smxn-route-card{display:grid;grid-template-columns:minmax(0,34%) minmax(0,1fr)}
  .smxn-article .smxn-route-card figure{height:100%}
  .smxn-article .smxn-route-card img{height:100%;min-height:152px;aspect-ratio:auto;object-fit:cover}
  .smxn-article .smxn-route-card-body{padding:13px;gap:5px}
  .smxn-article .smxn-route-card-body :is(h2,h3){font-size:17px}
  .smxn-article .smxn-route-list li{align-items:flex-start}
  .smxn-article .smxn-article-cta{grid-template-columns:minmax(0,1fr);padding:21px;gap:15px}
  .smxn-article .smxn-article-cta .smxn-button{width:100%;white-space:normal}
  .smxn-article > table,.smxn-article :not(.smxn-table-wrap):not(.smxn-table-scroll) > table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .smxn-article :is(th,td){padding:10px 12px}
  body.smxn-editorial-post .smxn-article > .smxn-article-page-title{font-size:clamp(28px,7.4vw,34px);margin-bottom:17px;}
  .smxn-article .smxn-route-list li{grid-template-columns:minmax(0,1fr);gap:5px;padding-block:12px;}
  .smxn-article .smxn-route-list li[data-flag]::before{top:12px;}
}
@media(max-width:380px){
  .smxn-article{padding-inline:16px}
  .smxn-article .smxn-route-list li{display:block}
  .smxn-article .smxn-route-list li a{display:inline-block;margin-top:6px}

}
@media(prefers-reduced-motion:reduce){.smxn-article *{scroll-behavior:auto;transition:none!important}}
