/* =========================================================
   pages.css — MW Inácio (Clean Layout Final Version)
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap');

html, body{
  height:100%;
  scroll-behavior:smooth;
}

body{
  margin:0;
  color:#f5f5f7;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background:
    radial-gradient(circle at 50% 0%, #1a1a1a 0%, #050505 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Container ---------- */

.wrap{
  width:min(980px, 92%);
  margin:0 auto;
}

.ptwrap{
  min-height:100vh;
  padding:40px 0 80px;
}

.ptwrap *{ box-sizing:border-box; }
.ptwrap img{ max-width:100%; display:block; }
.ptwrap a{ color:inherit; text-decoration:none; }

/* =========================================================
   HERO (SEM CAIXA)
========================================================= */

.pt-hero{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:26px;
  align-items:center;
}

.pt-hero__photo{
  width:160px;
  height:160px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.10);
}

.pt-hero__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.pt-hero__name{
  font-size:14px;
  font-weight:600;
  letter-spacing:0.30em;
  text-transform:uppercase;
  color:#e5c07b;
}

.pt-hero__line{
  width:40px;
  height:2px;
  margin:12px 0 16px;
  background:#e5c07b;
  opacity:.55;
}

.pt-hero__text{
  font-size:16px;
  line-height:1.8;
  color:rgba(255,255,255,0.85);
  font-weight:300;
  max-width:60ch;
}

/* =========================================================
   NOTA DO AUTOR (SEM CAIXA)
========================================================= */

.pt-note{
  margin-top:22px;
}

.pt-note__kicker{
  color:#e5c07b;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
}

.pt-note__text{
  margin:10px 0 0;
  font-size:15px;
  line-height:1.75;
  color:rgba(255,255,255,.78);
  max-width:72ch;
}

/* =========================================================
   LISTA DE LIVROS (ÚNICA PARTE EM CAIXA)
========================================================= */

.pt-list{
  margin-top:34px;
  display:flex;
  flex-direction:column;
  gap:26px;
}

.pt-card{
  padding:32px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,0.06);
  background:rgba(255,255,255,0.02);
  backdrop-filter:blur(10px);
  transition:all .35s ease;
}

.pt-card:hover{
  transform:translateY(-4px);
  border-color:rgba(229,192,123,0.28);
  background:rgba(255,255,255,0.04);
  box-shadow:0 24px 55px rgba(0,0,0,0.55);
}

.pt-card__grid{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:32px;
}

.pt-card__cover{
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 15px 35px rgba(0,0,0,0.60);
}

.pt-card__title{
  margin:0 0 12px;
  font-size:24px;
  font-weight:600;
  color:#fff;
}

.pt-card__blurb{
  margin:0 0 18px;
  color:rgba(255,255,255,0.72);
  font-size:15px;
  line-height:1.7;
  max-width:78ch;
}

/* ---------- Colunas ---------- */

.pt-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.pt-col{
  padding:18px;
  border-radius:20px;
  background:rgba(0,0,0,0.18);
  border:1px solid rgba(255,255,255,0.05);
}

.pt-card__meta{
  color:rgba(255,255,255,0.55);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin:0 0 10px;
}

.pt-card__meta2{
  font-size:13px;
  color:rgba(255,255,255,0.62);
  margin:0 0 12px;
}

/* =========================================================
   BANDEIRAS (SEM CAIXA)
========================================================= */

.pt-flags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.pt-flagbtn{
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
  transition:transform .15s ease, filter .15s ease;
}

.pt-flagbtn img{
  width:30px;
  height:20px;
  border-radius:4px;
  object-fit:cover;
  filter:saturate(.95);
}

.pt-flagbtn:hover{
  transform:translateY(-2px);
}

.pt-flagbtn:hover img{
  filter:saturate(1.1);
}

/* =========================================================
   FORM (INTERNO DOS LIVROS)
========================================================= */

.pt-order{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,0.10);
}

.pt-form{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.pt-form__row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.pt-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:13px;
  color:rgba(255,255,255,0.82);
}

.pt-form input,
.pt-form textarea{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.10);
  padding:14px;
  color:#fff;
  font-family:inherit;
  font-size:14px;
  border-radius:14px;
  outline:none;
  transition:all .25s ease;
}

.pt-form input:focus,
.pt-form textarea:focus{
  border-color:#e5c07b;
  box-shadow:0 0 0 4px rgba(229,192,123,0.10);
}

/* Botão */

.pt-btn{
  background:#e5c07b;
  color:#1a1a1a;
  font-weight:600;
  border:0;
  border-radius:999px;
  padding:16px;
  letter-spacing:0.10em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .25s ease;
}

.pt-btn:hover{
  background:#f1d4a0;
  transform:translateY(-2px);
  box-shadow:0 12px 22px rgba(229,192,123,0.20);
}

/* =========================================================
   ALERTAS
========================================================= */

.pt-alert{
  margin:10px 0 14px;
  padding:12px 14px;
  border-radius:14px;
  font-weight:500;
  text-align:center;
}

.pt-alert--ok{
  background:rgba(80,200,120,0.10);
  color:#50c878;
}

.pt-alert--err{
  background:rgba(255,90,90,0.10);
  color:#ff7a7a;
}

/* =========================================================
   CONTATO (SEM CAIXA — FUNDO DO SITE)
========================================================= */

.pt-contact{
  margin-top:50px;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,0.08);
  background:transparent;
}

.pt-contact__title{
  color:#e5c07b;
  font-size:13px;
  letter-spacing:0.20em;
  text-transform:uppercase;
  margin:0 0 18px;
}

/* Remove qualquer estilo de card do form no contato */

.pt-contact .pt-form{
  background:transparent;
  padding:0;
  border:0;
}

/* =========================================================
   FOOTER
========================================================= */

.pt-footer{
  margin-top:60px;
  opacity:0.45;
  font-weight:300;
  text-align:center;
  font-size:12px;
  letter-spacing:0.10em;
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 768px){

  .pt-hero{
    grid-template-columns:1fr;
    text-align:center;
  }

  .pt-hero__photo{
    margin:0 auto;
    width:140px;
    height:140px;
  }

  .pt-hero__line{
    margin:12px auto 16px;
  }

  .pt-card{
    padding:22px;
    text-align:center;
  }

  .pt-card__grid{
    grid-template-columns:1fr;
    gap:22px;
  }

  .pt-card__cover{
    width:170px;
    margin:0 auto;
  }

  .pt-cols{
    grid-template-columns:1fr;
  }

  .pt-form__row{
    grid-template-columns:1fr;
  }

  .pt-flags{
    justify-content:center;
  }
}
/* =========================================================
   FIX: Honeypot (pt-hp) NUNCA pode aparecer
========================================================= */
.pt-hp,
.pt-form .pt-hp,
.pt-form input.pt-hp,
.pt-form textarea.pt-hp{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  width:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
}
