/* KELIONIS · Adrijos atlasas. Tokens and colors remain in theme.json. */
:where(.wp-site-blocks,.editor-styles-wrapper) { overflow-wrap: anywhere; }
:where(a,button,input,select,textarea,[tabindex],summary):focus-visible { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 4px; box-shadow: 0 0 0 2px var(--wp--preset--color--background); }
a { text-underline-offset: .22em; text-decoration-thickness: .07em; transition: color .15s, background-color .15s; }
a:hover { text-decoration-thickness: .12em; }
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > main { flex: 1; width: 100%; box-sizing: border-box; }
.wp-site-blocks > header,.wp-site-blocks > footer { margin-block: 0; }
.kelionis-header { padding-block: 1.15rem; border-bottom: 1px solid #e0e3df; }
.kelionis-header-row { gap: 2rem; }
.wp-block-site-title { white-space: nowrap; }
.wp-block-site-title::after { content: ''; display: inline-block; width: .22em; height: .22em; margin-left: .12em; border-radius: 50%; background: var(--wp--preset--color--accent); }
.kelionis-navigation { margin: 0; }
.kelionis-navigation .wp-block-navigation { font-size: .875rem; font-weight: 550; }
.kelionis-navigation .wp-block-navigation__container { gap: 1.9rem; }
.kelionis-navigation .wp-block-navigation-item__content { padding-block: .65rem; }
.kelionis-nav-action .wp-block-navigation-item__content { border: 1px solid var(--wp--preset--color--primary); border-radius: 2rem; padding: .6rem 1rem; }
.kelionis-nav-action .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface); }
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; color: var(--wp--preset--color--primary); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch; width: 100%; gap: .5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; padding: 1rem; font-size: 1.25rem; }
.kelionis-pending { color: var(--wp--preset--color--muted); cursor: default; }
@media(max-width: 900px) { .kelionis-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; } .kelionis-navigation .wp-block-navigation__responsive-container-open { display: flex !important; } .kelionis-header { padding-block: .65rem; } }
.kelionis-footer { background: var(--wp--preset--color--primary); color: #fff; padding-block: 3.5rem 1.25rem; margin-top: 2rem; }
.kelionis-footer a,.kelionis-footer .wp-block-site-title { color: #fff; }
.kelionis-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 4rem; }
.kelionis-footer-grid > *,.kelionis-footer-bottom > * { margin: 0 !important; width: 100%; }
.kelionis-footer-brand > *,.kelionis-footer-column > * { margin-inline: 0 !important; }
.kelionis-footer-brand p { max-width: 23ch; font-size: 1.2rem; }
.kelionis-footer h2 { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 1.2rem; }
.kelionis-footer ul { padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1rem; font-size: .9375rem; }
.kelionis-footer li { margin: 0; }
.kelionis-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; font-size: .75rem; border-top: 1px solid #668595; padding-top: 1.25rem; margin-top: 3rem; }
.kelionis-footer-bottom > * { width: auto; }
.kelionis-eyebrow { font-size: .68rem; letter-spacing: .13em; font-weight: 700; color: var(--wp--preset--color--primary); text-transform: uppercase; }
.kelionis-lead { font-size: var(--wp--preset--font-size--lead); line-height: 1.6; color: var(--wp--preset--color--muted); }
.kelionis-meta,.kelionis-source-note { font-size: .8rem; line-height: 1.6; color: var(--wp--preset--color--muted); }
.kelionis-breadcrumb { font-size: .75rem; color: var(--wp--preset--color--muted); }
.kelionis-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; padding: 0; margin: 0; }
.kelionis-breadcrumb li + li { margin: 0; }
.kelionis-breadcrumb li + li::before { content: '/'; margin-right: .6rem; }
.wp-block-button__link { min-height: 44px; font-size: .875rem; }
.is-style-kelionis-commercial .wp-block-button__link { background: var(--wp--preset--color--accent); color: #fff; }
.is-style-kelionis-commercial .wp-block-button__link:hover { background: var(--wp--preset--color--accent-hover); }
.kelionis-unavailable-cta .wp-block-button__link,.kelionis-unavailable-cta .wp-block-button__link:hover { background: transparent; color: var(--wp--preset--color--muted); border: 1px solid var(--wp--preset--color--outline); cursor: default; }
.kelionis-unavailable { color: var(--wp--preset--color--muted); font-size: .8rem; }
.kelionis-cta { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; padding-block: 1.25rem; }
.kelionis-cta > * { margin: 0 !important; }
.kelionis-cta > .kelionis-unavailable { font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; }
.kelionis-photo { margin: 0; position: relative; overflow: hidden; border-radius: .45rem; }
.kelionis-photo img { display: block; width: 100%; height: auto; object-fit: cover; }
.kelionis-photo figcaption { font-size: .72rem; text-align: left; }
.kelionis-hero-photo figcaption { position: absolute; bottom: .85rem; left: .85rem; right: auto; margin: 0; padding: .4rem .65rem; background: var(--wp--preset--color--primary); color: white; border-radius: .2rem; }
.wp-block-group.kelionis-hub,.wp-block-group.kelionis-guide { max-width: var(--wp--style--global--wide-size); width: 100%; }
.kelionis-hub > *,.kelionis-guide > * { max-width: none !important; }
.wp-block-group.kelionis-hero { display: grid; grid-template-columns: 1fr 1.05fr; gap: 3.25rem; align-items: stretch; }
.kelionis-hero > * { margin: 0 !important; min-width: 0; width: 100%; max-width: none !important; }
.kelionis-hero-copy > * { margin-inline: 0 !important; }
.kelionis-hero-copy .kelionis-eyebrow { margin-top: 2rem; }
.kelionis-hero-copy h1 { font-size: clamp(4rem,7.8vw,7rem); font-weight: 650; letter-spacing: -.065em; line-height: 1; margin-block: 1rem 1.35rem; }
.kelionis-hero-copy .kelionis-lead { max-width: 36ch; font-size: 1.15rem; }
.kelionis-hero-action { font-weight: 600; font-size: .9rem; margin-top: 1.15rem; }
.kelionis-hero-action a { display: inline-block; padding-block: .5rem; }
.kelionis-hero > .kelionis-hero-photo { min-height: 530px; }
.kelionis-hero > .kelionis-hero-photo img { height: 100%; position: absolute; inset: 0; }
.wp-block-group.kelionis-planning { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid #d8ded9; }
.kelionis-planning > h2 { font-size: 1rem; letter-spacing: -.01em; }
.kelionis-plan-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: .9rem; }
.wp-block-group.kelionis-plan-item { margin: 0 !important; padding: .8rem 1rem; background: var(--wp--preset--color--surface); border-radius: .3rem; position: relative; }
.kelionis-plan-item > * { margin: 0 !important; }
.kelionis-plan-item h3 { font-size: .9375rem; line-height: 1.4; letter-spacing: -.01em; }
.kelionis-plan-item .kelionis-step { font-size: .6rem; color: var(--wp--preset--color--muted); margin-bottom: .25rem !important; }
.kelionis-plan-item.is-available { background: var(--wp--preset--color--primary); color: white; }
.kelionis-plan-item.is-available a,.kelionis-plan-item.is-available .kelionis-step { color: white; }
.kelionis-plan-item a { display: inline-block; min-height: 28px; }
.kelionis-status,.kelionis-status-ready { font-size: .65rem; margin-top: .3rem !important; }
.kelionis-status { color: var(--wp--preset--color--muted); }
.kelionis-hub-section { margin-top: 5.5rem !important; }
.kelionis-section-heading { margin-bottom: 1.75rem; }
.kelionis-section-heading > * { margin-inline: 0 !important; }
.kelionis-hub h2 { font-size: clamp(1.8rem,2.5vw,2.65rem); line-height: 1.12; }
.kelionis-section-heading > h2 { margin-top: .65rem; }
.kelionis-section-heading > p:not(.kelionis-eyebrow) { max-width: 48ch; font-size: .9375rem; color: var(--wp--preset--color--muted); margin-top: 1rem; }
.kelionis-destination-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2rem 1.25rem; }
.kelionis-destination-grid > * { max-width: none !important; margin: 0 !important; min-width: 0; width: 100%; }
.kelionis-destination-card.is-featured { grid-column: span 2; }
.kelionis-destination-photo img { height: 230px; object-fit: cover; }
.kelionis-destination-copy { margin-top: .8rem; }
.kelionis-destination-copy h3 { font-size: 1.2rem; margin: 0; }
.kelionis-destination-copy p { font-size: .85rem; line-height: 1.5; color: var(--wp--preset--color--muted); margin-top: .45rem; }
.wp-block-group.kelionis-duration { background: var(--wp--preset--color--primary); color: white; padding: 3rem; border-radius: .5rem; }
.kelionis-duration .kelionis-eyebrow,.kelionis-duration .kelionis-section-heading > p { color: white; }
.kelionis-duration-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.7rem; }
.kelionis-duration-grid > * { margin: 0 !important; max-width: none !important; border-top: 1px solid #668595; padding-top: 1.25rem; }
.kelionis-duration-item h3 { font-size: 1.6rem; margin: 0; }
.kelionis-duration-item p { font-size: .85rem; line-height: 1.65; margin-top: .8rem; }
.wp-block-group.kelionis-feature,.wp-block-group.kelionis-stay { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; }
.kelionis-feature > *,.kelionis-stay > * { margin: 0 !important; min-width: 0; width: 100%; max-width: none !important; }
.kelionis-feature-copy > * { margin-inline: 0 !important; }
.kelionis-feature-copy h2 { margin-top: .75rem; }
.kelionis-feature-copy > p:not(.kelionis-eyebrow),.kelionis-feature-copy li { font-size: .9375rem; }
.kelionis-feature-copy ul { padding-left: 1.1rem; }
.kelionis-feature-copy li + li { margin-top: .7rem; }
.kelionis-editorial-photo img { aspect-ratio: 5/4; object-fit: cover; }
.kelionis-practical { border-top: 1px solid #d8ded9; padding-top: 2.5rem; }
.kelionis-practical h2 { margin-top: .7rem; }
.kelionis-practical ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.kelionis-practical li { font-size: .875rem; line-height: 1.65; padding-left: 1rem; border-left: 2px solid #d8ded9; margin: 0; }
.kelionis-practical strong { display: block; font-size: 1rem; margin-bottom: .4rem; }
.kelionis-photo-credits { margin-top: 3rem !important; font-size: .75rem; color: var(--wp--preset--color--muted); border-top: 1px solid #d8ded9; padding-top: 1rem; }
.kelionis-photo-credits summary { cursor: pointer; width: fit-content; padding-block: .5rem; }
.wp-block-group.kelionis-article-hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; }
.kelionis-article-hero > * { max-width: none !important; margin: 0 !important; min-width: 0; }
.kelionis-article-intro > * { margin-inline: 0 !important; }
.kelionis-article-intro .kelionis-eyebrow { margin-top: 2rem; }
.kelionis-article-intro h1 { font-size: clamp(2.7rem,4.5vw,4.4rem); line-height: 1.04; margin-top: .9rem; max-width: 17ch; letter-spacing: -.05em; }
.kelionis-article-intro .kelionis-lead { font-size: 1.05rem; max-width: 48ch; }
.kelionis-article-hero .kelionis-hero-photo img { height: 100%; min-height: 380px; object-fit: cover; }
.wp-block-group.kelionis-quick-decision { background: var(--wp--preset--color--surface); border-radius: .45rem; padding: 2rem 2.5rem; margin-top: 3rem !important; }
.kelionis-quick-decision > * { max-width: none !important; }
.kelionis-quick-decision h2 { font-size: 1.5rem; }
.kelionis-quick-decision .is-style-kelionis-info { padding: 0; background: none; border: 0; }
.kelionis-quick-decision ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; padding: 0; list-style: none; }
.kelionis-quick-decision li { font-size: .9375rem; margin: 0 !important; }
.kelionis-quick-decision .kelionis-cta { border-top: 1px solid #d8ded9; padding-bottom: 0; }
.wp-block-group.kelionis-article-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 4rem; margin-top: 3.5rem; }
.kelionis-article-layout > * { margin: 0 !important; min-width: 0; max-width: none !important; width: 100%; }
.kelionis-guide-toc { position: sticky; top: 2rem; align-self: start; border-top: 2px solid var(--wp--preset--color--primary); padding-top: 1rem; }
.kelionis-guide-toc ul { list-style: none; padding: 0; margin-top: .75rem; }
.kelionis-guide-toc li { margin: 0; font-size: .83rem; }
.kelionis-guide-toc a { display: block; padding-block: .65rem; border-bottom: 1px solid #d8ded9; }
.kelionis-article-body > * { max-width: 46rem !important; margin-left: 0 !important; margin-right: 0 !important; }
.kelionis-guide-section { margin-top: 3.5rem !important; }
.kelionis-article-body > .kelionis-guide-section:first-child { margin-top: 0 !important; }
.kelionis-guide-section h2 { font-size: clamp(1.65rem,2.2vw,2.2rem); }
.kelionis-guide-section h3 { font-size: 1.2rem; margin-top: 2rem; }
.kelionis-guide-section p,.kelionis-guide-section li { line-height: 1.75; }
.wp-block-post-content li + li { margin-block-start: .65rem; }
.wp-block-group.is-style-kelionis-info,.wp-block-group.is-style-kelionis-warning { padding: 1.5rem; background: var(--wp--preset--color--surface); border-left: 3px solid var(--wp--preset--color--primary); }
.wp-block-group.is-style-kelionis-warning { border-left-color: var(--wp--preset--color--accent); }
.wp-block-group.kelionis-quick-decision .is-style-kelionis-info { padding: 0; border: 0; }
.wp-block-group.is-style-kelionis-card { padding: 1.5rem; background: var(--wp--preset--color--surface); }
.is-style-kelionis-related { margin-top: 3rem; padding-top: 1.5rem; border-top: 2px solid var(--wp--preset--color--primary); }
.is-style-kelionis-related h2 { font-size: 1.5rem; }
.kelionis-text-cta { font-weight: 600; }
.wp-block-table { overflow-x: auto; border-radius: .3rem; }
.wp-block-table table { min-width: 36rem; width: 100%; border-collapse: collapse; font-size: .875rem; line-height: 1.6; }
.wp-block-table th,.wp-block-table td { padding: 1rem; text-align: start; vertical-align: top; border: 1px solid #c5cec8; }
.wp-block-table th { background: var(--wp--preset--color--primary); color: white; font-weight: 600; }
.wp-block-table tbody tr:nth-child(even) { background: var(--wp--preset--color--surface); }
.wp-block-table figcaption { font-size: .75rem; color: var(--wp--preset--color--muted); text-align: start; }
.kelionis-faq { border-bottom: 1px solid #d8ded9; padding-block: 1rem; margin-top: 0 !important; }
.kelionis-faq summary { font-size: 1.05rem; font-weight: 600; cursor: pointer; padding-block: .4rem; }
.kelionis-faq > p { font-size: .9375rem; }
:where(.kelionis-hub,.kelionis-guide) [id] { scroll-margin-top: 1.5rem; }
@media(max-width: 1100px) { .wp-block-group.kelionis-hero { gap: 2rem; } .kelionis-destination-photo img { height: 200px; } .kelionis-article-layout { gap: 2rem !important; grid-template-columns: 180px minmax(0,1fr) !important; } }
@media(max-width: 900px) { .wp-block-group.kelionis-hero,.wp-block-group.kelionis-article-hero { grid-template-columns: 1fr; gap: 1.5rem; } .kelionis-hero-copy .kelionis-lead { max-width: 48ch; } .kelionis-hero > .kelionis-hero-photo { min-height: 0; } .kelionis-hero > .kelionis-hero-photo img { position: static; height: auto; aspect-ratio: 2/1; } .kelionis-hero-copy h1 { font-size: 5.5rem; } .kelionis-plan-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } .kelionis-destination-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .kelionis-destination-photo img { height: 230px; } .kelionis-duration-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .wp-block-group.kelionis-feature,.wp-block-group.kelionis-stay { gap: 2rem; } .wp-block-group.kelionis-article-layout { display: block; } .kelionis-guide-toc { position: static; margin-bottom: 2.5rem !important; } .kelionis-guide-toc ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; } .kelionis-article-hero .kelionis-hero-photo img { min-height: 0; height: auto; aspect-ratio: 2.5/1; } }
@media(max-width: 600px) { .kelionis-header-row { gap: 1rem; } .wp-block-site-title { font-size: 1.55rem; } .kelionis-hero-copy .kelionis-eyebrow,.kelionis-article-intro .kelionis-eyebrow { margin-top: 1.4rem; } .kelionis-hero-copy h1 { font-size: 4rem; margin-block: .75rem 1rem; } .kelionis-hero-copy .kelionis-lead { font-size: 1rem; } .kelionis-hero-action { margin-top: .5rem; } .kelionis-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; } .wp-block-group.kelionis-planning { margin-top: 1rem; padding-top: 1rem; } .kelionis-hero-photo figcaption { left: .6rem; bottom: .6rem; font-size: .65rem; } .kelionis-hub-section { margin-top: 3.25rem !important; } .kelionis-section-heading { margin-bottom: 1.25rem; } .kelionis-destination-grid { gap: 1.5rem .8rem; } .kelionis-destination-photo img { height: 135px; } .kelionis-destination-card.is-featured .kelionis-destination-photo img { height: 210px; } .kelionis-destination-copy h3 { font-size: 1.05rem; } .kelionis-destination-copy p { font-size: .8rem; } .wp-block-group.kelionis-duration { padding: 1.6rem; } .kelionis-duration-grid { gap: 1.4rem 1rem; } .kelionis-duration-item h3 { font-size: 1.35rem; } .kelionis-duration-item p { font-size: .8rem; } .wp-block-group.kelionis-feature,.wp-block-group.kelionis-stay { grid-template-columns: 1fr; gap: 1.25rem; } .kelionis-feature > .kelionis-photo { order: 2; } .kelionis-editorial-photo img { aspect-ratio: 16/10; } .kelionis-practical ul { grid-template-columns: 1fr; gap: 1rem; } .kelionis-footer-grid { grid-template-columns: 1fr; gap: 2rem; } .kelionis-footer-bottom { flex-wrap: wrap; gap: .5rem; } .kelionis-article-intro h1 { font-size: 2.85rem; } .kelionis-article-intro .kelionis-lead { font-size: 1rem; } .wp-block-group.kelionis-quick-decision { padding: 1.5rem; margin-top: 2rem !important; } .kelionis-quick-decision ul { grid-template-columns: 1fr; gap: 1rem; } .kelionis-quick-decision li { font-size: .875rem; } .kelionis-article-hero .kelionis-hero-photo img { aspect-ratio: 2/1; } .kelionis-guide-section { margin-top: 2.5rem !important; } .kelionis-guide-toc a { font-size: .78rem; } }
@media(prefers-reduced-motion: reduce) { :where(.wp-site-blocks,.editor-styles-wrapper) * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* Wide compositions must escape the default nested reading-width constraint. */
.kelionis-hub > .wp-block-group > .wp-block-group { max-width: none; }
.kelionis-destinations > .kelionis-destination-grid,.kelionis-duration > .kelionis-duration-grid,.kelionis-quick-decision .is-style-kelionis-info > * { max-width: none; width: 100%; }
.kelionis-hub .kelionis-planning > h2 { font-size: 1rem; letter-spacing: -.01em; }
.kelionis-hero-copy > *,.kelionis-article-intro > *,.kelionis-section-heading > *,.kelionis-feature-copy > *,.kelionis-destination-copy > *,.kelionis-quick-decision .is-style-kelionis-info > * { margin-left: 0 !important; margin-right: 0 !important; }
.kelionis-cta > * { margin-left: 0 !important; margin-right: 0 !important; }
.kelionis-breadcrumb li { margin-top: 0 !important; }

/* Route guide: native Groups form the chooser and editable itinerary sequence. */
.kelionis-route > * { max-width: none !important; }
.kelionis-route h2 { font-size: clamp(1.7rem,2.5vw,2.5rem); line-height: 1.15; letter-spacing: -.035em; }
.kelionis-route h3 { font-size: 1.3rem; line-height: 1.25; }
.kelionis-route p { line-height: 1.7; }
.wp-block-group.kelionis-route-hero { display: grid; grid-template-columns: 1.15fr 1fr; gap: 3rem; align-items: stretch; }
.kelionis-route-hero > * { min-width: 0; margin: 0 !important; }
.kelionis-route-intro h1 { font-size: clamp(2.7rem,4.5vw,4.4rem); line-height: 1.04; letter-spacing: -.05em; margin-block: 1rem; max-width: 14ch; }
.kelionis-route-intro .kelionis-eyebrow { margin-top: 2rem; }
.kelionis-route-intro .kelionis-lead { font-size: 1.05rem; max-width: 49ch; }
.kelionis-route-intro .kelionis-reviewed { font-size: .75rem; color: var(--wp--preset--color--muted); }
.kelionis-route-hero .kelionis-hero-photo img { height: 100%; min-height: 340px; object-fit: cover; }
.kelionis-route-jumps { display: flex; flex-wrap: wrap; list-style: none; padding: 0; gap: .6rem; margin-top: 1.2rem; }
.kelionis-route-jumps li { margin: 0 !important; }
.kelionis-route-jumps a { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem 1rem; box-sizing: border-box; border: 1px solid var(--wp--preset--color--primary); border-radius: 2rem; font-size: .9rem; font-weight: 700; }
.wp-block-group.kelionis-route-chooser { margin-top: 2rem; }
.kelionis-route-chooser > h2 { font-size: 1.3rem; margin-bottom: 1rem; }
.wp-block-group.kelionis-route-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.kelionis-route-options > * { min-width: 0; margin: 0 !important; }
.wp-block-group.kelionis-route-option { padding: 1.4rem; background: var(--wp--preset--color--surface); border-top: 3px solid var(--wp--preset--color--primary); border-radius: .35rem; }
.kelionis-route-option h3 { margin: 0; font-size: 2rem; }
.kelionis-route-option h3 a { display: block; padding-bottom: .5rem; }
.kelionis-route-option p { font-size: .85rem; margin-top: .45rem; }
.kelionis-route-option .kelionis-route-fit { padding-top: .7rem; border-top: 1px solid #b9c3c5; }
.kelionis-route-option.is-recommended { background: var(--wp--preset--color--primary); color: white; }
.kelionis-route-option.is-recommended :is(h3,a,p,strong) { color: white; }
.kelionis-route-note { color: var(--wp--preset--color--muted); font-size: .8rem; margin-top: 1rem; }
.wp-block-group.kelionis-route-assumptions { margin-top: 2.5rem; }
.kelionis-route-assumptions h2 { font-size: 1.25rem; margin-top: 0; }
.kelionis-route-assumptions p { font-size: .9rem; max-width: 85ch; }
.wp-block-group.kelionis-route-section { margin-top: 4.5rem; border-top: 1px solid #d8ded9; padding-top: 3rem; }
.wp-block-group.kelionis-route-section-intro { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: center; }
.kelionis-route-section-intro > * { margin: 0 !important; min-width: 0; }
.kelionis-route-section-copy h2 { margin-top: .75rem; }
.kelionis-route-section-copy p { font-size: .95rem; }
.kelionis-route-summary { color: var(--wp--preset--color--primary); font-size: .9rem !important; border-left: 3px solid var(--wp--preset--color--primary); padding-left: 1rem; }
.kelionis-route-section-photo img { width: 100%; height: 250px; object-fit: cover; }
.kelionis-route-section-photo figcaption { font-size: .7rem; }
.wp-block-group.kelionis-route-timeline { margin: 2.5rem 0 0; counter-reset: route-stage; }
.wp-block-group.kelionis-route-stage { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 2rem; margin: 0; padding: 0 0 2rem 3.5rem; position: relative; }
.kelionis-route-stage::before { content: ''; position: absolute; left: 15px; top: 18px; bottom: -18px; width: 1px; background: var(--wp--preset--color--outline); }
.kelionis-route-stage:last-child::before { display: none; }
.kelionis-route-stage::after { counter-increment: route-stage; content: counter(route-stage,decimal-leading-zero); position: absolute; top: 0; left: 0; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--wp--preset--color--primary); color: white; font-size: .75rem; font-weight: 700; }
.kelionis-route-stage > * { margin: 0 !important; min-width: 0; }
.kelionis-route-stage .kelionis-route-day { padding-top: .2rem; font-size: .9rem; font-weight: 750; color: var(--wp--preset--color--primary); }
.kelionis-route-stage-body { max-width: 49rem; }
.kelionis-route-stage-body h3 { margin: 0; }
.kelionis-route-stage-body p { font-size: .95rem; margin-top: .8rem; }
.kelionis-route-stage-body .kelionis-route-nights { font-size: .8rem; margin-top: .4rem; color: var(--wp--preset--color--muted); }
.kelionis-route-stage-body .kelionis-route-transfer { font-size: .8rem; background: var(--wp--preset--color--surface); padding: .8rem 1rem; border-radius: .35rem; }
.wp-block-group.kelionis-route-support { max-width: 58rem !important; margin: 4rem auto 0; }
.kelionis-route-support > h2 { font-size: 2rem; }
.kelionis-route-support > p,.kelionis-route-support li { font-size: .95rem; }
.kelionis-route-support details { margin-top: 1.5rem; }
.kelionis-route-support summary { cursor: pointer; padding: .9rem 0; font-weight: 700; color: var(--wp--preset--color--primary); }
.kelionis-route-support .wp-block-table { font-size: .8rem; }
.kelionis-route-support .is-style-kelionis-warning { margin-top: 1.5rem; }
.kelionis-route-support .is-style-kelionis-warning p { font-size: .9rem; }
.wp-block-group.kelionis-route-bases { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 2rem; }
.kelionis-route-bases > * { margin: 0 !important; }
.kelionis-route-base { border-left: 2px solid #d8ded9; padding-left: 1rem; }
.kelionis-route-base h3 { margin-top: 0; font-size: 1.2rem; }
.kelionis-route-base p { font-size: .9rem; }
@media(max-width: 900px) {
 .wp-block-group.kelionis-route-hero { grid-template-columns: 1fr; gap: 1.4rem; }
 .kelionis-route-hero .kelionis-hero-photo img { height: 220px; min-height: 0; }
 .wp-block-group.kelionis-route-section-intro { gap: 1.5rem; }
 .wp-block-group.kelionis-route-stage { grid-template-columns: 105px minmax(0,1fr); gap: 1rem; }
 .wp-block-group.kelionis-route-option { padding: 1rem; }
}
@media(max-width: 600px) {
 .kelionis-route-intro h1 { font-size: 2.85rem; }
 .kelionis-route-intro .kelionis-eyebrow { font-size: .6rem; margin-top: 1.4rem; }
 .kelionis-route-intro .kelionis-lead { font-size: 1rem; }
 .kelionis-route-hero .kelionis-hero-photo img { height: 160px; }
 .kelionis-route-jumps { gap: .45rem; }
 .kelionis-route-jumps a { padding-inline: .8rem; }
 .wp-block-group.kelionis-route-options { grid-template-columns: 1fr; gap: .7rem; }
 .wp-block-group.kelionis-route-option { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: .2rem .7rem; }
 .kelionis-route-option h3 { grid-row: span 4; font-size: 1.6rem; }
 .kelionis-route-option p { margin: 0; font-size: .78rem; }
 .kelionis-route-option .kelionis-route-fit { padding-top: .4rem; margin-top: .25rem; }
 .wp-block-group.kelionis-route-section { margin-top: 3rem; padding-top: 2rem; }
 .wp-block-group.kelionis-route-section-intro { grid-template-columns: 1fr; }
 .kelionis-route-section-photo img { height: 190px; }
 .wp-block-group.kelionis-route-stage { grid-template-columns: 1fr; padding-left: 2.8rem; gap: .4rem; }
 .wp-block-group.kelionis-route-timeline { margin-top: 2rem; }
 .kelionis-route-stage-body p { font-size: .9rem; }
 .kelionis-route-stage-body .kelionis-route-transfer { padding: .7rem; }
 .wp-block-group.kelionis-route-support { margin-top: 3rem; }
 .kelionis-route-support > h2 { font-size: 1.7rem; }
 .wp-block-group.kelionis-route-bases { grid-template-columns: 1fr; }
}
@media(max-width: 600px) { .kelionis-route-option h3 { font-size: 1.4rem; } .kelionis-route-option h3 span[aria-hidden] { display: none; } }
/* Destination guides: native editable blocks, shared with the editor. */
.kelionis-place [id] { scroll-margin-top: 1.5rem; }
.wp-block-group.kelionis-place-hero { display:grid; grid-template-columns:1fr 1.15fr; gap:3rem; align-items:center; }
.kelionis-place-hero > * { min-width:0; margin:0 !important; }
.kelionis-place-intro h1 { font-size:clamp(3.5rem,6vw,6rem); letter-spacing:-.055em; line-height:1.05; margin-block:1rem; }
.kelionis-place-intro .kelionis-eyebrow { margin-top:2rem; }
.kelionis-place-intro .kelionis-lead { font-size:1.05rem; max-width:45ch; }
.kelionis-place-hero .kelionis-hero-photo img { width:100%; height:490px; object-fit:cover; }
.wp-block-group.kelionis-place-section { margin-top:4.5rem; }
.kelionis-place-section > p { max-width:46rem; }
.wp-block-group.kelionis-place-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; margin-top:1.75rem; }
.wp-block-group.kelionis-place-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:1.75rem; }
.kelionis-place-grid > *, .kelionis-place-three > * { min-width:0; margin:0 !important; }
.kelionis-place-panel { border-top:2px solid var(--wp--preset--color--primary); padding-top:1rem; }
.kelionis-place-panel h3 { margin-top:0; }
.kelionis-place-panel li { font-size:.95rem; }
.wp-block-group.kelionis-place-duration { margin-top:3.5rem; padding:2.5rem; background:var(--wp--preset--color--primary); color:white; border-radius:.4rem; }
.kelionis-place-duration h2,.kelionis-place-duration h3 { color:white; }
.kelionis-place-duration-item h3 { font-size:2rem; margin:0; }
.kelionis-place-duration p { font-size:.9rem; }
.kelionis-place-duration > p { margin-top:2rem; border-top:1px solid #ffffff55; padding-top:1rem; }
.kelionis-place-city-copy p { font-size:.95rem; }
.kelionis-place-city-copy h3 { font-size:1.2rem; margin-top:1.75rem; }
.kelionis-place-card-photo img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.kelionis-place-card-photo figcaption { display:none; }
.kelionis-place-card h3 { font-size:1.35rem; margin-top:1rem; }
.kelionis-place-card p { font-size:.9rem; }
.kelionis-place-card .kelionis-place-unavailable { font-size:.75rem; color:var(--wp--preset--color--muted); border-top:1px solid #d8ded9; padding-top:.7rem; }
.kelionis-place-grid > .kelionis-place-card { padding:1.5rem; background:var(--wp--preset--color--surface); }
.kelionis-place-grid > .kelionis-place-card h3 { margin-top:0; }
.wp-block-group.kelionis-place-reading { max-width:46rem; margin:4rem auto 0; }
.kelionis-place-reading h2 { font-size:clamp(1.7rem,2.6vw,2.35rem); }
.kelionis-place-reading h3 { font-size:1.2rem; margin-top:2rem; }
.kelionis-place-reading p,.kelionis-place-reading li { line-height:1.75; }
.kelionis-place .wp-block-buttons { margin-top:1.5rem; }
@media(max-width:900px) { .wp-block-group.kelionis-place-hero { grid-template-columns:1fr; gap:1.5rem; } .kelionis-place-hero .kelionis-hero-photo img { height:auto; aspect-ratio:2/1; } .wp-block-group.kelionis-place-grid { gap:1.5rem; } .wp-block-group.kelionis-place-three { gap:1.25rem; } }
@media(max-width:600px) { .wp-block-group.kelionis-place-grid,.wp-block-group.kelionis-place-three { grid-template-columns:1fr; gap:1.75rem; } .wp-block-group.kelionis-place-duration { padding:1.5rem; } .wp-block-group.kelionis-place-section { margin-top:3rem; } .kelionis-place-hero .kelionis-hero-photo img { aspect-ratio:3/2; } .kelionis-place-intro .kelionis-eyebrow { font-size:.65rem; } .kelionis-place-card-photo img { aspect-ratio:16/9; } .kelionis-place .kelionis-editorial-photo img { aspect-ratio:4/3; } }
/* Keep citations readable inside the dark duration panel. */
.kelionis-place-duration a, .kelionis-place-duration a:hover { color: inherit; }
.kelionis-place-duration a:focus-visible { outline-color: white; }
/* Keep regional comparison place names readable while tables scroll on mobile. */
.kelionis-place .wp-block-table th:first-child,
.kelionis-place .wp-block-table td:first-child { min-width: 7rem; }

/* Wide historic-city panorama: keep the caption clear of the image on small screens. */
.kelionis-berat > .kelionis-hero-photo figcaption { position:static; margin:0; border-radius:0; padding:.65rem .85rem; }


/* Keep the city/coast relationship visible in the wide Lungomare panorama. */
.kelionis-vlore .kelionis-place-hero .kelionis-hero-photo img { height:auto; aspect-ratio:auto; }
.kelionis-vlore .kelionis-hero-photo figcaption { position:static; margin:0; border-radius:0; padding:.65rem .85rem; }
/* Data-led planning pages; no effect on destination guides. */
.kelionis-prices .kelionis-budget-hero {max-width:62rem;margin:2rem auto 0;padding-block:1rem 2rem;border-bottom:2px solid var(--wp--preset--color--primary);}
.kelionis-budget-hero h1 {font-size:clamp(3rem,6.5vw,6rem);line-height:1.04;letter-spacing:-.055em;max-width:12ch;margin-block:1rem 1.5rem;}
.kelionis-budget-hero .kelionis-lead {max-width:55ch;font-size:1.15rem;}
.kelionis-budget-hero ul {display:flex;flex-wrap:wrap;gap:.6rem 1.7rem;list-style:none;padding:0;margin-top:1.6rem;}
.kelionis-budget-profiles {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.5rem;}
.kelionis-budget-profile {background:var(--wp--preset--color--surface);border-top:3px solid var(--wp--preset--color--primary);padding:1.5rem;min-width:0;}
.kelionis-budget-profile h3 {font-size:2.6rem;margin:.4rem 0;}
.kelionis-budget-profile p {font-size:.92rem;}
.kelionis-budget {background:var(--wp--preset--color--surface);padding:clamp(1rem,3vw,2.5rem);border:1px solid #b7c6c9;border-radius:.4rem;}
.kelionis-budget fieldset {border:0;padding:0;margin:1.5rem 0;min-width:0;}
.kelionis-budget legend {font-size:1.2rem;font-weight:700;color:var(--wp--preset--color--primary);padding:0;margin-bottom:1rem;}
.kelionis-budget-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem;}
.kelionis-budget-field {min-width:0;display:flex;flex-direction:column;gap:.45rem;}
.kelionis-budget-field label {font-weight:600;font-size:.9rem;}
.kelionis-budget input:not([type=checkbox]),.kelionis-budget select {box-sizing:border-box;width:100%;min-width:0;background:#fff;border:1px solid #6b8088;border-radius:.2rem;padding:.65rem;color:#142e37;font:inherit;min-height:48px;}
.kelionis-budget-check {display:flex;align-items:center;gap:.7rem;font-weight:700;min-height:48px;}
.kelionis-budget input[type=checkbox] {width:1.3rem;height:1.3rem;accent-color:#174b63;}
.kelionis-budget details {margin-block:1.5rem;border-top:1px solid #b7c6c9;padding-top:1rem;}
.kelionis-budget summary {cursor:pointer;font-weight:700;min-height:32px;}
.kelionis-budget details[open] summary {margin-bottom:1.2rem;}
.kelionis-budget p {font-size:.94rem;}
.kelionis-budget .kelionis-budget-note {font-size:.84rem;}
.kelionis-budget-actions {display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem;}
.kelionis-budget button {font:inherit;font-weight:700;padding:.85rem 1.2rem;border:2px solid #174b63;border-radius:.25rem;background:#174b63;color:#fff;cursor:pointer;}
.kelionis-budget button[type=reset] {background:transparent;color:#174b63;}
.kelionis-budget :is(input,select,button,summary):focus-visible {outline:3px solid #174b63;outline-offset:3px;}
.kelionis-budget-result {background:#174b63;color:white;padding:1.5rem;margin-top:1.5rem;border-radius:.25rem;}
.kelionis-budget-result .kelionis-eyebrow {color:white;}
.kelionis-budget-totals {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.kelionis-budget-totals p {margin:0;}
.kelionis-budget-totals strong {display:block;font-size:clamp(1.6rem,3vw,2.5rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.kelionis-budget-result dl {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem;}
.kelionis-budget-result dd {margin:0;font-variant-numeric:tabular-nums;}
.kelionis-budget-result summary:focus-visible {outline-color:white;}
.kelionis-budget [hidden] {display:none !important;}
@media(max-width:900px){.kelionis-budget-fields{grid-template-columns:repeat(2,minmax(0,1fr));}.kelionis-budget-profile{padding:1rem;}.kelionis-budget-profile h3{font-size:2rem;}}
@media(max-width:600px){.kelionis-budget-profiles,.kelionis-budget-fields{grid-template-columns:1fr;}.kelionis-budget-totals{grid-template-columns:1fr 1fr;}.kelionis-budget-result{padding:1rem;}.kelionis-budget-hero h1{font-size:3.2rem;}.kelionis-budget-result dl{font-size:.85rem;}}
.kelionis-budget-profiles > .kelionis-budget-profile,.kelionis-budget-hero li {margin-block:0;}

/* Country-wide stay decisions; native blocks and existing atlas tokens. */
.kelionis-stay-hero {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start;margin-block:3rem;}
.kelionis-stay-hero > * {margin-block:0;}
.kelionis-stay-intro h1 {font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.06;letter-spacing:-.045em;max-width:16ch;}
.kelionis-stay-answer {background:var(--wp--preset--color--primary);color:#fff;padding:clamp(1.3rem,3vw,2rem);border-radius:.3rem;}
.kelionis-stay-answer a,.kelionis-stay-answer .kelionis-eyebrow {color:#fff;}
.kelionis-stay-answer a:focus-visible {outline-color:#fff;}
.kelionis-stay-answer li {margin-block:.9rem;}
.kelionis-stay-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;}
.kelionis-stay-card {border-top:3px solid var(--wp--preset--color--primary);background:var(--wp--preset--color--surface);padding:1.3rem;min-width:0;}
.kelionis-stay-grid > *,.kelionis-stay-checklist > * {margin-block:0;}
.kelionis-stay-card h3 {margin-block:.5rem 1rem;font-size:1.8rem;}
.kelionis-stay-card p {font-size:1rem;}
.kelionis-stay-checklist {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;}
.kelionis-stay-check {border-top:1px solid #b7c6c9;padding-top:1rem;min-width:0;}
.kelionis-stay-check h3 {margin-block:.4rem .8rem;}
@media(max-width:900px){.kelionis-stay-hero{grid-template-columns:1fr;gap:1.5rem;margin-block:2rem;}.kelionis-stay-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.kelionis-stay-grid,.kelionis-stay-checklist{grid-template-columns:1fr;}.kelionis-stay-card{padding:1rem;}}
.kelionis-stay-grid > .kelionis-stay-card,.kelionis-stay-checklist > .kelionis-stay-check,.kelionis-stay-hero > .wp-block-group {margin-block:0 !important;}

/* Commercial actions are distinct from editorial links; unavailable text is not a button. */
.kelionis-affiliate { margin-block: 1.5rem; padding: 1.25rem; border-inline-start: 4px solid #A94724; background: #f8f4ed; color: #183d4b; }
.kelionis-affiliate p { margin-block: 0 0.75rem; }
.kelionis-affiliate p:last-child { margin-bottom: 0; }
.kelionis-affiliate-disclosure, .kelionis-affiliate-site-disclosure { font-size: 0.9375rem; line-height: 1.6; }
.kelionis-affiliate-link { display: inline-block; padding: 0.85rem 1.15rem; color: #fff; background: #A94724; border-radius: 0.25rem; font-weight: 700; line-height: 1.5; text-decoration: underline; text-underline-offset: 0.2em; overflow-wrap: anywhere; }
.kelionis-affiliate-link:visited { color: #fff; }
.kelionis-affiliate-link:hover { background: #87371c; color: #fff; }
.kelionis-affiliate-link:focus-visible { outline: 3px solid #174B63; outline-offset: 4px; }
.kelionis-affiliate.is-unavailable { border-color: #647985; background: #f3f5f5; }
.kelionis-affiliate-label { font-weight: 700; }
.kelionis-affiliate-site-disclosure { max-width: 75ch; }