/* Sollus : styles limités aux pages de la refonte. */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');
body.sollus-refonte{--s-teal:#417c7f;--s-linen:#f7f5f0;--s-stone:#e8e4dd;--s-ink:#2b2b2b;--s-action:#15c39a;margin:0;background:var(--s-linen);color:var(--s-ink);font:18px/1.7 Lato,Arial,sans-serif}
.sollus-refonte *{box-sizing:border-box}.sollus-refonte a{color:inherit}.sollus-refonte a:focus-visible,.sollus-refonte summary:focus-visible,.sollus-refonte button:focus-visible{outline:3px solid #417c7f;outline-offset:5px}.sollus-refonte .s-teal a:focus-visible,.sollus-refonte .s-hero a:focus-visible{outline-color:#15c39a}.sollus-refonte img{max-width:100%}.sollus-refonte h1,.sollus-refonte h2,.sollus-refonte h3{font-family:Lato,Arial,sans-serif;font-weight:700;color:inherit;padding:0}.sollus-refonte h1{font-size:clamp(40px,4.7vw,68px);line-height:1.12;letter-spacing:-.045em;margin:20px 0 28px;max-width:950px}.sollus-refonte h2{font-size:clamp(29px,3.2vw,45px);line-height:1.18;letter-spacing:-.035em;margin:16px 0 28px}.sollus-refonte h3{font-size:24px;line-height:1.3;margin:12px 0 18px}.sollus-refonte p{margin:0 0 22px;padding:0}.sollus-refonte small{font-size:14px;line-height:1.6}.sollus-refonte .s-kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--s-teal);margin-bottom:18px}
.s-wrap,.sollus-refonte .et_pb_row{width:88%;max-width:1160px;margin:0 auto}.sollus-refonte .et_pb_section{padding:88px 0;background:var(--s-linen);position:relative;scroll-margin-top:100px}.sollus-refonte .et_pb_row{padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:52px}.sollus-refonte .et_pb_row.s-cols-2{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center}.sollus-refonte .et_pb_row.s-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.sollus-refonte .et_pb_column{width:auto!important;float:none!important;margin:0!important;min-width:0}.sollus-refonte .et_pb_row:after,.sollus-refonte .et_pb_row:before{display:none}.sollus-refonte .et_pb_text{margin:0!important;color:inherit;line-height:inherit;font-size:inherit}.sollus-refonte .s-hero{min-height:790px;min-height:calc(100svh - 90px);display:flex;align-items:center;background:#233e40 url('https://sollus.ch/wp-content/uploads/2020/11/Sollus-massage-45-scaled-1280x915.jpg') center 38%/cover no-repeat;color:#fff}.sollus-refonte .s-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,37,38,.93),rgba(16,37,38,.72) 60%,rgba(16,37,38,.25))}.sollus-refonte .s-hero .et_pb_row{position:relative}.sollus-refonte .s-hero h1 span{color:#dce9e5}.sollus-refonte .s-hero p:not(.s-kicker):not(.s-locations){max-width:640px;font-size:20px}.sollus-refonte .s-hero .s-kicker,.sollus-refonte .s-teal .s-kicker{color:#e0eae7}.sollus-refonte .s-hero .s-locations{margin-top:36px;font-size:14px;letter-spacing:.025em}
.sollus-refonte .s-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 23px;min-height:50px;background:var(--s-action);color:var(--s-ink);text-decoration:none;font-size:15px;font-weight:700;border:1px solid transparent;border-radius:4px;margin:8px 0;line-height:1.5;transition:transform .2s,background .2s}.sollus-refonte .s-button:hover{transform:translateY(-2px);background:#38d4af}.sollus-refonte .s-outline{border-color:currentColor;background:transparent;color:var(--s-ink)}.sollus-refonte .s-hero .s-outline,.sollus-refonte .s-teal .s-outline{color:white}.sollus-refonte .s-outline:hover{background:rgba(65,124,127,.1)}.sollus-refonte .s-actions{display:flex;flex-wrap:wrap;gap:16px}.sollus-refonte .s-textlink{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:15px;font-weight:700}.sollus-refonte .s-cards{padding-top:22px}.sollus-refonte .s-cards .et_pb_column{background:var(--s-stone);border-top:2px solid var(--s-teal);padding:30px!important;display:flex}.sollus-refonte .s-cards .et_pb_text{width:100%}.sollus-refonte .s-number{font-size:13px;color:var(--s-teal);letter-spacing:.12em}.sollus-refonte .s-cards p{font-size:16px}.sollus-refonte .s-stone{background:var(--s-stone)}.sollus-refonte .s-teal{background:var(--s-teal);color:white}.sollus-refonte .s-photo{width:100%;height:540px;object-fit:cover;border-radius:4px;display:block}.sollus-refonte .s-landscape{height:380px}.sollus-refonte .s-list{list-style:none;padding:0!important;margin:0}.sollus-refonte .s-list li{padding:16px 0;border-bottom:1px solid #c8c4bd}.sollus-refonte .s-steps{padding-left:28px!important}.sollus-refonte .s-steps li{padding:0 0 10px 12px}.sollus-refonte .s-steps li::marker{font-size:14px}.sollus-refonte .s-centered{text-align:center}.sollus-refonte .s-centered p{max-width:660px;margin-left:auto;margin-right:auto}.sollus-refonte .s-centered .s-actions{justify-content:center}.sollus-refonte .s-pagehero{background:var(--s-stone);padding:85px 0}.sollus-refonte .s-pagehero p{max-width:740px}.sollus-refonte .s-note{border-left:2px solid currentColor;padding:16px 22px;background:rgba(255,255,255,.12);font-size:16px;margin-top:28px}.sollus-refonte .s-note p:last-child{margin:0}.sollus-refonte .s-sectionheading{padding-bottom:25px}.sollus-refonte table{border-collapse:collapse;width:100%;border:none;text-align:left}.sollus-refonte caption{text-align:left;font-size:14px;padding-bottom:20px}.sollus-refonte th,.sollus-refonte td{padding:14px 12px;border:none;border-bottom:1px solid #c8c4bd;text-align:left}.sollus-refonte td{font-variant-numeric:tabular-nums}.sollus-refonte thead{background:var(--s-teal);color:white}.sollus-refonte tbody th{font-weight:400}.sollus-refonte .s-faq details{border-bottom:1px solid #c8c4bd;padding:18px 0}.sollus-refonte summary{cursor:pointer;font-weight:700;line-height:1.4;padding:8px 28px 8px 0}.sollus-refonte details p{margin:15px 0 0;font-size:16px}.sollus-refonte .s-contact{font-size:25px;text-decoration:none}
.s-header{background:var(--s-linen);border-bottom:1px solid #dedbd5;position:sticky;top:0;z-index:100}.admin-bar .s-header{top:32px}.s-nav{display:flex;justify-content:space-between;align-items:center;gap:28px;min-height:90px}.s-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.s-logo img{width:52px;height:52px;object-fit:contain}.s-logo strong{display:block;letter-spacing:.13em;font-size:25px;color:var(--s-teal);line-height:1.1}.s-logo small{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-top:6px}.s-menu{display:flex;align-items:center;gap:24px}.s-menu a{text-decoration:none;font-size:14px}.s-menu a[aria-current=page]{border-bottom:1px solid var(--s-teal)}.s-menu .s-button{font-size:14px;padding:10px 17px}.s-toggle{display:none;border:1px solid #aaa;background:transparent;border-radius:4px;padding:10px;color:inherit;font:inherit}.s-footer{padding:60px 0 30px;background:#213b3d;color:var(--s-linen)}.s-footgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}.s-footer a{display:block;font-size:15px;text-decoration:none;margin:6px 0}.s-footer .s-kicker{color:#e0eae7}.s-footbottom{font-size:13px;border-top:1px solid #738587;padding-top:20px;margin-top:35px}.s-skip{position:absolute;top:-100px;z-index:1000;background:white;padding:14px}.s-skip:focus{top:0}.s-preview-label{font:13px/1.5 Lato,Arial,sans-serif;background:#e8e4dd;color:#2b2b2b;padding:10px 6%;text-align:center}.s-preview-label p{margin:0}.sollus-refonte #main-content{background:var(--s-linen)}
@media(max-width:900px){.s-menu{gap:14px}.s-logo small{display:none}.sollus-refonte .et_pb_row{gap:30px}.sollus-refonte .s-cards .et_pb_column{padding:24px!important}.sollus-refonte .s-photo{height:420px}}
@media(max-width:760px){.s-nav{min-height:76px;flex-wrap:wrap;padding:12px 0;gap:10px}.s-logo img{width:42px;height:42px}.s-logo strong{font-size:22px}.s-menu{width:100%;flex-wrap:wrap;gap:6px 20px;padding-bottom:10px}.s-menu a{padding:8px 0}.s-js .s-toggle{display:block}.s-js .s-menu{display:none}.s-js .s-menu.s-open{display:flex}.sollus-refonte .et_pb_row.s-cols-2,.sollus-refonte .et_pb_row.s-cols-3{grid-template-columns:1fr}.sollus-refonte .et_pb_section{padding:54px 0}.sollus-refonte .s-hero{min-height:680px}.sollus-refonte .s-hero:before{background:rgba(16,37,38,.78)}.sollus-refonte .s-hero h1{font-size:40px}.sollus-refonte .s-hero p:not(.s-kicker):not(.s-locations){font-size:18px}.sollus-refonte .s-actions{gap:6px}.sollus-refonte .s-actions .s-button{width:100%}.sollus-refonte .s-photo{height:auto;max-height:520px}.sollus-refonte .s-cards{padding-top:15px}.sollus-refonte .s-sectionheading{padding-bottom:20px}.s-footgrid{grid-template-columns:1fr;gap:24px}.admin-bar .s-header{top:46px}.sollus-refonte .s-contact{font-size:22px}.sollus-refonte .s-textlink{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.sollus-refonte *{scroll-behavior:auto!important;transition:none!important}}


/* SOLLUS MOBILE MENU 2026 - DEBUT */
@media (max-width: 760px) {
  .s-header .s-nav {
    align-items: center;
  }

  .s-header .s-toggle {
    min-height: 44px;
    padding: 10px 16px;
    font-size: 14px;
    cursor: pointer;
  }

  .s-header .s-js .s-menu.s-open {
    display: flex;
  }

  .s-header .s-menu.s-open {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0;
    padding: 12px 0 16px;
  }

  .s-header .s-menu.s-open > a:not(.s-button) {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 14px 8px;
    border-bottom: 1px solid #d8d5ce;
    font-size: 16px;
    line-height: 1.4;
  }

  .s-header .s-menu.s-open > a[aria-current="page"] {
    color: #417C7F;
    font-weight: 700;
    border-bottom: 1px solid #417C7F;
  }

  .s-header .s-menu.s-open > .s-button {
    display: block;
    width: 100%;
    min-height: 48px;
    margin-top: 16px;
    padding: 14px 18px;
    text-align: center;
    font-size: 15px;
  }

  .sollus-refonte .s-split .et_pb_column {
    min-width: 0;
  }
}
/* SOLLUS MOBILE MENU 2026 - FIN */


/* SOLLUS 4 PRATIQUES V9 — les quatre approches ont le même poids visuel. */
.sollus-refonte .s-practices .s-practices-heading .et_pb_column {
  background: transparent;
  border: none;
  padding: 0 !important;
  display: block;
}
.sollus-refonte .s-practices .s-practices-heading p:last-child {
  max-width: 900px;
  margin-bottom: 0;
}
.sollus-refonte .s-practices .et_pb_row.s-cols-4 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
  margin-top: 30px;
}
.sollus-refonte .s-practices .s-cols-4 .et_pb_column {
  min-width: 0;
  height: 100%;
}
.sollus-refonte .s-practices .s-cols-4 .et_pb_text,
.sollus-refonte .s-practices .s-cols-4 .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.sollus-refonte .s-practices .s-cols-4 .s-textlink {
  align-self: flex-start;
  margin-top: auto;
}
@media (max-width: 760px) {
  .sollus-refonte .s-practices .et_pb_row.s-cols-4 {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 22px;
  }
}


/* SOLLUS RESERVATIONS ET CARTE V3 — 3 calendriers, repères, téléphone. */
.sollus-refonte .s-booking .s-booking-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:30px auto 10px;
}
.sollus-refonte .s-booking .s-booking-actions .s-button{
  display:flex;
  width:100%;
  height:100%;
  min-height:60px;
  margin:0;
  gap:10px;
  padding:14px;
  text-align:center;
}
.sollus-refonte .s-booking .s-booking-more{
  margin:20px auto 50px;
}
.sollus-refonte .s-booking .s-booking-map-title h3{
  margin:0 0 12px;
}
.sollus-refonte .s-booking .s-booking-map-title p{
  margin-bottom:20px;
}
.sollus-refonte .s-cabinet-map{
  width:100%;
  height:420px;
  min-height:310px;
  overflow:hidden;
  border:1px solid #b8c5c3;
  border-radius:5px;
  background:#e5eceb;
  text-align:left;
  z-index:0;
}
.sollus-refonte .s-map-fallback{
  height:100%;
  display:flex;
  flex-wrap:wrap;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:9px;
  padding:20px;
  text-align:center;
}
.sollus-refonte .s-map-fallback p{
  margin:0 0 8px;
}
.sollus-refonte .s-map-fallback a{
  color:#214e51;
  text-decoration:underline;
}
.sollus-refonte .s-booking .s-map-credit{
  text-align:center;
  margin:12px auto 0;
}
.sollus-refonte .sollus-map-pin{
  width:34px;
  height:42px;
  border:0;
  background:transparent;
}
.sollus-refonte .sollus-map-pin span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  color:#fff;
  background:#316c70;
  border:3px solid #fff;
  border-radius:50%;
  box-shadow:0 2px 8px #0006;
  font:bold 16px/1 Lato,Arial,sans-serif;
}
.sollus-refonte .s-cabinet-map .leaflet-popup-content{
  font:14px/1.5 Lato,Arial,sans-serif;
  min-width:175px;
}
.sollus-refonte .s-cabinet-map .leaflet-popup-content strong,
.sollus-refonte .s-cabinet-map .leaflet-popup-content span,
.sollus-refonte .s-cabinet-map .leaflet-popup-content a{
  display:block;
}
.sollus-refonte .s-cabinet-map .leaflet-popup-content a{
  margin-top:8px;
  color:#215c62;
  text-decoration:underline;
}
.sollus-refonte .s-cabinet-map .leaflet-control a{
  color:#1d3d40;
}
@media(max-width:760px){
  .sollus-refonte .s-booking .s-booking-actions{
    grid-template-columns:minmax(0,1fr);
    margin-top:24px;
  }
  .sollus-refonte .s-booking .s-booking-actions .s-button{
    min-height:56px;
  }
  .sollus-refonte .s-cabinet-map{
    height:330px;
  }
  .sollus-refonte .s-booking .s-booking-more{
    margin-bottom:38px;
  }
}


/* SOLLUS ACCUEIL TEXTES VALIDÉS : HERO, BESOINS, PORTRAIT, SÉANCE. */
.sollus-refonte .s-hero .s-hero-practices {
  max-width: 850px !important;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: .07em;
  color: #dce9e5;
  margin: 25px 0;
}
.sollus-refonte .s-hero h1 {
  max-width: 900px;
  font-size: clamp(36px,4.3vw,60px);
}
.sollus-refonte .s-needs .s-practices-heading {
  margin-bottom: 22px;
}
.sollus-refonte .s-needs .s-practices-heading p:last-child {
  max-width: 860px;
}
.sollus-refonte .s-needs .et_pb_row.s-cols-2 {
  align-items: start;
  gap: 28px;
}
.sollus-refonte .s-needs .s-cols-2 .et_pb_column {
  padding: 28px 30px;
  border-top: 2px solid var(--s-teal);
  background: rgba(255,255,255,.3);
  min-height: 190px;
}
.sollus-refonte .s-needs .s-cols-2 h3 {
  font-size: clamp(21px,2.1vw,25px);
}
.sollus-refonte .s-needs .s-section-footer {
  margin-top: 22px;
}
.sollus-refonte .s-needs .s-section-footer p {
  max-width: 960px;
  margin-bottom: 12px;
}
.sollus-refonte .s-professions {
  font-weight: 700;
  color: var(--s-teal);
  line-height: 1.6;
}
.sollus-refonte .s-teal .s-steps h3 {
  font-size: 21px;
  margin-bottom: 8px;
}
@media(max-width:760px){
  .sollus-refonte .s-hero h1 {font-size:clamp(33px,8vw,40px);}
  .sollus-refonte .s-hero .s-hero-practices {
    font-size: 12px !important;
    letter-spacing: .035em;
  }
  .sollus-refonte .s-needs .s-cols-2 .et_pb_column {
    min-height: unset;
    padding: 22px;
  }
}


/* SOLLUS BON CADEAU 2026 — voir le bon ET son enveloppe, sans recadrage. */
.sollus-refonte .s-gift-photo {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center center;
  background: #f7f5f0;
}

/* SOLLUS INFORMATIONS : carte intégrée et grille tarifs jours fériés. */
.sollus-refonte #s-cabinet-map-infos{height:420px;margin:24px 0 10px}
.sollus-refonte #s-cabinet-map-infos + .s-map-credit{text-align:left;margin:8px 0 20px}
.sollus-refonte #cabinets .s-booking-map-title{margin-top:35px}
.sollus-refonte #cabinets .s-booking-map-title h3{margin:0 0 8px}
.sollus-refonte #cabinets .s-booking-map-title p{margin-bottom:12px}
.sollus-refonte #cabinets .s-cabinet-map .leaflet-popup-content a{color:#215c62;text-decoration:underline}
.sollus-refonte #tarifs .s-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sollus-refonte #tarifs table{min-width:490px}
.sollus-refonte #tarifs th,.sollus-refonte #tarifs td{white-space:nowrap}
@media(max-width:760px){.sollus-refonte #s-cabinet-map-infos{height:330px}}

