/*
Theme Name: Muriel Trentin
Version: 3.0
*/

/* =====================================================
   RESET
===================================================== */

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    margin:0;

    background:#F7F4EF;

    color:#49433F;

    font-family:"Manrope",sans-serif;

    font-size:16px;

    line-height:1.8;

    -webkit-font-smoothing:antialiased;

}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

button{

    font:inherit;

}

/* =====================================================
   CORES
===================================================== */

:root{

    --background:#F7F4EF;

    --surface:#FCFAF8;

    --line:#E7DDD2;

    --accent:#9E8471;

    --accent-hover:#876D5B;

    --text:#433D39;

    --text-light:#857C76;

    --radius:8px;

    --container:1180px;

}

/* =====================================================
   TIPOGRAFIA
===================================================== */

h1,
h2,
h3{

    margin:0;

    font-family:"Newsreader",serif;

    font-weight:400;

    color:var(--text);

}

h1{

    font-size:clamp(3rem,5vw,4.6rem);

    line-height:1.05;

    letter-spacing:-.03em;

}

h2{

    font-size:clamp(2rem,3vw,3rem);

    line-height:1.15;

}

h3{

    font-size:1.35rem;

}

p{

    margin:0 0 18px;

    color:var(--text-light);

}

.eyebrow{

    display:inline-block;

    margin-bottom:18px;

    font-size:.72rem;

    letter-spacing:.30em;

    text-transform:uppercase;

    color:#AA9D91;

}

/* =====================================================
   LAYOUT
===================================================== */

.container{

    width:min(var(--container),92%);

    margin:auto;

}

.narrow{

    max-width:720px;

}

.section{

    padding:110px 0;

}

/* =====================================================
   BOTÕES
===================================================== */

.button-primary,
.wa-link.primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    background:var(--accent);

    color:#fff;

    border-radius:6px;

    border:none;

    font-size:.80rem;

    letter-spacing:.16em;

    text-transform:uppercase;

    transition:.35s;

}

.button-primary:hover,
.wa-link.primary:hover{

    background:var(--accent-hover);

    transform:translateY(-2px);

}

.button-secondary,
.wa-link.secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 30px;

    border:1px solid var(--line);

    border-radius:6px;

    background:#fff;

    transition:.35s;

}

.button-secondary:hover,
.wa-link.secondary:hover{

    background:#F3ECE5;

}

/* =====================================================
   ÍCONES
===================================================== */

.icon{

    width:18px;

    height:18px;

    margin-right:8px;

    opacity:.7;

    vertical-align:middle;

}

/* =====================================================
   HEADER
===================================================== */

.site-header{

    position:sticky;

    top:0;

    z-index:999;

    background:rgba(247,244,239,.92);

    backdrop-filter:blur(12px);

    border-bottom:1px solid rgba(158,132,113,.08);

    transition:.35s;

}

.site-header.scrolled{

    box-shadow:0 10px 30px rgba(0,0,0,.04);

}

.header-inner{

    display:flex;

    justify-content:space-between;

    align-items:center;

    min-height:82px;

}

/* =====================================================
   LOGO
===================================================== */

.logo{

    font-family:"Newsreader",serif;

    font-size:1.9rem;

    letter-spacing:.02em;

    color:var(--text);

    display:flex;

    align-items:center;

    gap:12px;

    white-space:nowrap;

}

.logo::before{

    content:"✦";

    font-size:.75rem;

    color:var(--accent);

    opacity:.75;

}

/* =====================================================
   MENU
===================================================== */

.main-nav{

    display:flex;

    align-items:center;

    gap:36px;

}

.main-nav a{

    font-size:.83rem;

    letter-spacing:.14em;

    text-transform:uppercase;

    color:#746B65;

    transition:.30s;

    position:relative;

}

.main-nav a:not(.button-primary)::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:1px;

    background:var(--accent);

    transition:.30s;

}

.main-nav a:hover{

    color:var(--text);

}

.main-nav a:hover::after{

    width:100%;

}

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

.intro{

    padding:110px 0 90px;

    text-align:center;

    position:relative;

}

.intro::after{

    content:"";

    width:90px;

    height:1px;

    background:var(--line);

    display:block;

    margin:70px auto 0;

}

.hero{

    max-width:760px;

    margin:auto;

}

.hero h1{

    margin-bottom:28px;

}

.hero .lead{

    font-size:1.05rem;

    line-height:1.9;

    max-width:620px;

    margin:0 auto 40px;

}

.hero .button-primary{

    min-width:220px;

}

/* =====================================================
   PEQUENOS DETALHES
===================================================== */

.hero .eyebrow::before{

    content:"✦ ";

    color:var(--accent);

}

.section-header{

    text-align:center;

    margin-bottom:70px;

}

.section-header h2{

    margin-top:10px;

}

.section-header::after{

    content:"";

    width:55px;

    height:1px;

    background:var(--line);

    display:block;

    margin:28px auto 0;

}

/* =====================================================
   TRATAMIENTOS
===================================================== */

.services{

    padding:110px 0;

}

.services .container{

    max-width:1240px;

}

.grid{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:34px;

    margin-bottom:90px;

}

/* =====================================================
   CARD
===================================================== */

.card{

    position:relative;

    background:#FCFAF8;

    border:1px solid #E8DDD3;

    border-radius:8px;

    padding:42px;

    transition:.35s ease;

    overflow:hidden;

}

.card:hover{

    transform:translateY(-4px);

    border-color:#D8C8BB;

    box-shadow:0 20px 40px rgba(0,0,0,.04);

}

/* linha decorativa */

.card::before{

    content:"";

    position:absolute;

    left:42px;

    top:0;

    width:42px;

    height:2px;

    background:var(--accent);

    opacity:.45;

}

/* =====================================================
   TOPO
===================================================== */

.card-top{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:25px;

    margin-bottom:24px;

}

.card h3{

    font-size:1.45rem;

    line-height:1.25;

    margin:0;

}

/* =====================================================
   DURAÇÃO
===================================================== */

.time{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:.82rem;

    letter-spacing:.10em;

    text-transform:uppercase;

    color:#8D8178;

    white-space:nowrap;

}

.time::before{

    content:"◌";

    font-size:14px;

    color:var(--accent);

}

/* =====================================================
   DESCRIÇÃO
===================================================== */

.description{

    color:#766F69;

    line-height:1.85;

    font-size:.96rem;

    margin-bottom:30px;

}

/* =====================================================
   PREÇO
===================================================== */

.price{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:1.08rem;

    color:var(--accent);

    font-weight:600;

}

.price::before{

    content:"✦";

    font-size:.70rem;

}

/* =====================================================
   ALTERNÂNCIA DAS SEÇÕES
===================================================== */

.services .section-header{

    margin-bottom:55px;

}

.services .section-header p{

    max-width:560px;

    margin:18px auto 0;

}

/* =====================================================
   MOBILE
===================================================== */

@media(max-width:900px){

.grid{

grid-template-columns:1fr;

gap:26px;

}

.card{

padding:32px;

}

.card-top{

flex-direction:column;

gap:14px;

}

.time{

margin-top:4px;

}

}

/* =====================================================
   EXPERIENCIAS
===================================================== */

.experiences{

    padding:130px 0;

    position:relative;

    background:#F3EEE8;

    text-align:center;

}

.experiences::before{

    content:"";

    position:absolute;

    top:0;

    left:50%;

    transform:translateX(-50%);

    width:1px;

    height:70px;

    background:#DCCFC3;

}

.experiences .narrow{

    max-width:760px;

}

.experiences h2{

    margin-bottom:26px;

}

.experiences p{

    max-width:640px;

    margin:0 auto 22px;

    line-height:1.9;

}

.experiences .button-primary{

    margin-top:24px;

}

/* =====================================================
   FOOTER
===================================================== */

.site-footer{

    background:#F8F5F1;

    border-top:1px solid #E5DBD1;

}

.footer-inner{

    padding:70px 0;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:50px;

}

.footer-brand{

    display:flex;

    flex-direction:column;

    gap:10px;

}

.footer-name{

    font-family:"Newsreader",serif;

    font-size:2rem;

    margin:0;

    color:var(--text);

}

.footer-copy{

    margin:0;

    color:var(--text-light);

    font-size:.95rem;

}

.footer-social{

    display:flex;

    gap:18px;

}

.footer-social a{

    width:48px;

    height:48px;

    border:1px solid #DDD2C7;

    border-radius:8px;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

    color:#7F736A;

}

.footer-social a:hover{

    background:var(--accent);

    border-color:var(--accent);

    color:#fff;

    transform:translateY(-2px);

}

/* =====================================================
   DETALHES EDITORIAIS
===================================================== */

.section-header .eyebrow::before{

    content:"✦ ";

    color:var(--accent);

}

.card h3::after{

    content:"";

    display:block;

    width:32px;

    height:1px;

    background:#DDD1C6;

    margin-top:14px;

}

.price{

    padding-top:16px;

    border-top:1px solid #EFE6DE;

}

.description{

    min-height:110px;

}

/* =====================================================
   MOBILE
===================================================== */

@media(max-width:900px){

.header-inner{

    flex-direction:column;

    gap:20px;

    padding:20px 0;

}

.logo{

    font-size:1.65rem;

}

.main-nav{

    flex-wrap:wrap;

    justify-content:center;

    gap:20px;

}

.main-nav a{

    font-size:.74rem;

    letter-spacing:.14em;

}

.intro{

    padding:70px 0;

}

.hero h1{

    font-size:2.6rem;

}

.hero .lead{

    font-size:1rem;

}

.section{

    padding:80px 0;

}

.footer-inner{

    flex-direction:column;

    text-align:center;

}

.footer-social{

    justify-content:center;

}

.description{

    min-height:auto;

}

}

@media(max-width:640px){

.container{

    width:92%;

}

.card{

    padding:26px;

}

.card h3{

    font-size:1.25rem;

}

.button-primary,
.button-secondary,
.wa-link.primary,
.wa-link.secondary{

    width:100%;

}

.footer-name{

    font-size:1.6rem;

}

}

/* =====================================================
   ACABAMENTO
===================================================== */

html{

scroll-padding-top:90px;

}

::selection{

background:#D8C8BB;

color:#fff;

}

body{

overflow-x:hidden;

}

/* =====================================================
   LINKS
===================================================== */

a{

transition:.30s ease;

}

a:hover{

color:var(--accent);

}

/* =====================================================
   ANIMAÇÕES
===================================================== */

.card,
.button-primary,
.button-secondary,
.site-header,
.footer-social a{

transition:all .35s ease;

}

.card:hover{

transform:translateY(-5px);

}

.button-primary:hover{

transform:translateY(-2px);

}

.footer-social a:hover{

transform:translateY(-3px);

}

/* =====================================================
   ESPAÇAMENTOS
===================================================== */

.services .section-header{

margin-bottom:65px;

}

.experiences .button-primary{

margin-top:35px;

}

.card:last-child{

margin-bottom:0;

}

.card p:last-child{

margin-bottom:0;

}

/* =====================================================
   SEPARADORES
===================================================== */

.section+.section{

border-top:1px solid rgba(0,0,0,.04);

}

/* =====================================================
   SCROLLBAR
===================================================== */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#F4F0EB;

}

::-webkit-scrollbar-thumb{

background:#CDB8A8;

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:#B69C89;

}

/* =====================================================
   INPUTS (para futuro formulário)
===================================================== */

input,
textarea,
select{

width:100%;

padding:15px 18px;

border:1px solid #DDD3CA;

background:#fff;

border-radius:6px;

font-family:inherit;

font-size:15px;

color:var(--text);

outline:none;

transition:.30s;

}

input:focus,
textarea:focus,
select:focus{

border-color:var(--accent);

}

/* =====================================================
   PEQUENOS DETALHES
===================================================== */

.card h3{

position:relative;

}

.card h3::before{

content:"✦";

position:absolute;

left:-18px;

top:3px;

font-size:8px;

color:var(--accent);

opacity:.55;

}

.footer-name::after{

content:".";

color:var(--accent);

}

.logo{

font-weight:400;

}

.hero{

position:relative;

}

.hero::before{

content:"";

position:absolute;

top:-45px;

left:50%;

transform:translateX(-50%);

width:42px;

height:42px;

border:1px solid rgba(158,132,113,.22);

border-radius:50%;

}

.hero::after{

content:"";

position:absolute;

top:-24px;

left:50%;

transform:translateX(-50%);

width:6px;

height:6px;

background:var(--accent);

border-radius:50%;

}

/* =====================================================
   MOBILE FINAL
===================================================== */

@media(max-width:768px){

body{

font-size:15px;

}

.container{

width:92%;

}

.section{

padding:70px 0;

}

.hero h1{

font-size:2.3rem;

line-height:1.12;

}

h2{

font-size:2rem;

}

.card{

padding:24px;

}

.card h3::before{

display:none;

}

.footer-inner{

padding:55px 0;

}

.logo{

font-size:1.5rem;

}

.hero::before,
.hero::after{

display:none;

}

}