/*
Theme Name: Window Works
Theme URI: https://wemarketma.com
Author: We Market MA
Author URI: https://wemarketma.com
Description: Child theme of Hello Elementor. Header, footer, menu and page layouts are edited in Elementor (Theme Builder); business details are under Settings > Business Details; colours and fonts are Elementor's Global Colors and Fonts.
Template: hello-elementor
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wmm-child
*/

/* The Global Colors as CSS variables, for the client's own CSS below. Change a colour in Elementor and these follow. */
:root {
	--wmm-base: var(--e-global-color-wmm_base, #FFFFFF);
	--wmm-surface: var(--e-global-color-wmm_surface, #F7F3EE);
	--wmm-contrast: var(--e-global-color-wmm_contrast, #4A4A4A);
	--wmm-heading: var(--e-global-color-wmm_heading, #141414);
	--wmm-muted: var(--e-global-color-wmm_muted, #6B6B6B);
	--wmm-line: var(--e-global-color-wmm_line, #E3DACB);
	--wmm-accent: var(--e-global-color-wmm_accent, #BD945A);
	--wmm-accent-hi: var(--e-global-color-wmm_accent_hi, #1B305B);
	--wmm-on-accent: var(--e-global-color-wmm_on_accent, #111F3D);
	--wp--preset--color--base: var(--wmm-base);
	--wp--preset--color--surface: var(--wmm-surface);
	--wp--preset--color--contrast: var(--wmm-contrast);
	--wp--preset--color--heading: var(--wmm-heading);
	--wp--preset--color--muted: var(--wmm-muted);
	--wp--preset--color--line: var(--wmm-line);
	--wp--preset--color--accent: var(--wmm-accent);
	--wp--preset--color--accent-hi: var(--wmm-accent-hi);
	--wp--preset--color--on-accent: var(--wmm-on-accent);
	--wp--preset--font-family--display: var(--e-global-typography-wmm_heading-font-family, 'Gilda Display', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);
	--wp--preset--font-family--body: var(--e-global-typography-wmm_body-font-family, 'Urbanist', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif);
}

/* Client-specific CSS (wp-build/theme-overrides/style.css) */
/* Window Works: the approved page-type designs (design-preview/, approved by Mike 30 October 2026) on the Elementor
   layouts. Colours are the design's: navy #1B305B, deep navy #111F3D, gold #BD945A (soft #D9BC8C, deep #84622F),
   warm cream #F7F3EE. Gilda Display headings in capitals, Urbanist text. */
:root { --ww-navy: #1B305B; --ww-deep: #111F3D; --ww-gold: #BD945A; --ww-gold-soft: #D9BC8C; --ww-gold-deep: #84622F; --ww-cream: #F7F3EE;
  --ww-line: #E3DACB; --wmm-container: 1240px; }

/* headings: Gilda Display in capitals, as the designs */
.elementor h1, .elementor h2, .wmm-article h2, .wmm-band-title, .wmm-hero h1 { text-transform: uppercase; font-weight: 400 !important; letter-spacing: .01em; }
.elementor h3, .wmm-article h3 { font-weight: 400 !important; }
.wmm-article h2:not(:where(.dup-live *)) { font-size: clamp(28px, 3vw, 40px); line-height: 1.12; }
.wmm-article h3:not(:where(.dup-live *)) { font-size: clamp(21px, 1.8vw, 24px); }

/* header: white bar, ink menu, gold button */
.e-con.wmm-header { background: #fff !important; box-shadow: 0 10px 30px rgba(17, 31, 61, .08); }
.wmm-header img { max-height: 74px; width: auto; }

/* hero: deep navy over the photo, gold breadcrumb */
.wmm-hero .wmm-breadcrumbs, .wmm-hero .wmm-crumbs { letter-spacing: .06em; }
.wmm-hero .wmm-crumbs a:hover { color: var(--ww-gold-soft); }

/* photo bands and cards on cream; the cards white with a gold rule */
.wmm-band-split { background: var(--ww-cream); }
.wmm-band-split .wmm-split-media img { border-radius: 4px; }
.wmm-band-cards { background: #fff; }
.wmm-band-cards .wmm-card { background: #fff; border-radius: 4px; box-shadow: 0 18px 40px rgba(17, 31, 61, .07); padding-bottom: 28px; }
.wmm-band-cards .wmm-card > .wp-block-image { border-bottom: 3px solid var(--ww-gold); }
.wmm-band-cards .wmm-card img { border-radius: 0; aspect-ratio: 16 / 10; }
.wmm-article .wmm-band-cards .wmm-card h3 { font-size: 24px; margin-top: 6px; }
.wmm-band-cards .wmm-card .wp-block-button__link { color: var(--ww-gold-deep); text-decoration: none; letter-spacing: .14em; text-transform: uppercase; font-size: 14px; }

/* the article's photos and lists */
.wmm-article figure img, .wmm-article .wp-block-image img { border-radius: 4px; }
.wmm-article ol.wp-block-list { counter-reset: ww; list-style: none; padding-left: 0; }
.wmm-article ol.wp-block-list > li { counter-increment: ww; position: relative; padding-left: 58px; min-height: 44px; margin-top: 18px; }
.wmm-article ol.wp-block-list > li::before { content: counter(ww, decimal-leading-zero); position: absolute; left: 0; top: -4px; width: 42px; height: 42px;
  border: 1px solid var(--ww-gold); border-radius: 50%; display: grid; place-items: center; font-family: "Gilda Display", Georgia, serif; font-size: 16px; color: var(--ww-navy); }
.wmm-article ul.wp-block-list { list-style: none; padding-left: 0; }
.wmm-article ul.wp-block-list > li { position: relative; padding-left: 30px; }
.wmm-article ul.wp-block-list > li::before { content: ""; position: absolute; left: 0; top: .5em; width: 14px; height: 14px; border-radius: 50%;
  border: 1px solid var(--ww-gold); background: radial-gradient(circle, var(--ww-gold) 0 2.5px, transparent 3.5px); }

/* the side card: navy with a gold top rule */
.wmm-sidecard { background: var(--ww-navy); border-top: 3px solid var(--ww-gold); border-radius: 4px; box-shadow: 0 30px 70px rgba(17, 31, 61, .18); }
.wmm-sidecard-title { font-family: "Gilda Display", Georgia, serif; text-transform: uppercase; font-size: 26px !important; }
.wmm-sidecard-list li::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--ww-gold); margin-right: 12px; vertical-align: middle; }
.wmm-article .wmm-sidecard-call { background: var(--ww-gold); color: var(--ww-deep); }

/* questions: deep navy band, white questions, gold rings */
.wmm-article .wmm-content-band.wmm-band-faq { background: var(--ww-deep); color: rgba(255, 255, 255, .82);
  --e-global-color-wmm_heading: #fff; --e-global-color-wmm_line: rgba(217, 188, 140, .3); }
.wmm-band-faq .wmm-band-title, .wmm-band-faq summary { color: #fff; }
.wmm-band-faq summary { font-family: "Gilda Display", Georgia, serif; font-size: clamp(19px, 1.7vw, 23px); }
.wmm-band-faq summary:hover { color: var(--ww-gold-soft); }
.wmm-band-faq summary::after { border-color: var(--ww-gold-soft) !important; }
.wmm-band-faq details :is(p, li) { color: rgba(255, 255, 255, .8); }
.wmm-band-faq a { color: var(--ww-gold-soft); }

/* reviews: deep navy */
.e-con.wmm-reviews, .wmm-reviews.wmm-band { background: var(--ww-deep) !important;
  --e-global-color-wmm_heading: #fff; --e-global-color-wmm_contrast: rgba(255, 255, 255, .82); --e-global-color-wmm_muted: rgba(255, 255, 255, .7); }
.wmm-reviews :is(h2, h3) { color: #fff; }
.wmm-reviews p { color: rgba(255, 255, 255, .78); }

/* footer: deep navy, the logo in white; the global colours flip to light inside it */
.e-con.wmm-footer { background: var(--ww-deep) !important;
  --e-global-color-wmm_heading: #fff; --e-global-color-wmm_contrast: rgba(255, 255, 255, .82);
  --e-global-color-wmm_muted: rgba(255, 255, 255, .7); --e-global-color-wmm_line: rgba(217, 188, 140, .25); color: rgba(255, 255, 255, .78); }
.wmm-footer img { filter: brightness(0) invert(1); }
.wmm-footer :is(h2, h3, h4) { color: var(--ww-gold-soft) !important; }
.wmm-footer a:not(.elementor-button) { color: rgba(255, 255, 255, .85) !important; }
.wmm-footer a:not(.elementor-button):hover { color: var(--ww-gold-soft) !important; }
.wmm-footer .wmm-legal-links, .wmm-footer .wmm-legal-links * { color: rgba(255, 255, 255, .7) !important; }

/* hero on the dark photo: breadcrumb and trust lines in soft gold */
.e-con.wmm-hero { --wmm-hero-accent: var(--ww-gold-soft); }

/* the form's legal links: navy, never the theme's default pink */
.wmm-form-legal a { color: var(--ww-navy); }
.wmm-logo a, a.wmm-logo { color: inherit; }

/* every hero and CTA band: the approved navy overlay (design-preview .phero / .ctaband), never the ink colour */
.e-con.wmm-hero { background-color: var(--ww-deep) !important; }
.e-con.wmm-hero::before { background: linear-gradient(90deg, rgba(10, 18, 36, .9) 0%, rgba(10, 18, 36, .72) 50%, rgba(10, 18, 36, .45) 100%) !important; }
.e-con.wmm-cta { background-color: var(--ww-deep) !important; border-top: 3px solid var(--ww-gold);
  --e-global-color-wmm_heading: #fff; --e-global-color-wmm_contrast: rgba(255, 255, 255, .82); }

/* ===== Home: the approved home page (design-preview/home, Mike 30 October 2026) on the page's own content ===== */
/* full-bleed colour behind a heading or embed that sits outside a band */
.home .wmm-article > .wmm-bleed-navy, .home .wmm-article > .wmm-band-cards ~ h2:has(+ p + .wmm-band-cards),
.home .wmm-article > .wmm-band-cards ~ h2 + p:has(+ .wmm-band-cards), .home .wmm-article > h2:has(+ .wmm-embed-reviews),
.home .wmm-article > .wmm-embed-reviews {
  background: var(--ww-deep); box-shadow: 0 0 0 100vmax var(--ww-deep); clip-path: inset(0 -100vmax); color: rgba(255, 255, 255, .8); }
.home .wmm-article > .wmm-band-split:first-child + h2, .home .wmm-article > .wmm-band-split:first-child + h2 + p {
  background: var(--ww-cream); box-shadow: 0 0 0 100vmax var(--ww-cream); clip-path: inset(0 -100vmax); }

/* hero: tall photo, the H1 large, the words low on the left (the approved hero) */
.home .e-con.wmm-hero { min-height: min(88svh, 860px); align-content: end; --padding-bottom: 110px; }
.home .e-con.wmm-hero::before { background: linear-gradient(90deg, rgba(10, 18, 36, .82) 0%, rgba(10, 18, 36, .55) 45%, rgba(10, 18, 36, .15) 100%),
  linear-gradient(0deg, rgba(10, 18, 36, .7) 0%, rgba(10, 18, 36, 0) 45%) !important; }
.home .wmm-hero h1.elementor-heading-title { font-size: clamp(40px, 5.4vw, 78px); line-height: 1.02; }

/* about: white, photo with a gold-framed edge */
.home .wmm-article > .wmm-band-split:first-child { background: #fff; }
.home .wmm-band-split:first-child .wmm-split-media img { box-shadow: 18px 18px 0 var(--ww-gold-soft); border-radius: 4px; }

/* products: cream, tall photo cards with the words over the photo */
.home .wmm-article > .wmm-band-split:first-child + h2 { margin: 0; padding-top: 96px; }
.home .wmm-article > .wmm-band-split:first-child + h2 + p { margin: 0; padding: 16px 0 8px; max-width: none; }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) { background: var(--ww-cream); margin-top: 0; padding-top: 40px; }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card {
  position: relative; isolation: isolate; justify-content: flex-end; min-height: 470px; padding: 0 0 28px; border-radius: 4px; background: var(--ww-deep); box-shadow: none; }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card > .wp-block-image {
  position: absolute; inset: 0; z-index: -2; margin: 0; border: 0; overflow: hidden; }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card img {
  height: 100%; aspect-ratio: auto; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card:hover img { transform: scale(1.06); }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(0deg, rgba(10, 18, 36, .92) 0%, rgba(10, 18, 36, .55) 45%, rgba(10, 18, 36, .05) 75%); }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card h3 { color: #fff; font-size: 30px; text-transform: uppercase; margin-top: auto; }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card .wp-block-buttons { margin-top: 4px; }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card p { color: rgba(255, 255, 255, .82); font-size: 15px; }
.home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card .wp-block-button__link { color: var(--ww-gold-soft); font-size: 13px; }

/* gallery: deep navy, the finished rooms in a sliding row */
.home .wmm-article > .wmm-band-cards ~ h2:has(+ p + .wmm-band-cards) { margin: 0; padding-top: 100px; color: #fff; }
.home .wmm-article > .wmm-band-cards ~ h2 + p:has(+ .wmm-band-cards) { margin: 0; padding: 16px 0 8px; max-width: 640px; }
.home .wmm-article > .wmm-band-cards ~ .wmm-band-cards { background: var(--ww-deep); margin-top: 0; padding-top: 40px;
  --e-global-color-wmm_heading: #fff; --e-global-color-wmm_contrast: rgba(255, 255, 255, .78); }
.home .wmm-band-cards ~ .wmm-band-cards .wmm-cards { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(300px, calc((100% - 56px) / 3));
  overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 22px; scrollbar-color: var(--ww-gold) rgba(255, 255, 255, .12); scrollbar-width: thin; }
.home .wmm-band-cards ~ .wmm-band-cards .wmm-card { scroll-snap-align: start; background: transparent; box-shadow: none; padding: 0; border-radius: 0; }
.home .wmm-band-cards ~ .wmm-band-cards .wmm-card > * { padding-left: 0; padding-right: 0; }
.home .wmm-band-cards ~ .wmm-band-cards .wmm-card > .wp-block-image { border: 0; overflow: hidden; border-radius: 4px; margin-bottom: 18px; }
.home .wmm-band-cards ~ .wmm-band-cards .wmm-card img { aspect-ratio: 4 / 3.3; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.home .wmm-band-cards ~ .wmm-band-cards .wmm-card:hover img { transform: scale(1.05); }
.home .wmm-article .wmm-band-cards ~ .wmm-band-cards .wmm-card h3 { color: #fff; font-size: 24px; border-bottom: 1px solid rgba(217, 188, 140, .35); padding-bottom: 12px; }
.home .wmm-article .wmm-band-cards ~ .wmm-band-cards .wmm-card p { color: rgba(255, 255, 255, .72); font-size: 15px; }

/* the difference: cream, the six points as tiles with a gold ring */
.home .wmm-band-split--flip ul.wp-block-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.home .wmm-band-split--flip ul.wp-block-list > li { margin: 0; padding: 66px 18px 20px; text-align: center; background: #fff; border-radius: 4px;
  box-shadow: 0 14px 34px rgba(17, 31, 61, .06); font-size: 15px; line-height: 1.5; transition: transform .3s, box-shadow .3s; }
.home .wmm-band-split--flip ul.wp-block-list > li:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(17, 31, 61, .12); }
.home .wmm-band-split--flip ul.wp-block-list > li::before { left: 50%; top: 20px; transform: translateX(-50%); width: 34px; height: 34px; }
.home .wmm-band-split--flip ul.wp-block-list > li strong { display: block; font-family: "Gilda Display", Georgia, serif; font-weight: 400; font-size: 19px; color: var(--ww-navy); margin-bottom: 4px; }

/* the three steps: centred columns under gold numbered rings */
.home .wmm-article > h2:has(+ p + ol) { text-align: center; margin-top: 110px; }
.home .wmm-article > h2:has(+ p + ol) + p { text-align: center; max-width: 640px; margin-left: auto; margin-right: auto; }
.home .wmm-article > ol.wp-block-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; max-width: none; margin-top: 44px; }
.home .wmm-article > ol.wp-block-list > li { margin: 0; padding: 78px 10px 0; text-align: center; }
.home .wmm-article > ol.wp-block-list > li + li { border-left: 1px solid var(--ww-line); }
.home .wmm-article > ol.wp-block-list > li::before { left: 50%; top: 0; transform: translateX(-50%); width: 58px; height: 58px; font-size: 20px; }
.home .wmm-article > ol.wp-block-list > li strong { display: block; font-family: "Gilda Display", Georgia, serif; font-weight: 400; font-size: 22px; color: var(--ww-navy); margin-bottom: 6px; }

/* reviews: deep navy band, the widget on a white card */
.home .wmm-article > h2:has(+ .wmm-embed-reviews) { margin: 96px 0 0; padding-top: 96px; text-align: center; color: #fff; }
.home .wmm-article > .wmm-embed-reviews { margin: 0; padding: 36px 0 96px; max-width: none; }
.home .wmm-article > .wmm-embed-reviews > :not(template) { background: #fff; border-radius: 4px; padding: 18px; }
.home .wmm-article > .wmm-embed-reviews + .wmm-content-band { margin-top: 0; }

/* see us in person: the navy showroom card */
.home .wmm-article > .wmm-band-split:last-child { background: var(--ww-navy); color: rgba(255, 255, 255, .82);
  --e-global-color-wmm_heading: #fff; --e-global-color-wmm_contrast: rgba(255, 255, 255, .82); }
.home .wmm-article > .wmm-band-split:last-child h2 { color: #fff; }
.home .wmm-article > .wmm-band-split:last-child a:not(.wp-block-button__link) { color: var(--ww-gold-soft); }
.home .wmm-article > .wmm-band-split:last-child .wp-block-button + .wp-block-button .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }

@media (max-width: 1024px) {
  .home .wmm-article > ol.wp-block-list { grid-template-columns: minmax(0, 1fr); }
  .home .wmm-article > ol.wp-block-list > li + li { border-left: 0; border-top: 1px solid var(--ww-line); padding-top: 96px; }
  .home .wmm-article > ol.wp-block-list > li + li::before { top: 22px; }
}
@media (max-width: 767px) {
  .home .e-con.wmm-hero { min-height: 0; --padding-bottom: 72px; }
  .home .wmm-article > .wmm-band-cards:not(.wmm-band-cards ~ .wmm-band-cards) .wmm-card { min-height: 400px; }
  .home .wmm-band-cards ~ .wmm-band-cards .wmm-cards { grid-auto-columns: 82%; }
  .home .wmm-band-split--flip ul.wp-block-list { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .home .wmm-card img, .home .wmm-band-split--flip li { transition: none !important; }
}

/* phones: everything centred (house rule) */
@media (max-width: 767px) {
  .wmm-article ol.wp-block-list > li, .wmm-article ul.wp-block-list > li { text-align: left; }
}

