/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 1.0.0
*/

/* ============ FONTS ============ */
@font-face{
  font-family:'Inter';
  src:url('https://sarahmorgan.eu/wp-content/uploads/fonts/Inter-VariableFont_opsz,wght.ttf') format('truetype');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:'Playfair display';
  src:url('https://sarahmorgan.eu/wp-content/uploads/fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf') format('truetype');
  font-weight:400 900;
  font-style:italic;
  font-display:swap;
}



body{
  font-family:'Inter', sans-serif;
  color:#000002;
}
/* ============ HEADER ============ */
html body .site-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;

  background: #fff;
  padding-top: 50px !important;
  padding-right: 0 !important;
  padding-bottom: 30px !important;
  padding-left: 0 !important;
  min-height: 0 !important;
  transition: padding-top 320ms ease, box-shadow 320ms ease;
}

body.has-scroll .site-header{
  padding-top: 35px !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

body{
  padding-top: 124px;
}


/* ============ LOGO ============ */
/* Opcional: classe no widget do logo de texto -> "brand-logo" */
.brand-logo{
  color: #D61F4C;
  line-height: 1.05;
}
.brand-logo strong{
  font-weight: 700;
}

/* ============ MENU ============ */
/* O teu HTML já usa <nav class="sm-nav"> ... */
nav.sm-nav{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 19px;
}

/* força override ao reset do tema pai */
nav.sm-nav a:link,
nav.sm-nav a:visited,
nav.sm-nav a:active,
nav.sm-nav a:focus{
  color: #000002 !important;
  text-decoration: none !important;
  transition: color .2s ease;
}

nav.sm-nav a + a{
  margin-left: 40px;
}

nav.sm-nav a:hover,
nav.sm-nav a.is-active{
  color: #D61F4C !important;
}

/* ============ TYPO ESPECIAL ============ */
.playfair-italic{
  font-family: 'Playfair display', serif !important;
  font-style: italic !important;
}

/* ============ ANCHORS SINGLE PAGE ============ */
html{ scroll-behavior: smooth; }
section[id]{ scroll-margin-top: 130px; }

/* ============ RESPONSIVE ============ */
@media (max-width: 1178px){
  .site-header{
    padding: 30px 16px 20px 16px;
  }
  body{
    padding-top: 60px;
  }
  nav.sm-nav{
    font-size: 14px;
  }
  nav.sm-nav a + a{
    margin-left: 16px;
  }
}

/* estado inicial inclinado */
.say-halo img{
  transition: transform 260ms ease;
  display:block;
}

/* ao hover fica direito */
.say-halo:hover img{
  transform: rotate(-10deg);
}

.manifesto-bg{
  background-image: linear-gradient(to left, #d32741, #d92d47, #ea3e56, #ed4159, #ea3e56, #d92d47, #d32741);
}


.playfair-italic{
  font-family:'Playfair display', serif !important;
  font-style: italic !important;
}
.ref-slider{
  position: relative;
  max-width: 1300px;
  margin: 0 auto;
  text-align: center;
  padding: 0 60px;   /* espaço para as setas */
  box-sizing: border-box;
}
.ref-slide{ display: none; }
.ref-slide.is-active{ display: block; }

/* slide */
.ref-slider{ position: relative; }
.ref-slide{
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateX(-24px);
  transition: transform .35s ease, opacity .35s ease;
}
.ref-slide.is-active{
  position: relative;
  opacity: 1;
  transform: translateX(0);
}

.ref-quote-mark{ font-size:88px; line-height: 34px; font-family:'Playfair display'; color:#D61F4C; }
.ref-quote-title{ font-size:14px; color:#000;  letter-spacing:2px; margin-bottom:22px; }
.ref-quote-text{ font-family:'inter', serif; color:#000; font-weight:400; font-style:italic; font-size:18px; line-height:1.6; margin-bottom:22px; }
.ref-quote-author{ font-weight:700; font-size:18px; color:#000; margin-bottom:6px; }
.ref-quote-role{ font-size:14px; color:#000; margin-bottom:28px; }

.ref-quote-dots{ display:flex; gap:10px; justify-content:center; }
.ref-quote-dots button{
  width:8px; height:8px; border:1px solid #D61F4C; border-radius:50%;
  background:transparent; padding:0; cursor:pointer;
}
.ref-quote-dots button.is-active{ background:#D61F4C; }
/* fade */
.ref-slide{
  display:none;
}


@keyframes refFade{
  from{opacity:0; transform:translateY(6px);}
  to{opacity:1; transform:translateY(0);}
}

/* arrows */
.ref-slider{ position:relative; }
.ref-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  background:transparent !important;
  border:0 !important;
  cursor:pointer;
}

/* desenha a seta */
.ref-arrow::before{
  content:"";
  position:absolute;
  width:16px;
  height:16px;
  border-left:2px solid #000;
  border-bottom:2px solid #000;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) rotate(45deg);
}

/* seta direita */
.ref-arrow.next::before{
  transform:translate(-50%,-50%) rotate(-135deg);
}

.ref-arrow.prev{ left: -10px; }
.ref-arrow.next{ right: -10px; }
@media (max-width: 1024px){
    .ref-quote-text{ font-family:'inter', serif; color:#000; font-weight:400; font-style:italic; font-size:16px; line-height:1.4; margin-bottom:18px; }
.ref-quote-author{ font-weight:700; font-size:16px; color:#000; margin-bottom:6px; }
}
@media (max-width: 1024px){
  .ref-slider{ max-width: 800px; padding: 0 40px; }
  .ref-arrow.prev{ left: -10px; }
  .ref-arrow.next{ right: -10px; }
}

/* mobile */
@media (max-width: 640px){
  .ref-slider{ max-width: 390px; padding: 0 28px; }
  .ref-arrow.prev{ left: -10px; }
  .ref-arrow.next{ right: -10px; }
}
nav.sm-nav{
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
}

nav.sm-nav a{
  white-space: nowrap;
}
.ref-arrow:hover::before,
.ref-arrow:active::before,
.ref-arrow:focus::before{
  border-left-color: #000 !important;
  border-bottom-color: #000 !important;
  background:none !important;
}

/* ===== References Slider ===== */
.ref-slider{
  position: relative;
  max-width: 1300px;
  margin: 0 auto;
  text-align: center;
  padding: 0 60px;
  box-sizing: border-box;
}

.ref-slide{
  display: none;
}

.ref-slide.is-active{
  display: block;
}

/* animação por direção */
.ref-slider.dir-prev .ref-slide.is-active{
  animation: slideInLeft .35s ease;
}
.ref-slider.dir-next .ref-slide.is-active{
  animation: slideInRight .35s ease;
}

@keyframes slideInLeft{
  from{ opacity:0; transform:translateX(-24px); }
  to{ opacity:1; transform:translateX(0); }
}
@keyframes slideInRight{
  from{ opacity:0; transform:translateX(24px); }
  to{ opacity:1; transform:translateX(0); }
}

.ref-quote-mark{ font-size:88px; line-height:34px; font-family:'Playfair display'; color:#D61F4C; }
.ref-quote-title{ font-size:14px; color:#000; letter-spacing:2px; margin-bottom:22px; }
.ref-quote-text{ max-width: 650px; margin: 0 auto; font-family:'inter', serif; color:#000; font-weight:400; font-style:italic; font-size:18px; line-height:1.6; margin-bottom:22px; }
.ref-quote-author{ font-weight:700; font-size:18px; color:#000; margin-bottom:6px; }
.ref-quote-role{ font-size:14px; color:#000; margin-bottom:28px; }

.ref-quote-dots{ display:flex; gap:10px; justify-content:center; }
.ref-quote-dots button{
  width:8px; height:8px; border:1px solid #D61F4C; border-radius:50%;
  background:transparent; padding:0; cursor:pointer;
}
.ref-quote-dots button.is-active{ background:#D61F4C; }

/* arrows */
.ref-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  background:transparent !important;
  border:0 !important;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
}
.ref-arrow::before{
  content:"";
  position:absolute;
  width:16px;
  height:16px;
  border-left:2px solid #000;
  border-bottom:2px solid #000;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) rotate(45deg);
}
.ref-arrow.next::before{
  transform:translate(-50%,-50%) rotate(-135deg);
}
.ref-arrow.prev{ left:-10px; }
.ref-arrow.next{ right:-10px; }

.ref-arrow:hover::before,
.ref-arrow:active::before,
.ref-arrow:focus::before,
.ref-arrow:focus-visible::before{
  border-left-color:#000 !important;
  border-bottom-color:#000 !important;
}

/* responsive */
@media (max-width: 1024px){
  .ref-slider{ max-width: 800px; padding: 0 40px; }
  .ref-quote-text{ font-size:16px; line-height:1.4; margin-bottom:18px; }
  .ref-quote-author{ font-size:16px; }
}
@media (max-width: 640px){
  .ref-slider{ max-width: 390px; padding: 0 28px; }
}
