/*
Theme Name: JNews - Child Theme
Version: 2.0.0
Theme URI: https://demo.travelling-greece.com/
Description: Premium editorial design for Travelling Greece.
Author: Travelling Greece
Template: jnews
License: GPLv2 or later
*/

:root {
    --tg-blue: #0098d3;
    --tg-blue-dark: #007cae;
    --tg-blue-light: #4bb6f5;
    --tg-ink: #17232b;
    --tg-text: #293239;
    --tg-muted: #737d84;
    --tg-border: #e1e7ea;
    --tg-soft: #f4f8fa;
    --tg-white: #fff;
    --tg-serif: "Noto Serif", "Georgia", "Times New Roman", serif;
    --tg-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --tg-shell: 1220px;
}

html { scroll-behavior: smooth; }
body { margin: 0; color: var(--tg-text); background: var(--tg-white); font-family: var(--tg-sans); }
a { transition: color 160ms ease, border-color 160ms ease, opacity 160ms ease, transform 220ms ease; }
.tg-shell { width: min(var(--tg-shell), calc(100% - 48px)); margin-inline: auto; }
.tg-skip-link { position: fixed; z-index: 999999; top: 8px; left: 8px; padding: 10px 14px; color: #fff; background: var(--tg-ink); transform: translateY(-150%); }
.tg-skip-link:focus { transform: none; }

/* Premium masthead */
.tg-site-header { position: relative; z-index: 100; background: var(--tg-white); }
.tg-utility { color: #aeb9bf; background: var(--tg-ink); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.tg-utility__inner { display: flex; min-height: 32px; align-items: center; justify-content: space-between; gap: 20px; }
.tg-utility p { margin: 0; }
.tg-utility__tools, .tg-languages { display: flex; align-items: center; gap: 14px; }
.tg-utility a { color: #c6d0d5; }
.tg-utility a:hover, .tg-utility a[aria-current="page"] { color: var(--tg-blue-light); }
.tg-languages a + a { position: relative; }
.tg-languages a + a::before { position: absolute; left: -8px; color: #56646d; content: '/'; }

.tg-masthead { display: flex; min-height: 105px; align-items: center; justify-content: center; flex-direction: column; gap: 9px; }
.tg-masthead__logo { display: block; line-height: 0; }
.tg-masthead__logo img { width: 276px; max-width: 72vw; height: auto; }
.tg-masthead p { margin: 0; color: var(--tg-muted); font-family: var(--tg-serif); font-size: 12px; font-style: italic; letter-spacing: .07em; }

.tg-navigation-wrap { position: sticky; z-index: 120; top: 0; border-top: 1px solid var(--tg-border); border-bottom: 1px solid var(--tg-border); background: rgba(255,255,255,.96); box-shadow: 0 8px 22px rgba(23,35,43,.025); backdrop-filter: blur(12px); }
.tg-navigation { display: grid; min-height: 55px; grid-template-columns: 1fr auto; align-items: center; gap: 25px; }
.tg-primary-menu, .tg-primary-menu ul { margin: 0; padding: 0; list-style: none; }
.tg-primary-menu { display: flex; justify-content: center; gap: clamp(17px, 2.2vw, 34px); }
.tg-primary-menu > li { position: relative; }
.tg-primary-menu > li > a { display: flex; height: 55px; align-items: center; color: var(--tg-ink); border-bottom: 2px solid transparent; font-size: 11px; font-weight: 800; letter-spacing: .095em; text-transform: uppercase; }
.tg-primary-menu > li.current-menu-item > a, .tg-primary-menu > li.current-menu-ancestor > a, .tg-primary-menu > li > a:hover { color: var(--tg-blue-dark); border-bottom-color: var(--tg-blue); }
.tg-primary-menu .sub-menu { position: absolute; top: 55px; left: -18px; display: none; min-width: 230px; padding: 12px 0; background: #fff; border: 1px solid var(--tg-border); box-shadow: 0 18px 35px rgba(23,35,43,.12); }
.tg-primary-menu li:hover > .sub-menu, .tg-primary-menu li:focus-within > .sub-menu { display: block; }
.tg-primary-menu .sub-menu a { display: block; padding: 9px 18px; color: var(--tg-text); font-size: 12px; }
.tg-primary-menu .sub-menu a:hover { color: var(--tg-blue); }

.tg-header-search { display: flex; width: 38px; height: 36px; align-items: center; justify-content: flex-end; overflow: hidden; border-left: 1px solid var(--tg-border); transition: width 220ms ease; }
.tg-header-search:focus-within { width: 205px; }
.tg-header-search input { width: 160px; min-width: 160px; height: 34px; padding: 0 7px; border: 0; outline: 0; background: transparent; font-size: 12px; }
.tg-header-search button { position: relative; width: 38px; min-width: 38px; height: 36px; padding: 0; color: var(--tg-ink); border: 0; background: transparent; font-size: 0; cursor: pointer; }
.tg-header-search button::before { position: absolute; top: 9px; left: 10px; width: 11px; height: 11px; border: 2px solid var(--tg-ink); border-radius: 50%; content: ''; }
.tg-header-search button::after { position: absolute; top: 21px; left: 22px; width: 7px; height: 2px; background: var(--tg-ink); content: ''; transform: rotate(45deg); transform-origin: left center; }
.tg-navigation__mobile-logo, .tg-mobile-menu { display: none; }

/* Editorial homepage */
.tg-premium-home { padding: 52px 0 92px; overflow: hidden; }
.tg-premium-intro { display: grid; grid-template-columns: 240px minmax(0, 1fr); align-items: end; gap: 45px; margin-bottom: 28px; }
.tg-premium-intro__kicker { margin: 0 0 7px; color: var(--tg-blue-dark); font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.tg-premium-intro h1 { max-width: 830px; margin: 0; color: var(--tg-ink); font-family: var(--tg-serif); font-size: clamp(30px, 3.55vw, 52px); font-weight: 500; line-height: 1.08; letter-spacing: -.025em; }

.tg-premium-hero { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .85fr); grid-template-rows: repeat(2, 285px); gap: 16px; padding-bottom: 45px; border-bottom: 1px solid var(--tg-border); }
.tg-premium-lead { position: relative; grid-row: 1 / 3; overflow: hidden; background: var(--tg-ink); }
.tg-premium-picture { position: relative; display: block; overflow: hidden; background: linear-gradient(135deg, #d9edf5, #83bfd7); }
.tg-premium-picture img, .tg-premium-placeholder { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform 520ms cubic-bezier(.2,.7,.2,1); }
.tg-premium-picture:hover img { transform: scale(1.025); }
.tg-premium-placeholder { display: grid; place-items: center; color: rgba(255,255,255,.62); background: linear-gradient(145deg, var(--tg-blue-dark), var(--tg-blue-light)); font-family: var(--tg-serif); font-size: 36px; }
.tg-premium-picture--lead, .tg-premium-picture--lead img, .tg-premium-picture--lead .tg-premium-placeholder { width: 100%; height: 100%; aspect-ratio: auto; }
.tg-premium-picture--lead::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, rgba(8,19,26,.02) 25%, rgba(8,19,26,.9) 100%); }
.tg-premium-lead__content { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; max-width: 860px; padding: 100px 42px 38px; color: #fff; }
.tg-premium-lead h2 { margin: 7px 0 12px; font-family: var(--tg-serif); font-size: clamp(32px, 4vw, 56px); font-weight: 500; line-height: 1.04; letter-spacing: -.03em; }
.tg-premium-lead h2 a { color: #fff; }
.tg-premium-lead__content > p { max-width: 650px; margin: 0; color: rgba(255,255,255,.8); font-size: 14px; line-height: 1.55; }

.tg-premium-secondary { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: stretch; overflow: hidden; border-bottom: 1px solid var(--tg-border); }
.tg-premium-secondary > .tg-premium-picture, .tg-premium-secondary > .tg-premium-picture img, .tg-premium-secondary > .tg-premium-picture .tg-premium-placeholder { width: 100%; height: 100%; aspect-ratio: auto; }
.tg-premium-secondary > div { display: flex; padding: 22px; justify-content: center; flex-direction: column; }
.tg-premium-secondary h2 { margin: 10px 0 0; font-family: var(--tg-serif); font-size: clamp(20px, 1.6vw, 27px); font-weight: 500; line-height: 1.15; }
.tg-premium-secondary h2 a { display: -webkit-box; overflow: hidden; color: var(--tg-ink); -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
html[lang^="el"] .tg-premium-secondary h2 { font-size: clamp(19px, 1.45vw, 24px); }
.tg-premium-secondary h2 a:hover { color: var(--tg-blue-dark); }

.tg-premium-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--tg-muted); font-size: 9px; font-weight: 700; letter-spacing: .095em; text-transform: uppercase; }
.tg-premium-meta a { color: var(--tg-blue-dark); }
.tg-premium-meta time::before { margin-right: 9px; color: #aab4ba; content: '—'; }
.tg-premium-lead .tg-premium-meta, .tg-premium-lead .tg-premium-meta a { color: #fff; }

.tg-premium-section { margin-top: 84px; }
.tg-premium-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 28px; padding-bottom: 15px; border-bottom: 1px solid var(--tg-ink); }
.tg-premium-heading__title { display: flex; align-items: flex-start; gap: 18px; }
.tg-premium-heading__title > span { padding-top: 6px; color: var(--tg-blue); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.tg-premium-heading h2 { margin: 0; color: var(--tg-ink); font-family: var(--tg-serif); font-size: clamp(30px, 3vw, 43px); font-weight: 500; line-height: 1; letter-spacing: -.02em; }
.tg-premium-heading p { margin: 8px 0 0; color: var(--tg-muted); font-size: 12px; }
.tg-premium-heading > a { color: var(--tg-blue-dark); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.tg-premium-latest__list article { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 30px; padding: 18px 0; border-bottom: 1px solid var(--tg-border); }
.tg-premium-latest__list article:first-child { padding-top: 0; }
.tg-premium-latest__list .tg-premium-picture img, .tg-premium-latest__list .tg-premium-placeholder { height: 155px; aspect-ratio: auto; }
.tg-premium-latest__content { display: flex; justify-content: center; flex-direction: column; }
.tg-premium-latest h3 { max-width: 800px; margin: 8px 0; font-family: var(--tg-serif); font-size: clamp(22px, 2vw, 30px); font-weight: 500; line-height: 1.13; }
.tg-premium-latest h3 a { color: var(--tg-ink); }
.tg-premium-latest h3 a:hover { color: var(--tg-blue-dark); }
.tg-premium-latest__content > p { max-width: 750px; margin: 0; color: var(--tg-muted); font-size: 13px; line-height: 1.55; }

.tg-premium-destinations { margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); padding: 75px max(24px, calc((100vw - var(--tg-shell))/2)) 80px; background: var(--tg-soft); }
.tg-destination-grid { display: grid; grid-template-columns: 1.35fr repeat(2, minmax(0, .8fr)); grid-template-rows: repeat(2, 255px); gap: 16px; }
.tg-destination-grid article { position: relative; overflow: hidden; background: var(--tg-ink); }
.tg-destination-grid .tg-destination--feature { grid-row: 1 / 3; }
.tg-destination-grid .tg-premium-picture, .tg-destination-grid .tg-premium-picture img, .tg-destination-grid .tg-premium-placeholder { width: 100%; height: 100%; aspect-ratio: auto; }
.tg-destination-grid .tg-premium-picture::after { position: absolute; inset: 0; content: ''; background: linear-gradient(180deg, transparent 35%, rgba(10,22,29,.88)); }
.tg-destination-grid article > div { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 35px 24px 20px; }
.tg-destination-grid h3 { margin: 7px 0 0; font-family: var(--tg-serif); font-size: 21px; font-weight: 500; line-height: 1.15; }
.tg-destination-grid .tg-destination--feature h3 { max-width: 700px; font-size: clamp(29px, 3vw, 44px); }
.tg-destination-grid h3 a, .tg-destination-grid .tg-premium-meta, .tg-destination-grid .tg-premium-meta a { color: #fff; }

.tg-newsroom-columns, .tg-industry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 65px; }
.tg-newsroom-column__header, .tg-industry > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.tg-newsroom-column__header h3, .tg-industry > header h3 { margin: 0; color: var(--tg-ink); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tg-newsroom-column__header a, .tg-industry > header a { color: var(--tg-blue); font-size: 11px; }
.tg-newsroom-feature { display: grid; grid-template-columns: 1.05fr 1fr; gap: 22px; padding-bottom: 20px; border-bottom: 1px solid var(--tg-border); }
.tg-newsroom-feature .tg-premium-picture img, .tg-newsroom-feature .tg-premium-placeholder { height: 210px; aspect-ratio: auto; }
.tg-newsroom-feature h4, .tg-industry h4 { margin: 9px 0 0; font-family: var(--tg-serif); font-size: 23px; font-weight: 500; line-height: 1.14; }
.tg-newsroom-feature h4 a, .tg-newsroom-brief h4 a, .tg-industry h4 a { color: var(--tg-ink); }
.tg-newsroom-feature h4 a:hover, .tg-newsroom-brief h4 a:hover, .tg-industry h4 a:hover { color: var(--tg-blue-dark); }
.tg-newsroom-brief { padding: 17px 0; border-bottom: 1px solid var(--tg-border); }
.tg-newsroom-brief h4 { margin: 7px 0 0; font-family: var(--tg-serif); font-size: 18px; font-weight: 500; line-height: 1.2; }

.tg-premium-industries { padding-top: 5px; }
.tg-industry { padding: 32px; background: var(--tg-soft); }
.tg-industry article { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 24px; padding: 18px 0; border-bottom: 1px solid #d7e0e4; }
.tg-industry article:last-child { border-bottom: 0; }
.tg-industry article:first-of-type { padding-top: 0; }
.tg-industry article:not(:first-of-type) { display: block; }
.tg-industry .tg-premium-picture img, .tg-industry .tg-premium-placeholder { height: 145px; aspect-ratio: auto; }
.tg-industry h4 { font-size: 19px; }
.tg-industry article:first-of-type h4 { font-size: 23px; }

/* Premium footer */
.tg-footer { color: #d7e0e5; background: var(--tg-ink); }
.tg-footer__grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 75px; padding-top: 70px; padding-bottom: 58px; }
.tg-footer__logo { display: inline-flex; padding: 10px 14px; background: #fff; }
.tg-footer__logo img { width: 250px; max-width: 100%; height: auto; }
.tg-footer__brand p { max-width: 460px; margin: 24px 0 0; color: #aebbc3; font-family: var(--tg-serif); font-size: 17px; line-height: 1.7; }
.tg-footer__nav h2 { margin: 0 0 21px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.tg-footer__nav ul { margin: 0; padding: 0; list-style: none; }
.tg-footer__nav li + li { margin-top: 12px; }
.tg-footer__nav a { color: #b8c4ca; font-size: 13px; }
.tg-footer__nav a:hover { color: var(--tg-blue-light); }
.tg-footer__bottom { border-top: 1px solid rgba(255,255,255,.11); }
.tg-footer__bottom .tg-shell { display: flex; justify-content: space-between; gap: 20px; padding-top: 19px; padding-bottom: 19px; }
.tg-footer__bottom p { margin: 0; color: #87969f; font-size: 10px; letter-spacing: .04em; }
.wpml-ls-statics-footer { display: none !important; }
.jscroll-to-top_link { background: var(--tg-blue) !important; }

/* Existing JNews content below the custom masthead */
body:not(.home) .jeg_main { padding-top: 38px; }
body.page #comments, body.page .comment-respond { display: none; }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form textarea { border: 1px solid var(--tg-border); }
.wpcf7-form input[type="submit"] { color: #fff; border: 0; background: var(--tg-blue); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wpcf7-form input[type="submit"]:hover { background: var(--tg-blue-dark); }

@media (max-width: 1100px) {
    .tg-primary-menu { gap: 14px; }
    .tg-primary-menu > li > a { font-size: 10px; letter-spacing: .06em; }
    .tg-premium-hero { grid-template-columns: 1.45fr .9fr; }
    .tg-newsroom-columns, .tg-industry-grid { gap: 34px; }
    .tg-newsroom-feature, .tg-industry article { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
    .tg-utility, .tg-masthead, .tg-desktop-nav { display: none; }
    .tg-navigation { min-height: 62px; grid-template-columns: 45px 1fr 45px; gap: 10px; }
    .tg-navigation__mobile-logo { display: block; justify-self: center; line-height: 0; }
    .tg-navigation__mobile-logo img { width: 205px; max-width: 58vw; height: auto; }
    .tg-mobile-menu { display: block; }
    .tg-mobile-menu summary { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; cursor: pointer; list-style: none; }
    .tg-mobile-menu summary::-webkit-details-marker { display: none; }
    .tg-mobile-menu summary span { width: 21px; height: 2px; background: var(--tg-ink); }
    .tg-mobile-menu__panel { position: absolute; top: 62px; right: 0; left: 0; padding: 22px 24px 28px; border-top: 1px solid var(--tg-border); background: #fff; box-shadow: 0 18px 35px rgba(23,35,43,.14); }
    .tg-mobile-menu__links { margin: 0; padding: 0; list-style: none; }
    .tg-mobile-menu__links a { display: block; padding: 11px 0; color: var(--tg-ink); border-bottom: 1px solid var(--tg-border); font-size: 12px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
    .tg-mobile-menu__languages { display: flex; gap: 18px; margin-top: 22px; }
    .tg-mobile-menu__languages a { color: var(--tg-muted); font-size: 11px; font-weight: 800; }
    .tg-mobile-menu__languages a[aria-current="page"] { color: var(--tg-blue); }
    .tg-header-search { width: 40px; justify-self: end; border: 0; }
    .tg-header-search:focus-within { position: absolute; right: 24px; width: calc(100% - 48px); background: #fff; }
    .tg-header-search input { flex: 1; }
    .tg-premium-intro { grid-template-columns: 1fr; gap: 8px; }
    .tg-premium-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 490px 260px; }
    .tg-premium-lead { grid-column: 1 / 3; grid-row: auto; }
    .tg-premium-secondary { display: block; }
    .tg-premium-secondary > .tg-premium-picture, .tg-premium-secondary > .tg-premium-picture img, .tg-premium-secondary > .tg-premium-picture .tg-premium-placeholder { height: 145px; }
    .tg-premium-secondary > div { padding: 17px 5px; }
    .tg-premium-secondary { border-bottom: 0; }
    .tg-destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 410px repeat(2, 230px); }
    .tg-destination-grid .tg-destination--feature { grid-column: 1 / 3; grid-row: auto; }
    .tg-newsroom-columns, .tg-industry-grid { grid-template-columns: 1fr; gap: 55px; }
    .tg-footer__grid { grid-template-columns: 1.2fr .8fr .8fr; gap: 35px; }
}

@media (max-width: 600px) {
    .tg-shell { width: min(var(--tg-shell), calc(100% - 28px)); }
    .tg-premium-home { padding: 35px 0 62px; }
    .tg-premium-intro { margin-bottom: 22px; }
    .tg-premium-intro h1 { font-size: 34px; }
    .tg-premium-hero { display: block; padding-bottom: 30px; }
    .tg-premium-lead { min-height: 450px; margin-bottom: 15px; }
    .tg-premium-lead__content { padding: 90px 20px 24px; }
    .tg-premium-lead h2 { font-size: 34px; }
    .tg-premium-lead__content > p { display: none; }
    .tg-premium-secondary { display: grid; grid-template-columns: 132px 1fr; min-height: 120px; padding: 12px 0; border-bottom: 1px solid var(--tg-border); }
    .tg-premium-secondary > .tg-premium-picture, .tg-premium-secondary > .tg-premium-picture img, .tg-premium-secondary > .tg-premium-picture .tg-premium-placeholder { height: 110px; }
    .tg-premium-secondary > div { padding: 5px 0 5px 15px; }
    .tg-premium-secondary h2 { font-size: 20px; }
    .tg-premium-section { margin-top: 58px; }
    .tg-premium-heading { align-items: center; }
    .tg-premium-heading__title { gap: 10px; }
    .tg-premium-heading h2 { font-size: 30px; }
    .tg-premium-heading p { display: none; }
    .tg-premium-heading > a { white-space: nowrap; }
    .tg-premium-latest__list article { grid-template-columns: 118px 1fr; gap: 16px; }
    .tg-premium-latest__list .tg-premium-picture img, .tg-premium-latest__list .tg-premium-placeholder { height: 105px; }
    .tg-premium-latest h3 { margin: 6px 0 0; font-size: 20px; }
    .tg-premium-latest__content > p { display: none; }
    .tg-premium-destinations { padding-top: 52px; padding-bottom: 56px; }
    .tg-destination-grid { display: flex; margin-right: -14px; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; }
    .tg-destination-grid article, .tg-destination-grid .tg-destination--feature { width: 82vw; min-width: 82vw; height: 410px; scroll-snap-align: start; }
    .tg-destination-grid h3, .tg-destination-grid .tg-destination--feature h3 { font-size: 28px; }
    .tg-newsroom-feature { grid-template-columns: 1fr; }
    .tg-newsroom-feature .tg-premium-picture img, .tg-newsroom-feature .tg-premium-placeholder { height: 245px; }
    .tg-newsroom-feature h4 { font-size: 25px; }
    .tg-industry { margin-right: -4px; margin-left: -4px; padding: 22px 18px; }
    .tg-industry article { grid-template-columns: 1fr; }
    .tg-footer__grid { grid-template-columns: 1fr; gap: 35px; padding-top: 48px; padding-bottom: 42px; }
    .tg-footer__bottom .tg-shell { display: block; }
    .tg-footer__bottom p + p { margin-top: 7px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
