/*
Theme Name: Linomap Marketing
Theme URI: https://linomap.com
Author: Linomap
Description: Thème marketing Linomap avec système Conseil.
Version: 1.0.7
Text Domain: linomap
*/


  *, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; font-family: "Figtree", system-ui, sans-serif; background: #FFFCFA; color: #2B1D14; -webkit-font-smoothing: antialiased; }
  h1, h2, h3 { margin: 0; font-weight: 800; letter-spacing: -0.035em; line-height: 1.05; text-wrap: balance; }
  p { margin: 0; text-wrap: pretty; }
  a { color: #FF6B00; text-decoration: none; }
  a:hover { color: #DB5300; }
  input { font-family: inherit; }
  @keyframes linoRail { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes linoFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
  @keyframes linoPulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: .45; } }
  @keyframes linoBlink { 0%, 45% { opacity: 1; } 55%, 100% { opacity: 0; } }
  @media (max-width: 900px) {
    [data-2col] { grid-template-columns: 1fr !important; gap: 26px !important; padding-left: 22px !important; padding-right: 22px !important; }
    [data-copy] { order: 1 !important; }
    [data-media] { order: 2 !important; }
    [data-proof-grid] { grid-template-columns: 1fr !important; }
    [data-footer-grid] { grid-template-columns: 1fr 1fr !important; gap: 28px !important; }
    header > div { flex-wrap: wrap !important; justify-content: center !important; gap: 12px !important; }
    [data-nav] { order: 3 !important; margin: 0 !important; flex-wrap: wrap !important; justify-content: center !important; overflow: visible !important; }
    [data-stats] { gap: 34px 40px !important; }
    [data-floatcard] { position: static !important; margin-top: 12px !important; animation: none !important; }
    [data-parallax] { display: flex !important; flex-direction: column !important; gap: 4px !important; }
    [data-annot] { left: 18px !important; right: auto !important; align-items: flex-start !important; }
    [data-annot] svg { transform: scaleX(1) !important; }
    [data-audit-field] { min-width: 0 !important; width: 100% !important; }
    section { padding-left: 20px !important; padding-right: 20px !important; }
  }
  @media (max-width: 560px) {
    [data-footer-grid] { grid-template-columns: 1fr !important; }
    [data-stats] { gap: 26px 32px !important; }
    [data-stats] > div { flex: 0 0 40% !important; }
  }

  /* --- animations sans JS (scroll-driven CSS) --- */
  @keyframes linoReveal { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
  @keyframes linoRevealRot1 { from { opacity: 0; transform: translateY(22px) rotate(-1deg); } to { opacity: 1; transform: rotate(-1deg); } }
  @keyframes linoRevealRot2 { from { opacity: 0; transform: translateY(22px) rotate(0.8deg); } to { opacity: 1; transform: rotate(0.8deg); } }
  @keyframes linoRevealRot3 { from { opacity: 0; transform: translateY(22px) rotate(0.6deg); } to { opacity: 1; transform: rotate(0.6deg); } }
  @keyframes linoRevealRot4 { from { opacity: 0; transform: translateY(22px) rotate(-0.7deg); } to { opacity: 1; transform: rotate(-0.7deg); } }
  @keyframes linoDraw { to { stroke-dashoffset: 0; } }

  @supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
      [data-reveal], [data-stagger] > * {
        animation: linoReveal both;
        animation-timeline: view();
        animation-range: entry 2% cover 20%;
      }
      [data-stagger] > *:nth-child(2) { animation-range: entry 4% cover 23%; }
      [data-stagger] > *:nth-child(3) { animation-range: entry 6% cover 26%; }
      [data-stagger] > *:nth-child(4) { animation-range: entry 8% cover 29%; }
      [data-stagger-self]:nth-child(1) { animation-name: linoRevealRot1; }
      [data-stagger-self]:nth-child(2) { animation-name: linoRevealRot2; }
      [data-stagger-self]:nth-child(3) { animation-name: linoRevealRot3; }
      [data-stagger-self]:nth-child(4) { animation-name: linoRevealRot4; }
      [data-draw] path {
        stroke-dasharray: 120;
        stroke-dashoffset: 120;
        animation: linoDraw both linear;
        animation-timeline: view();
        animation-range: entry 0% cover 18%;
      }
      [data-parallax] {
        animation: linoPar linear both;
        animation-timeline: view();
        animation-range: entry 0% exit 100%;
      }
      @keyframes linoPar { from { transform: translateY(-14px); } to { transform: translateY(22px); } }
    }
  }
  @media (max-width: 900px) { [data-parallax] { animation: none !important; } }

  /* --- interactions sans JS --- */
  [data-card] { transition: box-shadow .3s ease; }
  [data-card]:hover { box-shadow: 0 30px 60px -44px rgba(43,29,20,0.55); }
  [data-card]:hover [data-zoom] { transform: scale(1.025); }
  [data-floatcard] { animation: linoFloat 6s ease-in-out infinite; }
  [data-floatcard]:last-of-type { animation-duration: 7s; animation-delay: .6s; }

  details.faq-item { background: #fff; border: 1px solid #F0DFD3; border-radius: 16px; overflow: hidden; }
  details.faq-item[open] { border-color: #FBD8BF; }
  details.faq-item > summary { list-style: none; width: 100%; display: flex; align-items: center; gap: 16px; padding: 19px 22px; cursor: pointer; font-size: 17.5px; font-weight: 700; color: #2B1D14; letter-spacing: -0.025em; }
  details.faq-item > summary::-webkit-details-marker { display: none; }
  details.faq-item[open] .faq-sign { transform: rotate(45deg); }
  .faq-sign { margin-left: auto; flex: none; width: 26px; height: 26px; border-radius: 50%; background: #FFF3EB; color: #FF6B00; display: flex; align-items: center; justify-content: center; font-size: 17px; transition: transform .2s; }
  .nav-link:hover { background: #FFF3EB; color: #2B1D14; }
  .btn-o:hover { background: #E85E00 !important; color: #fff; }
  footer a:hover { color: #fff; }
  button { font-family: inherit; }


/* Linomap WordPress theme additions */
body.admin-bar .lino-header { top: 32px; }
.lino-header { position: sticky; top: 0; z-index: 60; background: rgba(255,252,250,.82); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(240,223,211,.6); }
.lino-nav-toggle { display:none; border:1px solid #F0DFD3; background:#fff; border-radius:10px; padding:9px 11px; font-weight:800; color:#2B1D14; }
.lino-blog-shell { background:#FFFCFA; min-height:65vh; padding:88px 24px; }
.lino-blog-wrap { max-width:1120px; margin:0 auto; }
.lino-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lino-post-card { background:#fff; border:1px solid #F0DFD3; border-radius:22px; overflow:hidden; box-shadow:0 22px 55px -42px rgba(43,29,20,.45); }
.lino-post-card__media { display:block; aspect-ratio:16/9; background:#FFF3EB; overflow:hidden; }
.lino-post-card__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.lino-post-card:hover img { transform:scale(1.025); }
.lino-post-card__body { padding:22px; }
.lino-post-card__meta { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#FF6B00; margin-bottom:10px; }
.lino-post-card h3 { font-size:22px; line-height:1.08; margin:0 0 10px; }
.lino-post-card p { color:#6B5A4C; line-height:1.58; font-size:15.5px; }
.lino-post-card__link { display:inline-flex; margin-top:16px; color:#FF6B00; font-weight:800; }
.lino-empty-card { border:1px dashed #F0B88E; background:#FFF7F1; border-radius:22px; padding:28px; color:#6B5A4C; }
.lino-entry { max-width:820px; margin:0 auto; background:#fff; border:1px solid #F0DFD3; border-radius:28px; padding:42px; box-shadow:0 28px 70px -55px rgba(43,29,20,.45); }
.lino-entry h1 { font-size:clamp(36px,4vw,58px); margin-bottom:20px; }
.lino-entry-content { color:#4B3A2D; font-size:18px; line-height:1.75; }
.lino-entry-content h2 { font-size:32px; margin:34px 0 14px; }
.lino-entry-content p { margin:0 0 18px; }
.lino-contact-form { display:grid; gap:14px; margin-top:24px; }
.lino-contact-form input,.lino-contact-form textarea { width:100%; border:1px solid #F0DFD3; border-radius:14px; padding:14px 16px; font:inherit; background:#FFFCFA; color:#2B1D14; }
.lino-contact-form textarea { min-height:150px; resize:vertical; }
.lino-alert { border-radius:16px; padding:14px 16px; margin:0 0 18px; font-weight:700; }
.lino-alert--ok { background:#ECFDF3; color:#126B3D; border:1px solid #B8F0CF; }
.lino-alert--err { background:#FFF3EB; color:#9B3B00; border:1px solid #FFD2B4; }
@media (max-width:900px){ .lino-nav-toggle{display:inline-flex}.lino-site-nav{display:none!important; width:100%; order:5; margin-top:10px!important; flex-direction:column; border-radius:18px!important}.lino-site-nav.is-open{display:flex!important}.lino-blog-grid{grid-template-columns:1fr}.lino-entry{padding:28px 20px}.lino-header-inner{padding-left:20px!important;padding-right:20px!important} }

.lino-nav-toggle { align-items:center; gap:8px; }
.lino-nav-toggle span:first-child { font-size:20px; line-height:1; }
@media (max-width:900px){ .lino-header-inner{justify-content:space-between!important}.lino-header-inner > div:first-child{margin-right:auto}.lino-header-inner > div:last-child{width:100%;justify-content:center}.lino-site-nav.is-open{padding:12px!important}.lino-site-nav.is-open .nav-link{width:100%;text-align:center;padding:12px 15px!important} }

/* Activation JS des effets du code fourni : data-reveal, data-delay, data-draw, data-parallax, data-floatcard. */
.lino-js-effects [data-reveal].lino-pending,
.lino-js-effects [data-stagger] > .lino-pending {
  opacity: 0;
  transform: translateY(22px);
}
.lino-js-effects [data-reveal].lino-visible,
.lino-js-effects [data-stagger] > .lino-visible {
  animation: linoReveal .72s both;
  animation-delay: var(--lino-delay, 0ms);
}
.lino-js-effects [data-stagger-self]:nth-child(1).lino-visible { animation-name: linoRevealRot1; }
.lino-js-effects [data-stagger-self]:nth-child(2).lino-visible { animation-name: linoRevealRot2; }
.lino-js-effects [data-stagger-self]:nth-child(3).lino-visible { animation-name: linoRevealRot3; }
.lino-js-effects [data-stagger-self]:nth-child(4).lino-visible { animation-name: linoRevealRot4; }
.lino-js-effects [data-draw] path {
  stroke-dasharray: 120;
  stroke-dashoffset: 120;
}
.lino-js-effects [data-draw].lino-visible path {
  animation: linoDraw .72s linear both;
  animation-delay: var(--lino-delay, 0ms);
}
@media (prefers-reduced-motion: reduce) {
  .lino-js-effects [data-reveal].lino-pending,
  .lino-js-effects [data-stagger] > .lino-pending { opacity: 1; transform: none; }
  .lino-js-effects [data-reveal].lino-visible,
  .lino-js-effects [data-stagger] > .lino-visible,
  .lino-js-effects [data-draw].lino-visible path { animation: none !important; }
}

.lino-js-effects [data-floatcard].lino-visible {
  opacity: 1;
  animation: linoFloat 6s ease-in-out infinite;
}
.lino-js-effects [data-floatcard].lino-visible:last-of-type { animation-duration: 7s; animation-delay: .6s; }
