/* Liam Meyer theme: site chrome and core block styles.
   Colours and fonts live in theme.json (Appearance → Editor → Styles). */

:root {
	--lm-line: rgba(37, 37, 40, .12);
	--lm-on-dark: #ECEAE6;
	--lm-on-dark-2: #A7A5A2;
	--lm-blue-soft: rgba(141, 185, 242, .55);
	--lm-blue-wash: rgba(141, 185, 242, .2);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
h1, h2, h3, h4, h5 { text-wrap: balance; }
p { text-wrap: pretty; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--wp--preset--color--blue-ink); outline-offset: 3px; border-radius: 8px; }
[id] { scroll-margin-top: 90px; }

/* Text formats from the editor toolbar */
.mark { background: linear-gradient(transparent 56%, var(--lm-blue-soft) 56%, var(--lm-blue-soft) 94%, transparent 94%); padding-inline: .05em; }
.accent { color: var(--wp--preset--color--blue-ink); }
.site-footer .accent, .feature .accent, .band .accent, .kpis em, .is-style-lm-dark .accent { color: var(--wp--preset--color--blue); }
.check { display: inline-block; font: 600 10.5px/1 var(--wp--preset--font-family--body); letter-spacing: .06em; text-transform: uppercase; background: #FFF2BF; color: #6E5300; border: 1px dashed #D7B443; padding: 4px 7px; border-radius: 6px; vertical-align: middle; margin-left: 6px; white-space: nowrap; }
body:not(.logged-in) .check { display: none; }

/* ---------- header ---------- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 40;
	background: color-mix(in srgb, var(--wp--preset--color--bg) 88%, transparent);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.site-header { padding-block: 16px; }
.site-header .navbar { gap: 16px; }
.site-header .logo { font-family: var(--wp--preset--font-family--head); font-size: 21px; font-weight: 700; letter-spacing: -.03em; margin: 0; }
.site-header .logo a { color: var(--wp--preset--color--ink); text-decoration: none; }
.site-header .navlinks .wp-block-navigation__container { background: var(--wp--preset--color--card); border: 1px solid var(--lm-line); border-radius: 99px; padding: 5px; gap: 4px; }
.site-header .navlinks .wp-block-navigation__container > .wp-block-navigation-item { background: transparent !important; }
.site-header .navlinks .wp-block-navigation-item__content { display: block; padding: 8px 15px; border-radius: 99px; font-size: 14px; font-weight: 500; color: var(--wp--preset--color--ink-2); text-decoration: none; transition: background .2s, color .2s; }
.site-header .navlinks .wp-block-navigation-item__content:hover,
.site-header .navlinks .current-menu-item > .wp-block-navigation-item__content { background: var(--lm-blue-wash); color: var(--wp--preset--color--ink); }
.site-header .wp-block-navigation__submenu-container { background: var(--wp--preset--color--card) !important; border: 1px solid var(--lm-line) !important; border-radius: 16px; padding: 6px !important; min-width: 250px !important; box-shadow: 0 18px 40px -20px rgba(37, 37, 40, .35); top: calc(100% + 8px) !important; }
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { border-radius: 10px; padding: 10px 12px; width: 100%; }
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__description { display: block; font-size: 12px; color: var(--wp--preset--color--mute); font-weight: 400; }
.site-header .wp-block-navigation__submenu-icon { margin-left: 2px; }
.site-header .nav-cta .wp-block-button__link { padding: 11px 18px; font-size: 14px; }
.site-header .wp-block-navigation__responsive-container-open { background: var(--wp--preset--color--card); border: 1px solid var(--lm-line); border-radius: 99px; padding: 9px 14px; }
.site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--bg) !important; padding: 24px 16px; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { background: none; border: 0; gap: 6px; align-items: stretch; width: 100%; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font: 600 22px/1 var(--wp--preset--font-family--head); letter-spacing: -.02em; padding: 14px; background: var(--wp--preset--color--card); border: 1px solid var(--lm-line); border-radius: 14px; color: var(--wp--preset--color--ink); }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 6px 0 0 14px !important; background: none !important; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 17px; }

/* ---------- footer ---------- */
.site-footer {
	background: var(--wp--preset--color--dark);
	color: var(--lm-on-dark);
	margin-top: 140px;
	padding-top: 100px;
	padding-bottom: 32px;
	border-radius: 40px 40px 0 0;
}
.site-footer p { color: var(--lm-on-dark); }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: var(--wp--preset--color--blue); }
.site-footer .footer-title { color: #fff; font-size: clamp(56px, 10vw, 170px); font-weight: 800; letter-spacing: -.06em; line-height: .85; margin-top: 20px; }
.site-footer .frow { margin-top: 70px; gap: 24px; font-size: 15.5px; }
.site-footer .frow p { margin: 0; }
.site-footer .email a { font-weight: 600; font-size: 17px; }
.site-footer .legal { margin-top: 70px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .1); }
.site-footer .legal p { font-size: 13px; color: var(--lm-on-dark-2); margin: 0; }
.site-footer .is-style-lm-label { color: var(--lm-on-dark-2); }
.site-footer .is-style-lm-eyebrow { color: var(--lm-on-dark-2); }

/* ---------- plain pages ---------- */
.site-main { padding-bottom: 0; }
.page-title { font-size: clamp(54px, 9vw, 150px); margin: 30px 0 40px; }

/* ---------- core block styles ---------- */

/* Buttons */
.wp-block-button__link { transition: transform .25s, box-shadow .25s, background .25s; border: 1px solid var(--wp--preset--color--ink); }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -12px rgba(44, 98, 166, .6); }
.wp-block-button.is-style-lm-ghost .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); border-color: var(--lm-line); }
.wp-block-button.is-style-lm-ghost .wp-block-button__link:hover { background: var(--lm-blue-wash); border-color: var(--wp--preset--color--blue); }
.wp-block-button.is-style-lm-blue .wp-block-button__link { background: var(--wp--preset--color--blue); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--blue); }

/* Paragraph styles */
.is-style-lm-lead { font-size: clamp(18px, 1.7vw, 24px); line-height: 1.45; color: var(--wp--preset--color--ink-2); max-width: 840px; }
.is-style-lm-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: var(--wp--preset--color--ink-2); }
.is-style-lm-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--blue); box-shadow: 0 0 0 4px var(--lm-blue-wash); }
.is-style-lm-label { font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--mute); margin-bottom: 6px; }
.is-style-lm-note { font-size: 12.5px; color: var(--wp--preset--color--mute); }

/* Heading: outlined number */
.is-style-lm-outline { color: transparent !important; -webkit-text-stroke: 1.2px var(--wp--preset--color--ink); }

/* Lists */
.is-style-lm-dots { list-style: none; padding-left: 0; display: grid; gap: 10px; }
.is-style-lm-dots li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; }
.is-style-lm-dots li::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--blue); margin-top: 8px; box-shadow: 0 0 0 4px var(--lm-blue-wash); }

/* Images */
.wp-block-image.is-style-lm-frame img { border: 1px solid var(--lm-line); border-radius: 18px; background: #fff; }
.wp-block-image.is-style-lm-frame figcaption { font-size: 13px; color: var(--wp--preset--color--mute); text-align: left; }
.wp-block-image.is-style-lm-cover img { border-radius: 28px; aspect-ratio: 21 / 9; object-fit: cover; width: 100%; }
@media (max-width: 700px) { .wp-block-image.is-style-lm-cover img { aspect-ratio: 4 / 3; } }
.wp-block-image.is-style-lm-cover.is-logo img { object-fit: contain; background: #fff; padding: 7% 16%; border: 1px solid var(--lm-line); }

/* Gallery: framed tiles with captions underneath (never on top of the image) */
.wp-block-gallery[class*="is-style-lm-frames"] { gap: 16px !important; margin-top: 34px; }
.wp-block-gallery[class*="is-style-lm-frames"] figure.wp-block-image { flex-direction: column !important; border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid var(--lm-line); justify-content: flex-start !important; }
.wp-block-gallery[class*="is-style-lm-frames"] figure.wp-block-image img { aspect-ratio: 4 / 3; height: auto !important; width: 100%; object-fit: cover; flex: none !important; }
.wp-block-gallery.is-style-lm-frames-square figure.wp-block-image img { aspect-ratio: 1 / 1; }
.wp-block-gallery.is-style-lm-frames-portrait figure.wp-block-image img { aspect-ratio: 4 / 5; }
.wp-block-gallery.is-style-lm-frames-contain figure.wp-block-image img { object-fit: contain; padding: 7%; }
.wp-block-gallery[class*="is-style-lm-frames"] figure.wp-block-image figcaption { position: static !important; background: var(--wp--preset--color--card) !important; color: var(--wp--preset--color--mute) !important; text-shadow: none !important; font-size: 13px; text-align: left; padding: 10px 14px !important; margin: 0 !important; border-top: 1px solid var(--lm-line); max-height: none !important; overflow: visible !important; -webkit-mask-image: none; mask-image: none; flex: 1 !important; }
.wp-block-gallery[class*="is-style-lm-frames"] figure.wp-block-image::before { display: none !important; }
.wp-block-gallery[class*="is-style-lm-frames"] figcaption b, .wp-block-gallery[class*="is-style-lm-frames"] figcaption strong { color: var(--wp--preset--color--ink); font-weight: 600; }

/* Gallery: logo tiles */
.wp-block-gallery.is-style-lm-logos { gap: 12px !important; margin-top: 30px; }
.wp-block-gallery.is-style-lm-logos figure.wp-block-image { flex-direction: column !important; background: #fff; border: 1px solid var(--lm-line); border-radius: 16px; overflow: hidden; }
.wp-block-gallery.is-style-lm-logos figure.wp-block-image img { aspect-ratio: 1 / 1; object-fit: contain !important; padding: 14%; height: auto !important; }
.wp-block-gallery.is-style-lm-logos figure.wp-block-image figcaption { position: static !important; background: var(--wp--preset--color--card) !important; color: var(--wp--preset--color--mute) !important; text-shadow: none !important; font-size: 12.5px; padding: 9px 12px !important; margin: 0 !important; border-top: 1px solid var(--lm-line); max-height: none !important; text-align: left; }
.wp-block-gallery.is-style-lm-logos figure.wp-block-image::before { display: none !important; }

/* Columns as panels */
.wp-block-columns.is-style-lm-panels { gap: 16px; margin-top: 26px; }
.wp-block-columns.is-style-lm-panels > .wp-block-column { background: var(--wp--preset--color--card); border: 1px solid var(--lm-line); border-radius: 16px; padding: 20px; font-size: 15px; line-height: 1.55; }
.wp-block-columns.is-style-lm-panels h4, .wp-block-columns.is-style-lm-panels h5, .wp-block-columns.is-style-lm-panels h6 { font: 600 11.5px/1 var(--wp--preset--font-family--body); letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--blue-ink); margin: 0 0 10px; }
.wp-block-columns.is-style-lm-panels ul { padding-left: 18px; display: grid; gap: 6px; margin: 0; }
.wp-block-columns.is-style-lm-panels p { margin: 0; }

/* Group: card and dark panel */
.wp-block-group.is-style-lm-card { background: var(--wp--preset--color--card); border: 1px solid var(--lm-line); border-radius: 20px; padding: 22px; }
.wp-block-group.is-style-lm-dark { background: var(--wp--preset--color--dark); color: var(--lm-on-dark); border-radius: 28px; padding: 44px 48px; }
.wp-block-group.is-style-lm-dark :is(h1, h2, h3, h4, p) { color: inherit; }

/* Table: plan */
.wp-block-table.is-style-lm-plan { overflow-x: auto; margin-top: 22px; border: 1px solid var(--lm-line); border-radius: 16px; background: var(--wp--preset--color--card); }
.wp-block-table.is-style-lm-plan table { width: 100%; border-collapse: collapse; font-size: 14.5px; min-width: 560px; }
.wp-block-table.is-style-lm-plan :is(th, td) { text-align: left; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--lm-line); vertical-align: top; }
.wp-block-table.is-style-lm-plan thead { border: 0; }
.wp-block-table.is-style-lm-plan th { font: 600 11.5px/1.2 var(--wp--preset--font-family--body); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--mute); }
.wp-block-table.is-style-lm-plan tr:last-child td { border-bottom: 0; }
.wp-block-table.is-style-lm-plan td:first-child { font-weight: 600; color: var(--wp--preset--color--ink); white-space: nowrap; }
.wp-block-table.is-style-lm-plan figcaption { font-size: 12.5px; color: var(--wp--preset--color--mute); text-align: left; padding: 0 16px 12px; }

/* ---------- mobile ---------- */
@media (max-width: 980px) {
	:root { --wp--style--root--padding-left: 16px; --wp--style--root--padding-right: 16px; }
	.wp-block-columns.is-style-lm-panels { flex-wrap: wrap !important; }
	.wp-block-columns.is-style-lm-panels > .wp-block-column { flex-basis: 100% !important; }
	.site-footer .frow { flex-wrap: wrap !important; }
	.site-footer .frow > .wp-block-column { flex-basis: 100% !important; }
	.wp-block-gallery[class*="is-style-lm-frames"].columns-4 figure.wp-block-image,
	.wp-block-gallery[class*="is-style-lm-frames"].columns-5 figure.wp-block-image,
	.wp-block-gallery.is-style-lm-logos figure.wp-block-image { width: calc(50% - 8px) !important; }
}
@media (max-width: 700px) {
	.site-footer .footer-title { font-size: 17vw; }
	.page-title { font-size: 16vw; }
}

/* ===== round 3 ===== */
/* Framed galleries: images stay inside their frame */
.wp-block-gallery[class*="is-style-lm-frames"] figure.wp-block-image img,.wp-block-gallery.is-style-lm-logos figure.wp-block-image img{box-sizing:border-box;max-width:100%}
/* Never a single line of small images: 4 → 2x2, 5–6 → rows of three (last row stretches) */
.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(50% - 8px)!important}
.wp-block-gallery.has-nested-images:is(.columns-5,.columns-6,.columns-7,.columns-8) figure.wp-block-image:not(#individual-image){width:calc(33.333% - 11px)!important}

/* Carousel (social posts) and Slideshow (wide) gallery styles */
.wp-block-gallery:is(.is-style-lm-carousel,.is-style-lm-slideshow){display:flex!important;flex-wrap:nowrap!important;gap:0!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:18px;margin-top:30px;position:relative}
.wp-block-gallery:is(.is-style-lm-carousel,.is-style-lm-slideshow)::-webkit-scrollbar{display:none}
.wp-block-gallery:is(.is-style-lm-carousel,.is-style-lm-slideshow) figure.wp-block-image:not(#individual-image){flex:0 0 100%!important;width:100%!important;margin:0!important;scroll-snap-align:center;border-radius:0}
.wp-block-gallery:is(.is-style-lm-carousel,.is-style-lm-slideshow) figure.wp-block-image img{width:100%;height:auto!important;object-fit:cover;border-radius:0!important;display:block}
.wp-block-gallery.is-style-lm-carousel{max-width:440px;margin-left:0!important;background:#fff;border:1px solid var(--lm-line);box-shadow:0 18px 40px -26px rgba(37,37,40,.35)}
.wp-block-gallery.is-style-lm-carousel figure.wp-block-image img{aspect-ratio:4/5}
.wp-block-gallery.is-style-lm-slideshow figure.wp-block-image img{aspect-ratio:3/2}
.wp-block-gallery:is(.is-style-lm-carousel,.is-style-lm-slideshow) figure.wp-block-image figcaption{display:none}
.wp-block-gallery:is(.is-style-lm-carousel,.is-style-lm-slideshow)>figcaption.blocks-gallery-caption{flex:0 0 100%}
.lm-slides-nav{display:flex;align-items:center;gap:10px;margin-top:12px}
.lm-slides-nav .dots{display:flex;gap:6px}
.lm-slides-nav .dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:rgba(37,37,40,.22);cursor:pointer}
.lm-slides-nav .dots button.on{background:var(--wp--preset--color--blue-ink);width:22px;border-radius:99px}
.lm-slides-nav .label{font-size:13px;color:var(--wp--preset--color--mute)}
.lm-slides-nav .label b{color:var(--wp--preset--color--ink);font-weight:600}
