/* ==========================================================================
   Windows DMC — Homepage refinements (editorial style)
   Loaded on the front page only (see functions.php). Sections are tagged
   with .wd-* classes by their UX Builder label.
   Principle: photos lead, flat cards, minimal motion — hover only.
   ========================================================================== */

/* Tokens, fonts, buttons, header, footer, generic cards: see site.css */

.wd-home .section h2 { color: var(--wd-ink) !important; }

/* Headings on photos stay white */
.wd-home .wd-hero h2,
.wd-home .wd-sustain h2,
.wd-home .wd-cta h2,
.wd-home .wd-sustain .box-text h3 { color: #fff !important; }

.wd-home .wd-hero h2 {
	font-weight: 800;
	font-size: clamp(2.2rem, 4.6vw, 3.9rem);
	line-height: 1.08;
	letter-spacing: -.025em;
}
.wd-hero .text-inner p { font-weight: 400; opacity: .92; }

/* Story section: brand-blue text → ink/body */
.wd-story .text, .wd-story .text > * { color: var(--wd-body) !important; }
.wd-story h2 { color: var(--wd-ink) !important; }

/* --------------------------------------------------------------------------
   Rhythm — one type scale and one spacing scale for every section
   Lead 20px · Body 16px · Small 15px · Card title 20px · Button 15px
   -------------------------------------------------------------------------- */
:root { --wd-sec-y: clamp(48px, 6vw, 84px); }

.wd-home .wd-story, .wd-home .wd-why, .wd-home .wd-exp,
.wd-home .wd-sustain, .wd-home .wd-dest, .wd-home .wd-stories {
	padding-top: var(--wd-sec-y) !important;
	padding-bottom: calc(var(--wd-sec-y) - 30px) !important; /* columns already add 30px below */
}
.wd-home .wd-stories { margin-bottom: calc(var(--wd-sec-y) / 2); }
.wd-home .wd-cta { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Lead paragraphs */
.wd-home .wd-hero .text-inner p,
.wd-home .wd-story .col + .col .text p,
.wd-home .wd-cta .text p {
	font-size: 1.25rem !important;
	line-height: 1.6;
	font-weight: 400;
}
.wd-home .wd-story .text,
.wd-home .wd-hero .text,
.wd-home .wd-cta .text { font-size: 1rem !important; }

/* Body copy */
.wd-home .section .text p,
.wd-home .section .box-text p,
.wd-home .testimonial-text { font-size: 1rem; line-height: 1.7; }
.wd-home .wd-sustain .box-text li { font-size: .9375rem; line-height: 1.55; margin-bottom: .4em; }

/* Card titles */
.wd-home .wd-why .icon-box-text h3,
.wd-home .wd-exp .box-text h3,
.wd-home .wd-sustain .box-text h3,
.wd-home .wd-dest .tab-panels .box-text h4 {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	margin: 0 0 .5em;
}
.wd-home .wd-why .icon-box-text .text { font-size: 1rem !important; }
.wd-home .wd-exp .box-text p { margin: 0; }
.wd-home .wd-dest .tab-panels .box-text .text { font-size: 1rem !important; }
.wd-home .wd-dest .tab-panels h3.thin-font { font-size: 1.0625rem; font-weight: 400 !important; margin-bottom: 1.5em; }
.wd-home .wd-cta .text p.thin-font { font-weight: 400 !important; }

/* Story: eyebrow label + left-aligned lead */
.wd-home .wd-story .row { align-items: center; }
.wd-home .wd-story .col:first-child .text:first-child p {
	margin-bottom: .6em;
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wd-blue) !important;
}
.wd-home .wd-story .col + .col .col-inner { text-align: left !important; }
.wd-home .wd-story .col + .col .text p { margin-bottom: 1.2em; }

/* CTA heading matches the destination/about CTAs */
.wd-home .wd-cta h2 { font-weight: 700 !important; font-size: clamp(1.9rem, 3.4vw, 2.8rem) !important; }
.wd-home .wd-cta h2 strong, .wd-home .wd-cta h2 span { font-weight: inherit !important; font-size: inherit !important; }

/* CTA buttons one step larger */
#main .wd-cta .button { min-height: 50px; line-height: 50px; padding: 0 32px; font-size: 1rem; }

/* --------------------------------------------------------------------------
   Section backgrounds — warm neutral instead of gradients
   -------------------------------------------------------------------------- */
.wd-home .why-choose-us.wd-why { background-image: none !important; }
.wd-why .section-bg,
.wd-stories .section-bg { background: var(--wd-paper) !important; }
.wd-stories .section-bg img { display: none; }
.wd-why .text, .wd-why .text > * { color: var(--wd-body) !important; }
.wd-why .col-inner[style*="background-color"] { border: 1px solid var(--wd-line); }
.wd-why .icon-box-text h3, .wd-why .icon-box-text h4,
.wd-why .icon-box-text .text { line-height: 1.3 !important; }
.wd-home .wd-why, .wd-home .wd-stories { border-radius: 26px; overflow: hidden; }
.wd-why .icon-inner, .wd-why .icon-inner svg { color: var(--wd-blue) !important; fill: var(--wd-blue); }
.wd-why .icon-inner svg path { fill: var(--wd-blue); }
.wd-stories .star-rating span::before { color: var(--wd-blue); }
.wd-stories .testimonial-text { color: var(--wd-body); }

/* --------------------------------------------------------------------------
   Hero — clean solid button, no bouncing arrow
   -------------------------------------------------------------------------- */
.wd-hero .text-inner h2 { text-shadow: 0 2px 20px rgba(0, 0, 0, .25); }
.wd-hero .text-inner .button.is-outline {
	margin-top: 8px;
	background: #fff !important;
	border-color: #fff !important;
	color: var(--wd-ink) !important;
	font-weight: 600;
	transition: background .25s, color .25s;
}
.wd-hero .text-inner .button.is-outline span,
.wd-hero .text-inner .button.is-outline i { color: inherit !important; }
.wd-hero .text-inner .button.is-outline:hover { background: var(--wd-ink) !important; border-color: var(--wd-ink) !important; color: #fff !important; box-shadow: none; }

/* --------------------------------------------------------------------------
   Content cards — no zoom. On hover the whole card (photo + title) sits on
   a light tinted background and the title turns brand blue.
   -------------------------------------------------------------------------- */
/* Equal-height cards: every card in a row fills the tallest column */
.wd-exp .row > .col, .wd-dest .tab-panels .row > .col,
.wd-why .row > .col, .wd-stories .row > .col { display: flex; }
.wd-exp .row, .wd-dest .tab-panels .row, .wd-why .row, .wd-stories .row { align-items: stretch !important; }
.wd-stories .slider > .row { display: flex !important; }
.wd-exp .row > .col > .col-inner, .wd-dest .tab-panels .row > .col > .col-inner,
.wd-why .row > .col > .col-inner, .wd-stories .row > .col > .col-inner { flex: 1 1 auto; display: flex; flex-direction: column; }
.wd-exp .col-inner > .box, .wd-dest .tab-panels .col-inner > .box { flex: 1 1 auto; }

/* Cards with photo + text: padded tile, edges stay aligned to the grid */
.wd-exp .box,
.wd-dest .tab-panels .box {
	margin: -12px;
	padding: 12px;
	border-radius: 12px;
	transition: background-color .2s var(--wd-ease);
}
.wd-exp .box:hover,
.wd-dest .tab-panels .box:hover { background-color: var(--wd-hover-bg); }

.wd-exp .box-text,
.wd-dest .tab-panels .box-text { padding: 16px 4px 4px; }
.wd-exp .box-text h3,
.wd-dest .tab-panels .box-text h4 {
	color: var(--wd-ink);
	transition: color .2s var(--wd-ease);
}
.wd-exp .box:hover .box-text h3,
.wd-dest .tab-panels .box:hover .box-text h4 { color: var(--wd-blue); }

/* Text-only cards */
.wd-why .col-inner[style*="background-color"],
.wd-stories .row-box-shadow-1 .col-inner { transition: background-color .2s var(--wd-ease); }
.wd-why .col-inner[style*="background-color"]:hover,
.wd-stories .row-box-shadow-1 .col-inner:hover { background-color: var(--wd-hover-bg) !important; }
.wd-why .col-inner h3 { transition: color .2s var(--wd-ease); }
.wd-home .wd-why .icon-box-text h3 { color: var(--wd-ink) !important; }
.wd-home .wd-why .col-inner:hover h3 { color: var(--wd-blue) !important; }

/* Cards with text over the photo: overlay deepens slightly */
.wd-sustain .box:hover .box-text h3 { color: #CFE3FA !important; }

/* --------------------------------------------------------------------------
   Why choose us — flat white cards
   -------------------------------------------------------------------------- */
.wd-why .col-inner[style*="background-color"] {
	border-radius: var(--wd-radius) !important;
	box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Sustainable tourism — darker bottom gradient for legible text
   -------------------------------------------------------------------------- */
.wd-sustain .box-image .overlay {
	background: linear-gradient(to top, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, 0) 100%) !important;
}
.wd-sustain .box-text h3 { text-shadow: none; }

/* --------------------------------------------------------------------------
   Destinations — underlined text tabs
   -------------------------------------------------------------------------- */
.wd-dest .tabbed-content > .nav {
	gap: 28px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--wd-line);
}
.wd-dest .tabbed-content > .nav > li { margin: 0; }
.wd-dest .tabbed-content > .nav > li > a {
	padding: 12px 0;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0;
	margin-bottom: -1px;
	background: none;
	color: var(--wd-muted);
	font-size: .85em;
	letter-spacing: .04em;
	transition: color .2s, border-color .2s;
}
.wd-dest .tabbed-content > .nav > li > a:hover { color: var(--wd-ink); }
.wd-dest .tabbed-content > .nav > li.active > a {
	color: var(--wd-ink);
	border-bottom-color: var(--wd-blue) !important;
}
.wd-dest .tab-panels h3.thin-font { color: var(--wd-muted); }

/* --------------------------------------------------------------------------
   Client stories — flat cards
   -------------------------------------------------------------------------- */
.wd-stories .row-box-shadow-1 .col-inner {
	border: 0 !important;
	border-radius: var(--wd-radius) !important;
	box-shadow: none !important;
}
.wd-stories .testimonial-name { color: var(--wd-ink); }

/* --------------------------------------------------------------------------
   Awards (empty — hidden until logos are added)
   -------------------------------------------------------------------------- */
.wd-awards { display: none !important; }

/* --------------------------------------------------------------------------
   Call to action
   -------------------------------------------------------------------------- */
.wd-cta .button { transition: background .25s, color .25s, border-color .25s; }
.wd-cta .button.is-outline:hover { background: #fff; color: var(--wd-ink); border-color: #fff; }

@media (max-width: 549px) {
	.wd-hero .text-box { width: 90% !important; }
	.wd-home .wd-hero h2 { font-size: 2.1rem; }
	.wd-home .wd-hero .text-inner p { font-size: 1.0625rem !important; }
}


/* Tablet/mobile: text sets the card height, the photo fills behind it — no overflow on narrow columns */
@media (max-width: 1049px) {
	.wd-home .wd-sustain .box { position: relative; min-height: 340px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: var(--wd-radius); overflow: hidden; }
	.wd-home .wd-sustain .box-image { position: absolute !important; inset: 0; height: 100%; }
	.wd-home .wd-sustain .box-image .image-cover { padding-top: 0 !important; height: 100%; }
	.wd-home .wd-sustain .box-text { position: relative !important; bottom: auto !important; padding: 72px 20px 20px !important; }
}
@media (max-width: 1049px) and (min-width: 550px) {
	.wd-home .wd-sustain .row.align-middle { align-items: stretch; }
	.wd-home .wd-sustain .row.align-middle > .col > .col-inner, .wd-home .wd-sustain .row.align-middle .box { height: 100%; }
}
