﻿:root{
  --bg:#f7f1eb;
  --bg-soft:#fcf8f4;
  --card:#fffaf6;
  --card-white:#ffffff;
  --text:#3d3028;
  --muted:#7b6a60;
  --line:#eaded4;
  --primary:#d9877d;
  --primary-dark:#c46d63;
  --accent:#b98c74;
  --shadow:0 18px 50px rgba(92,63,45,.10);
  --radius:24px;
}

body{
  background:
    radial-gradient(circle at top left, rgba(217,135,125,.10), transparent 25%),
    radial-gradient(circle at top right, rgba(185,140,116,.10), transparent 24%),
    linear-gradient(180deg, #faf5f0 0%, #f7f1eb 100%) !important;
  color:var(--text) !important;
  font-family:Inter, Segoe UI, Arial, sans-serif !important;
}

.card,
.form-card,
.login-card,
.container-card,
.auth-card,
.dashboard-card,
.course-card,
.module-card,
section,
main > div{
  border-color:var(--line) !important;
}

input,
select,
textarea{
  background:#fffaf6 !important;
  border:1px solid var(--line) !important;
  color:var(--text) !important;
  border-radius:14px !important;
}

input::placeholder,
textarea::placeholder{
  color:#a9958b !important;
}

button,
.btn,
.primary-btn,
.submit-btn,
a.button{
  background:linear-gradient(135deg, var(--primary), #e5a193) !important;
  color:#fff !important;
  border:none !important;
  border-radius:16px !important;
  box-shadow:0 14px 30px rgba(217,135,125,.25) !important;
  font-weight:800 !important;
}

button:hover,
.btn:hover,
.primary-btn:hover,
.submit-btn:hover,
a.button:hover{
  transform:translateY(-2px);
}

h1,h2,h3,label,strong{
  color:#433127 !important;
}

p,span,small{
  color:inherit;
}

.promo-countdown{
  width:min(1120px, calc(100% - 32px));
  margin:22px auto 0;
  padding:18px 22px;
  border-radius:22px;
  background:linear-gradient(135deg, #fff4ef 0%, #ffffff 100%);
  border:1px solid #efd8cf;
  box-shadow:0 18px 50px rgba(92,63,45,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.promo-countdown__text{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.promo-countdown__text strong{
  font-size:18px;
  color:#433127 !important;
}

.promo-countdown__text span{
  color:#7b6a60 !important;
  font-size:14px;
}

.promo-countdown__timer{
  display:flex;
  gap:10px;
  align-items:center;
}

.promo-countdown__box{
  min-width:70px;
  padding:10px 12px;
  border-radius:16px;
  background:#fffaf6;
  border:1px solid #eaded4;
  text-align:center;
}

.promo-countdown__box strong{
  display:block;
  font-size:24px;
  line-height:1;
  color:#c46d63 !important;
}

.promo-countdown__box span{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:#7b6a60 !important;
  text-transform:uppercase;
  letter-spacing:.4px;
}

@media(max-width:760px){
  .promo-countdown{
    align-items:flex-start;
  }

  .promo-countdown__timer{
    width:100%;
    justify-content:space-between;
  }

  .promo-countdown__box{
    min-width:0;
    flex:1;
  }
}

.old-price{
  display:inline-block;
  margin-bottom:10px;
  color:#a9958b !important;
  font-size:18px;
  font-weight:700;
  text-decoration:line-through;
}

.price strong{
  color:#c46d63 !important;
}

.price-offer{
  margin:24px 0 18px;
}

.old-price{
  display:block;
  color:#a9958b !important;
  font-size:20px;
  font-weight:800;
  text-decoration:line-through;
  margin-bottom:4px;
}

.new-price{
  display:block;
  color:#c96f65 !important;
  font-size:58px;
  line-height:1;
  font-weight:900;
  letter-spacing:-2px;
}

.price-subtitle{
  margin-top:8px;
  color:#7b6a60 !important;
  font-size:16px;
  font-weight:600;
}

.offer-countdown{
  margin:22px 0 22px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(135deg, #fff4ef 0%, #ffffff 100%);
  border:1px solid #efd8cf;
  box-shadow:0 14px 35px rgba(92,63,45,.08);
}

.offer-countdown-text{
  margin-bottom:14px;
}

.offer-countdown-text strong{
  display:block;
  color:#433127 !important;
  font-size:17px;
}

.offer-countdown-text span{
  color:#7b6a60 !important;
  font-size:14px;
}

.offer-countdown-timer{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
}

.offer-time-box{
  background:#fffaf6;
  border:1px solid #eaded4;
  border-radius:16px;
  padding:10px;
  text-align:center;
}

.offer-time-box strong{
  display:block;
  color:#c46d63 !important;
  font-size:24px;
  line-height:1;
}

.offer-time-box span{
  display:block;
  margin-top:4px;
  color:#7b6a60 !important;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.4px;
}

@media(max-width:760px){
  .new-price{
    font-size:44px;
  }

  .offer-countdown-timer{
    grid-template-columns:repeat(2, 1fr);
  }
}

/* Ajuste do título principal da home */
.hero h1{
  font-size: clamp(34px, 4.2vw, 54px) !important;
  line-height: 1.08 !important;
  letter-spacing: -1.2px !important;
  max-width: 760px !important;
}

/* Ajuste para telas menores */
@media(max-width:760px){
  .hero h1{
    font-size: 34px !important;
    line-height: 1.12 !important;
  }
}

/* Blog editorial */
.blog-section{
  background:
    radial-gradient(circle at top left, rgba(217,135,125,.08), transparent 28%),
    linear-gradient(180deg, rgba(255,250,246,.7), rgba(247,241,235,.25));
}

.blog-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
}

.blog-card{
  background:rgba(255,255,255,.9);
  border:1px solid #eaded4;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 50px rgba(92,63,45,.10);
}

.blog-feature{
  grid-row:span 3;
}

.blog-image{
  background:#fff4ef;
  overflow:hidden;
}

.blog-card img{
  width:100%;
  height:250px;
  object-fit:cover;
  display:block;
}

.blog-feature img{
  height:440px;
}

.blog-content{
  padding:24px;
}

.blog-label{
  display:inline-flex;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff4ef;
  border:1px solid #efd8cf;
  color:#c46d63 !important;
  font-size:12px;
  font-weight:900;
  letter-spacing:.4px;
}

.blog-content h3{
  margin:0 0 10px;
  color:#433127 !important;
  font-size:26px;
  line-height:1.1;
  letter-spacing:-.5px;
}

.blog-feature .blog-content h3{
  font-size:34px;
}

.blog-content p{
  margin:0;
  color:#7b6a60 !important;
  font-size:16px;
}

.blog-content ul{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

.blog-content li{
  position:relative;
  padding-left:22px;
  color:#5b4a41;
}

.blog-content li::before{
  content:"•";
  position:absolute;
  left:6px;
  color:#d9877d;
  font-weight:900;
}

@media(max-width:1000px){
  .blog-grid{
    grid-template-columns:1fr;
  }

  .blog-feature{
    grid-row:auto;
  }

  .blog-feature img,
  .blog-card img{
    height:280px;
  }

  .blog-feature .blog-content h3{
    font-size:28px;
  }
}

/* Figurinhas alegres espalhadas pela página */
.sticker-zone{
  position:relative !important;
  overflow:hidden;
}

.floating-sticker{
  position:absolute;
  z-index:3;
  width:150px;
  height:150px;
  object-fit:cover;
  border-radius:26px;
  border:6px solid rgba(255,255,255,.88);
  box-shadow:0 20px 45px rgba(92,63,45,.18);
  transform:rotate(-5deg);
  background:#fff;
  pointer-events:none;
}

.sticker-hero-social{
  top:105px;
  left:32px;
  width:135px;
  height:135px;
  transform:rotate(-8deg);
}

.sticker-hero-metrics{
  right:32px;
  bottom:72px;
  width:155px;
  height:185px;
  transform:rotate(6deg);
}

.sticker-trilha-content{
  right:28px;
  top:90px;
  width:145px;
  height:170px;
  transform:rotate(7deg);
}

.sticker-modulos-megafone{
  left:34px;
  top:72px;
  width:135px;
  height:135px;
  object-fit:contain;
  padding:12px;
  background:#fff;
  transform:rotate(-10deg);
}

/* Balõezinhos decorativos */
.sticker-zone::before{
  content:"";
  position:absolute;
  width:74px;
  height:74px;
  border-radius:999px;
  background:rgba(217,135,125,.13);
  right:9%;
  top:12%;
  z-index:0;
}

.sticker-zone::after{
  content:"";
  position:absolute;
  width:42px;
  height:42px;
  border-radius:999px;
  background:rgba(185,140,116,.12);
  left:8%;
  bottom:12%;
  z-index:0;
}

/* Garante que o conteúdo fique acima das figurinhas */
.sticker-zone > .container{
  position:relative;
  z-index:2;
}

@media(max-width:1000px){
  .floating-sticker{
    opacity:.22;
    filter:blur(.2px);
  }

  .sticker-hero-social{
    top:90px;
    left:10px;
  }

  .sticker-hero-metrics{
    right:10px;
    bottom:40px;
  }

  .sticker-trilha-content,
  .sticker-modulos-megafone{
    display:none;
  }
}

@media(max-width:760px){
  .floating-sticker{
    width:100px;
    height:100px;
    opacity:.18;
  }

  .sticker-hero-metrics{
    width:110px;
    height:130px;
  }
}


/* FLOATING IMAGE GALLERY START */

/* tira bolinhas decorativas antigas */
.sticker-zone::before,
.sticker-zone::after{
  display:none !important;
}

/* deixa as secoes prontas para receber imagens soltas */
.sticker-zone{
  position:relative !important;
  overflow:visible !important;
}

/* imagens decorativas */
.floating-sticker{
  position:absolute;
  z-index:4;
  display:block;
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  border-radius:22px !important;
  box-shadow:0 16px 38px rgba(92,63,45,.16);
  cursor:zoom-in;
  pointer-events:auto !important;
  transition:transform .25s ease, box-shadow .25s ease;
}

.floating-sticker:hover{
  box-shadow:0 22px 46px rgba(92,63,45,.22);
}

/* mais soltas e descontraidas */
.sticker-hero-social{
  top:-18px !important;
  left:-6px !important;
  width:120px !important;
  height:auto !important;
  transform:rotate(-9deg) !important;
}

.sticker-hero-social:hover{
  transform:rotate(-9deg) translateY(-4px) scale(1.03) !important;
}

.sticker-hero-metrics{
  top:22px !important;
  right:18px !important;
  width:132px !important;
  height:auto !important;
  transform:rotate(7deg) !important;
}

.sticker-hero-metrics:hover{
  transform:rotate(7deg) translateY(-4px) scale(1.03) !important;
}

.sticker-trilha-content{
  top:40px !important;
  right:-12px !important;
  width:124px !important;
  height:auto !important;
  transform:rotate(8deg) !important;
}

.sticker-trilha-content:hover{
  transform:rotate(8deg) translateY(-4px) scale(1.03) !important;
}

.sticker-modulos-megafone{
  top:24px !important;
  left:-14px !important;
  width:118px !important;
  height:auto !important;
  object-fit:contain !important;
  transform:rotate(-11deg) !important;
}

.sticker-modulos-megafone:hover{
  transform:rotate(-11deg) translateY(-4px) scale(1.03) !important;
}

/* lightbox */
.image-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}

.image-lightbox.is-open{
  display:block;
}

.image-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(38, 25, 20, .72);
  backdrop-filter:blur(4px);
}

.image-lightbox__panel{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}

.image-lightbox__stage{
  max-width:min(92vw, 1100px);
  max-height:82vh;
  overflow:auto;
  display:flex;
  align-items:center;
  justify-content:center;
}

.image-lightbox__img{
  max-width:92vw;
  max-height:82vh;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  transform-origin:center center;
  transition:transform .2s ease;
  background:#fff;
}

.image-lightbox__close{
  position:absolute;
  top:20px;
  right:24px;
  width:46px;
  height:46px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#433127;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.image-lightbox__toolbar{
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
  padding:10px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.image-lightbox__btn{
  min-width:54px;
  height:42px;
  padding:0 14px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg, #d9877d, #e5a193);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

@media(max-width:1000px){
  .sticker-hero-social{
    top:-8px !important;
    left:0 !important;
    width:90px !important;
  }

  .sticker-hero-metrics{
    top:0 !important;
    right:0 !important;
    width:100px !important;
  }

  .sticker-trilha-content,
  .sticker-modulos-megafone{
    width:92px !important;
  }
}

@media(max-width:760px){
  .sticker-trilha-content,
  .sticker-modulos-megafone{
    display:none !important;
  }

  .sticker-hero-social,
  .sticker-hero-metrics{
    opacity:.35;
  }

  .image-lightbox__toolbar{
    bottom:16px;
  }

  .image-lightbox__btn{
    min-width:46px;
    height:38px;
  }
}

/* FLOATING IMAGE GALLERY END */

/* ajuste fino das imagens soltas */
.sticker-hero-metrics{
  display:none !important;
}

/* figurinha da esquerda do topo */
.sticker-hero-social{
  left:28px !important;
  top:18px !important;
  width:108px !important;
  transform:rotate(-8deg) !important;
}

/* figurinha da trilha */
.sticker-trilha-content{
  right:34px !important;
  top:56px !important;
  width:118px !important;
  transform:rotate(6deg) !important;
}

/* figurinha do megafone */
.sticker-modulos-megafone{
  left:26px !important;
  top:46px !important;
  width:108px !important;
  transform:rotate(-8deg) !important;
}
