/* Adaptation WordPress : réglages du thème, menus natifs et contenus libres. */
body { font-size: var(--lcw-body-size, 15px); }
.container { width: min(var(--lcw-width, 1300px), calc(100% - 96px)); }
.section-pad { padding-block: var(--lcw-spacing, 120px); }
h1, h2 { font-family: var(--display); font-weight: var(--lcw-heading-weight, 600); }
.button, .menu-toggle, .menu-close { border-radius: var(--lcw-button-radius, 9px); }
.service-feature, .offer, .hosting-tile, .contact-card { border-radius: var(--lcw-card-radius, 16px); }
.header-inner { min-height: var(--lcw-header-height, 92px); height: auto; gap: var(--lcw-header-gap, 24px); padding-block: 12px; }
.header-inner > .brand { grid-area: brand; min-width: 0; }
.header-inner > .header-nav { grid-area: nav; }
.lcw-header-actions { grid-area: actions; display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-left: auto; flex-shrink: 0; }
.lcw-header-actions .theme-toggle { margin-left: 0; }
.lcw-header-actions .menu-toggle { margin: 0; }
.lcw-logo { width: auto; height: auto; max-width: var(--lcw-logo-width, 180px); max-height: var(--lcw-logo-height, 48px); object-fit: contain; }
.lcw-logo-dark { display: none; }
[data-theme="dark"] .brand:has(.lcw-logo-dark) .lcw-logo-light { display: none; }
[data-theme="dark"] .brand .lcw-logo-dark { display: block; }
.brand-monogram { padding: 0; display: grid; place-items: center; font-size: 25px; letter-spacing: -.1em; }
.header-nav { font-size: var(--lcw-nav-size, 12px); }
.lcw-links { list-style: none; padding: 0; margin: 0; }
.lcw-links li { min-width: 0; }
.header-nav > .lcw-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; }
.header-nav .lcw-links li { position: relative; }
.header-nav .lcw-links a { display: block; }
.header-nav .sub-menu { list-style: none; position: absolute; top: 100%; left: 0; z-index: 25; min-width: 220px; padding: 10px; margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 35px var(--shadow); visibility: hidden; }
.header-nav .sub-menu .sub-menu { top: 0; left: 100%; }
.header-nav li:hover > .sub-menu, .header-nav li:focus-within > .sub-menu { visibility: visible; }
.header-nav .sub-menu a { padding: 10px; }
.header-nav .sub-menu a::after { display: none; }
.header-nav .menu-item-has-children > a::before { content: '⌄'; margin-right: 5px; color: var(--accent); }
.lcw-links .current-menu-item > a, .lcw-links a[aria-current="page"] { color: var(--accent-dark); }
.lcw-nav-left .header-nav { margin-right: auto; margin-left: 0; }
.lcw-nav-center .header-nav { margin-inline: auto; }
.lcw-header-cta { white-space: nowrap; min-height: 44px; }
.lcw-header-cta.button { font-size: 11px; padding: 10px 15px; gap: 14px; }
.lcw-only-mobile { display: none; }
.lcw-header-centered .header-inner { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-areas: '. brand actions' 'nav nav nav'; gap: 10px 20px; }
.lcw-header-centered .header-nav { margin: 0; padding-block: 5px; }
.lcw-header-centered .header-nav > .lcw-links { justify-content: center; }
.lcw-header-split .header-inner { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-areas: 'nav brand actions'; }
.lcw-header-split .header-nav { margin: 0; }
.lcw-header-split .header-nav > .lcw-links { gap: 8px 14px; }
.lcw-header-compact .header-nav { display: none; }
.lcw-header-compact .menu-toggle { display: flex; }
.lcw-topbar { border-bottom: 1px solid var(--line); font-size: 11px; color: var(--muted); }
.lcw-topbar > .container { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 25px; padding-block: 7px; }
.lcw-topbar a { display: inline-flex; align-items: center; min-height: 32px; color: var(--ink); }
.lcw-topbar-center > .container { justify-content: center; }
.lcw-topbar-left > .container { justify-content: flex-start; }
.fallback-nav .lcw-links a { display: block; }
.fallback-nav .sub-menu { list-style: none; padding-left: 16px; }
.fallback-nav nav { max-height: 70dvh; overflow: auto; }
.lcw-expanded { min-width: 0; }
.lcw-expanded .lcw-links { counter-reset: lcw-links; display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; list-style: decimal-leading-zero; padding-left: 22px; }
.lcw-expanded .lcw-links > li { border-bottom: 1px solid var(--line); padding-block: 18px; padding-left: 5px; }
.lcw-expanded .lcw-links > li::marker { color: var(--muted); font: 11px var(--sans); }
.lcw-expanded .lcw-links a { display: inline-flex; align-items: center; min-height: 44px; font: 500 clamp(22px, 2.2vw, 34px)/1.25 var(--sans); letter-spacing: -.045em; }
.lcw-expanded .lcw-links a:hover { color: var(--accent); }
.lcw-expanded .sub-menu { list-style: none; padding: 10px 0 0; }
.lcw-expanded .sub-menu a { font-size: 17px; letter-spacing: -.025em; }
.lcw-menu-drawer .studio-menu { left: auto; width: min(540px, 100%); border-left: 1px solid var(--line); }
.lcw-menu-drawer .studio-menu::backdrop { background: #10121699; }
.lcw-menu-drawer .menu-shell { padding: 25px 30px; }
.lcw-menu-drawer .menu-layout { grid-template-columns: 1fr; gap: 30px; align-items: start; padding-block: 35px; }
.lcw-menu-drawer .menu-intro h2 { font-size: 39px; }
.lcw-menu-drawer .menu-intro > p:not(.eyebrow) { display: none; }
.lcw-menu-drawer .lcw-expanded .lcw-links { grid-template-columns: 1fr; }
.lcw-menu-drawer .lcw-expanded .lcw-links > li { padding-block: 8px; }
.lcw-menu-drawer .lcw-expanded .lcw-links a { font-size: 28px; }
.lcw-drawer-left.lcw-menu-drawer .studio-menu { left: 0; right: auto; border-left: 0; border-right: 1px solid var(--line); }
.site-footer { padding-block: var(--lcw-footer-padding, 80px); }
.footer-main { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.footer-nav { display: block; }
.footer-nav > .lcw-links { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 25px; }
.footer-nav .sub-menu { list-style: none; padding-left: 14px; }
.lcw-footer-cta { flex-shrink: 0; }
.lcw-footer-centered .footer-main { grid-template-columns: 1fr; text-align: center; gap: 30px; }
.lcw-footer-centered .footer-main .brand, .lcw-footer-centered .footer-nav .lcw-links, .lcw-footer-centered .lcw-social { justify-content: center; }
.lcw-footer-centered .footer-nav .lcw-links { display: flex; flex-wrap: wrap; }
.lcw-footer-centered .footer-location { border: 0; }
.lcw-footer-minimal .footer-bottom { border: 0; padding-top: 0; }
.lcw-footer-widgets { display: grid; gap: 30px; border-top: 1px solid var(--line); padding-block: 35px; }
.lcw-cols-1 { grid-template-columns: 1fr; }
.lcw-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lcw-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lcw-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.footer-widget h2, .footer-widget h3 { font: 600 18px/1.4 var(--sans); letter-spacing: -.02em; }
.footer-widget p, .footer-widget li { font-size: 13px; }
.footer-widget img { max-width: 100%; height: auto; }
.lcw-social { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding-block: 14px; font-size: 12px; }
.lcw-social a, .lcw-legal a { display: inline-flex; align-items: center; min-height: 44px; }
.lcw-legal .lcw-links { display: flex; flex-wrap: wrap; gap: 5px 20px; }
.footer-bottom { flex-wrap: wrap; }
.lcw-bottom-center { justify-content: center; text-align: center; }
.lcw-bottom-center > a { margin-left: 0; }
.lcw-document { max-width: 1000px; min-height: 50vh; }
.lcw-document > h1, .lcw-document article > h1 { font-size: clamp(40px, 6vw, 76px); overflow-wrap: anywhere; }
.lcw-document h2 { font-size: clamp(30px, 4vw, 48px); }
.lcw-document img, .lcw-document video { height: auto; max-width: 100%; }
.lcw-document .alignwide { max-width: 100%; }
.lcw-post-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 50px; }
.lcw-post-card { background: var(--surface); padding: 28px; border: 1px solid var(--line); border-radius: var(--lcw-card-radius); }
.lcw-post-card h2 { font-size: 32px; }
.lcw-post-card img { aspect-ratio: 16/10; width: 100%; object-fit: cover; margin-bottom: 25px; border-radius: 8px; }
.lcw-document input, .lcw-document textarea, .lcw-document select { max-width: 100%; background: var(--field); color: var(--ink); padding: 12px; border: 1px solid var(--edge); border-radius: 7px; }
.lcw-document input[type="submit"], .lcw-document button { min-height: 44px; }
.lcw-motion-gentle [data-parallax], .lcw-motion-off [data-parallax] { translate: none!important; }
.admin-bar .site-header { top: 32px; }
@media(max-width: 1280px) { .lcw-header-cta { display: none; } }
@media(max-width: 1190px) { .container { width: min(var(--lcw-width, 1300px), calc(100% - 64px)); } }
@media(max-width: 950px) {
  .header-inner, .lcw-header-centered .header-inner, .lcw-header-split .header-inner { display: flex; min-height: var(--lcw-mobile-header-height, 76px); gap: 12px; padding-block: 10px; }
  .header-nav { display: none; }
  .lcw-only-mobile { display: flex; }
  .lcw-header-actions { gap: 10px; }
  .section-pad { padding-block: min(var(--lcw-spacing, 120px), 80px); }
  .lcw-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media(max-width: 650px) {
  .container { width: calc(100% - 36px); }
  .header-inner { gap: 8px; }
  .lcw-header-actions { gap: 8px; }
  .lcw-logo { max-width: var(--lcw-mobile-logo-width, 110px); max-height: var(--lcw-mobile-logo-height, 34px); }
  .brand:has(.lcw-logo) .brand-name { display: none; }
  .header-inner .brand-name { max-width: 108px; }
  .lcw-hide-mobile { display: none!important; }
  .section-pad { padding-block: min(var(--lcw-spacing, 120px), 65px); }
  .lcw-expanded .lcw-links { grid-template-columns: 1fr; gap: 0; }
  .lcw-expanded .lcw-links > li { padding-block: 10px; }
  .lcw-expanded .lcw-links a { font-size: 28px; }
  .menu-intro h2 { font-size: 36px; }
  .lcw-menu-drawer .menu-shell { padding: 18px 22px; }
  .lcw-menu-drawer .menu-intro h2 { font-size: 32px; }
  .footer-invite { flex-wrap: wrap; }
  .lcw-footer-cta { max-width: 100%; }
  .footer-main, .lcw-footer-widgets, .lcw-cols-2, .lcw-cols-3, .lcw-cols-4, .lcw-post-grid { grid-template-columns: 1fr; }
  .site-footer { padding-bottom: max(var(--lcw-footer-padding, 80px), 80px); }
  .footer-bottom > span:nth-child(2) { order: initial; }
}
@media(max-width: 600px) { .admin-bar .site-header { top: 0; } }
@media(max-width: 360px) {
  .container { width: calc(100% - 30px); }
  .lcw-header-actions { gap: 6px; }
  .lcw-logo { max-width: min(var(--lcw-mobile-logo-width, 110px), 110px); }
}
@media print { .site-footer, .site-header { display: none!important; } }
