/*
Theme Name: Lunelis
Theme URI: https://lunelis.fr/
Description: Thème enfant Blocksy pour Lunelis.
Author: Lunelis
Template: blocksy
Version: 1.2.0
Text Domain: lunelis-blocksy-child
*/

:root{
  --lunelis-bg:#F4F2EC;
  --lunelis-surface:#FFFFFF;
  --lunelis-ink:#171A18;
  --lunelis-accent:#245C55;
  --lunelis-muted:#6D746F;
  --lunelis-line:#D9DDD8;
  --lunelis-dark:#18211E;
}

body,
#main-container,
.site-main{background:var(--lunelis-bg);}

.home .hero-section[data-type="type-1"]{display:none;}
.home .site-main .ct-container-full{padding:0;}
.home .entry-content{margin:0;}
.home .entry-content > *{margin-block-start:0;margin-block-end:0;}

.lunelis-wrap{
  width:min(1180px,calc(100% - 48px));
  margin-inline:auto;
}
.lunelis-section{padding:88px 0;}
.lunelis-section--tight{padding:58px 0;}
.lunelis-kicker{
  margin:0 0 16px;
  color:var(--lunelis-accent);
  font-size:12px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.lunelis-section-title{
  margin:0;
  font-size:clamp(34px,3.6vw,48px)!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
}
.lunelis-lead{
  margin:0;
  color:var(--lunelis-muted);
  font-size:18px;
  line-height:1.6;
}

/* Header */
#header [data-row="middle"]{
  min-height:72px;
  background:rgba(244,242,236,.95);
  border-bottom:1px solid rgba(23,26,24,.10);
  backdrop-filter:blur(14px);
}
#header [data-id="logo"] .site-title{
  font-size:24px;
  font-weight:750;
  letter-spacing:-.05em;
}
#header [data-id="menu"]>ul>li>a{
  font-size:13px;
  font-weight:550;
  letter-spacing:-.01em;
}
#header [data-id="button"] .ct-button{
  min-height:40px;
  padding-inline:16px;
  border-radius:7px;
  font-size:13px;
}

/* Buttons */
.entry-content .wp-block-button .wp-block-button__link{
  padding:13px 19px;
  border-radius:7px;
  background:var(--lunelis-accent);
  color:#fff;
  font-size:14px;
  font-weight:650;
}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;
  color:var(--lunelis-ink);
  border:1px solid var(--lunelis-line);
}

/* Hero */
.lunelis-hero{padding:62px 0 74px;}
.lunelis-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.78fr);
  gap:68px;
  align-items:center;
}
.lunelis-hero-copy h1{
  margin:0;
  max-width:720px;
  font-size:clamp(46px,5.2vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.lunelis-hero-copy .lunelis-lead{
  margin-top:24px;
}
.lunelis-hero-copy .wp-block-buttons{margin-top:30px;}
.lunelis-hero-media{
  position:relative;
  max-width:470px;
  justify-self:end;
}
.lunelis-hero-media figure{margin:0;}
.lunelis-hero-media img{
  display:block;
  width:100%;
  object-fit:cover;
  border-radius:10px;
}
.lunelis-hero-caption{
  margin:14px 0 0;
  max-width:340px;
  color:var(--lunelis-muted);
  font-size:12px;
  line-height:1.55;
}

/* Intro */
.lunelis-intro{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:60px;
  align-items:start;
  padding-top:22px;
  border-top:1px solid var(--lunelis-line);
}
.lunelis-intro-copy{
  display:block;
  max-width:760px;
}
.lunelis-intro-copy .lunelis-lead{
  margin-top:20px;
  font-size:17px;
}

/* Services */
.lunelis-services{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:72px;
  align-items:start;
}
.lunelis-services-image{
  position:sticky;
  top:104px;
}
.lunelis-services-image figure{margin:0;}
.lunelis-services-image img{
  display:block;
  width:100%;
  object-fit:cover;
  border-radius:10px;
}
.lunelis-services-content .lunelis-kicker{margin-bottom:10px;}
.lunelis-services-list{border-top:1px solid var(--lunelis-line);}
.lunelis-service-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:22px;
  padding:26px 0;
  border-bottom:1px solid var(--lunelis-line);
}
.lunelis-service-row>p{
  margin:3px 0 0;
  color:var(--lunelis-accent);
  font-size:12px;
  font-weight:700;
}
.lunelis-service-row h3{
  margin:0 0 9px;
  font-size:23px!important;
  line-height:1.18;
}
.lunelis-service-row .wp-block-group p{
  margin:0 0 12px;
  color:var(--lunelis-muted);
  line-height:1.55;
}
.lunelis-service-row .wp-block-group p:last-child{margin-bottom:0;}
.lunelis-service-row a{
  color:var(--lunelis-ink);
  font-size:13px;
  font-weight:650;
  text-decoration:none;
  border-bottom:1px solid currentColor;
}

/* Dark statement */
.lunelis-dark{
  background:var(--lunelis-dark);
  color:var(--lunelis-bg);
}
.lunelis-dark .lunelis-kicker{color:var(--lunelis-line);}
.lunelis-dark-inner{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:60px;
  align-items:start;
}
.lunelis-statement{
  margin:0;
  color:var(--lunelis-bg)!important;
  font-size:clamp(32px,4.6vw,54px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}
.lunelis-dark-copy{
  margin:24px 0 0;
  color:var(--lunelis-line);
  font-size:17px;
  line-height:1.6;
}

/* About + method */
.lunelis-about-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:76px;
  align-items:start;
}
.lunelis-about-image{
  position:sticky;
  top:104px;
  align-self:start;
}
.lunelis-about-image figure{margin:0;}
.lunelis-about-image img{
  display:block;
  width:100%;
  object-fit:cover;
  border-radius:10px;
}
.lunelis-about-content .lunelis-lead{
  margin-top:18px;
  font-size:17px;
}
.lunelis-method{
  margin-top:34px;
  border-top:1px solid var(--lunelis-line);
}
.lunelis-step{
  display:grid;
  grid-template-columns:34px 150px minmax(0,1fr);
  gap:18px;
  padding:19px 0;
  border-bottom:1px solid var(--lunelis-line);
  align-items:start;
}
.lunelis-step>p:first-child{
  margin:2px 0 0;
  color:var(--lunelis-accent);
  font-size:12px;
  font-weight:700;
}
.lunelis-step h3{
  margin:0;
  font-size:18px!important;
  line-height:1.3;
}
.lunelis-step>p:last-child{
  margin:0;
  color:var(--lunelis-muted);
  line-height:1.55;
}

/* Offer */
.lunelis-offer{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.58fr);
  gap:70px;
  align-items:center;
  padding:38px 42px;
  background:var(--lunelis-surface);
  border:1px solid var(--lunelis-line);
  border-radius:10px;
}
.lunelis-offer .lunelis-section-title{
  font-size:34px!important;
}
.lunelis-offer .lunelis-lead{
  margin-top:12px;
  font-size:16px;
}
.lunelis-offer-price{
  padding-left:34px;
  border-left:1px solid var(--lunelis-line);
}
.lunelis-price{
  margin:0;
  color:var(--lunelis-ink);
  font-size:40px;
  line-height:1;
  font-weight:750;
  letter-spacing:-.045em;
}
.lunelis-offer-price p{
  color:var(--lunelis-muted);
  line-height:1.5;
}
.lunelis-offer-price .wp-block-buttons{margin-top:20px;}

/* FAQ */
.lunelis-faq{margin-top:30px;border-top:1px solid var(--lunelis-line);}
.lunelis-faq-item{
  display:grid;
  grid-template-columns:minmax(250px,.62fr) minmax(0,1fr);
  gap:54px;
  padding:22px 0;
  border-bottom:1px solid var(--lunelis-line);
}
.lunelis-faq-item h3{
  margin:0;
  font-size:17px!important;
  line-height:1.35;
}
.lunelis-faq-item p{
  margin:0;
  max-width:700px;
  color:var(--lunelis-muted);
  line-height:1.55;
}

/* Final CTA */
.lunelis-final-cta{padding:76px 0 88px;}
.lunelis-final-cta-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);
  gap:70px;
  align-items:end;
  padding-top:34px;
  border-top:1px solid var(--lunelis-line);
}
.lunelis-final-cta h2{
  margin:0;
  max-width:760px;
  font-size:clamp(38px,4.4vw,58px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}
.lunelis-final-cta-copy .lunelis-lead{font-size:16px;}
.lunelis-final-cta-copy .wp-block-buttons{margin-top:22px;}

/* Footer */
.ct-footer{border-top:1px solid rgba(23,26,24,.1);}
.ct-footer [data-row="top"]{padding-top:38px;padding-bottom:30px;}
.ct-footer [data-id="logo"] .site-title{
  font-size:32px;
  font-weight:750;
  letter-spacing:-.055em;
}
.ct-footer .footer-menu{justify-content:flex-end;}
.ct-footer .footer-menu a{font-size:12px;}
.ct-footer [data-row="bottom"]{border-top:1px solid rgba(23,26,24,.1);}

@media(max-width:999px){
  .lunelis-section{padding:72px 0;}
  .lunelis-hero-grid,
  .lunelis-services,
  .lunelis-about-grid,
  .lunelis-offer,
  .lunelis-final-cta-grid{grid-template-columns:1fr;}
  .lunelis-hero-media{
    justify-self:start;
    max-width:620px;
  }
  .lunelis-intro,
  .lunelis-dark-inner{
    grid-template-columns:1fr;
    gap:20px;
  }
  .lunelis-intro-copy{
    grid-template-columns:1fr;
    gap:18px;
  }
  .lunelis-services-image,
  .lunelis-about-image{position:static;}
  .lunelis-offer-price{
    padding-left:0;
    padding-top:26px;
    border-left:0;
    border-top:1px solid var(--lunelis-line);
  }
}

@media(max-width:689px){
  .lunelis-wrap{width:min(100% - 34px,1180px);}
  .lunelis-section{padding:56px 0;}
  .lunelis-section--tight{padding:42px 0;}
  .lunelis-hero{padding:42px 0 56px;}
  .lunelis-hero-copy h1{
    font-size:clamp(40px,11.5vw,56px)!important;
  }
  .lunelis-section-title{
    font-size:clamp(31px,9vw,42px)!important;
  }
  .lunelis-service-row{
    grid-template-columns:28px minmax(0,1fr);
    gap:14px;
  }
  .lunelis-step{
    grid-template-columns:28px 1fr;
  }
  .lunelis-step>p:last-child{
    grid-column:2;
  }
  .lunelis-offer{padding:28px 24px;}
  .lunelis-faq-item{
    grid-template-columns:1fr;
    gap:10px;
  }
  .lunelis-final-cta{padding:58px 0 68px;}
  .ct-footer .footer-menu{justify-content:flex-start;}
}
