:root { --bg:#0f0f10; --fg:#eaeaea; --muted:#b5b5b5; --card:#17181a; --line:#26272b; }
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;line-height:1.6}
a{color:var(--fg);text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{margin:.2rem 0 .4rem 0}
.section{padding:48px 20px;max-width:1100px;margin:0 auto}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}

/* NAV */
.nav{position:sticky;top:0;z-index:1000;background:#fff;color:#111;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #e6e6e6}
.nav nav a{margin-left:28px;padding-bottom:6px;border-bottom:3px solid transparent;color:#111;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.nav nav a.active,.nav nav a:hover{border-color:#111}
.brand a{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.04em;font-size:28px;color:#111}
.nav-toggle{display:none}
.nav-btn{display:none;cursor:pointer;font-size:24px;color:#111}
@media (max-width:800px){
  .nav nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;padding:12px 24px;border-bottom:1px solid #e6e6e6}
  .nav-btn{display:block}
  .nav-toggle:checked ~ nav{display:block}
  .nav nav a{display:block;margin:12px 0}
}

/* HERO */
.hero{position:relative;height:68vh;min-height:420px;overflow:hidden;background:url('assets/hero.jpg') center/cover no-repeat}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,16,0.25),rgba(15,15,16,0.88))}
.hero-overlay{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 20px;z-index:2}
.hero h1{font-size:clamp(2rem,6vw,4rem);margin:0 0 8px 0}
.hero p{color:var(--muted);margin:0 0 18px 0}
.btn{display:inline-block;padding:12px 22px;border:1px solid var(--line);background:var(--card);border-radius:999px}

/* NEWS */
.news-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.news-grid{grid-template-columns:1fr}}
.news-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.news-card .ph{height:160px;background:linear-gradient(135deg,#1c1d20,#0f0f10)}
.news-card .body{padding:12px 14px}
.news-card h3{margin:0 0 6px 0}
.news-card time{font-size:.85rem;color:var(--muted)}

/* BOOKS */
.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-3{grid-template-columns:1fr}}
.book{display:grid;grid-template-columns:160px 1fr;gap:16px;background:var(--card);border:1px solid var(--line);padding:14px;border-radius:18px}
.book img{border-radius:12px}
@media(max-width:700px){.book{grid-template-columns:1fr}}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr}}
.contact-form label{display:block;margin-bottom:12px}
.contact-form input,.contact-form textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:#141517;color:var(--fg)}
.contact-form button{padding:12px 18px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--fg)}

/* FOOTER */
.footer{border-top:1px solid var(--line);padding:28px 20px;margin-top:40px;background:linear-gradient(180deg,#111,#0f0f10 40%)}
.tiny{max-width:1100px;margin:16px auto 0 auto;color:var(--muted);font-size:.8rem;text-align:center}

/* Books horizontal layout */
.books-row {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 10px;
}

.books-row::-webkit-scrollbar {
  height: 8px;
}
.books-row::-webkit-scrollbar-thumb {
  background: #444;
  border-radius: 4px;
}

.books-row .book {
  min-width: 340px;
  flex: 0 0 auto;
  scroll-snap-align: start;
}

/* --- hero con <img> para controlar el foco --- */
.hero { position: relative; height: 68vh; min-height: 420px; overflow: hidden; }
/* quitamos el background del hero anterior si quedó */
.hero { background: none; }

.hero-img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;          /* rellena sin deformar */
  object-position: 55% 20%;   /* <-- mueve el foco a tu rostro */
  z-index: 1;
}

/* mantenemos la capa oscura encima */
.hero::after{
  content:'';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,15,16,.25), rgba(15,15,16,.88));
  z-index: 2;
}

.hero-overlay{ position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:0 20px; z-index: 3; }

/* Ajuste fino en móviles (más “arriba” el foco) */
@media (max-width: 640px){
  .hero-img{ object-position: 55% 10%; }
}


/* === Cuadrícula para los libros === */
.books-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.book {
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.book:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
}

/* ======== SHOP (página clara tipo Shopify) ======== */
body.shop-light {
  background:#ffffff;
  color:#111;
}

.shop-wrap { max-width: 1100px; }
.shop-title {
  font-size: clamp(1.6rem, 3vw, 2rem);
  margin: 0 0 18px 0;
  color:#111;
}

.shop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
@media (max-width: 900px){ .shop-grid { grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 600px){ .shop-grid { grid-template-columns: 1fr;} }

.shop-card {
  border:1px solid #e6e6e9;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  transition: transform .12s ease, box-shadow .12s ease;
}
.shop-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.06); }

.shop-card a { color:#111; display:block; padding:12px; }

.shop-thumb {
  aspect-ratio: 4 / 3;
  background:#f7f7f8;
  border-radius:10px;
  overflow:hidden;
}
.shop-thumb img {
  width:100%; height:100%; object-fit: cover; display:block;
}

.shop-name { margin:10px 4px 4px; font-weight:800; }
.shop-desc { margin:0 4px 10px; color:#555; }

.shop-cta {
  display:inline-block;
  margin: 0 4px 4px;
  padding:10px 14px;
  border:1px solid #dedede;
  border-radius:999px;
  font-weight:600;
  background:#fff;
}

/* Nota inferior “Próximamente” */
.shop-note{
  margin-top:28px;
  padding:18px 16px;
  border:1px dashed #d7d7db;
  border-radius:14px;
  background:#fbfbfc;
}
.shop-note h3 { margin:0 0 8px 0; }

/* Footer claro en esta página */
.footer-light { background:#fff; border-top:1px solid #ececec; }
.tiny-light { color:#666; }

/* HOME: Portadas en la sección Books (sin recorte y más grandes) */
#books .book-card img {
  width: 100%;
  height: auto;          /* evita el recorte */
  max-height: 520px;     /* sube/baja este número si las quieres más grandes/pequeñas */
  object-fit: contain;   /* muestra la portada completa */
  background: #0f0f10;   /* fondo oscuro detrás si sobra espacio */
  border-radius: 10px;
  display: block;
  padding: 6px;          /* “marco” opcional; quítalo si no lo quieres */
}

/* Asegura que el card crece según la imagen */
#books .book-card {
  display: flex;
  flex-direction: column;
}
#books .book-card .book-body {
  margin-top: 12px;
}

/* HOME (#books) y BOOKS (pagina) → mostrar portadas completas (sin recorte) */
section#books .book img,
.books-grid .book img {
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  background: #0f0f10;
  padding: 6px;
  border-radius: 10px;
}

/* Quita la capa oscura del hero */
.hero::after {
  background: none !important;
}

/* =============================
   LANDING PAGE BAJO EL CIELO DE MARIPOSAS (página aparte, opcional)
   ============================= */

body.mariposas-landing {
  background: #203826; /* verde oscuro */
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px 16px;
  font-family: 'Inter', sans-serif;
  color: #f4f1ea;
}

.hero-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 2.6rem);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
  margin-bottom: 28px;
  color: #f4f1ea;
}

.site-card {
  width: 100%;
  max-width: 960px;
  background: #f6f0e7; /* crema */
  color: #1f1a17;
  border-radius: 18px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* HEADER DE LA TARJETA */
.card-header {
  padding: 24px 32px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.site-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  letter-spacing: 0.25em;
  text-align: center;
  margin-bottom: 10px;
}

.card-nav {
  display: flex;
  justify-content: center;
  gap: 24px;
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.card-nav a {
  color: #43362e;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
}

.card-nav a:hover,
.card-nav a.active {
  border-bottom-color: #43362e;
}

/* CUERPO PRINCIPAL */
.card-main {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 32px;
  padding: 32px;
}

.label {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.1rem;
  color: #8a6a3c;
  margin-bottom: 8px;
}

.book-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.9rem;
  font-weight: 600;
  margin-bottom: 8px;
}

.book-series {
  font-size: 0.95rem;
  color: #574034;
  line-height: 1.5;
  margin-bottom: 18px;
}

.lead-text {
  font-size: 0.95rem;
  color: #3c2f28;
  line-height: 1.6;
  margin-bottom: 18px;
}

.btn-buy {
  display: inline-block;
  background: #d9a842;
  color: #241a12;
  border-radius: 999px;
  padding: 10px 26px;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.25);
  transition: transform 0.08s ease, box-shadow 0.08s ease;
}

.btn-buy:hover {
  transform: translateY(2px);
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.25);
}

.cover-wrapper {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.cover-wrapper img {
  border-radius: 12px;
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.45);
}

/* ABOUT THE AUTHOR */
.card-footer {
  padding: 24px 32px 32px;
  border-top: 1px solid rgba(0, 0, 0, 0.07);
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 24px;
  align-items: flex-start;
}

.author-photo {
  width: 140px;
  height: 180px;
  border-radius: 8px;
  background: #c4b9aa;
  overflow: hidden;
}

.author-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-text-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  margin-bottom: 6px;
}

.author-text-body {
  font-size: 0.95rem;
  color: #3c2f28;
  line-height: 1.7;
}

/* RESPONSIVE */
@media (max-width: 780px) {
  .card-main {
    grid-template-columns: 1fr;
  }
  .card-footer {
    grid-template-columns: 1fr;
  }
  .author-photo {
    margin: 0 auto;
  }
}

/* =============================
   LANDING EN EL HOME (hero alternativo, no se usa si usas la tarjeta)
============================= */

.landing-hero {
  background: #203826;
  padding: 60px 20px;
  display: flex;
  justify-content: center;
}

.landing-container {
  max-width: 1100px;
  width: 100%;
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 40px;
  align-items: center;
}

.landing-cover img {
  width: 100%;
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
}

.landing-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.3rem, 4vw, 3.2rem);
  color: #f6f0e7;
  margin-bottom: 10px;
}

.landing-sub {
  font-size: 1.1rem;
  color: #cfc6b8;
  margin-bottom: 18px;
  letter-spacing: .03em;
}

.landing-desc {
  color: #f3eee5;
  margin-bottom: 24px;
  line-height: 1.6;
  max-width: 90%;
}

.landing-btn {
  display: inline-block;
  background: #d9a842;
  color: #241a12;
  font-weight: 600;
  padding: 14px 30px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .06em;
  box-shadow: 0 6px 0 rgba(0,0,0,0.25);
  transition: .1s ease;
}

.landing-btn:hover {
  transform: translateY(2px);
  box-shadow: 0 3px 0 rgba(0,0,0,0.25);
}

@media(max-width: 820px) {
  .landing-container {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .landing-desc {
    max-width: 100%;
  }
}

/* =============================
   WRAPPER PARA LA TARJETA EN EL HOME (LO QUE USAS AHORA)
============================= */

.author-landing {
  background: #0f0f10;      /* verde oscuro como en el PÁGINA */
  padding: 50px 16px 60px;
  display: flex;
  justify-content: center;
}
/* Ajustes tamaño Author vs Cover */
.card-footer {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.author-photo {
  width: 100%;
  height: auto;
}

.author-photo img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3 / 4; /* proporción similar a la portada */
}
/* Waitlist / Coming Soon */
.waitlist-inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

.waitlist-inner h2 {
  margin-bottom: 8px;
}

.waitlist-inner p {
  margin-bottom: 16px;
  color: var(--muted);
}

.waitlist-row {
  display: flex;
  gap: 10px;
}

.waitlist-row input {
  flex: 1;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #141517;
  color: var(--fg);
}

.waitlist-row button {
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--fg);
  font-weight: 600;
  cursor: pointer;
}

@media (max-width: 600px) {
  .waitlist-row {
    flex-direction: column;
  }
}
