/* Presentation enhancements shared by the front end and block editor. */
:root { --tt-rule: 1px solid var(--wp--preset--color--line); }
html { scroll-behavior: smooth; scroll-padding-top: 2rem; }
body { -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
:where(img, video, iframe) { max-width: 100%; }
:where(img) { height: auto; }
:where(a) { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--wp--preset--color--clay); outline-offset: 4px; }
:where(p, h1, h2, h3, h4, h5, h6, a) { overflow-wrap: break-word; }
:where(button, input, textarea, select) { font: inherit; }
:where(button, input[type=submit], .wp-block-button__link) { min-height: 44px; }
:where(.wp-block-post-content) > :where(h2, h3, h4) { margin-top: var(--wp--preset--spacing--60); }
:where(.wp-block-post-content) :where(li) { margin-block: .45em; }
:where(.wp-block-post-content) :where(pre, .wp-block-table) { overflow-x: auto; }
:where(.wp-block-post-content) :where(pre) { white-space: pre-wrap; }
:where(.wp-block-post-content) :where(figure) { margin-block: var(--wp--preset--spacing--50); }
:where(.wp-block-post-content) :where(figcaption) { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
:where(.wp-block-site-logo img) { max-height: 64px; width: auto; }
.wp-site-blocks > * { margin-block-start: 0; }
.tt-header { position: relative; padding-block: var(--wp--preset--spacing--40); border-bottom: var(--tt-rule); gap: 1.25rem; }
.tt-header > .wp-block-group { min-width: 0; }
.tt-header-actions { gap: var(--wp--preset--spacing--40); }
.tt-header .wp-block-navigation-item__content { padding-block: .65rem; }
.tt-header .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: .4em; }
.tt-header .wp-block-search__button { padding: .5rem; margin-left: 0; border: 0; }
.tt-header .wp-block-search__inside-wrapper { padding: 0; border: 0; }
.tt-header .wp-block-search__input { min-width: 5rem; max-width: 14rem; }
.tt-header .wp-block-search { max-width: 20rem; }
.tt-kicker { font-size: .72rem; font-weight: 650; letter-spacing: .14em; line-height: 1.6; text-transform: uppercase; }
.tt-section { margin-block: var(--wp--preset--spacing--70); }
.tt-section-heading { align-items: flex-end; gap: var(--wp--preset--spacing--40); border-bottom: var(--tt-rule); padding-bottom: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--50); }
.tt-section-heading h2 { margin: 0; }
.tt-text-link { font-size: .9rem; font-weight: 600; }
.tt-text-link a { display: inline-block; padding-block: .65rem; }
.tt-hero { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 0; margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); align-items: stretch; }
.tt-hero-copy { padding: clamp(2rem, 4vw, 4.5rem) clamp(1.5rem, 4vw, 4rem) clamp(2rem, 4vw, 4.5rem) 0; align-self: center; }
.tt-hero-copy h1 { max-width: 9ch; margin-block: var(--wp--preset--spacing--40); }
.tt-hero-copy > p:not(.tt-kicker) { max-width: 33ch; }
.tt-hero-copy .wp-block-buttons { margin-top: var(--wp--preset--spacing--50); }
.tt-hero-image { position: relative; height: auto; margin: 0; min-height: clamp(460px, 47vw, 680px); }
.tt-hero-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.tt-hero-caption { border-top: var(--tt-rule); border-bottom: var(--tt-rule); padding-block: var(--wp--preset--spacing--30); gap: var(--wp--preset--spacing--40); font-size: .8rem; }
.tt-hero-caption p { margin: 0; }
.tt-grid { display: grid; gap: var(--wp--preset--spacing--50); }
.tt-grid > * { min-width: 0; margin-block-start: 0; }
.tt-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tt-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tt-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tt-destination figure { margin: 0 0 var(--wp--preset--spacing--30); overflow: hidden; }
.tt-destination img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; transition: transform .45s ease; }
.tt-destination h3 { margin-block: .5rem; font-size: var(--wp--preset--font-size--large); }
.tt-destination h3 a { color: inherit; text-decoration: none; }
.tt-destination h3 a:hover { text-decoration: underline; }
.tt-destination p { margin-block: .25rem; font-size: .875rem; color: var(--wp--preset--color--muted); }
.tt-destination:hover img { transform: scale(1.025); }
.tt-country img { aspect-ratio: 4 / 3; }
.tt-article-grid .wp-block-post { min-width: 0; }
.tt-article-grid .wp-block-post-featured-image { margin: 0 0 var(--wp--preset--spacing--40); }
.tt-article-grid .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.tt-article-grid .wp-block-post-title { font-size: clamp(1.4rem, 2.3vw, 1.85rem); margin-block: var(--wp--preset--spacing--20); }
.tt-article-grid .wp-block-post-title a:hover { text-decoration: underline; }
.tt-article-grid .wp-block-post-terms a { text-decoration: none; }
.tt-article-grid .wp-block-post-terms a:hover { text-decoration: underline; }
.tt-article-grid .wp-block-post-date { margin-block-start: var(--wp--preset--spacing--30); }
.tt-article-grid .wp-block-post-template { gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.tt-feature { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--wp--preset--spacing--60); align-items: center; }
.tt-feature > * { margin-block-start: 0; min-width: 0; }
.tt-feature .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.tt-feature .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); }
.tt-editorial { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--wp--preset--spacing--60); align-items: center; }
.tt-editorial > * { min-width: 0; margin-block-start: 0; }
.tt-editorial figure { margin: 0; }
.tt-editorial img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.tt-editorial-reverse figure { order: 2; }
.tt-style-links { border-top: var(--tt-rule); gap: 0; }
.tt-style-links .wp-block-button { flex: 1 1 22%; }
.tt-style-links .wp-block-button__link { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 1.4rem 1rem; text-align: left; background: transparent; color: var(--wp--preset--color--forest); border-bottom: var(--tt-rule); border-radius: 0; }
.tt-style-links .wp-block-button__link:hover { background: var(--wp--preset--color--sand); }
.tt-newsletter { padding: var(--wp--preset--spacing--60); background: var(--wp--preset--color--sand); }
.tt-newsletter > * { max-width: 55rem; }
.tt-newsletter h2 { max-width: 19ch; }
.tt-newsletter p { max-width: 52ch; }
.tt-newsletter .tt-kicker { color: var(--wp--preset--color--forest); }
.tt-form-slot { padding: var(--wp--preset--spacing--50); border: var(--tt-rule); }
.tt-form-slot :where(input:not([type=checkbox]):not([type=radio]), select, textarea) { max-width: 100%; padding: .8rem; border: var(--tt-rule); }
.tt-form-slot :where(input[type=email]) { width: 100%; }
.tt-editor-note { display: none; }
.editor-styles-wrapper .tt-editor-note { display: block; padding: 1rem; border: 1px dashed currentColor; font-size: .875rem; }
.tt-archive-intro { max-width: 55rem; padding-block: var(--wp--preset--spacing--60); }
.tt-archive-intro h1 { margin-block: var(--wp--preset--spacing--30); }
.tt-article-header { text-align: center; margin-block: var(--wp--preset--spacing--60); }
.tt-article-header h1 { max-width: 20ch; margin-inline: auto; }
.tt-article-header .wp-block-post-excerpt { max-width: 42rem; margin-inline: auto; font-size: var(--wp--preset--font-size--medium); }
.tt-article-meta { justify-content: center; gap: .5rem 1.25rem; font-size: .875rem; }
.tt-single-image img { max-height: 760px; width: 100%; object-fit: cover; }
.tt-author { border-top: var(--tt-rule); border-bottom: var(--tt-rule); padding-block: var(--wp--preset--spacing--50); }
.tt-author .wp-block-post-author__avatar { flex-shrink: 0; }
.tt-author .wp-block-post-author__avatar img { border-radius: 50%; }
.tt-author .wp-block-post-author__bio { font-size: 1rem; }
.tt-footer { margin-top: var(--wp--preset--spacing--70); padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); border-top: var(--tt-rule); }
.tt-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--wp--preset--spacing--60); }
.tt-footer-grid > * { min-width: 0; margin-top: 0; }
.tt-footer p { font-size: .9rem; }
.tt-footer .wp-block-site-title { font-size: 2rem; }
.tt-footer .wp-block-navigation-item__content { padding-block: .3rem; }
.tt-footer-bottom { border-top: var(--tt-rule); margin-top: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--40); }
.tt-footer-bottom p { font-size: .75rem; }
.tt-ad { min-width: 0; max-width: 100%; margin-block: var(--wp--preset--spacing--50); padding: var(--wp--preset--spacing--30); background: var(--wp--preset--color--sand); text-align: center; overflow: clip; }
.tt-ad-label { font-size: .625rem; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 .5rem; color: var(--wp--preset--color--muted); }
.tt-ad-slot { min-height: 250px; display: flow-root; width: 100%; }
.tt-ad-wide .tt-ad-slot { min-height: 280px; }
.tt-ad-sidebar { max-width: 336px; margin-inline: auto; }
.tt-ad-sidebar .tt-ad-slot { min-height: 600px; }
.tt-ad-mobile .tt-ad-slot { min-height: 100px; }
.tt-ad :where(iframe, ins, img) { max-width: 100%; }
.tt-tip, .is-style-travel-tip { border-left: 3px solid var(--wp--preset--color--forest); padding: var(--wp--preset--spacing--50); background: var(--wp--preset--color--sand); }
.tt-info, .is-style-travel-info { border: 1px solid var(--wp--preset--color--clay); padding: var(--wp--preset--spacing--50); }
.tt-affiliate { border: var(--tt-rule); padding: var(--wp--preset--spacing--50); }
.wp-block-details { border-bottom: var(--tt-rule); padding-block: var(--wp--preset--spacing--30); }
.wp-block-details summary { cursor: pointer; padding-block: .5rem; font-weight: 600; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--60); gap: var(--wp--preset--spacing--40); }
.wp-block-query-pagination :where(a, .page-numbers) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); }
.wp-block-search__input { min-width: 0; border: var(--tt-rule); padding: .8rem; }
.wp-block-search__button { margin-left: .5rem; }
:where(.comment-form) :where(input:not([type=checkbox]), textarea) { display: block; max-width: 100%; width: 100%; padding: .75rem; border: var(--tt-rule); background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); }
:where(.comment-form) input[type=submit] { width: auto; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); cursor: pointer; }
@media (min-width: 782px) { .tt-article-grid .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 960px) {
 .tt-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
 .tt-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
 .tt-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
 .tt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .75rem; font-size: 1.2rem; }
 .tt-header .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
 .tt-header .wp-block-navigation__responsive-container-open { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
 .tt-hero-image { min-height: 460px; }
 .tt-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .tt-feature { gap: var(--wp--preset--spacing--50); }
 .tt-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; gap: var(--wp--preset--spacing--50); }
}
@media (max-width: 781px) {
 .tt-hero { grid-template-columns: 1fr; }
 .tt-hero-copy { padding: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--50); }
 .tt-hero-copy h1 { max-width: 15ch; }
 .tt-hero-image { min-height: 0; height: clamp(260px, 60vw, 480px); }
 .tt-hero-caption { align-items: flex-start; }
 .tt-feature, .tt-editorial { grid-template-columns: 1fr; }
 .tt-editorial-reverse figure { order: 0; }
 .tt-editorial img { aspect-ratio: 4 / 3; }
 .tt-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .tt-article-grid .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .tt-footer-grid { grid-template-columns: 1fr 1fr; }
 .tt-footer-grid > :first-child { grid-column: 1 / -1; }
 .tt-newsletter { padding: var(--wp--preset--spacing--50); }
 .tt-style-links .wp-block-button { flex-basis: 45%; }
}
@media (max-width: 480px) {
 .tt-header { gap: .5rem; }
 .tt-header .wp-block-site-title { font-size: 1.45rem; }
 .tt-header-actions { gap: .25rem; }
 .tt-grid-2, .tt-grid-3 { grid-template-columns: 1fr; }
 .tt-grid-4 { gap: var(--wp--preset--spacing--30); }
 .tt-grid-4 h3 { font-size: 1.4rem; }
 .tt-article-grid .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; }
 .tt-section-heading { align-items: flex-start; }
 .tt-footer-grid { gap: var(--wp--preset--spacing--40); }
 .tt-ad { padding-inline: 0; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
@media print { .tt-header, .tt-footer, .tt-newsletter, .tt-ad, .wp-block-post-comments-form, .tt-related { display: none; } body { color: black; background: white; } }

.tt-hero.tt-hero { margin-block-start: var(--wp--preset--spacing--50); }
.wp-block-template-part:has(> .tt-section) { max-width: var(--wp--style--global--wide-size); }

/* Native Details + Search blocks: accessible icon control without theme JavaScript. */
.tt-header-search.tt-header-search { padding: 0; border: 0; margin: 0; }
.tt-header-search > summary { list-style: none; padding: 0; width: 44px; height: 44px; font-size: 0; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); position: relative; }
.tt-header-search > summary::-webkit-details-marker { display: none; }
.tt-header-search > summary::before { content: ''; position: absolute; width: 12px; height: 12px; border: 1.5px solid currentColor; border-radius: 50%; left: 17px; top: 12px; }
.tt-header-search > summary::after { content: ''; position: absolute; width: 9px; height: 1.5px; background: currentColor; left: 11px; top: 27px; transform: rotate(-45deg); }
.tt-header-search .wp-block-search { position: absolute; inset-inline-end: 0; top: calc(100% - .25rem); z-index: 20; margin: 0; padding: 1rem; background: var(--wp--preset--color--paper); border: var(--tt-rule); width: min(420px, calc(100vw - 2rem)); max-width: none; }
.tt-header-search .wp-block-search__input { width: 100%; max-width: none; }
.tt-header-search .wp-block-search__button { margin-left: .5rem; }
.editor-styles-wrapper .tt-header-search .wp-block-search { position: static; width: auto; }
