/* TravelVista Step 13: consistent editorial finish. Loaded after the theme's original stylesheet. */
:root{--tv-polish-shadow:0 18px 46px rgba(24,55,43,.10);--tv-polish-radius:18px}
html{scroll-padding-top:24px}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--tv-accent,#e69548);outline-offset:3px}
.site-shell{max-width:1220px}.site-header{isolation:isolate}.header-inner{gap:clamp(12px,2.1vw,32px)}
.nav-list a{line-height:1.4}.nav-list>li>a{position:relative}.nav-list>li>a::before{content:"";position:absolute;bottom:5px;left:0;right:100%;height:2px;background:var(--tv-accent,#e69548);transition:right .2s ease}.nav-list>li>a:hover::before,.nav-list>li.current-menu-item>a::before{right:0}
.tv-homepage :is(.tv-hero-section,.tv-explore-section,.tv-budget-section,.tv-journal-section){overflow:clip}
.tv-homepage :is(.tv-hero-heading,.tv-section-head){margin-bottom:clamp(24px,3vw,42px)}
.tv-homepage :is(.tv-feature-card,.tv-destination-card,.tv-editor-pick,.travel-card){backface-visibility:hidden}
.tv-homepage :is(.tv-feature-card,.tv-destination-card,.travel-card){transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
@media(hover:hover) and (pointer:fine){.tv-homepage :is(.tv-feature-card,.tv-destination-card,.travel-card):hover{transform:translateY(-4px);box-shadow:var(--tv-polish-shadow)}}
.tv-feature-card:focus-within,.tv-destination-card:focus-visible,.travel-card:focus-within{outline:3px solid var(--tv-accent,#e69548);outline-offset:3px}
.tv-feature-image,.tv-destination-photo,.travel-card-image img{object-fit:cover}
.tv-section-intro{max-width:65ch;line-height:1.75}.tv-journal-grid{align-items:stretch}.travel-card{display:flex;flex-direction:column;min-width:0;border-radius:var(--tv-polish-radius)}.travel-card-content{flex:1;display:flex;flex-direction:column;gap:10px}.travel-card .post-title{margin-top:0;margin-bottom:0;line-height:1.35}.travel-card .post-excerpt{line-height:1.65}.travel-card .post-title a:hover{text-decoration:underline;text-underline-offset:4px}
.tv-journal-filters{scrollbar-width:thin;overscroll-behavior-x:contain}.tv-filter-chip{white-space:nowrap}
.main-content{padding-block:clamp(40px,6vw,80px) clamp(64px,8vw,110px)}
.entry-content{font-size:clamp(1rem,1.1vw,1.13rem);line-height:1.85;overflow-wrap:anywhere}.entry-content :is(h2,h3,h4){line-height:1.26;scroll-margin-top:28px}.entry-content h2{margin-top:2em}.entry-content h3{margin-top:1.65em}.entry-content p{margin-block:0 1.3em}.entry-content :is(ul,ol){padding-inline-start:1.5em}.entry-content li+li{margin-top:.45em}.entry-content img{border-radius:12px}.entry-content :is(blockquote,.wp-block-quote){border-inline-start:4px solid var(--tv-accent,#e69548);padding:14px 22px;background:#f6f4ed;border-radius:0 10px 10px 0}.entry-content :is(table,.wp-block-table table){width:100%;border-collapse:collapse}.entry-content :is(th,td){padding:12px 15px;border:1px solid #e6e6de}.entry-content th{background:#f2f4ef;text-align:left}
.tv-muted-notice{border-radius:14px;padding:24px;background:#f5f5ee;border:1px solid #e4e8df;line-height:1.6}
.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:960px){.main-navigation{z-index:5;overscroll-behavior:contain}.main-navigation.is-open{display:block}.main-navigation .nav-list{width:100%}.main-navigation .nav-list li{width:100%}.main-navigation .nav-list a{display:block;padding:12px 8px;min-height:44px}.header-search-panel{position:relative;z-index:4}}
@media(max-width:640px){.site-shell{width:calc(100% - 32px)}.header-inner{min-height:70px}.brand-symbol,.brand-symbol svg{width:36px;height:36px}.brand-copy strong{font-size:21px}.header-actions{gap:4px}.header-cta{display:none}.search-panel-inner{padding-top:18px;padding-bottom:20px}.search-field-row{flex-direction:column}.search-field-row button{min-height:44px}.post-grid{grid-template-columns:1fr;gap:22px}.tv-homepage .tv-section-head{gap:18px}.entry-content{font-size:1rem}.entry-content :is(th,td){padding:9px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
