/**
 * Owner revision (2026-10-07). The owner's change list, applied on top of the
 * existing design without redesigning it:
 *   1. no pink as a large background (blue instead; pink stays as an accent)
 *   3. smaller text overall
 *   4. no coloured borders or offset shadows on photos
 *   5. product photos on white
 * Loaded after tlm-vibrant.css, before tlm-dark.css.
 */

/* ------------------------------------------------------------------
 * 3. Smaller text across the site (root size 19px -> 17px; 17px -> 16px on phones)
 * ------------------------------------------------------------------ */
html { font-size: 106.25%; }

@media (max-width: 600px) {
	html { font-size: 100%; }
}

/* the earlier small-text floor (15px) drops to 14px */
.tlm-top-reserve, a.next.page-numbers, a.prev.page-numbers, .tlm5-text-link, .tlm-journal__kicker,
.tlm-search-page__eyebrow, .tlm-search-page__result-type, .tlm5-eyebrow, .vb-kicker, .tlm-shop-cat-nav__count,
.tlm-tour-reviews__card figcaption,
body .ct-header .tlm-top-reserve, body .tlm-home-v5 .tlm5-text-link, body .tlm-home-v5 .tlm5-text-link--light,
body .tlm5-eyebrow, body p.tlm5-eyebrow, body #tlm5-products .tlm5-eyebrow, body .tlm5-final__content .tlm5-eyebrow {
	font-size: max(0.78rem, 14px);
}

/* ------------------------------------------------------------------
 * 1. Blue, not pink, behind large sections
 * ------------------------------------------------------------------ */
.vb-facts,
.vb-family,
body .tlm-shop-hero,
body .tlm-contact-hero,
body .tlm-gallery-cta,
body .tlm-shop-final-cta,
body .tlm-xp-family,
body .tlm-founders__convergence,
body .tlm-error-page,
.tlsh-hero,
.tlc-form,
.tlc-close,
.tls-close {
	background: var(--vb-lagoon-sky) !important;
}

body .tlm-dossier-section { background: linear-gradient(160deg, #1B2440 0%, #1C628D 100%); }

/* the orange price band loses its coral end */
.vb-price { background: linear-gradient(100deg, #F59A3B 0%, #FFC94D 100%); }


/* ------------------------------------------------------------------
 * 4. Photos: no coloured borders, mats or offset shadows
 * ------------------------------------------------------------------ */
.vb-intro__main,
.vb-family__photo,
[data-tlm-stage-showcase] .tlm-showcase-media-frame,
body .tlm-contact-hero__figure img,
.tlm-xp-guests__tall img, .tlm-xp-guests__top img, .tlm-xp-guests__bottom img,
.tlm-founders__diptych-photo img,
.tlm-story-mosaic__item img,
.tlm-xp-family__photo img,
body .tlm-gallery-item .tlm-gallery-item__frame,
body .tlm-gallery-item:nth-child(n) .tlm-gallery-item__frame,
body .tlm-story-hero-split__frame {
	box-shadow: none !important;
}

.tls-photo, .tls-photo--aqua, .tls-photo--sun { padding: 0; background: none; border-radius: 0; }
.tls-photo img { border-radius: 12px; }
.tls-photo figcaption { padding: 0.7rem 0 0; }
html[data-tlm-mode="dark"] .tls-photo { background: none; }
.tlc-map__frame { padding: 0; background: none; }
.tlc-map__frame iframe { border-radius: 12px; }
.tlsh-hero .tlsh-arch { box-shadow: none; }

/* ------------------------------------------------------------------
 * 5. Product photos on white
 * ------------------------------------------------------------------ */
:root {
	--vb-stage-1: #FFFFFF;
	--vb-stage-2: #FFFFFF;
	--vb-stage-3: #FFFFFF;
	--vb-stage-4: #FFFFFF;
	--vb-stage-5: #FFFFFF;
	--vb-stage-6: #FFFFFF;
}

/* ------------------------------------------------------------------
 * Tour reviews: three equal white cards, quote mark, source pinned to the bottom
 * ------------------------------------------------------------------ */
.tlm-tour-reviews { --vb-edge-h: clamp(48px, 6vw, 90px); position: relative; padding-top: calc(var(--vb-edge-h) + 1.5rem); }
.tlm-tour-reviews__head h2 { color: var(--vb-night, #1B2440); }

.tlm-tour-reviews__list { align-items: stretch; gap: clamp(1rem, 2vw, 1.75rem); }

.tlm-tour-reviews__card {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 2.6rem 1.6rem 1.4rem;
	border: 0;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 16px 30px -22px rgba(27, 36, 64, 0.5);
}

.tlm-tour-reviews__card::before {
	content: "\201C";
	position: absolute;
	top: 0.35rem;
	left: 1.3rem;
	font-family: var(--tlm-font-display);
	font-size: 4rem;
	line-height: 1;
	color: var(--vb-tangerine, #F59A3B);
}

.tlm-tour-reviews__card blockquote { flex: 1; margin: 0 0 1.1rem; padding: 0; border: 0; }
.tlm-tour-reviews__card blockquote p { margin: 0; font-size: 1rem; font-weight: 500; line-height: 1.65; color: var(--vb-night, #1B2440); }
.tlm-tour-reviews__source { padding-top: 0.9rem; border-top: 1px solid rgba(27, 36, 64, 0.15); font-size: 0.9rem; font-weight: 700; color: var(--vb-night, #1B2440); }
.tlm-tour-reviews__source a { color: var(--vb-lagoon, #1C628D); }

html[data-tlm-mode="dark"] .tlm-tour-reviews__card { background: #1B2440; box-shadow: none; }
html[data-tlm-mode="dark"] .tlm-tour-reviews__card blockquote p,
html[data-tlm-mode="dark"] .tlm-tour-reviews__source { color: #ECE8F4; }
html[data-tlm-mode="dark"] .tlm-tour-reviews__source { border-color: rgba(255, 255, 255, 0.18); }
html[data-tlm-mode="dark"] .tlm-tour-reviews__source a { color: var(--vb-sun, #FFC94D); }
html[data-tlm-mode="dark"] .tlm-tour-reviews__head h2 { color: #fff; }

@media (max-width: 800px) {
	.tlm-tour-reviews__list { grid-template-columns: minmax(0, 1fr); }
}

/* a short review (a title) is set large so the card does not look empty */
.tlm-tour-reviews__card--short blockquote { display: grid; align-items: center; }
.tlm-tour-reviews__card--short blockquote p {
	font-family: var(--tlm-font-display);
	font-variation-settings: "SOFT" 100, "WONK" 1;
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--vb-plum, #5E2751);
}
html[data-tlm-mode="dark"] .tlm-tour-reviews__card--short blockquote p { color: #fff; }

/* Home reviews: cards keep their own height; a long review shows its first lines (the full text is in the page and on the tour page) */
.vb-quotes { align-items: start; }
.vb-quote blockquote p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	line-clamp: 6;
	overflow: hidden;
	font-size: 1.1rem;
}
