/* =========================================================
   RESPONSIVE.CSS
   Breakpoints globaux / responsive du site / Joomla / SPPB
   Eve Monnet
========================================================= */

/* TABLET */
@media screen and (min-width: 767px) {

  .container {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }

  .container-reading {
    padding-left: 0;
    padding-right: 0;
  }

  h1 {
    font-size: 4.8rem;
  }

  h2 {
    font-size: 3.6rem;
  }

  h3 {
    font-size: 2.4rem;
  }

  h4 {
    font-size: 2rem;
  }

  body,
  p,
  li {
    font-size: 1.7rem;
  }

  .lead,
  .intro-text {
    font-size: 1.9rem;
  }

  .btn-primary,
  .btn-secondary {
    width: auto;
  }

  .grille-cartes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .doubt-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
  }

  .cta-actions {
    flex-direction: row;
  }

  .float-premium {
    align-items: center;
  }

  .float-premium .float-left,
  .float-premium .float-right {
    width: calc(50% - 1.2rem);
  }

  .hero-luxe-card {
    padding: 2.4rem 2rem;
  }

  .hero-luxe-visual {
    max-width: 30rem;
  }

  .hero-luxe-floating-card {
    left: -1rem;
    bottom: 1rem;
  }

  .section-standard {
    padding: 5.5rem 0;
  }

  .section-soft {
    padding: 5.5rem 0;
  }

  .section-tight {
    padding: 4.4rem 0;
  }

  .section-cta {
    padding: 6rem 0;
  }

  .sppb-section.section-standard {
    padding: 5.5rem 0 !important;
  }

  .sppb-section.section-soft {
    padding: 5.5rem 0 !important;
  }

  .sppb-section.section-tight {
    padding: 4.4rem 0 !important;
  }

  .sppb-section.section-cta {
    padding: 6rem 0 !important;
  }

  .cards-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
  }

  .steps-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem;
  }

  .trust-layout {
    grid-template-columns: minmax(0, 1.65fr) minmax(28rem, 0.85fr);
    gap: 2rem;
    align-items: start;
  }

  /* =========================================
   HOME - INTRO
========================================= */

  .home-intro-box {
    padding: 2.2rem 1.6rem;
  }
}

/* DESKTOP (pivot UX) */
@media screen and (min-width: 1140px) {

  .container {
    max-width: 120rem;
    padding-left: 3.2rem;
    padding-right: 3.2rem;
  }

  h1 {
    font-size: 5.2rem;
  }

  h2 {
    font-size: 4rem;
  }

  h3 {
    font-size: 2.6rem;
  }

  h4 {
    font-size: 2.2rem;
  }

  .lead,
  .intro-text {
    font-size: 2rem;
  }

  .hero-luxe-card {
    padding: 2.8rem 2.4rem;
  }

  .hero-luxe-visual {
    max-width: 33rem;
  }

  .hero-luxe-image-wrap img {
    aspect-ratio: 4 / 5.1;
  }

  .hero-luxe-floating-card {
    left: -8.5rem;
    bottom: -2rem;
    max-width: 25rem;
  }

  .quote-soft,
  .edito-quote {
    padding: 2.2rem 2.4rem;
  }

  .grille-cartes.grille-cartes-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .steps-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.6rem;
  }

  .cards-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.6rem;
  }

  .trust-side-stack {
    gap: 1.2rem;
  }
0
  .section-standard {
    padding: 6rem 0;
  }

  .section-soft {
    padding: 6rem 0;
  }

  .section-tight {
    padding: 4.8rem 0;
  }

  .section-cta {
    padding: 6.4rem 0;
  }

  .sppb-section.section-standard {
    padding: 6rem 0 !important;
  }

  .sppb-section.section-soft {
    padding: 6rem 0 !important;
  }

  .sppb-section.section-tight {
    padding: 4.8rem 0 !important;
  }

  .sppb-section.section-cta {
    padding: 6.4rem 0 !important;
  }

  .trust-layout {
    grid-template-columns: minmax(0, 1.8fr) minmax(30rem, 0.8fr);
    gap: 2.4rem;
  }

  .trust-summary {
    position: sticky;
    top: 2rem;
  }

  .home-values-heading {
    margin-bottom: 2rem;
  }

  .section-spacing-top-lg {
    padding-top: 4rem;
  }

  .therapies-conversion-heading {
    margin-bottom: 2rem;
  }

  .therapy-card-conversion {
    padding: 2rem 1.5rem;
  }

  .therapy-card-actions--inline {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .btn-compact {
    font-size: 1.3rem;
  }

  .therapy-card-conversion:hover {
    transform: none;
    box-shadow: 0 1.4rem 3.6rem rgba(43, 43, 43, 0.07);
  }

  .therapy-card-conversion:hover::before {
    width: 6rem;
  }

 /* TESTIMONIALS HOME */
  
  .home-testimonials-carousel .section-heading-center {
    margin-bottom: 0.9rem;
  }

  .home-testimonials-carousel .sppb-carousel-extended-list {
    margin-top: -1rem;
  }

  .home-testimonials-carousel .sppb-carousel-extended-item,
  .home-testimonials-carousel .sppb-carousel-extended-list .sppb-carousel-extended-outer-stage .sppb-carousel-extended-item,
  .home-testimonials-carousel .owl-item {
    padding: 0 0.6rem;
  }

  .home-testimonials-carousel .sppb-testimonial-carousel-item-content {
    min-height: auto;
  height: auto;
  padding: 2rem 1.6rem 1.5rem;
  border-radius: 1.6rem;
  }

  .home-testimonials-carousel .sppb-testimonial-carousel-item-content::before {
    width: 5rem;
    margin-bottom: 1.1rem;
  }

  .home-testimonials-carousel .sppb-testimonial-carousel-message {
    font-size: 1.65rem;
    line-height: 1.56;
    margin-bottom: 0.2rem !important;
  }

  .home-testimonials-carousel .sppb-testimonial-carousel-name-designation {
    min-height: 4.4rem;
  margin-top: 0.2rem;
  padding-top: 0.5rem;
  align-items: flex-end;
  text-align: right;
  }

  .home-testimonials-carousel .sppb-testimonial-carousel-name-designation .sppb-testimonial-carousel-name {
    font-size: 1.7rem;
  }

  .home-testimonials-carousel .sppb-carousel-extended-item:hover,
  .home-testimonials-carousel .sppb-carousel-extended-list .sppb-carousel-extended-outer-stage .sppb-carousel-extended-item:hover,
  .home-testimonials-carousel .owl-item:hover {
    transform: none;
  }

  .home-testimonials-carousel .sppb-carousel-extended-item:hover .sppb-testimonial-carousel-item-content,
  .home-testimonials-carousel .sppb-carousel-extended-list .sppb-carousel-extended-outer-stage .sppb-carousel-extended-item:hover .sppb-testimonial-carousel-item-content,
  .home-testimonials-carousel .owl-item:hover .sppb-testimonial-carousel-item-content {
    box-shadow: 0 1.2rem 2.8rem rgba(43, 43, 43, 0.08);
  }

  .home-testimonials-carousel .sppb-carousel-extended-item:hover .sppb-testimonial-carousel-item-content::before,
  .home-testimonials-carousel .sppb-carousel-extended-list .sppb-carousel-extended-outer-stage .sppb-carousel-extended-item:hover .sppb-testimonial-carousel-item-content::before,
  .home-testimonials-carousel .owl-item:hover .sppb-testimonial-carousel-item-content::before {
    width: 5rem;
  }



}

/* LARGE DESKTOP */
@media screen and (min-width: 1440px) {

  .container {
    max-width: 128rem;
  }

  h1 {
    font-size: 5.6rem;
  }

  h2 {
    font-size: 4.2rem;
  }

  .hero-luxe-card {
    padding: 3rem 2.6rem;
  }
}

/* TABLET / SMALL DESKTOP DOWN */
@media screen and (max-width: 1139px) {

  .section-standard,
  .section-soft {
    padding: 4.4rem 0;
  }

  .section-tight {
    padding: 3.8rem 0;
  }

  .section-cta {
    padding: 4.8rem 0;
  }

  .sppb-section.section-standard {
    padding: 4.4rem 0 !important;
  }

  .sppb-section.section-soft {
    padding: 4.4rem 0 !important;
  }

  .sppb-section.section-tight {
    padding: 3.8rem 0 !important;
  }

  .sppb-section.section-cta {
    padding: 4.8rem 0 !important;
  }
}

/* TABLET DOWN */
@media screen and (max-width: 1024px) {

  .image-left,
  .image-right {
    float: none;
    margin: 0 0 1.6rem 0;
  }

  .hero-luxe-card {
    max-width: 100%;
  }

  .hero-luxe-visual {
    max-width: 100%;
    margin-top: 2rem;
  }

  .hero-luxe-floating-card {
    left: 1rem;
    bottom: 1rem;
  }

  .float-premium {
    gap: 1.8rem;
  }

  .card-soft,
  .signal-card,
  .step-box,
  .edito-card,
  .edito-box,
  .doubt-card {
    padding: 1.7rem 1.4rem;
  }

  .quote-soft,
  .edito-quote {
    padding: 1.8rem;
  }

  .eve-footer-bottom-left,
  .eve-footer-bottom-center,
  .eve-footer-bottom-center-2,
  .eve-footer-bottom-right {
    text-align: left !important;
  }
}

/* MOBILE / TABLET PORTRAIT */
@media screen and (max-width: 767px) {

  body {
    font-size: 1.6rem;
    line-height: 1.56;
  }

  .container {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }

  h1 {
    font-size: 3.2rem;
    line-height: 1.04;
  }

  h1 .line-2 {
    font-size: 1.9rem;
    line-height: 1.25;
  }

  h2 {
    font-size: 2.6rem;
    line-height: 1.08;
  }

  h3 {
    font-size: 2rem;
    line-height: 1.16;
  }

  h4 {
    font-size: 1.8rem;
  }

  p,
  li {
    font-size: 1.6rem;
    line-height: 1.56;
  }

  .lead,
  .intro-text {
    font-size: 1.7rem;
    line-height: 1.55;
  }

  .small-note,
  .edito-label {
    font-size: 1.1rem;
  }

  .section-standard,
  .section-soft,
  .section-tight {
    padding: 3rem 0;
  }

  .section-cta {
    padding: 3.6rem 0;
  }

  .sppb-section.section-standard {
    padding: 3rem 0 !important;
  }

  .sppb-section.section-soft {
    padding: 3rem 0 !important;
  }

  .sppb-section.section-tight {
    padding: 3rem 0 !important;
  }

  .sppb-section.section-cta {
    padding: 3.6rem 0 !important;
  }

  .btn-primary,
  .btn-secondary,
  a.btn-primary,
  a.btn-secondary {
    width: 100%;
  }

  .hero-luxe-actions,
  .cta-actions {
    flex-direction: column;
  }

  .hero-luxe-card {
    max-width: 100%;
  }

  .hero-luxe-text p:first-child {
    font-size: 1.7rem;
  }

  .hero-luxe-proof {
    gap: 0.7rem 1rem;
  }

  .hero-luxe-floating-card {
    position: static;
    max-width: 100%;
    margin-top: 1rem;
  }

  div.float-left,
  div.float-right {
    width: 100%;
    float: none;
    padding: 0;
  }

  .float-premium {
    display: block;
  }

  .float-premium .float-left,
  .float-premium .float-right {
    width: 100%;
  }

  .float-premium .float-right {
    margin-top: 1.6rem;
  }

  .grille-defaut {
    gap: 1rem;
  }

  div.grille-defaut figure {
    width: calc(50% - 0.5rem);
  }

  .grille-cartes,
  .doubt-grid,
  .cards-grid-2,
  .cards-grid-3,
  .steps-grid-4 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .card-soft,
  .signal-card,
  .step-box,
  .edito-card,
  .edito-box,
  .doubt-card {
    padding: 1.5rem 1.2rem;
    border-radius: 1.2rem;
  }

  .quote-soft,
  .edito-quote {
    padding: 1.5rem 1.2rem;
    font-size: 1.9rem;
    line-height: 1.3;
  }

  .article-manifesto p,
  .manifesto-box p {
    font-size: 2rem;
    line-height: 1.28;
  }

  table.table-defaut,
  table.table-premium {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  table.table-defaut th,
  table.table-defaut td,
  table.table-premium th,
  table.table-premium td {
    white-space: normal;
    min-width: 18rem;
  }

  .sppb-row-container {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }

  .sppb-addon {
    margin-bottom: 0 !important;
  }

  .hero-luxe-card,
  .card-soft,
  .signal-card,
  .step-box,
  .doubt-card {
    background-clip: padding-box;
  }

 
}

/* SMALL MOBILE */
@media screen and (max-width: 480px) {

  h1 {
    font-size: 2.9rem;
  }

  h2 {
    font-size: 2.3rem;
  }

  h3 {
    font-size: 1.85rem;
  }

  p,
  li {
    font-size: 1.55rem;
  }

  .lead,
  .intro-text {
    font-size: 1.65rem;
  }

  .hero-luxe-card {
    padding: 1.5rem 1.1rem;
  }

  .quote-soft,
  .edito-quote {
    font-size: 1.75rem;
  }

  .article-manifesto p,
  .manifesto-box p {
    font-size: 1.8rem;
  }

  div.grille-defaut figure {
    width: 100%;
  }

  .container {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }

  .sppb-row-container {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }
}
/* =========================================================
   FOOTER EVE MONNET - RESPONSIVE
   ========================================================= */

@media (max-width: 1140px) {
  .sppb-section.eve-footer-row,
  .eve-footer-row {
    padding-top: 54px !important;
    padding-bottom: 34px !important;
  }

  .eve-footer-brand h3 {
    font-size: 1.95rem !important;
  }

  .eve-footer-brand p {
    max-width: 100%;
  }
}

@media (max-width: 991px) {
  .eve-footer-bottom-left,
  .eve-footer-bottom-center,
  .eve-footer-bottom-center-2,
  .eve-footer-bottom-right {
    text-align: left !important;
  }
}

@media (max-width: 767px) {
  .sppb-section.eve-footer-row,
  .eve-footer-row {
    padding-top: 42px !important;
    padding-bottom: 24px !important;
  }

  .eve-footer-brand h3 {
    font-size: 1.72rem !important;
  }

  .eve-footer-baseline {
    font-size: 1rem !important;
  }

  .eve-footer-brand p,
  .eve-footer-links a,
  .eve-footer-contact p {
    font-size: 0.98rem !important;
  }

  .eve-footer-links,
  .eve-footer-contact {
    margin-top: 22px !important;
  }

  .eve-footer-btn-wrap .sppb-btn,
  .eve-footer-btn {
    width: 100% !important;
    max-width: 300px !important;
  }

  .eve-footer-social a,
  .eve-footer-social .sppb-icon-inner,
  .eve-footer-social .sppb-social-icons a {
    width: 42px !important;
    height: 42px !important;
  }

  .sppb-section.eve-footer-bottom-row,
  .eve-footer-bottom-row {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .eve-footer-bottom-row .sppb-addon {
    margin-bottom: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .eve-footer-brand,
  .eve-footer-links,
  .eve-footer-contact,
  .eve-footer-links a,
  .eve-footer-btn,
  .eve-footer-social a,
  .eve-footer-social .sppb-icon-inner {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* ================================
   RESPONSIVE TYPO FOOTER
   ================================ */

@media (max-width: 767px) {
  .eve-footer-brand h3 {
    font-size: 1.9rem !important;
  }

  .eve-footer-baseline {
    font-size: 1.05rem !important;
  }

  .eve-footer-brand p {
    font-size: 1rem !important;
  }

  .eve-footer-links a,
  .eve-footer-contact p {
    font-size: 1rem !important;
  }
}