/*
Theme Name: Portail de la Libre Pensée
Theme URI: https://example.org/libre-pensee
Author: Association Pensée & Lumières
Description: Adaptation WordPress fidèle du portail « Libre Pensée & Lumières » : accueil, revue, ressources, réunions Dogma et contributions des adhérents.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: libre-pensee
*/

:root {
  --navy: #001b3d;
  --navy-2: #06264a;
  --gold: #fed65b;
  --gold-dark: #d4af37;
  --ink: #1a1c1e;
  --muted: #5c6169;
  --surface: #f9f9fc;
  --soft: #eeeef0;
  --soft-2: #e2e2e5;
  --white: #fff;
  --line: #c4c6cf;
  --serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;
  --sans: "Hanken Grotesk", Arial, Helvetica, sans-serif;
  --mono: "JetBrains Mono", Consolas, monospace;
  --max: 1140px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--surface); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.admin-bar .lp-header { top: 32px; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; border-radius: 0; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lp-container { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.lp-kicker { margin: 0; color: var(--gold); font: 600 12px/1.4 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.lp-title { margin: 0; color: var(--ink); font: 700 clamp(34px,4vw,52px)/1.14 var(--serif); letter-spacing: -.02em; }
.lp-title--white { color: white; }
.lp-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 12px; padding: 0 25px; border: 1px solid var(--navy); background: var(--navy); color: white; font: 600 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .18s,color .18s,border .18s; }
.lp-button:hover { border-color: var(--gold); background: var(--gold); color: var(--navy); }
.lp-button--gold { border-color: var(--gold); background: var(--gold); color: var(--navy); }
.lp-button--gold:hover { border-color: white; background: white; }
.lp-button--outline { border-color: currentColor; background: transparent; }
.lp-button--black { border-color: #000; background: #000; }
.lp-text-link { display: inline-flex; gap: 9px; align-items: center; font: 600 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.lp-text-link:hover { color: #8c6b00; }

.lp-header { height: 80px; position: sticky; top: 0; z-index: 100; background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.12); }
.lp-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lp-brand { min-width: 145px; display: flex; align-items: center; gap: 10px; color: white; }
.lp-brand img { width: 42px; height: 42px; object-fit: contain; background: white; }
.lp-brand__words { font: 700 19px/1 var(--serif); }
.lp-brand__words span { display: block; }
.lp-nav ul { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 24px; }
.lp-nav a { padding: 28px 0 24px; color: #96a6bc; font: 500 10px var(--serif); text-transform: uppercase; transition: color .18s; }
.lp-nav a:hover, .lp-nav .current-menu-item > a, .lp-nav .current_page_item > a { color: var(--gold); }
.lp-header__actions { display: flex; align-items: center; gap: 13px; }
.lp-header__actions .lp-button { min-height: 38px; padding: 0 20px; }
.lp-user { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #000; color: white; font-size: 15px; }
.lp-menu-toggle { display: none; border: 0; background: transparent; color: white; font-size: 25px; cursor: pointer; }

.lp-home-hero { min-height: 560px; position: relative; display: flex; align-items: center; background: var(--navy) center/cover no-repeat; color: white; }
.lp-home-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,27,61,.98) 0%,rgba(0,27,61,.88) 48%,rgba(0,27,61,.4) 100%); }
.lp-home-hero__inner { position: relative; z-index: 1; padding: 58px 0 67px; }
.lp-home-hero h1 { max-width: 720px; margin: 14px 0 18px; color: white; font: 700 clamp(46px,5.4vw,72px)/.98 var(--serif); letter-spacing: -.035em; }
.lp-home-hero h1 em { color: var(--gold); }
.lp-home-hero__intro { max-width: 650px; padding-left: 16px; border-left: 2px solid var(--gold); color: #c4cfdd; font-size: 14px; }
.lp-quick-grid { margin-top: 52px; display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.lp-quick-card { min-height: 190px; position: relative; padding: 30px; background: white; color: var(--ink); border: 1px solid #e6e6e8; }
.lp-quick-card__num { position: absolute; right: 18px; top: 16px; color: #80858b; font: 9px var(--mono); }
.lp-quick-card__icon { width: 24px; height: 24px; margin-bottom: 17px; color: #000; }
.lp-quick-card h2 { margin: 0 0 10px; font: 700 18px var(--serif); }
.lp-quick-card p { min-height: 44px; margin: 0 0 17px; color: var(--muted); font-size: 12px; }

.lp-section { padding: 105px 0; }
.lp-section--soft { background: var(--soft); }
.lp-section-head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 60px; margin-bottom: 48px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.lp-section-head p { margin: 0; color: var(--muted); font-size: 13px; }
.lp-rule { width: 48px; height: 3px; margin-top: 13px; background: var(--gold); }
.lp-pillars { display: grid; grid-template-columns: repeat(3,1fr); gap: 68px; }
.lp-pillar__icon { width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 18px; background: var(--navy); color: white; }
.lp-pillar h3 { margin: 0 0 12px; font: 700 18px var(--serif); }
.lp-pillar em { display: block; margin-bottom: 8px; color: #545960; font: italic 11px var(--serif); }
.lp-pillar p { margin: 0; color: var(--muted); font-size: 12px; }

.lp-home-feed { display: grid; grid-template-columns: 2fr .85fr; gap: 58px; }
.lp-feed-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.lp-feed-title h2 { margin: 0; font: 700 18px var(--serif); }
.lp-events { display: grid; gap: 10px; }
.lp-event { display: grid; grid-template-columns: 70px 1fr 36px; align-items: center; min-height: 80px; background: white; }
.lp-event time { text-align: center; border-right: 1px solid #e1e1e3; }
.lp-event time span { display: block; color: #73777c; font: 9px var(--mono); text-transform: uppercase; }
.lp-event time strong { display: block; font: 25px var(--serif); }
.lp-event__type { display: inline-block; padding: 1px 5px; border: 1px solid #cfd1d4; color: #6b7075; font: 7px var(--mono); text-transform: uppercase; }
.lp-event h3 { margin: 4px 0 0; font: 600 14px/1.2 var(--serif); }
.lp-event__go { width: 29px; height: 29px; display: grid; place-items: center; background: var(--gold); font-weight: 700; }
.lp-review-feature { margin-top: 58px; }
.lp-review-box { display: grid; grid-template-columns: 155px 1fr; gap: 30px; padding: 28px; background: white; }
.lp-review-box img { width: 155px; height: 215px; object-fit: cover; }
.lp-review-box h3 { margin: 8px 0 12px; font: 700 30px/1.05 var(--serif); }
.lp-review-box p { color: var(--muted); font-size: 12px; }
.lp-review-box__actions { display: flex; gap: 12px; margin-top: 26px; }
.lp-review-box__actions .lp-button { padding: 0 18px; }
.lp-observer { padding: 28px; background: var(--navy); color: white; }
.lp-observer h2 { margin: 8px 0 20px; font: 700 22px var(--serif); }
.lp-observer p { color: #b6c2d2; font-size: 12px; }
.lp-observer .lp-text-link { margin-top: 32px; color: var(--gold); }
.lp-latest { margin-top: 48px; }
.lp-latest h2 { margin: 0 0 13px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: #61666b; font: 600 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.lp-latest article { padding: 13px 0; border-bottom: 1px solid #d5d7da; }
.lp-latest time { color: #999da1; font: 8px var(--mono); }
.lp-latest h3 { margin: 4px 0; font: 600 13px/1.2 var(--serif); }
.lp-latest p { margin: 0; color: var(--muted); font-size: 10px; }
.lp-manifesto { padding: 74px 20px; background: #000; color: white; text-align: center; }
.lp-manifesto h2 { margin: 0 0 14px; font: 700 clamp(35px,4vw,54px) var(--serif); }
.lp-manifesto p { max-width: 760px; margin: 0 auto 30px; color: #939393; font-size: 12px; }
.lp-manifesto__buttons { display: flex; justify-content: center; gap: 18px; }
.lp-manifesto .lp-button { min-width: 240px; }

.lp-page-hero { padding: 70px 0; background: var(--navy); color: white; }
.lp-page-hero h1 { max-width: 850px; margin: 17px 0 0; font: 700 clamp(46px,5.5vw,70px)/1.08 var(--serif); }
.lp-page-hero h1 em { color: #c4cedd; font-weight: 400; }
.lp-page-hero__lead { max-width: 780px; margin: 24px 0 0; padding-left: 16px; border-left: 2px solid var(--gold); color: #94a8c2; font-size: 16px; }

.lp-shop-hero { padding: 70px 0; background: var(--navy); color: white; }
.lp-shop-hero__grid { display: grid; grid-template-columns: 310px 1fr; align-items: center; gap: 80px; }
.lp-shop-hero__cover { padding: 25px; background: #f1f1f1; }
.lp-shop-hero__cover img { width: 100%; aspect-ratio: 3/4; object-fit: cover; box-shadow: 0 12px 20px rgba(0,0,0,.4); }
.lp-shop-hero h1 { margin: 13px 0 20px; font: 700 clamp(42px,5vw,66px)/1.1 var(--serif); }
.lp-shop-hero__lead { color: #b3c0d1; font-size: 14px; }
.lp-shop-price { display: flex; gap: 45px; margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); }
.lp-shop-price small { display: block; color: #91a4bd; font: 8px var(--mono); text-transform: uppercase; }
.lp-shop-price strong { font-family: var(--serif); }
.lp-subscriptions { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; max-width: 940px; margin: 45px auto 0; }
.lp-plan { min-height: 430px; padding: 42px; border: 1px solid var(--line); background: var(--soft); }
.lp-plan--featured { position: relative; background: var(--navy); color: white; }
.lp-plan h3 { margin: 0; font: 700 20px var(--serif); }
.lp-plan__price { margin: 3px 0 24px; font: 700 52px var(--serif); }
.lp-plan__price small { font: 11px var(--sans); }
.lp-plan--featured .lp-plan__price { color: var(--gold); }
.lp-plan ul { min-height: 180px; padding: 0; list-style: none; }
.lp-plan li { margin: 13px 0; font-size: 12px; }
.lp-plan li::before { content: "⊙"; margin-right: 10px; color: var(--gold-dark); }
.lp-plan .lp-button { width: 100%; }
.lp-store { display: grid; grid-template-columns: 220px 1fr; gap: 50px; padding: 80px 0; }
.lp-filters section { margin-bottom: 38px; }
.lp-filters h3 { padding-bottom: 10px; border-bottom: 1px solid var(--line); color: #72767b; font: 500 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.lp-filters input[type="search"], .lp-filters select { width: 100%; padding: 12px; border: 1px solid var(--line); background: white; }
.lp-filter-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.lp-filter-buttons button { padding: 7px; border: 1px solid var(--line); background: white; color: #6b7076; font: 9px var(--mono); cursor: pointer; }
.lp-filter-check { display: block; margin: 7px 0; font-size: 11px; }
.lp-products { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; align-items: start; }
.lp-product { padding: 13px; background: white; border: 1px solid var(--line); }
.lp-product img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.lp-product__meta { margin-top: 13px; color: #74797f; font: 8px var(--mono); }
.lp-product h2 { min-height: 50px; margin: 5px 0; font: 700 18px/1.15 var(--serif); }
.lp-product p { min-height: 43px; margin: 0; color: var(--muted); font-size: 10px; }
.lp-product__bottom { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; font: 11px var(--serif); }
.lp-cart { width: 29px; height: 29px; display: grid; place-items: center; background: var(--gold); }

.lp-resources { display: grid; grid-template-columns: 255px 1fr; gap: 64px; padding: 100px 0; }
.lp-resource-aside { position: sticky; top: 110px; align-self: start; }
.lp-summary { padding: 20px; border-left: 3px solid #000; background: var(--soft); }
.lp-summary h2 { margin: 0 0 12px; font: 500 13px var(--serif); letter-spacing: .1em; text-transform: uppercase; }
.lp-summary a { display: block; padding: 7px 0; font-size: 13px; }
.lp-stat { margin-top: 28px; padding: 24px; background: #000; color: white; }
.lp-stat small { font: 8px var(--mono); }
.lp-stat strong { display: block; margin: 4px 0; font: 48px var(--serif); }
.lp-stat p { margin: 0; font-size: 11px; font-weight: 700; }
.lp-resource-main { display: grid; gap: 100px; }
.lp-resource-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.lp-resource-heading h2 { margin: 0; font: 700 35px var(--serif); }
.lp-resource-heading p { margin: 0; color: var(--muted); }
.lp-resource-tabs { display: flex; gap: 7px; }
.lp-resource-tabs button { padding: 10px 15px; border: 0; background: var(--soft); font: 11px var(--serif); cursor: pointer; }
.lp-resource-tabs button.is-active { background: var(--soft-2); }
.lp-essay-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 28px; }
.lp-essay { padding: 28px; border: 1px solid var(--line); }
.lp-essay__top { display: flex; justify-content: space-between; gap: 15px; }
.lp-essay__tag { padding: 3px 8px; background: var(--gold); font: 9px var(--serif); }
.lp-essay time { color: #757a80; font: 8px var(--mono); }
.lp-essay h3 { margin: 19px 0 10px; font: 700 22px/1.25 var(--serif); }
.lp-essay p { color: var(--muted); font-size: 13px; }
.lp-feature-1905 { display: grid; grid-template-columns: 1fr 1fr; min-height: 420px; background: var(--navy); color: white; }
.lp-feature-1905__copy { padding: 42px; }
.lp-feature-1905 h2 { margin: 12px 0; font: 700 38px/1.1 var(--serif); }
.lp-feature-1905 p { color: #aebed0; font-size: 13px; }
.lp-feature-1905 img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); opacity: .68; }
.lp-library-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 28px; }
.lp-book { padding: 12px; border: 1px solid var(--line); }
.lp-book img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.lp-book h3 { min-height: 45px; margin: 12px 0 4px; font: 700 15px var(--serif); }
.lp-book p { margin: 0 0 12px; color: var(--muted); font-size: 10px; }
.lp-suggest { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; padding: 42px; background: var(--navy); color: white; }

.lp-contrib-hero { padding: 65px 0 125px; background: var(--navy); color: white; }
.lp-contrib-hero__head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 50px; }
.lp-contrib-hero h1 { margin: 15px 0 18px; font: 700 clamp(48px,6vw,72px)/1 var(--serif); }
.lp-contrib-hero p:last-child { max-width: 760px; color: #8499b5; font-size: 17px; }
.lp-member-status { padding: 18px; border: 1px solid #50647c; background: #1c395a; }
.lp-member-status small { display: block; color: var(--gold); font-family: var(--serif); }
.lp-member-status strong { font: 700 25px var(--serif); }
.lp-contrib-layout { display: grid; grid-template-columns: 320px 1fr; gap: 32px; margin-top: -65px; position: relative; z-index: 3; }
.lp-contrib-aside { display: grid; gap: 30px; align-self: start; }
.lp-help-card, .lp-submissions-card { padding: 32px; background: white; border: 1px solid var(--line); }
.lp-help-card h2, .lp-submissions-card h2 { margin: 0 0 23px; color: #565b61; font: 500 13px var(--serif); letter-spacing: .12em; text-transform: uppercase; }
.lp-help-card a { display: flex; justify-content: space-between; margin: 9px 0; padding: 15px; background: var(--surface); font: 700 18px var(--serif); }
.lp-submission-mini { margin: 9px 0; padding: 13px 13px 13px 17px; border-left: 3px solid var(--gold); background: var(--surface); }
.lp-submission-mini small { display: flex; justify-content: space-between; font: 8px var(--mono); }
.lp-submission-mini h3 { margin: 8px 0 0; font: 600 12px var(--sans); }
.lp-form-card { min-height: 590px; background: white; border: 1px solid var(--line); box-shadow: 0 14px 22px rgba(0,0,0,.08); }
.lp-form-steps { display: flex; gap: 35px; padding: 28px 54px; background: var(--soft-2); }
.lp-form-steps span { display: flex; align-items: center; gap: 9px; color: #aaaeb3; font: 14px var(--serif); }
.lp-form-steps b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #d6d7da; font: 10px var(--sans); }
.lp-form-steps .is-active { color: var(--ink); }
.lp-form-steps .is-active b { background: var(--navy); color: white; }
.lp-form-panel { padding: 62px 65px; }
.lp-field { display: grid; gap: 7px; margin-bottom: 27px; }
.lp-field label { color: #4b5056; font: 500 11px var(--serif); text-transform: uppercase; }
.lp-field input, .lp-field textarea, .lp-field select { width: 100%; padding: 16px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); }
.lp-field textarea { min-height: 200px; resize: vertical; }
.lp-form-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 38px; }
.lp-form-step[hidden] { display: none; }
.lp-validation { padding: 105px 0; text-align: center; }
.lp-validation-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; margin-top: 62px; }
.lp-validation-card { min-height: 255px; padding: 34px 25px; border: 1px solid #dfe0e3; }
.lp-validation-card__icon { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 17px; background: var(--soft-2); font-size: 22px; }
.lp-validation-card:first-child .lp-validation-card__icon { background: var(--navy); color: white; }
.lp-validation-card:last-child .lp-validation-card__icon { background: var(--gold); }
.lp-validation-card h3 { font: 600 13px var(--serif); letter-spacing: .06em; text-transform: uppercase; }
.lp-validation-card p { color: var(--muted); font-size: 13px; }
.lp-assistance { padding: 70px 0; background: var(--soft-2); }
.lp-assistance__inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.lp-assistance h2 { margin: 0; font: 700 38px var(--serif); }
.lp-notice { margin: 20px 0; padding: 16px; border-left: 4px solid var(--gold); background: white; }

.lp-content { padding: 80px 0 110px; }
.lp-entry { max-width: 820px; font: 17px/1.8 var(--serif); }
.lp-entry h2, .lp-entry h3 { font-family: var(--serif); }
.lp-entry a { color: #775b00; text-decoration: underline; }
.lp-archive-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
.lp-archive-card { padding: 25px; border: 1px solid var(--line); background: white; }
.lp-archive-card h2 { font: 700 24px var(--serif); }
.lp-archive-card p { color: var(--muted); font-size: 13px; }
.lp-archive-card .lp-text-link { color: #745c00; }

.lp-newsletter { padding: 52px 0; background: var(--navy); color: white; }
.lp-newsletter__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; }
.lp-newsletter h2 { margin: 0 0 8px; font: 700 32px var(--serif); }
.lp-newsletter p { margin: 0; color: #95a8c0; font-size: 12px; }
.lp-newsletter form { display: flex; }
.lp-newsletter input { min-width: 0; flex: 1; padding: 14px; border: 1px solid #65778e; background: #193756; color: white; }
.lp-newsletter button { min-width: 160px; border: 0; background: var(--gold); color: var(--navy); font: 600 10px var(--mono); text-transform: uppercase; cursor: pointer; }
.lp-footer { padding: 70px 0 28px; background: var(--soft-2); border-top: 1px solid var(--line); }
.lp-footer__grid { display: grid; grid-template-columns: 1.1fr 1fr 1.15fr; gap: 70px; }
.lp-footer h2 { margin: 0 0 14px; font: 700 18px var(--serif); }
.lp-footer h3 { margin: 0 0 12px; color: #555a60; font: 500 10px var(--serif); letter-spacing: .12em; text-transform: uppercase; }
.lp-footer p, .lp-footer a { color: #50565d; font-size: 12px; }
.lp-footer a { display: block; margin: 5px 0; text-decoration: underline; }
.lp-footer form { display: grid; gap: 7px; }
.lp-footer input { padding: 12px; border: 1px solid #74777f; background: var(--surface); }
.lp-footer button { padding: 12px; border: 0; background: var(--navy); color: white; font: 600 10px var(--mono); text-transform: uppercase; }
.lp-copyright { margin-top: 54px; padding-top: 20px; border-top: 1px solid var(--line); color: #73787e; font: 8px var(--mono); text-align: center; }

@media(max-width:1050px) {
  .lp-nav { display: none; position: absolute; top: 80px; right: 0; left: 0; padding: 20px; background: var(--navy); }
  .lp-nav.is-open { display: block; }
  .lp-nav ul { align-items: flex-start; flex-direction: column; gap: 0; }
  .lp-nav a { display: block; padding: 12px; }
  .lp-menu-toggle { display: block; }
  .lp-quick-grid, .lp-pillars { gap: 22px; }
  .lp-products { grid-template-columns: 1fr 1fr; }
  .lp-library-grid { grid-template-columns: 1fr 1fr; }
  .lp-validation-grid { grid-template-columns: 1fr 1fr; }
}

@media(max-width:760px) {
  body.admin-bar .lp-header { top: 46px; }
  .lp-header__actions .lp-button, .lp-brand__words { display: none; }
  .lp-container { width: min(100% - 32px,var(--max)); }
  .lp-home-hero__inner { padding: 58px 0; }
  .lp-home-hero h1 { font-size: 46px; }
  .lp-quick-grid, .lp-pillars, .lp-section-head, .lp-home-feed, .lp-shop-hero__grid, .lp-subscriptions, .lp-store, .lp-resources, .lp-feature-1905, .lp-suggest, .lp-contrib-hero__head, .lp-contrib-layout, .lp-newsletter__inner, .lp-footer__grid { grid-template-columns: 1fr; }
  .lp-quick-card { min-height: auto; }
  .lp-section { padding: 72px 0; }
  .lp-review-box { grid-template-columns: 105px 1fr; gap: 18px; }
  .lp-review-box img { width: 105px; height: 155px; }
  .lp-review-box h3 { font-size: 22px; }
  .lp-review-box__actions { align-items: flex-start; flex-direction: column; }
  .lp-manifesto__buttons { align-items: center; flex-direction: column; }
  .lp-shop-hero__cover { max-width: 290px; margin: auto; }
  .lp-store { padding: 55px 0; }
  .lp-filters { display: none; }
  .lp-products { grid-template-columns: 1fr; }
  .lp-resource-aside { display: none; }
  .lp-resource-heading { align-items: flex-start; flex-direction: column; }
  .lp-resource-tabs { flex-wrap: wrap; }
  .lp-essay-grid { grid-template-columns: 1fr; }
  .lp-library-grid { grid-template-columns: 1fr 1fr; }
  .lp-feature-1905__copy { padding: 30px; }
  .lp-contrib-hero { padding-bottom: 100px; }
  .lp-contrib-layout { margin-top: -55px; }
  .lp-form-steps { gap: 12px; padding: 20px; }
  .lp-form-steps span { font-size: 11px; }
  .lp-form-panel { padding: 35px 24px; }
  .lp-validation-grid { grid-template-columns: 1fr; }
  .lp-assistance__inner { align-items: flex-start; flex-direction: column; }
  .lp-newsletter form { flex-direction: column; }
  .lp-newsletter button { min-height: 46px; }
  .lp-archive-grid { grid-template-columns: 1fr; }
}
