/*

Theme Name: AfiyaEsencial
Theme URI: https://www.afiyaesencial-naturopathe.fr
Author: Soungoura Coulibaly
Author URI: https://www.soungouracoulibaly.fr
Description: 
Version: 1.0

*/
/* =========================
   VARIABLES COULEURS
========================= */
:root{
    --beige:#e9e3da;
    --beige-dark:#d6cfc5;
    --taupe:#bfb5a7;
    --gold:#c2a26c;
    --text:#3d3b37;
    --white:#ffffff;
}

/* =========================
   GLOBAL
========================= */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family: "Libre Franklin", sans-serif;
    color:var(--text);
    background:#f7f4ef;
    line-height:1.6;
}

h1,h2,h3{
    font-family:"Public Sans", sans-serif;
    font-weight:500;
}

h2{
	font-size:2.5em;
}

main{
	min-height:50vh;
}

.container{
    width:1200px;
    max-width:95%;
    margin:auto;
}

.containerPage,.containerCategory{
    width:1200px;
    max-width:95%;
    margin:0 auto;
    padding: 20px 0;
}

.containerCategory{
    padding: 20px;
    background: white;
}

.containerCategory .category h2 {
    font-size: 1.7em;
}

.containerCategory span {
    text-transform: uppercase;
    color: var(--gold);
}

.containerCategory .appointement {
    text-align: center;
    padding: 10px 0;
}

.containerPage h1{
    padding: 10px 0;
}

section{
    padding:80px 0;
}

/* =========================
   HEADER
========================= */
header{
    background:var(--white);
    padding:20px 0;
    border-bottom:1px solid var(--beige-dark);
}

.navigation{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
    font-family:"Public Sans", sans-serif;
    font-size:28px;
    letter-spacing:2px;
}

.logo img {
    width: 100px;
}

.mainContainer{
	opacity:.5;
	  transition: all 1s;
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -o-transition: all 1s;
}


.menu{
    display:flex;
    gap:35px;
    list-style:none;
}

.menu li, footer li{
    font-size:1em;
    letter-spacing:1px;
    list-style:none;
}

.menu a, footer a{
    text-decoration:none;
    color:var(--text);
    display:inline-block;
    transition: transform 0.25s ease, color 0.25s ease;
}

.menu a:hover, footer a:hover{
    transform: scale(1.1);
    color: var(--gold);
}

.btn{
    padding:10px 22px;
    border:1px solid var(--gold);
    border-radius:30px;
    background:transparent;
    color:var(--text);
    cursor:pointer;
    transition:.3s;
    font-family: "Libre Franklin", sans-serif;
}

.btn:hover{
    background:var(--gold);
    color:white;
}

a.btn {
    text-decoration: none;
}



/* =========================
   BURGER
========================= */

nav{
	display:none;
}

/* =========================
   HERO
========================= */

.hero{
    background-size: cover;         
    background-position: center; 
    background-repeat: no-repeat; 
    
    text-align:center;
    padding:120px 20px;
    position:relative;
    color:white; 
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(233, 227, 218, 0.65);
}

.hero p,
.hero button{
    position:relative;
    z-index:1;
}


.hero p{
    font-family:"Public Sans", sans-serif;
    font-size:28px;
    color:var(--text);
    max-width:900px;
    margin:auto;
	padding: 20px 0;
}

/* =========================
   ACCOMPAGNEMENT
========================= */
.accompagnement{
    background:var(--white);
}

.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.image-placeholder{
    background:var(--beige);
    height:400px;
    border-radius:6px;
}

.image-placeholder{
    background-size: cover;         
    background-position: center; 
    background-repeat: no-repeat; 
    
    text-align:center;
    padding:120px 20px;
    position:relative;
    color:white; 
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(233, 227, 218, 0.65);
}

.accompagnement h2{
    margin-bottom:20px;
}

.accompagnement p{
    margin-bottom:15px;
}

.highlight{
    font-weight:600;
    margin-top:20px;
}

/* =========================
   MES ACCOMPAGNEMENTS
========================= */
.outils{
    background:var(--beige);
    text-align:center;
}

.outils-grid{
    margin-top:50px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:40px;
}
.card,.service-card {
    padding: 20px;
    display: block;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.card:hover, .service-card:hover {
    transform: scale(1.05) translateY(-5px) !important; 
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    z-index: 2;
}



.icon-placeholder{
    width:200px;
    height:200px;
    background-size: cover;         
    background-position: center; 
    background-repeat: no-repeat; 

    margin:auto;
    border-radius:50%;
    border:1px solid var(--gold);
    margin-bottom:20px;
    
}

.icon-placeholder::before{
    content:"";
    inset:0;
    background:rgba(233, 227, 218, 0.65);
}

.card h3{
    margin-bottom:10px;
}

.card a{
    display:inline-block;
    margin-top:10px;
    font-size:14px;
    color:var(--gold);
}

/* =========================
   SERVICES
========================= */
.services,.category{
    background:var(--white);
    text-align:center;
}

.services-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.service-card {
    padding: 30px;
    border: 1px solid var(--beige-dark);
    border-radius: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative; 
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: calc(33.333% - 20px);
    box-sizing: border-box;
}

.service-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}

.service-card .btn {
    align-self: center; 
    margin-top: auto;  
}

.service-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: calc(33.333% - 20px);
    box-sizing: border-box;
}

.service-card .btn {
    align-self: center; 
    margin-top: auto;  
}

.service-icon{
	position:relative;
    height:150px;
    background-size: cover;         
    background-position: center; 
    background-repeat: no-repeat; 

    margin-bottom:20px;
    border-radius:6px;
}

.service-icon::before{
    content:"";
    inset:0;
    background:rgba(233, 227, 218, 0.65);
}


.service-icon .service-subtitle {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: rgba(255, 255, 255, 0.85);
    color: #000;
    padding: 4px 8px;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 4px;
    white-space: nowrap;
}

/* =========================
   PARCOURS
========================= */
.parcours{
    background:var(--beige);
}

.parcours .grid-2{
    align-items:flex-start;
}

.portrait-placeholder{
    height:350px;
    border-radius:6px;
    background-size: cover;         
    background-position: center; 
    background-repeat: no-repeat; 
}

.portrait-placeholder::before{
    content:"";
    inset:0;
    background:rgba(233, 227, 218, 0.65);
}

.parcours h2{
    font-size:34px;
    margin-bottom:20px;
}

/* =========================
   NEWSLETTER
========================= */
.newsletter{
    background:var(--white);
    text-align:center;
}

.newsletter form{
    margin-top:30px;
    display:flex;
    justify-content:center;
    gap:20px;
}

.newsletter input{
    padding:12px;
    width:250px;
    border:none;
    border-bottom:1px solid var(--beige-dark);
    background:transparent;
}


/* =========================
   AVIS
========================= */
.avis{
    background:var(--beige);
	text-align: center;
}


/* =========================
   FOOTER
========================= */
footer{
    background:#e3ddd4;
    padding-top: 60px;
	font-size:.9em;
	text-align:center;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
}

.footer-bottom{
    text-align:center;
    margin-top:40px;
    background: var(--white);
    padding: 20px;
	border-top: 1px solid var(--beige-dark);
}


/* =========================
   RESPONSIVE
========================= */
@media(max-width:1200px){
	.outils-grid{
		margin-top:50px;
		display:grid;
		grid-template-columns:repeat(2,1fr);
		gap:40px;
	}
}
@media(max-width:900px){
    .grid-2,
    .outils-grid,
    .services-grid,
    .footer-grid{
        grid-template-columns:1fr;
    }

    .menu{
        display:none;
    }
	
	.logo img {
		width: 70px;
	}

    .service-card {
        flex: 1 1 calc(50% - 20px);
    }
	
nav{
  display: block;
  float: right;
  width: auto;
  height: auto;
  position: relative;
  z-index: 9;
  border-radius: 50px;
  transition: all .5s;
  -webkit-transition: all .5s;
  padding-top: 20px;
}

nav:hover {
  cursor: pointer;
}

#menuToggle {
  display: block;
  position: relative;
  z-index: 9999;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#menuToggle input[type="checkbox"] {
  display: block;
  position: absolute;
  cursor: pointer;
  width: 30px;
  height: 30px;
  opacity: 0;
  z-index: 2;
  color: #73ab73;
}

#menuToggle span {
  display: block;
  width: 38px;
  height: 2px;
  margin-bottom: 9px;
  position: relative;
  background: var(--gold);
  border-radius: 2px;
  z-index: 1;
  -webkit-transform-origin: 4px 0px;
  transform-origin: 4px 0px;
  transition: background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
    opacity 0.55s ease,
    -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
    background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
    opacity 0.55s ease;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
    background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
    opacity 0.55s ease,
    -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
}

#menuToggle span:first-child {
  -webkit-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
}

#menuToggle span:nth-last-child(2) {
  -webkit-transform-origin: 0% 100%;
  transform-origin: 0% 100%;
}

#menuToggle input:checked~span {
  opacity: 1;
  -webkit-transform: rotate(45deg) translate(-1px, -1px);
  transform: rotate(45deg) translate(-1px, -1px);
  background: #ffff;
}

#menuToggle input:checked~span:nth-last-child(3) {
  opacity: 0;
  -webkit-transform: rotate(0deg) scale(0.2, 0.2);
  transform: rotate(0deg) scale(0.2, 0.2);
}

#menuToggle input:checked~span:nth-last-child(2) {
  -webkit-transform: rotate(-45deg) translate(1px, 1px);
  transform: rotate(-45deg) translate(1px, 1px);
}

#menu {
  position: fixed;
  width: 50vw;
  height: 100vh;
  overflow-y: auto;
  padding-left: 0;
  background-color: var(--taupe);
  list-style-type: none;
  -webkit-font-smoothing: antialiased;
  -webkit-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
  -webkit-transform: translate(100%, 0);
  transform: translate(100%, 0);
  transition: -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0), -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
  top: 0;
  right: 0;
}


#menuToggle input:checked~section {
  -webkit-transform: none;
  transform: none;
}
	
/* =========================
   NAV ITEM
========================= */
.section-nav {
  border-top: none;
}

.section-nav {
    width: 90%;
    margin: 10px auto;
	padding: 125px 0 0 15px;
    text-align: center;
}

.section-nav li {
  display: block !important;
  margin: 0;
  margin-block-start: 0em;
  margin-block-end: .7em;
  font-size: 1.5em;
  transition: opacity .25s ease-in-out;
	padding: 0;
}

.section-nav li a {
  color: #fff!important;
  text-decoration:none;
}

.section-nav li a:hover {
  color: #c8c8c8;
}

.section-nav:hover li {
  opacity: 0.25;
}

.section-nav:hover li:hover {
  opacity: 1;
  color:#fff;
}

}


@media (max-width: 600px) {
    .service-card {
        flex: 1 1 100%; 
    }
}