/* Weekend in Europe: sunny-Saturday system. Photos lead; sea teal = go somewhere, sunset coral = what's on, sun yellow = small joys. */

:root {
	--we-ink: var(--wp--preset--color--ink, #1C2B3A);
	--we-sea: var(--wp--preset--color--sea, #0D7377);
	--we-sunset: var(--wp--preset--color--sunset, #F2542D);
	--we-sun: var(--wp--preset--color--sun, #FFC94A);
	--we-sky: var(--wp--preset--color--sky, #EAF4F7);
	--we-line: var(--wp--preset--color--line, #D9E2E7);
	--we-slate: var(--wp--preset--color--slate, #55636E);
	--we-display: var(--wp--preset--font-family--display, sans-serif);
	--we-radius: 16px;
	--we-shadow: 0 12px 32px -14px rgba(28, 43, 58, 0.35);
}

.wp-site-blocks > * { margin-block-start: 0; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
:where(a, button, summary, input):focus-visible { outline: 3px solid var(--we-sea); outline-offset: 2px; }
img { height: auto; }

/* Header */
.we-header { position: relative; z-index: 20; border-bottom: 1px solid var(--we-line); }
.we-header__inner { gap: 1rem 2rem; }
.we-logo { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; color: var(--we-ink); }
.we-logo__tile { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--we-sun); color: var(--we-ink); font-family: var(--we-display); font-weight: 800; font-size: 0.95rem; letter-spacing: -0.02em; box-shadow: inset 0 0 0 3px rgba(28,43,58,0.08); }
.we-logo__name { font-family: var(--we-display); font-weight: 700; font-size: 1.35rem; letter-spacing: -0.02em; }
.we-logo:hover .we-logo__tile { background: var(--we-sunset); color: #fff; }
.we-nav a { color: var(--we-ink); text-decoration: none; padding: 0.3rem 0; border-bottom: 2px solid transparent; }
.we-nav a:hover, .we-nav a[aria-current="page"] { border-bottom-color: var(--we-sunset); }
.we-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.we-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size: 1.6rem; }
.we-footer .we-logo { color: #fff; }

/* Home hero: a full-bleed photograph with this weekend's postcards laid over its lower edge */
.we-hero { position: relative; min-height: clamp(26rem, 62vh, 40rem); display: flex; align-items: flex-end; background: linear-gradient(135deg, var(--we-sea), #2E86AB 55%, var(--we-sun)); background-size: cover; background-position: center; color: #fff; }
.we-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,43,58,0) 30%, rgba(28,43,58,0.72) 100%); }
.we-hero__inner { position: relative; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2.5rem) clamp(9rem, 16vw, 11rem); }
.we-hero__title { color: #fff; font-size: var(--wp--preset--font-size--huge); line-height: 0.98; letter-spacing: -0.02em; max-width: 12ch; margin: 0 0 1rem; text-shadow: 0 2px 24px rgba(0,0,0,0.25); }
.we-hero__lede { font-size: var(--wp--preset--font-size--large); line-height: 1.4; max-width: 40ch; margin: 0; color: #F4F8FA; }
.we-hero__cards { position: relative; max-width: 1200px; margin: clamp(-8rem, -12vw, -6rem) auto 0; padding: 0 clamp(1rem, 4vw, 2.5rem); z-index: 2; }

/* Postcards: the one playful moment. Slight tilt, straightens on hover. */
.we-postcards { margin: 0; }
.we-postcards__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.25rem 1.5rem; margin-bottom: 1rem; }
.we-hero__cards .we-postcards__head { color: #fff; }
.we-postcards__title { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0; }
.we-hero__cards .we-postcards__title { color: #fff; text-shadow: 0 1px 12px rgba(0,0,0,0.3); }
.we-postcards__when { margin: 0; font-family: var(--we-display); font-weight: 600; }
.we-postcards__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); }
.we-postcard { background: #fff; border-radius: 12px; padding: 0.7rem 0.7rem 1.1rem; box-shadow: var(--we-shadow); transform: rotate(-1.4deg); transition: transform 0.25s ease, box-shadow 0.25s ease; display: flex; flex-direction: column; }
.we-postcard:nth-child(2) { transform: rotate(1deg) translateY(10px); }
.we-postcard:nth-child(3) { transform: rotate(-0.6deg); }
.we-postcard:hover { transform: rotate(0) translateY(-4px); box-shadow: 0 18px 40px -14px rgba(28,43,58,0.45); }
.we-postcard__img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; background: var(--we-sky); }
.we-postcard__img--empty { background: linear-gradient(135deg, var(--we-sea), var(--we-sun)); }
.we-postcard__body { padding: 0.9rem 0.4rem 0; display: flex; flex-direction: column; gap: 0.3rem; }
.we-postcard__body > * { margin: 0; }
.we-postcard__stamp { align-self: flex-start; font-family: var(--we-display); font-weight: 700; font-size: 0.9rem; color: #fff; background: var(--we-sunset); border-radius: 999px; padding: 0.2rem 0.75rem; }
.we-postcard__city { font-size: 1.7rem; line-height: 1.05; margin-top: 0.35rem; color: var(--we-ink); }
.we-postcard__country { color: var(--we-slate); font-size: 0.95rem; }
.we-postcard__what { font-size: 1.02rem; line-height: 1.45; color: var(--we-ink); }
.we-postcards__more { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; margin: 2rem 0 0; }
.we-postcards__past { font-family: var(--we-display); font-weight: 600; }
@media (max-width: 780px) {
	.we-postcards__list { grid-template-columns: 1fr; }
	.we-postcard, .we-postcard:nth-child(2), .we-postcard:nth-child(3) { transform: none; }
	.we-postcard { flex-direction: row; gap: 0.9rem; padding: 0.6rem; }
	.we-postcard__img { width: 38%; aspect-ratio: 1; flex-shrink: 0; }
	.we-postcard__body { padding: 0.2rem 0; }
	.we-postcard__city { font-size: 1.35rem; }
}
.we-prose .we-postcards { margin: 2rem 0; }

/* Sections */
.we-section-title { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 1.5rem; }
.we-section__head { margin-bottom: 0.25rem; }
.we-section__head .we-section-title { margin-bottom: 1rem; }
.we-section__intro { color: var(--we-slate); margin-top: -0.75rem; }
.we-section__more a { font-family: var(--we-display); font-weight: 600; }

/* Cards */
.we-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 2.75rem 2rem; }
.wp-block-post-template.we-grid { gap: 2.75rem 2rem; }
.we-card { display: flex; flex-direction: column; gap: 0.9rem; margin: 0; }
.we-cover { display: block; margin: 0; border-radius: var(--we-radius); overflow: hidden; background: var(--we-sky); text-decoration: none; }
.we-cover:hover { text-decoration: none; }
.we-cover--card { aspect-ratio: 4 / 3; }
.we-cover__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.we-card .we-cover__img { transition: transform 0.5s ease; }
.we-card:hover .we-cover__img { transform: scale(1.04); }
.we-cover__type { height: 100%; min-height: 12rem; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.25rem; background: linear-gradient(140deg, var(--we-sea) 0%, #2E86AB 60%, var(--we-sun) 140%); }
.we-cover__place { font-family: var(--we-display); font-weight: 750; color: #fff; font-size: clamp(2rem, 4vw, 2.7rem); line-height: 1; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.we-cover__kind { color: #EAF4F7; font-size: 0.95rem; margin-top: 0.4rem; }
.we-card__body { display: flex; flex-direction: column; gap: 0.45rem; }
.we-card__body > * { margin: 0; }
.we-card__title { font-family: var(--we-display); font-weight: 650; font-size: 1.4rem; line-height: 1.15; letter-spacing: -0.01em; margin: 0; }
.we-card__title a { color: var(--we-ink); text-decoration: none; }
.we-card__title a:hover { color: var(--we-sea); }
.we-card__excerpt, .we-card .wp-block-post-excerpt__excerpt { color: var(--we-slate); font-size: 1rem; line-height: 1.5; margin: 0; }
.we-card .wp-block-post-excerpt__more-text { display: none; }

/* Country and type tag */
.we-tag { display: flex; flex-wrap: wrap; align-items: center; gap: 0.55rem; margin: 0; font-size: 0.9rem; }
.we-tag__country { font-family: var(--we-display); font-weight: 650; color: var(--we-sunset); text-decoration: none; }
a.we-tag__country:hover { text-decoration: underline; }
.we-tag__kind { color: var(--we-slate); }
.we-tag__country + .we-tag__kind::before { content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: var(--we-line); margin-right: 0.55rem; vertical-align: middle; }

/* Article */
.we-article__head { margin-bottom: 2rem; }
.we-article__head > * + * { margin-top: 0.9rem; }
.we-article__title { margin: 0.4rem 0 0; max-width: 20ch; overflow-wrap: break-word; }
.we-page .we-article__title { margin-bottom: 1.5rem; }
.we-article__lede, .we-article__lede p { font-size: var(--wp--preset--font-size--large); line-height: 1.45; color: var(--we-slate); max-width: 52ch; }
.we-article__lede .wp-block-post-excerpt__more-text { display: none; }
.we-article__meta { gap: 0.35rem; font-size: 0.95rem; color: var(--we-slate); }
.we-article__meta p, .we-article__meta .wp-block-post-date { margin: 0; color: var(--we-slate); font-size: 0.95rem; }
.we-cover--hero { width: 100%; margin-bottom: 2.75rem !important; border-radius: 22px; background: none; overflow: visible; }
.we-cover--hero .we-cover__img { aspect-ratio: 16 / 9; max-height: 74vh; border-radius: 22px; }
.we-cover__credit { font-size: 0.85rem; color: var(--we-slate); margin-top: 0.5rem; text-align: right; }

/* At a glance */
.we-glance { background: var(--we-sky); color: var(--we-ink); border-radius: var(--we-radius); padding: 1.4rem 1.6rem 1.5rem; margin-bottom: 2.75rem !important; }
.we-glance__title { font-family: var(--we-display); font-weight: 700; font-size: 1.35rem; margin: 0 0 0.8rem; }
.we-glance__list { margin: 0; display: grid; gap: 0.6rem; }
.we-glance__row { display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; padding-top: 0.6rem; border-top: 1px solid rgba(13, 115, 119, 0.18); }
.we-glance__row:first-child { border-top: 0; padding-top: 0; }
.we-glance dt { font-family: var(--we-display); font-weight: 650; color: var(--we-sea); }
.we-glance dd { margin: 0; line-height: 1.5; }
@media (max-width: 600px) { .we-glance__row { grid-template-columns: 1fr; gap: 0.1rem; } }

/* Long-form text */
.we-prose { font-size: var(--wp--preset--font-size--medium); }
.we-prose > h2 { margin-top: 2.75rem; margin-bottom: 0.75rem; }
.we-prose > h3 { margin-top: 2rem; margin-bottom: 0.5rem; }
.we-prose > p, .we-prose li { max-width: 68ch; }
.we-prose li + li { margin-top: 0.4rem; }
.we-prose strong { font-weight: 650; }
.we-prose a { text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.we-prose table { border-collapse: collapse; width: 100%; font-size: 1rem; }
.we-prose th, .we-prose td { border-bottom: 1px solid var(--we-line); padding: 0.6rem 0.5rem; text-align: left; }
.we-prose th { font-family: var(--we-display); color: var(--we-sea); }
.we-tip { background: #FFF5DB; border-left: 5px solid var(--we-sun); border-radius: 0 var(--we-radius) var(--we-radius) 0; padding: 1rem 1.25rem; }
.we-tip p { margin: 0; }

/* The 48-hour route: stops along a line, because it is a sequence */
.we-route { position: relative; padding-left: 1.75rem; border-left: 3px solid var(--we-sea); margin-left: 0.4rem; }
.we-route > h3 { position: relative; font-weight: 700; font-size: 1.55rem; margin-top: 2rem; }
.we-route > h3:first-child { margin-top: 0.25rem; }
.we-route > h3::before { content: ""; position: absolute; left: calc(-1.75rem - 10px); top: 0.3em; width: 17px; height: 17px; border-radius: 50%; background: var(--we-sun); border: 3px solid var(--we-sea); }

/* FAQ */
.we-faq { border-top: 1px solid var(--we-line); padding: 0.95rem 0; }
.we-faq:last-of-type { border-bottom: 1px solid var(--we-line); }
.we-faq summary { font-family: var(--we-display); font-weight: 650; font-size: 1.2rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.we-faq summary::-webkit-details-marker { display: none; }
.we-faq summary::after { content: "+"; font-size: 1.5rem; line-height: 1; color: var(--we-sunset); }
.we-faq[open] summary::after { content: "–"; }
.we-faq > p { margin: 0.6rem 0 0; max-width: 68ch; }

/* Checked line */
.we-checked { margin-top: 3rem !important; padding: 1.1rem 1.25rem; background: var(--we-sky); border-radius: 12px; color: var(--we-slate); font-size: 0.95rem; }
.we-checked p { margin: 0 0 0.4rem; max-width: 72ch; }
.we-checked p:last-child { margin-bottom: 0; }
.we-checked a { color: var(--we-slate); }

/* Related */
.we-related { margin-top: var(--wp--preset--spacing--50) !important; margin-bottom: var(--wp--preset--spacing--50) !important; }

/* News lists */
.we-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.we-list__item { display: grid; grid-template-columns: 4.5rem 1fr; gap: 1rem; padding: 0.85rem 0; border-top: 1px solid var(--we-line); align-items: baseline; }
.we-list__item time { font-family: var(--we-display); font-weight: 600; color: var(--we-sunset); }
.we-list__item a { color: var(--we-ink); font-weight: 600; text-decoration: none; line-height: 1.35; }
.we-list__item a:hover { color: var(--we-sea); }
.we-news { padding: 1.5rem 0; border-top: 1px solid var(--we-line); }
.we-news > * { margin: 0; }
.we-news__date { font-family: var(--we-display); font-weight: 600; color: var(--we-sunset); }
.we-news__title { font-size: 1.55rem; margin: 0.25rem 0 0.4rem; }
.we-news__title a { color: var(--we-ink); text-decoration: none; }
.we-news__title a:hover { color: var(--we-sea); }
.we-news__excerpt { color: var(--we-slate); }
.we-news__excerpt .wp-block-post-excerpt__more-text { display: none; }

/* Christmas calendar: dated stops in opening order */
.we-xmas { list-style: none; margin: 0 0 1rem; padding: 0; }
.we-xmas__row { display: grid; grid-template-columns: 3.6rem 1fr; gap: 1rem; align-items: center; padding: 0.55rem 0; border-top: 1px solid rgba(13,115,119,0.15); }
.we-xmas__date { display: grid; justify-items: center; background: #fff; color: var(--we-sunset); border-radius: 10px; padding: 0.35rem 0; font-family: var(--we-display); line-height: 1; box-shadow: 0 4px 12px -6px rgba(28,43,58,0.3); }
.we-xmas__day { font-size: 1.5rem; font-weight: 750; }
.we-xmas__mon { font-size: 0.8rem; color: var(--we-slate); margin-top: 0.15rem; }
.we-xmas__body p { margin: 0; }
.we-xmas__name { font-weight: 650; }
.we-xmas__name a { color: var(--we-ink); text-decoration: none; }
.we-xmas__name a:hover { color: var(--we-sea); text-decoration: underline; }
.we-xmas__meta { color: var(--we-slate); font-size: 0.95rem; }

/* Country chips and index */
.we-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.we-chip { display: inline-flex; gap: 0.5rem; align-items: center; padding: 0.55rem 1rem; background: var(--we-sky); border-radius: 999px; font-family: var(--we-display); font-weight: 600; font-size: 1.05rem; color: var(--we-ink); text-decoration: none; }
.we-chip:hover { background: var(--we-sea); color: #fff; }
.we-chip__count { font-size: 0.85rem; color: var(--we-slate); font-weight: 500; }
.we-chip:hover .we-chip__count { color: #D6EEEF; }
.we-countries { columns: 3 18rem; column-gap: 3rem; }
.we-countries__group { break-inside: avoid; margin-bottom: 2rem; }
.we-countries__name { font-size: 1.5rem; margin: 0 0 0.5rem; display: flex; align-items: baseline; gap: 0.5rem; }
.we-countries__name a { color: var(--we-ink); text-decoration: none; }
.we-countries__name a:hover { color: var(--we-sea); }
.we-countries__count { font-size: 0.95rem; color: var(--we-sunset); font-family: var(--wp--preset--font-family--body); font-weight: 600; }
.we-countries ul { margin: 0; padding-left: 1.1rem; }
.we-countries li { margin: 0.3rem 0; line-height: 1.35; }

/* Instagram band */
.we-insta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.we-insta__text { font-family: var(--we-display); font-weight: 700; font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.2; margin: 0; max-width: 32ch; color: #fff; }
.we-insta__link { margin: 0; }
.we-band .wp-element-button { background: #fff; color: var(--we-ink); }
.we-band .wp-element-button:hover { background: var(--we-ink); color: #fff; }

/* Footer */
.we-footer a { color: #fff; }
.we-footer__about { color: #C9D4DB; max-width: 40ch; margin-top: 1rem; }
.we-footer__title { font-size: 1.1rem; color: var(--we-sun); margin: 0 0 0.75rem; }
.we-footer__links { list-style: none; padding: 0; margin: 0; }
.we-footer__links li { margin: 0.4rem 0; }
.we-footer__links a { text-decoration: none; }
.we-footer__links a:hover { text-decoration: underline; text-decoration-color: var(--we-sun); }
.we-footer__legal { color: #93A3AE; margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.12); }

/* Pagination, search */
.wp-block-query-pagination { margin-top: 3rem; font-family: var(--we-display); font-weight: 600; font-size: 1.1rem; }
.wp-block-search__input { border: 2px solid var(--we-line); border-radius: 999px; padding: 0.65rem 1rem; font-size: 1.05rem; }
.wp-block-search__button { border-radius: 999px; }

@media (prefers-reduced-motion: reduce) {
	.we-card .we-cover__img, .we-postcard { transition: none; }
	.we-card:hover .we-cover__img { transform: none; }
}
.we-article .we-prose.has-global-padding, .we-page .we-prose.has-global-padding { padding-left: 0; padding-right: 0; }

/* Keep the article head on the same left edge as the text column */
.we-article__title { max-width: none !important; }
.we-article__head > * { max-width: 680px !important; }
.we-article__lede p { max-width: 52ch; }
