/*
Theme Name: LaunchReadySites
Theme URI: https://launchreadysites.com
Author: MeritWP LLC
Description: Block theme for LaunchReadySites, a MeritWP LLC brand: ready-made WordPress sites by niche. Creative light style: white header, yellow blocks, geometric shapes and dot patterns, outline icons with an offset yellow disc, coral full stop on headings.
Version: 0.5.2
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: launchready
*/

/* ==========================================================
   Tokens
   ========================================================== */
:root {
  --lrs-ink: #111111;
  --lrs-yellow: #FFD800;
  --lrs-yellow-2: #FFC900;
  --lrs-coral: #FF3B5C; /* kept for reference, no longer used outside the shape SVGs */
  --lrs-g-blue: #4285F4;
  --lrs-g-red: #EA4335;
  --lrs-g-yellow: #FBBC05;
  --lrs-price: #FBBC05;
  --lrs-gray: #5A5A5A;
  --lrs-line: #E5E7EB;
  --lrs-soft: #F4F5F7;
  --lrs-sand: #FFF7D1;
  --lrs-radius: 6px;
  --lrs-shadow: 0 2px 10px rgba(17, 17, 17, 0.04);
  --lrs-pop: 8px 8px 0 var(--lrs-yellow);
  --lrs-section: 7rem;
  --lrs-dots: radial-gradient(rgba(17,17,17,.13) 1.2px, transparent 1.3px);
  --lrs-dots-light: radial-gradient(rgba(255,255,255,.16) 1.2px, transparent 1.3px);
}

body { -webkit-font-smoothing: antialiased; font-size: 16.5px; color: var(--lrs-ink); background: #fff; overflow-x: clip; }
p { font-size: 1rem; text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; }
img { height: auto; max-width: 100%; }
a:focus-visible, button:focus-visible, .wp-element-button:focus-visible { outline: 3px solid var(--lrs-ink); outline-offset: 2px; }
.has-large-font-size { font-size: 1.08rem !important; }
.wp-block-list li { font-size: .97rem; }

/* ==========================================================
   Full-bleed sections and widths
   ========================================================== */
.wp-site-blocks .alignfull.lrs-section, .wp-site-blocks .alignfull.lrs-hero, .wp-site-blocks .alignfull.lrs-hero-compact, .wp-site-blocks .alignfull.lrs-legal { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; padding-left: clamp(1.25rem, 4vw, 3rem) !important; padding-right: clamp(1.25rem, 4vw, 3rem) !important; }
.lrs-section.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--wp--style--global--content-size, 1360px); }
.lrs-section.is-layout-constrained > .alignwide { max-width: var(--wp--style--global--wide-size, 1600px); }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.wp-block-post-content > * + *, main.wp-block-group > * + * { margin-block-start: 0 !important; }
main.wp-block-group > .wp-block-post-content > :last-child { margin-bottom: 0 !important; }
.lrs-header, .lrs-footer { width: 100%; }
.lrs-footer { margin-top: 0 !important; }

/* ==========================================================
   Typography: compact headings with a coral full stop
   ========================================================== */
h1.wp-block-heading, .wp-block-post-title { font-family: var(--wp--preset--font-family--dm-sans); font-weight: 700; letter-spacing: -0.03em; line-height: 1.08; color: var(--lrs-ink); }
h2.wp-block-heading { font-family: var(--wp--preset--font-family--dm-sans); font-size: clamp(1.65rem, 2.5vw, 2.2rem); font-weight: 700; letter-spacing: -0.025em; line-height: 1.15; color: var(--lrs-ink); text-align: left; margin: 0 0 1.4rem; max-width: 24ch; position: relative; padding-bottom: 1.1rem; }
h2.wp-block-heading::after { content: ""; position: absolute; left: 0; bottom: 0; width: 66px; height: 12px; background: url("assets/img/shapes/zigzag.svg?v=040") left center / contain no-repeat; }
h3.wp-block-heading { font-family: var(--wp--preset--font-family--dm-sans); font-size: 1.1rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; color: var(--lrs-ink); text-align: left; }
.lrs-dot { color: var(--lrs-yellow); }
.is-bg-yellow .lrs-dot, .lrs-price-card.is-featured .lrs-dot { color: var(--lrs-ink); }
.lrs-eyebrow { display: inline-flex; align-items: center; gap: .6rem; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--lrs-gray); margin: 0 0 1rem !important; }
.lrs-eyebrow::before { content: ""; width: 10px; height: 10px; background: var(--lrs-yellow); box-shadow: 4px 4px 0 var(--lrs-ink); flex: 0 0 auto; }
.lrs-lead { text-align: left; max-width: 44rem; font-size: 1.08rem !important; margin: 0 0 .5rem !important; color: var(--lrs-gray); line-height: 1.7; }
.lrs-note { font-family: Georgia, "Times New Roman", serif; font-style: italic; color: var(--lrs-gray); font-size: 1.05rem !important; margin: .4rem 0 0 !important; }
.is-layout-constrained > h1, .is-layout-constrained > h2.wp-block-heading, .is-layout-constrained > .lrs-lead, .is-layout-constrained > .lrs-eyebrow, .is-layout-constrained > .lrs-callout, .is-layout-constrained > .lrs-toggle-wrap, .is-layout-constrained > .lrs-billing-note { margin-left: 0 !important; margin-right: auto !important; }
.lrs-on-dark h2.wp-block-heading, .lrs-on-dark h3.wp-block-heading, .lrs-on-dark h1 { color: #fff; }
.lrs-on-dark .lrs-eyebrow, .lrs-on-dark .lrs-lead, .lrs-on-dark p { color: #C9CBD1; }

/* ==========================================================
   Buttons
   ========================================================== */
.wp-element-button, .wp-block-button__link { border-radius: var(--lrs-radius) !important; font-weight: 700; padding: .9rem 1.6rem; background: var(--lrs-yellow); color: var(--lrs-ink); border: 2px solid var(--lrs-yellow); transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s, transform .15s; }
.wp-block-button__link:hover, .wp-element-button:hover { background-color: var(--lrs-ink) !important; border-color: var(--lrs-ink) !important; color: #fff !important; transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--lrs-yellow); }
.is-style-outline .wp-block-button__link { border: 2px solid var(--lrs-ink); background: transparent; color: var(--lrs-ink); }
.is-bg-yellow .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--lrs-ink); border-color: var(--lrs-ink); color: #fff; }
.is-bg-yellow .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #fff !important; border-color: #fff !important; color: var(--lrs-ink) !important; box-shadow: 4px 4px 0 var(--lrs-ink); }
.is-bg-yellow .is-style-outline .wp-block-button__link:hover { box-shadow: 4px 4px 0 #fff; }
.lrs-on-dark .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.6); }
.lrs-on-dark .is-style-outline .wp-block-button__link:hover { background: #fff !important; color: var(--lrs-ink) !important; }
.lrs-arrow .wp-block-button__link::after { content: " →"; display: inline-block; transition: transform .2s; }
.lrs-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }
.lrs-card .wp-block-buttons, .lrs-step .wp-block-buttons { justify-content: flex-start; }

/* ==========================================================
   Sections, backgrounds and patterns
   ========================================================== */
.lrs-section { padding-top: var(--lrs-section) !important; padding-bottom: var(--lrs-section) !important; position: relative; overflow: hidden; }
.lrs-section > * { position: relative; z-index: 1; }
.lrs-section .wp-block-columns.alignwide { margin-top: 3rem; gap: 2rem; }
.lrs-section.is-bg-white { background: #fff; }
.lrs-section.is-bg-white::before { content: ""; position: absolute; right: -40px; top: 40px; width: 280px; height: 220px; background-image: var(--lrs-dots); background-size: 20px 20px; z-index: 0; }
.lrs-section.is-bg-surface { background: var(--lrs-soft); }
.lrs-section.is-bg-surface::before { content: ""; position: absolute; right: -180px; bottom: -180px; width: 520px; height: 520px; background: url("assets/img/shapes/geo-c.svg?v=040") center / contain no-repeat; z-index: 0; }
.lrs-section.is-bg-yellow { background: var(--lrs-yellow); }
.lrs-section.is-bg-yellow::before { content: ""; position: absolute; inset: 0; background-image: var(--lrs-dots); background-size: 22px 22px; -webkit-mask-image: linear-gradient(90deg, transparent 45%, #000 100%); mask-image: linear-gradient(90deg, transparent 45%, #000 100%); z-index: 0; }
.lrs-section.is-bg-yellow::after { content: ""; position: absolute; right: 2%; bottom: 0; width: 320px; height: 320px; background: url("assets/img/shapes/geo-b.svg?v=040") center / contain no-repeat; z-index: 0; }
.lrs-section.is-bg-yellow h2.wp-block-heading::after { filter: brightness(0); }
.lrs-section.is-bg-yellow .lrs-eyebrow, .lrs-section.is-bg-yellow .lrs-lead, .lrs-section.is-bg-yellow p { color: #2a2a2a; }
.lrs-section.is-bg-yellow .lrs-eyebrow::before { background: #fff; }
.lrs-section.is-bg-sand { background: var(--lrs-sand); }
.lrs-section.has-night-background-color { background: var(--lrs-ink); }
.lrs-section .lrs-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 3rem; align-items: end; }

/* ==========================================================
   Header: light, logo image, plain links
   ========================================================== */
.lrs-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--lrs-line); transition: box-shadow .25s; }
.admin-bar .lrs-header { top: 32px; }
.lrs-header.is-scrolled { box-shadow: 0 8px 24px rgba(17,17,17,.06); }
.lrs-logo { display: inline-flex; align-items: center; line-height: 0; }
.lrs-logo img { height: 66px; width: auto; display: block; margin: -6px 0; }
.lrs-header .lrs-navpill { background: none; border: 0; padding: 0; }
.lrs-header .wp-block-navigation a, .lrs-header .wp-block-navigation .wp-block-navigation-item__content { color: var(--lrs-ink); }
.lrs-header .wp-block-navigation__container { gap: 2rem; flex-wrap: nowrap; }
.lrs-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.lrs-header .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content { font-weight: 600; font-size: .95rem; padding: .4rem 0; position: relative; }
.lrs-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after,
.lrs-header .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 3px; background: var(--lrs-yellow); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.lrs-header .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after, .lrs-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.lrs-header .wp-block-navigation__submenu-container { border-radius: var(--lrs-radius); padding: .5rem; background: #fff; border: 1px solid var(--lrs-line); box-shadow: 0 16px 40px rgba(17,17,17,.1); }
.lrs-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem .8rem; font-weight: 500; color: var(--lrs-ink) !important; border-radius: 4px; }
.lrs-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--lrs-sand); }
.lrs-header .wp-block-navigation__responsive-container-open { color: var(--lrs-ink); }
.lrs-header__cta { flex: 0 0 auto; }
.lrs-header__cta .wp-block-button__link { white-space: nowrap; padding: .7rem 1.3rem; font-size: .92rem; }
.lrs-header .wp-block-navigation-item.lrs-nav-cta { display: none !important; }

/* Brand (text version used in the dark footer) */
.lrs-brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: #fff; font-family: var(--wp--preset--font-family--dm-sans); line-height: 1; }
.lrs-brand__mark { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 50%; background: #fff; }
.lrs-brand__word { display: flex; flex-direction: column; gap: .15rem; }
.lrs-brand__word b { color: var(--lrs-yellow); font-weight: 800; font-size: 1.25rem; letter-spacing: .01em; }
.lrs-brand__word small { font-size: .62rem; font-weight: 600; letter-spacing: .28em; color: #fff; }
.lrs-brand--footer { margin-bottom: 1.2rem; }

/* ==========================================================
   Hero (light, split, yellow shape block on the right)
   ========================================================== */
.lrs-hero { position: relative; overflow: hidden; background: #fff; padding-top: 6rem !important; padding-bottom: 7rem !important; }
.lrs-hero::before { content: ""; position: absolute; left: -60px; top: 60px; width: 300px; height: 300px; background-image: var(--lrs-dots); background-size: 20px 20px; -webkit-mask-image: radial-gradient(circle, #000 30%, transparent 70%); mask-image: radial-gradient(circle, #000 30%, transparent 70%); }
.lrs-hero > * { position: relative; z-index: 1; }
.lrs-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; align-items: center; }
.lrs-hero h1 { font-size: clamp(2.2rem, 3.6vw, 3.1rem) !important; margin: 0 0 1.4rem; max-width: 17ch; text-align: left; }
.lrs-hero h1 em { font-style: normal; background: linear-gradient(transparent 62%, var(--lrs-yellow) 62%, var(--lrs-yellow) 92%, transparent 92%); padding: 0 .1em; }
.lrs-hero .lrs-lead { max-width: 33rem; font-size: 1.12rem !important; }
.lrs-hero .wp-block-buttons { justify-content: flex-start; margin-top: 2rem; gap: .9rem; }
.lrs-hero-points { display: flex; flex-wrap: wrap; gap: .6rem 1.75rem; margin: 2.2rem 0 0 !important; padding: 1.4rem 0 0 !important; list-style: none; border-top: 1px solid var(--lrs-line); }
.lrs-hero-points li { font-size: .95rem; font-weight: 600; color: var(--lrs-ink); }
.lrs-hero-points li::before { content: "✔"; color: var(--lrs-ink); background: var(--lrs-yellow); display: inline-grid; place-items: center; width: 1.35rem; height: 1.35rem; border-radius: 50%; font-size: .72rem; margin-right: .5rem; }
.lrs-hero__art { position: relative; padding: 3.5rem 2.5rem; }
.lrs-hero__art::before { content: ""; position: absolute; inset: 0 0 0 12%; background: var(--lrs-yellow); border-radius: 0; }
.lrs-hero__art::after { content: ""; position: absolute; width: 190px; height: 190px; left: -10px; bottom: -70px; background: url("assets/img/shapes/geo-a.svg?v=040") center / contain no-repeat; }
.lrs-hero__art > * { position: relative; z-index: 1; }
.lrs-hero__art .lrs-hero__dots { position: absolute; right: -24px; top: -24px; width: 140px; height: 110px; background-image: var(--lrs-dots); background-size: 16px 16px; z-index: 0; }
/* Browser mock */
.lrs-mock { background: #fff; border-radius: 8px; box-shadow: 0 30px 60px rgba(17,17,17,.18); overflow: hidden; border: 2px solid var(--lrs-ink); }
.lrs-mock__bar { display: flex; align-items: center; gap: .4rem; padding: .55rem .8rem; background: #fff; border-bottom: 2px solid var(--lrs-ink); }
.lrs-mock__bar i { width: 9px; height: 9px; border-radius: 50%; background: var(--lrs-line); }
.lrs-mock__bar i:first-child { background: var(--lrs-yellow); }
.lrs-mock__bar span { margin-left: .5rem; flex: 1; background: var(--lrs-soft); border-radius: 4px; padding: .2rem .6rem; font-size: .72rem; color: var(--lrs-gray); }
.lrs-mock__body { padding: 1rem; display: grid; gap: .75rem; }
.lrs-mock__hero { height: 120px; border-radius: 4px; background: var(--lrs-ink); position: relative; overflow: hidden; }
.lrs-mock__hero::before { content: ""; position: absolute; left: 1rem; top: 1.2rem; width: 46%; height: 10px; border-radius: 3px; background: #fff; }
.lrs-mock__hero::after { content: ""; position: absolute; left: 1rem; top: 2.4rem; width: 28%; height: 8px; border-radius: 3px; background: var(--lrs-yellow); box-shadow: 0 26px 0 -1px rgba(255,255,255,.3); }
.lrs-mock__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.lrs-mock__card { height: 66px; border-radius: 4px; background: #fff; border: 1px solid var(--lrs-line); position: relative; }
.lrs-mock__card::before { content: ""; position: absolute; left: .6rem; top: .6rem; width: 18px; height: 18px; border-radius: 50%; background: var(--lrs-yellow); }
.lrs-mock__card::after { content: ""; position: absolute; left: .6rem; bottom: .7rem; width: 55%; height: 6px; border-radius: 3px; background: var(--lrs-line); }
.lrs-mock__cta { height: 34px; width: 40%; border-radius: 4px; background: var(--lrs-yellow); }

/* Compact hero for inner pages: light, dotted, geometric corner */
.lrs-hero-compact { position: relative; overflow: hidden; background: var(--lrs-soft); padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; border-bottom: 1px solid var(--lrs-line); }
.lrs-hero-compact::before { content: ""; position: absolute; right: 8%; top: 50%; width: 220px; height: 220px; transform: translateY(-50%); background: url("assets/img/shapes/geo-a.svg?v=040") center / contain no-repeat; }
.lrs-hero-compact::after { content: ""; position: absolute; right: -30px; top: -30px; width: 260px; height: 200px; background-image: var(--lrs-dots); background-size: 18px 18px; }
.lrs-hero-compact > * { position: relative; z-index: 1; }
.lrs-hero-compact h1, .lrs-hero-compact .wp-block-post-title { font-size: clamp(1.9rem, 3vw, 2.6rem) !important; margin: 0 0 .8rem; max-width: 22ch; text-align: left; color: var(--lrs-ink) !important; }
.lrs-hero-compact .lrs-lead { max-width: 42rem; }
.lrs-hero-compact .wp-block-post-terms.lrs-eyebrow a { color: inherit; text-decoration: none; }
.lrs-wave { display: none !important; }

/* ==========================================================
   Cards and icons
   ========================================================== */
.lrs-card { background: #fff; border: 1px solid var(--lrs-line); border-radius: var(--lrs-radius); box-shadow: var(--lrs-shadow); transition: transform .2s, box-shadow .2s, border-color .2s; position: relative; }
.lrs-card:hover { transform: translate(-3px, -3px); box-shadow: var(--lrs-pop); border-color: var(--lrs-ink); }
.lrs-card.is-featured { border: 2px solid var(--lrs-ink); box-shadow: var(--lrs-pop); }
.lrs-card p { color: var(--lrs-gray); }
.lrs-card h3.wp-block-heading { margin-top: .25rem; }
.lrs-tag { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--lrs-ink); margin-bottom: .25rem !important; }
.lrs-tag::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--lrs-yellow); margin-right: .45rem; vertical-align: middle; }
.lrs-card.is-featured .lrs-tag { background: var(--lrs-yellow); padding: .3rem .7rem; border-radius: 4px; }
.lrs-card.is-featured .lrs-tag::before { background: var(--lrs-ink); }
.lrs-price { font-family: var(--wp--preset--font-family--dm-sans); font-weight: 700; font-size: 2.5rem; color: var(--lrs-price); line-height: 1.1; margin: .25rem 0 .6rem !important; letter-spacing: -0.02em; }
.lrs-price small { font-family: var(--wp--preset--font-family--inter); font-size: .85rem; font-weight: 500; color: var(--lrs-gray); letter-spacing: 0; }
.lrs-on-dark .lrs-card { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); color: #fff; box-shadow: none; }
/* Icons: outline pictogram, no tile, offset yellow disc behind (V1 style) */
.lrs-icon { position: relative; width: 60px; height: 56px; margin-bottom: 1.1rem; color: var(--lrs-ink); background: none; }
.lrs-icon::before { content: ""; position: absolute; width: 30px; height: 30px; border-radius: 50%; background: var(--lrs-yellow); right: 10px; bottom: 2px; z-index: 0; }
.lrs-icon svg { position: relative; z-index: 1; width: 40px; height: 40px; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.is-bg-yellow .lrs-icon::before { background: #fff; }
.lrs-checks { padding-left: 0 !important; list-style: none; }
.lrs-checks li { padding-left: 1.7rem; position: relative; margin-bottom: .55rem; }
.lrs-checks li::before { content: "✔"; position: absolute; left: 0; top: .1em; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--lrs-yellow); color: var(--lrs-ink); font-size: .62rem; display: grid; place-items: center; }
.lrs-cross li::before { content: "✕"; background: var(--lrs-line); color: var(--lrs-gray); }

/* Feature list without cards (Vangard style) */
.lrs-feats .wp-block-column { padding: 0 .5rem 0 0; }
.lrs-feats .wp-block-column p { color: var(--lrs-gray); }

/* ==========================================================
   Why choose (V1 layout: text left, staggered cards right)
   ========================================================== */
.lrs-why { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 4rem; align-items: center; }
.lrs-why__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem; }
.lrs-why__card { background: #fff; border-radius: 14px; padding: 2rem 1.75rem; box-shadow: 0 18px 40px rgba(17,17,17,.06); transition: transform .2s, box-shadow .2s; }
.lrs-why__card:nth-child(even) { transform: translateY(3.5rem); }
.lrs-why__card:hover { box-shadow: var(--lrs-pop); }
.lrs-why__card h3 { font-size: 1.12rem; margin: .25rem 0 .45rem; }
.lrs-why__card p { margin: 0; color: var(--lrs-gray); font-size: .95rem; }
.lrs-why .wp-block-buttons { margin-top: 1.75rem; }

/* ==========================================================
   Steps (on yellow)
   ========================================================== */
.lrs-steps { counter-reset: step; }
.lrs-step { border-top: 2px solid var(--lrs-ink); padding-top: 1.4rem; }
.lrs-step::before { counter-increment: step; content: "0" counter(step); display: block; font-family: var(--wp--preset--font-family--dm-sans); font-size: 2.6rem; font-weight: 700; color: var(--lrs-ink); line-height: 1; margin-bottom: 1rem; -webkit-text-stroke: 1.5px var(--lrs-ink); color: transparent; }
.lrs-step h3 { font-size: 1.15rem; }
.lrs-on-dark .lrs-step { border-top-color: rgba(255,255,255,.3); }
.lrs-on-dark .lrs-step::before { -webkit-text-stroke-color: var(--lrs-yellow); }

/* ==========================================================
   FAQ
   ========================================================== */
.lrs-faq__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 2rem 5rem; align-items: start; }
.lrs-faq .wp-block-details { border: 0; border-bottom: 1px solid var(--lrs-line); border-radius: 0; padding: 1.2rem 0; margin: 0; background: transparent; }
.lrs-faq .wp-block-details:first-child { border-top: 1px solid var(--lrs-line); }
.lrs-faq summary { font-weight: 600; font-size: 1.02rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; color: var(--lrs-ink); }
.lrs-faq summary::-webkit-details-marker { display: none; }
.lrs-faq summary::after { content: "+"; width: 1.7rem; height: 1.7rem; flex: 0 0 auto; display: grid; place-items: center; border: 2px solid var(--lrs-ink); border-radius: 50%; font-weight: 700; line-height: 1; transition: background .2s; }
.lrs-faq details[open] summary::after { content: "–"; background: var(--lrs-yellow); border-color: var(--lrs-yellow); }
.lrs-faq .wp-block-details > :not(summary) { color: var(--lrs-gray); margin-top: .7rem; }

/* ==========================================================
   CTA band (yellow) and callout, chips, tables
   ========================================================== */
.lrs-cta { text-align: center; }
.lrs-cta h2.wp-block-heading { text-align: center; margin-left: auto !important; margin-right: auto !important; max-width: 26ch; }
.lrs-cta h2.wp-block-heading::after { left: 50%; transform: translateX(-50%); }
.lrs-cta p { text-align: center; margin-left: auto !important; margin-right: auto !important; max-width: 44rem; color: #2a2a2a; }
.lrs-callout { background: #fff; border: 2px solid var(--lrs-ink); border-radius: var(--lrs-radius); padding: 1.1rem 1.4rem; max-width: 56rem; margin: 2rem 0 0; color: var(--lrs-ink); font-size: .95rem; box-shadow: var(--lrs-pop); }
.lrs-chips { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.lrs-chips span { display: inline-block; padding: .55rem 1rem; border-radius: 4px; background: #fff; border: 1px solid var(--lrs-line); color: var(--lrs-ink); font-weight: 600; font-size: .9rem; }
.lrs-on-dark .lrs-chips span { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: .95rem; background: #fff; }
.wp-block-table th, .wp-block-table td { border: 0 !important; border-bottom: 1px solid var(--lrs-line) !important; padding: .95rem 1rem; text-align: left; vertical-align: top; }
.wp-block-table thead th { color: var(--lrs-ink); font-weight: 700; background: var(--lrs-yellow); }
.wp-block-table tbody tr:last-child td { border-bottom: 0 !important; }
.lrs-compare td:first-child { font-weight: 600; color: var(--lrs-ink); }
.lrs-legal .wp-block-post-content { font-size: .97rem; max-width: 860px; }
.lrs-legal .wp-block-post-content h2 { font-size: 1.3rem; margin-top: 2rem; max-width: none; padding-bottom: 0; }
.lrs-legal .wp-block-post-content h2::after { display: none; }

/* ==========================================================
   Footer
   ========================================================== */
.lrs-footer { position: relative; overflow: hidden; border-top: 6px solid var(--lrs-yellow); }
.lrs-footer::before { content: ""; position: absolute; right: -50px; top: -50px; width: 170px; height: 170px; background: url("assets/img/shapes/geo-d.svg?v=040") center / contain no-repeat; opacity: .9; }
.lrs-footer > * { position: relative; z-index: 1; }
.lrs-footer a { color: #fff; text-decoration: none; }
.lrs-footer a:hover { color: var(--lrs-yellow); }
.lrs-footer h4.wp-block-heading { color: var(--lrs-yellow); font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 1rem; }
.lrs-footer .wp-block-list { list-style: none; padding-left: 0; }
.lrs-footer .wp-block-list li { margin-bottom: .55rem; font-size: .95rem; }
.lrs-footer .lrs-footer-tagline { color: #B9BCC4; font-size: .95rem; max-width: 30rem; }
.lrs-footer .lrs-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 3rem; padding-top: 1.5rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; color: #B9BCC4; font-size: .85rem; }
.lrs-footer .lrs-footer-bottom a { color: #B9BCC4; }

/* ==========================================================
   Billing toggle, pricing cards
   ========================================================== */
.lrs-toggle-wrap { margin: 1rem 0 .5rem; }
.lrs-toggle { display: inline-flex; border: 2px solid var(--lrs-ink); border-radius: var(--lrs-radius); padding: 3px; background: #fff; }
.lrs-toggle button { border: 0; background: none; padding: .6rem 1.2rem; border-radius: 4px; font: 600 .95rem var(--wp--preset--font-family--inter); color: var(--lrs-gray); cursor: pointer; }
.lrs-toggle button[aria-pressed="true"] { background: var(--lrs-ink); color: #fff; }
.lrs-toggle .lrs-save { font-size: .75rem; color: var(--lrs-ink); background: var(--lrs-yellow); padding: .1rem .4rem; border-radius: 3px; margin-left: .35rem; font-weight: 700; }
.lrs-toggle button[aria-pressed="true"] .lrs-save { color: var(--lrs-yellow); }
.lrs-plans[data-billing="b"] .lrs-bill-a, .lrs-plans:not([data-billing="b"]) .lrs-bill-b { display: none; }
.lrs-billing-note { font-size: .85rem; color: var(--lrs-gray); margin-top: 1.5rem !important; }
.lrs-price-card { display: flex; flex-direction: column; }
.lrs-price-card h3.wp-block-heading { font-size: 1.15rem; margin-bottom: .1rem; }
.lrs-price-card .lrs-sub { font-size: .87rem; color: var(--lrs-gray); margin-bottom: 1rem !important; }
.lrs-price-card .lrs-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .5rem; margin: 0 0 .6rem !important; }
.lrs-price-card .lrs-amount { font-family: var(--wp--preset--font-family--dm-sans); font-size: 2.5rem; font-weight: 700; color: var(--lrs-price); line-height: 1; letter-spacing: -0.02em; }
.lrs-price-card .lrs-per { font-size: .85rem; font-weight: 500; color: var(--lrs-gray); }
.lrs-price-card .lrs-badge { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .04em; background: var(--lrs-sand); color: var(--lrs-ink); border-radius: 4px; padding: .3rem .6rem; margin-bottom: 1.1rem; width: fit-content; }
.lrs-price-card .lrs-checks { margin-bottom: 1.25rem; flex: 1 1 auto; }
.lrs-price-card .lrs-checks li { font-size: .92rem; }
.lrs-price-card .wp-block-buttons { margin-top: auto; }
.lrs-price-card .lrs-full { width: 100%; }
.lrs-price-card .lrs-full .wp-block-button__link { display: block; text-align: center; width: 100%; background: var(--lrs-ink); border-color: var(--lrs-ink); color: #fff; }
.lrs-price-card .lrs-full .wp-block-button__link:hover { background: var(--lrs-yellow) !important; border-color: var(--lrs-yellow) !important; color: var(--lrs-ink) !important; }
.lrs-price-card .lrs-foot { font-size: .78rem !important; color: var(--lrs-gray); margin-top: .9rem !important; margin-bottom: 0 !important; }
.lrs-price-card.is-featured { background: var(--lrs-yellow); border-color: var(--lrs-ink); }
.lrs-price-card.is-featured .lrs-badge { background: #fff; }
.lrs-price-card.is-featured .lrs-amount, .lrs-price-card.is-featured .lrs-price, .is-bg-yellow .lrs-price, .is-bg-yellow .lrs-amount { color: var(--lrs-ink); }
.lrs-opt__price { color: var(--lrs-price) !important; }
/* Prices win over card paragraph colour */
.lrs-card p.lrs-price, p.lrs-price, .lrs-why__card p.lrs-price { color: var(--lrs-price); }
.lrs-price-card.is-featured p.lrs-price, .is-bg-yellow p.lrs-price { color: var(--lrs-ink); }

.lrs-price-card.is-featured .lrs-checks li::before { background: var(--lrs-ink); color: var(--lrs-yellow); }
.lrs-price-card.is-featured p, .lrs-price-card.is-featured .lrs-sub, .lrs-price-card.is-featured .lrs-per, .lrs-price-card.is-featured .lrs-foot { color: #2a2a2a; }

/* ==========================================================
   Catalogue cards, filter, niches
   ========================================================== */
.lrs-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 2.5rem; }
.lrs-site-card { background: #fff; border: 1px solid var(--lrs-line); border-radius: var(--lrs-radius); overflow: hidden; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s, border-color .2s; }
.lrs-site-card:hover { transform: translate(-3px, -3px); box-shadow: var(--lrs-pop); border-color: var(--lrs-ink); }
.lrs-site-card__media { display: block; aspect-ratio: 16/10; background: var(--lrs-soft); overflow: hidden; border-bottom: 1px solid var(--lrs-line); }
.lrs-site-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform .4s; }
.lrs-site-card:hover .lrs-site-card__media img { transform: scale(1.03); }
.lrs-site-card__body { padding: 1.4rem 1.5rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.lrs-site-card h3 { font-size: 1.12rem; margin: .3rem 0 .45rem; }
.lrs-site-card h3 a { text-decoration: none; color: var(--lrs-ink); }
.lrs-site-card p { color: var(--lrs-gray); font-size: .93rem; margin: 0 0 1rem; flex: 1; }
.lrs-site-card__foot { display: flex; justify-content: space-between; align-items: center; gap: .6rem; border-top: 1px solid var(--lrs-line); padding-top: .95rem; }
.lrs-price-sm { font-family: var(--wp--preset--font-family--dm-sans); font-weight: 700; font-size: 1.5rem; color: var(--lrs-price); letter-spacing: -0.02em; }
.lrs-price-sm small { font-family: var(--wp--preset--font-family--inter); font-weight: 500; color: var(--lrs-gray); font-size: .8rem; }
.lrs-site-card__links { display: flex; gap: .9rem; font-size: .88rem; font-weight: 700; white-space: nowrap; }
.lrs-site-card__links a { text-decoration: none; color: var(--lrs-ink); border-bottom: 2px solid var(--lrs-yellow); }
.lrs-site-card__links a:hover { border-bottom-color: var(--lrs-ink); }
.lrs-demo-placeholder { display: grid; place-items: center; width: 100%; aspect-ratio: 16/10; background: var(--lrs-soft) url("assets/img/shapes/geo-d.svg?v=040") right -20px top -20px / 120px no-repeat; color: var(--lrs-gray); font-size: .85rem; text-align: center; padding: 1rem; }
.lrs-demo-placeholder--sm { font-size: .78rem; }
.lrs-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.lrs-filter button { font: 600 .88rem var(--wp--preset--font-family--inter); padding: .55rem 1rem; border-radius: 4px; border: 1px solid var(--lrs-line); background: #fff; color: var(--lrs-ink); cursor: pointer; }
.lrs-filter button[aria-pressed="true"] { background: var(--lrs-yellow); border-color: var(--lrs-yellow); }
.lrs-niche .lrs-niche__meta { font-size: .8rem; color: var(--lrs-gray); margin: .4rem 0 0 !important; }
.lrs-niche a.lrs-niche__link, a.lrs-niche__link { display: inline-block; margin-top: .9rem; font-weight: 700; text-decoration: none; color: var(--lrs-ink); font-size: .92rem; border-bottom: 2px solid var(--lrs-yellow); }
.lrs-niche a.lrs-niche__link:hover { border-bottom-color: var(--lrs-ink); }

/* ==========================================================
   Product page: demo frame + side + configurator
   ========================================================== */
.lrs-site-top { display: grid; grid-template-columns: 1.25fr 1fr; gap: 3rem; align-items: start; margin-bottom: 4rem; }
.lrs-browser { border: 2px solid var(--lrs-ink); border-radius: 8px; overflow: hidden; box-shadow: var(--lrs-pop); background: #fff; }
.lrs-browser__bar { display: flex; align-items: center; gap: .4rem; padding: .6rem .9rem; background: #fff; border-bottom: 2px solid var(--lrs-ink); }
.lrs-browser__bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--lrs-line); }
.lrs-browser__bar i:first-child { background: var(--lrs-yellow); }
.lrs-browser__bar span { margin-left: .6rem; flex: 1; background: var(--lrs-soft); border-radius: 4px; padding: .25rem .7rem; font-size: .78rem; color: var(--lrs-gray); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lrs-browser img { display: block; width: 100%; height: auto; }
.lrs-site-side h3 { font-size: .78rem; text-transform: uppercase; letter-spacing: .14em; color: var(--lrs-gray); margin: 1.6rem 0 .7rem; }
.lrs-site-side .lrs-price { display: flex; align-items: baseline; gap: .6rem; margin: 0 0 .25rem !important; }
.lrs-site-side .lrs-amount { font-family: var(--wp--preset--font-family--dm-sans); font-size: 2.5rem; font-weight: 700; color: var(--lrs-price); letter-spacing: -0.02em; line-height: 1; }
.lrs-site-side .lrs-per { font-size: .9rem; color: var(--lrs-gray); }
.lrs-site-note { font-size: .8rem; color: var(--lrs-gray); margin: 0 0 1rem; }
.lrs-site-excerpt { color: var(--lrs-ink); margin-bottom: 1.25rem; }
.lrs-site-side .wp-block-buttons { display: flex; gap: .6rem; flex-wrap: wrap; }
.lrs-site-side .lrs-checks li { font-size: .92rem; }
.lrs-product { padding-left: clamp(1.25rem, 4vw, 3rem); padding-right: clamp(1.25rem, 4vw, 3rem); padding-top: 4rem !important; }
.lrs-product .lrs-product-includes, main.wp-block-group.lrs-product > .lrs-product-includes { margin: 6rem 0 4rem !important; }
.lrs-product-includes { background: var(--lrs-soft); border-radius: var(--lrs-radius); padding: 3.5rem 3.5rem 3rem; }
.lrs-product-includes .wp-block-post-content { max-width: none !important; }
.lrs-inc { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 2rem 0; align-items: start; }
.lrs-inc__title { padding-right: 3rem; }
.lrs-inc__title h2 { font-family: var(--wp--preset--font-family--dm-sans); font-size: clamp(2rem, 3vw, 2.6rem); font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; color: var(--lrs-ink); margin: 0 0 1rem; max-width: 9ch; padding: 0; }
.lrs-inc__title h2::after { display: none; }
.lrs-inc__title p { font-size: .9rem; color: var(--lrs-gray); margin: 0; }
.lrs-inc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem 4rem; border-left: 1px solid var(--lrs-line); padding-left: 4rem; }
.lrs-inc__num { display: block; font-size: .95rem; color: var(--lrs-gray); margin-bottom: .35rem; }
.lrs-inc__group h3 { font-family: var(--wp--preset--font-family--dm-sans); font-size: 1.35rem; font-weight: 700; color: var(--lrs-ink); margin: 0 0 1rem; padding-bottom: .9rem; border-bottom: 1px solid #C9CDD6; }
.lrs-inc__group ul { list-style: none; margin: 0; padding: 0; }
.lrs-inc__group li { position: relative; padding-left: 1.8rem; margin-bottom: .8rem; font-size: 1rem; line-height: 1.55; color: var(--lrs-ink); }
.lrs-inc__group li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1rem; height: 1rem; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center / contain no-repeat; }
.lrs-inc__group.is-muted li { color: var(--lrs-gray); }
.lrs-inc__group.is-muted li::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8F99' stroke-width='2.6' stroke-linecap='round'><path d='M18 6 6 18M6 6l12 12'/></svg>"); }
@media (max-width: 1100px) { .lrs-inc { grid-template-columns: 1fr; } .lrs-inc__title { padding-right: 0; } .lrs-inc__title h2 { max-width: none; } .lrs-inc__grid { border-left: 0; padding-left: 0; border-top: 1px solid var(--lrs-line); padding-top: 2.5rem; } }
@media (max-width: 781px) { .lrs-inc__grid { grid-template-columns: 1fr; gap: 2.25rem; } .lrs-product .lrs-product-includes, main.wp-block-group.lrs-product > .lrs-product-includes { margin-top: 4rem !important; } }
.lrs-config { margin-top: 1rem; }
.lrs-config__head { margin-bottom: 2rem; }
.lrs-config__grid { display: grid; grid-template-columns: 1fr 360px; gap: 2.5rem; align-items: start; }
.lrs-fs { border: 1px solid var(--lrs-line); border-radius: var(--lrs-radius); padding: 1.6rem 1.7rem 1.7rem; margin: 0 0 1.4rem; background: #fff; }
.lrs-fs legend { font-family: var(--wp--preset--font-family--dm-sans); font-weight: 700; font-size: 1.05rem; color: var(--lrs-ink); padding: .2rem .7rem; background: var(--lrs-yellow); border-radius: 4px; }
.lrs-fs__note { font-size: .85rem; color: var(--lrs-gray); margin: 1rem 0 0; }
.lrs-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; }
.lrs-fields label { display: flex; flex-direction: column; gap: .35rem; font-size: .9rem; color: var(--lrs-ink); }
.lrs-fields label > span { font-weight: 600; }
.lrs-fields small { color: var(--lrs-gray); font-size: .78rem; }
.lrs-fields input, .lrs-fields select { width: 100%; box-sizing: border-box; background: var(--lrs-soft); border: 1px solid transparent; border-radius: 4px; padding: .75rem .9rem; font: inherit; font-size: .95rem; }
.lrs-fields input:focus, .lrs-fields select:focus { outline: none; border-color: var(--lrs-ink); background: #fff; }
.lrs-sub { display: flex; align-items: center; gap: .4rem; }
.lrs-sub input { flex: 1; min-width: 0; }
.lrs-sub em { font-style: normal; color: var(--lrs-gray); font-size: .85rem; white-space: nowrap; }
.lrs-swatches { display: grid; grid-template-columns: repeat(6, 1fr); gap: .75rem; }
.lrs-swatch { position: relative; display: flex; flex-direction: column; align-items: center; gap: .45rem; cursor: pointer; font-size: .78rem; color: var(--lrs-gray); text-align: center; }
.lrs-swatch input { position: absolute; opacity: 0; }
.lrs-swatch span { width: 100%; aspect-ratio: 1.6; border-radius: 4px; background: linear-gradient(135deg, var(--a) 0 60%, var(--b) 60%); border: 2px solid transparent; }
.lrs-swatch input:checked + span { border-color: var(--lrs-ink); box-shadow: 4px 4px 0 var(--lrs-yellow); }
.lrs-swatch input:checked ~ b { color: var(--lrs-ink); }
.lrs-swatch b { font-weight: 600; }
.lrs-opts { display: grid; gap: .6rem; }
.lrs-opt { display: grid; grid-template-columns: auto 1fr auto; gap: .9rem; align-items: start; padding: .95rem 1rem; border: 1px solid var(--lrs-line); border-radius: 4px; cursor: pointer; transition: border-color .2s, background .2s; }
.lrs-opt:hover { border-color: var(--lrs-ink); }
.lrs-opt.is-on { border-color: var(--lrs-ink); background: var(--lrs-sand); }
.lrs-opt input { margin-top: .3rem; width: 1.05rem; height: 1.05rem; accent-color: var(--lrs-ink); }
.lrs-opt__body b { display: block; font-weight: 600; color: var(--lrs-ink); }
.lrs-opt__body small { display: block; color: var(--lrs-gray); font-size: .85rem; margin-top: .15rem; }
.lrs-opt__price { font-weight: 700; color: var(--lrs-ink); white-space: nowrap; font-size: .95rem; }
.lrs-opt__price small { font-weight: 500; color: var(--lrs-gray); font-size: .78rem; }
.lrs-config__summary { position: sticky; top: 110px; background: var(--lrs-ink); color: #fff; border-radius: var(--lrs-radius); padding: 1.7rem; box-shadow: var(--lrs-pop); }
.lrs-config__summary h3 { color: #fff; margin: 0 0 1rem; font-size: 1.1rem; }
.lrs-config__summary dl { margin: 0 0 1.25rem; }
.lrs-config__summary dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgba(255,255,255,.14); font-size: .92rem; color: #C9CBD1; }
.lrs-config__summary dt, .lrs-config__summary dd { margin: 0; }
.lrs-config__summary .lrs-sum-total { color: #fff; font-weight: 700; font-size: 1.05rem; }
.lrs-config__summary .lrs-sum-total dd { color: var(--lrs-yellow); }
.lrs-config__summary .lrs-full { display: block; width: 100%; text-align: center; border: 0; cursor: pointer; font: 700 1rem var(--wp--preset--font-family--inter); padding: .95rem 1.4rem; border-radius: var(--lrs-radius); background: var(--lrs-yellow); color: var(--lrs-ink); }
.lrs-config__summary .lrs-full:hover { background: #fff; }
.lrs-sum-note { font-size: .8rem; color: #B9BCC4; margin: .9rem 0 0; }

/* ==========================================================
   Checkout / cart / account
   ========================================================== */
.lrs-checkout, .lrs-account { padding-left: clamp(1.25rem, 4vw, 3rem); padding-right: clamp(1.25rem, 4vw, 3rem); }
.lrs-checkout .wp-block-post-content > * { max-width: 1280px !important; }
.lrs-checkout form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; gap: 2.5rem; align-items: start; }
.lrs-checkout form.checkout .col2-set { grid-column: 1; display: block; }
.lrs-checkout form.checkout .col2-set .col-1, .lrs-checkout form.checkout .col2-set .col-2 { float: none; width: 100%; }
.lrs-checkout form.checkout #order_review_heading { display: none; }
.lrs-checkout form.checkout #order_review { grid-column: 2; grid-row: 1 / span 3; background: var(--lrs-soft); border: 2px solid var(--lrs-ink); border-radius: var(--lrs-radius); padding: 1.5rem; box-shadow: var(--lrs-pop); }
.lrs-checkout form.checkout #order_review::before { content: "Order summary"; display: block; font-family: var(--wp--preset--font-family--dm-sans); font-size: 1.3rem; font-weight: 700; color: var(--lrs-ink); margin-bottom: 1rem; }
.lrs-checkout .woocommerce-checkout-review-order-table { font-size: .92rem; }
.lrs-checkout .woocommerce-checkout-review-order-table th, .lrs-checkout .woocommerce-checkout-review-order-table td { border-color: var(--lrs-line) !important; padding: .7rem .4rem; }
.lrs-checkout .woocommerce-billing-fields h3, .lrs-checkout .woocommerce-additional-fields h3 { font-size: 1.2rem; color: var(--lrs-ink); margin: 0 0 .8rem; }
.lrs-checkout .form-row { margin-bottom: .9rem; }
.lrs-checkout .form-row label { font-size: .9rem; color: var(--lrs-ink); margin-bottom: .25rem; display: block; }
.lrs-checkout .form-row.form-row-first, .lrs-checkout .form-row.form-row-last { width: 48%; }
.lrs-checkout .input-text, .lrs-checkout textarea, .lrs-checkout select { width: 100%; background: var(--lrs-soft); border: 1px solid transparent; border-radius: 4px; padding: .8rem .9rem; font: inherit; }
.lrs-checkout .input-text:focus, .lrs-checkout textarea:focus { border-color: var(--lrs-ink); outline: none; background: #fff; }
.lrs-checkout .woocommerce-form-login-toggle .woocommerce-info, .lrs-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: var(--lrs-sand); border: 0; border-left: 4px solid var(--lrs-yellow); border-radius: 4px; padding: .8rem 1rem; font-size: .9rem; }
.lrs-checkout #place_order { width: 100%; background: var(--lrs-yellow); color: var(--lrs-ink); border: 0; border-radius: var(--lrs-radius); padding: .95rem; font-weight: 700; font-size: 1rem; cursor: pointer; }
.lrs-checkout #place_order:hover { background: var(--lrs-ink); color: #fff; }
.lrs-checkout .woocommerce-privacy-policy-text, .lrs-checkout .woocommerce-terms-and-conditions-wrapper { font-size: .85rem; color: var(--lrs-gray); }
.lrs-checkout .wc_payment_methods { list-style: none; padding: 0; }
.lrs-checkout .woocommerce-cart-form table.shop_table, .lrs-checkout .cart_totals table { border: 1px solid var(--lrs-line); border-radius: 4px; }
.lrs-checkout .cart_totals { width: 100%; max-width: 440px; }
.lrs-checkout .wc-proceed-to-checkout a.checkout-button { background: var(--lrs-yellow); color: var(--lrs-ink); border-radius: var(--lrs-radius); font-weight: 700; }
.lrs-checkout .wc-proceed-to-checkout a.checkout-button:hover { background: var(--lrs-ink); color: #fff; }
.lrs-checkout .button, .lrs-account .button, .lrs-account .woocommerce-button { background: var(--lrs-ink); color: #fff; border-radius: 4px; }
.lrs-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.lrs-account .woocommerce-MyAccount-navigation li a { display: block; padding: .6rem .9rem; border-radius: 4px; text-decoration: none; color: var(--lrs-ink); font-weight: 600; }
.lrs-account .woocommerce-MyAccount-navigation li.is-active a, .lrs-account .woocommerce-MyAccount-navigation li a:hover { background: var(--lrs-yellow); }
.lrs-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.lrs-trust__item { background: #fff; border: 1px solid var(--lrs-line); border-radius: var(--lrs-radius); padding: 1.4rem; }
.lrs-trust__item .lrs-icon { margin-bottom: .75rem; }
.lrs-trust__item strong { display: block; color: var(--lrs-ink); margin-bottom: .25rem; }
.lrs-trust__item span { color: var(--lrs-gray); font-size: .9rem; }
.lrs-checkout .lrs-trust { margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid var(--lrs-line); }
.lrs-next { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; margin-bottom: 1rem; }

/* ==========================================================
   Blog article
   ========================================================== */
.lrs-article { padding-left: clamp(1.25rem, 4vw, 3rem); padding-right: clamp(1.25rem, 4vw, 3rem); }
.lrs-article .wp-block-post-featured-image img { border-radius: var(--lrs-radius); width: 100%; height: auto; }
.lrs-article .wp-block-post-content { font-size: 1.06rem; line-height: 1.8; color: var(--lrs-ink); }
.lrs-article .wp-block-post-content > * { max-width: 900px; }
.lrs-article .wp-block-post-content h2 { font-size: 1.6rem; margin: 2.8rem 0 1rem; max-width: none; }
.lrs-article .wp-block-post-content h3 { font-size: 1.22rem; margin: 2rem 0 .6rem; }
.lrs-article .wp-block-post-content p { margin: 0 0 1.25rem; }
.lrs-article .wp-block-post-content a { color: var(--lrs-ink); text-decoration-color: var(--lrs-yellow); text-decoration-thickness: 3px; }
.lrs-article__cta { background: var(--lrs-yellow); border-radius: var(--lrs-radius); padding: 1.6rem 1.8rem; margin-top: 3rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; }
.lrs-post-card .wp-block-post-featured-image img { border-radius: 4px; }
.lrs-post-card .wp-block-post-title a { text-decoration: none; color: var(--lrs-ink); }

/* ==========================================================
   Demo page (standalone)
   ========================================================== */
.lrs-demo-page { padding: 0 !important; }
.lrs-demo-bar { position: sticky; top: 0; z-index: 60; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .55rem clamp(1rem, 4vw, 3rem); background: var(--lrs-yellow); color: var(--lrs-ink); font-size: .85rem; font-weight: 600; }
.lrs-demo-bar a { color: var(--lrs-ink); }
.lrs-demo-bar__cta { background: var(--lrs-ink); color: #fff !important; text-decoration: none; font-weight: 700; padding: .4rem .9rem; border-radius: 4px; white-space: nowrap; }
.lrs-demo { --d-a: #161D35; --d-b: #FFD800; --d-text: #111; font-family: var(--wp--preset--font-family--inter); }
.lrs-demo .lrs-demo__nav { display: flex; justify-content: space-between; align-items: center; padding: 1rem clamp(1rem, 4vw, 3rem); background: #fff; border-bottom: 1px solid var(--lrs-line); }
.lrs-demo .lrs-demo__brand { font-family: var(--wp--preset--font-family--dm-sans); font-weight: 800; color: var(--d-a); font-size: 1.25rem; }
.lrs-demo .lrs-demo__links { display: flex; gap: 1.4rem; font-size: .92rem; font-weight: 600; color: var(--lrs-ink); }
.lrs-demo .lrs-demo__call { background: var(--d-b); color: var(--d-text); text-decoration: none; padding: .6rem 1.1rem; border-radius: 6px; font-weight: 700; font-size: .9rem; white-space: nowrap; border: 0; }
.lrs-demo .lrs-demo__hero { background: linear-gradient(135deg, var(--d-a), color-mix(in srgb, var(--d-a) 72%, var(--d-b))); color: #fff; padding: clamp(3rem, 8vw, 6rem) clamp(1rem, 4vw, 3rem); display: grid; grid-template-columns: 1.1fr 1fr; gap: 2rem; align-items: center; }
.lrs-demo .lrs-demo__hero h1 { color: #fff; font-size: clamp(2rem, 4vw, 3rem); margin: 0 0 1rem; line-height: 1.15; }
.lrs-demo .lrs-demo__hero p { color: #E3E7F2; font-size: 1.1rem; max-width: 36rem; }
.lrs-demo .lrs-demo__hero .lrs-demo__call { display: inline-block; margin-top: 1rem; padding: .85rem 1.5rem; font-size: 1rem; }
.lrs-demo .lrs-demo__visual { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); border-radius: 12px; aspect-ratio: 4/3; display: grid; place-items: center; color: #E3E7F2; font-size: .9rem; text-align: center; padding: 1rem; }
.lrs-demo .lrs-demo__section { padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 3rem); }
.lrs-demo .lrs-demo__section.alt { background: var(--lrs-soft); }
.lrs-demo .lrs-demo__section h2 { margin: 0 0 1.5rem; font-size: 1.8rem; color: var(--d-a); padding-bottom: 0; }
.lrs-demo .lrs-demo__section h2::after { display: none; }
.lrs-demo .lrs-demo__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.lrs-demo .lrs-demo__card { background: #fff; border: 1px solid var(--lrs-line); border-radius: 10px; padding: 1.4rem; }
.lrs-demo .lrs-demo__card h3 { font-size: 1.1rem; margin: 0 0 .4rem; color: var(--lrs-ink); }
.lrs-demo .lrs-demo__card p { font-size: .92rem; color: var(--lrs-gray); margin: 0; }
.lrs-demo .lrs-demo__form { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; max-width: 640px; }
.lrs-demo .lrs-demo__form input, .lrs-demo .lrs-demo__form textarea { width: 100%; box-sizing: border-box; padding: .8rem .9rem; border-radius: 8px; border: 1px solid var(--lrs-line); font: inherit; background: #fff; }
.lrs-demo .lrs-demo__form textarea { grid-column: 1 / -1; min-height: 110px; }
.lrs-demo .lrs-demo__form button { grid-column: 1 / -1; justify-self: start; cursor: pointer; }
.lrs-demo .lrs-demo__footer { background: var(--d-a); color: #C7CCDA; padding: 2rem clamp(1rem, 4vw, 3rem); font-size: .88rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem; }

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width: 1100px) {
  .lrs-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .lrs-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
  .lrs-header .lrs-navpill { order: 3; }
  .lrs-header .lrs-header__cta { order: 2; margin-left: auto; margin-right: .75rem; }
  .lrs-header .wp-block-navigation__responsive-container-open { color: var(--lrs-ink) !important; background: var(--lrs-yellow); border-radius: var(--lrs-radius); width: 44px; height: 44px; align-items: center; justify-content: center; }
  .lrs-header .wp-block-navigation__responsive-container-open svg { width: 24px; height: 24px; fill: currentColor; }
  .lrs-header .wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; padding: 1.5rem 1.5rem 2rem; background-image: var(--lrs-dots) !important; background-size: 20px 20px !important; }
  .lrs-header .wp-block-navigation__responsive-container.is-menu-open a, .lrs-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--lrs-ink) !important; }
  .lrs-header .wp-block-navigation__responsive-container-close { color: var(--lrs-ink) !important; }
  .lrs-header .is-menu-open .wp-block-navigation__responsive-container-content, .lrs-header .is-menu-open .wp-block-navigation__container, .lrs-header .is-menu-open .wp-block-navigation-item, .lrs-header .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; justify-content: flex-start !important; text-align: left !important; width: 100%; }
  .lrs-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2.5rem !important; }
  .lrs-header .is-menu-open .wp-block-navigation__container { gap: 1.1rem !important; flex-wrap: wrap; }
  .lrs-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
  .lrs-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-submenu > .wp-block-navigation-item__content { font-size: 1.35rem !important; font-weight: 700; }
  .lrs-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { content: none; }
  .lrs-header .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0; box-shadow: none; padding: .4rem 0 0 1rem !important; gap: .5rem; }
  .lrs-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--lrs-gray) !important; font-size: 1rem !important; padding: .2rem 0 !important; }
  .lrs-hero__grid, .lrs-why { grid-template-columns: 1fr; }
  .lrs-hero__art { max-width: 620px; }
  .lrs-faq__grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .lrs-cards { grid-template-columns: 1fr 1fr; }
  .lrs-site-top, .lrs-config__grid, .lrs-checkout form.checkout { grid-template-columns: 1fr; }
  .lrs-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; }
  .lrs-config__summary { position: static; }
  .lrs-swatches { grid-template-columns: repeat(3, 1fr); }
  .lrs-demo .lrs-demo__hero, .lrs-demo .lrs-demo__grid { grid-template-columns: 1fr; }
  .lrs-demo .lrs-demo__links { display: none; }
  .lrs-section .lrs-head { grid-template-columns: 1fr; }
  .lrs-hero-compact::before { opacity: .35; right: -40px; }
}
@media (max-width: 781px) {
  :root { --lrs-section: 4.5rem; }
  .lrs-logo img { height: 52px; margin: -4px 0; }
  .lrs-header .lrs-header__cta .wp-block-button__link { padding: .6rem 1rem !important; font-size: .82rem !important; }
  .lrs-hero { padding-top: 3rem !important; padding-bottom: 4rem !important; }
  .lrs-hero h1 { font-size: 2.05rem !important; max-width: none; }
  .lrs-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .lrs-hero .wp-block-buttons .wp-block-button, .lrs-hero .wp-block-buttons .wp-block-button__link { width: 100%; text-align: center; }
  .lrs-hero__art { padding: 2rem 1.25rem; margin-top: 1rem; }
  .lrs-hero__art::after { width: 120px; height: 120px; bottom: -50px; }
  .lrs-hero-compact { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .lrs-hero-compact h1, .lrs-hero-compact .wp-block-post-title { font-size: 1.75rem !important; }
  .lrs-hero-compact::before { display: none; }
  h2.wp-block-heading { font-size: 1.55rem !important; max-width: none; }
  .lrs-why__cards { grid-template-columns: 1fr; }
  .lrs-why__card:nth-child(even) { transform: none; }
  .lrs-section.is-bg-yellow::after, .lrs-section.is-bg-surface::before { opacity: .4; }
  .lrs-cards { grid-template-columns: 1fr; }
  .lrs-fields, .lrs-demo .lrs-demo__form { grid-template-columns: 1fr; }
  .lrs-opt { grid-template-columns: auto 1fr; }
  .lrs-opt__price { grid-column: 2; }
  .lrs-product-includes { padding: 2rem 1.4rem; }
  .lrs-checkout .form-row.form-row-first, .lrs-checkout .form-row.form-row-last { width: 100%; }
  .lrs-article__cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 781px) and (orientation: portrait) {
  .lrs-header .lrs-header__cta { display: none !important; }
  .lrs-header .is-menu-open .wp-block-navigation-item.lrs-nav-cta { display: flex !important; margin-top: 1.25rem; }
  .lrs-header .is-menu-open .lrs-nav-cta > .wp-block-navigation-item__content { background: var(--lrs-yellow); color: var(--lrs-ink) !important; border-radius: var(--lrs-radius); padding: .85rem 1.75rem !important; font-size: 1rem !important; font-weight: 700; }
}
.lrs-steps--from4 { counter-reset: step 4; }
.lrs-steps--from4 .lrs-step::before { content: counter(step, decimal-leading-zero); }
.lrs-steps .lrs-step::before { content: counter(step, decimal-leading-zero); }
