/* Página "Buy the book" — dónde conseguir Terroir Footprints.
   Misma tipografía que terroir-consulting.html (ver consulting.css). */
:root { --red:#b51612; --text:#161616; --muted:#6b6b6b; --line:#e9e9e9; --page:760px;
        --texto:'Archivo','Helvetica Neue',Arial,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--text); font-family:var(--texto); }
img { display:block; max-width:100%; height:auto; }

.page-nav { position:sticky; top:0; z-index:5; background:rgba(255,255,255,.95); backdrop-filter:blur(8px);
            border-bottom:1px solid var(--line); padding:16px clamp(18px,3vw,28px); }
.page-nav a { color:var(--red); text-decoration:none; font-weight:700; font-size:12px; letter-spacing:.1em; }
.page-nav a:hover { text-decoration:underline; }

.book { width:min(100% - 36px,var(--page)); margin:0 auto;
        padding:clamp(30px,5vw,56px) 0 clamp(60px,8vw,100px); }

.book__hero { width:min(100%,520px); margin:0 auto clamp(26px,4vw,44px); }
.book h1 { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.book__intro { font-size:clamp(14px,1.15vw,16px); font-weight:300; line-height:1.7; color:#3a3a3a;
               text-align:center; margin:0 auto clamp(40px,6vw,66px); max-width:48ch; }

/* --- un país --- */
.place { text-align:center; padding:clamp(24px,3.4vw,34px) 0; border-top:1px solid var(--line); }
.place:first-of-type { border-top:0; }

.place__country { font-weight:700; font-size:clamp(21px,2.5vw,29px); letter-spacing:.015em;
                  text-transform:uppercase; margin:0 0 9px; color:var(--text); }
.place__seller  { font-weight:600; font-size:clamp(13px,1.15vw,15px); letter-spacing:.07em;
                  text-transform:uppercase; color:var(--red); margin:0 0 4px; }
.place__detail  { font-weight:300; font-size:clamp(12px,1vw,13.5px); letter-spacing:.05em;
                  text-transform:uppercase; color:var(--muted); margin:0 0 3px; }
/* Sin uso desde 2026-10-12: el cliente quito "From November 1st" de Francia,
   Espana y Chile. Se conserva la regla porque esas fechas son reales y la
   etiqueta puede volver; para reponerla basta un <p class="place__from">. */
.place__from    { font-weight:400; font-size:12px; letter-spacing:.06em; text-transform:uppercase;
                  color:var(--muted); font-style:italic; margin:7px 0 0; }

/* --- distintivo "Available" ---
   El punto late y suelta una onda; el texto NO se mueve. Ahi esta la sutileza:
   lo que llama la atencion es un gesto de 6 px, no la etiqueta entera. */
/* Mas aire debajo que encima: la insignia pertenece al pais de arriba,
   y el vendedor empieza bloque nuevo. */
.place__status { margin:clamp(12px,1.5vw,15px) 0 clamp(19px,2.4vw,24px); }

.available {
  display:inline-flex; align-items:center; gap:8px;
  padding:4px 13px 4px 11px; border-radius:999px;
  background:rgba(181,22,18,.055); border:1px solid rgba(181,22,18,.24);
  font-weight:600; font-size:11px; letter-spacing:.17em; text-transform:uppercase;
  color:var(--red); line-height:1.7;
}
.available__dot {
  position:relative; flex:0 0 auto; width:6px; height:6px; border-radius:50%;
  background:var(--red); animation:latido 2.8s ease-in-out infinite;
}
.available__dot::after {
  content:''; position:absolute; inset:-3px; border-radius:50%;
  border:1px solid var(--red); animation:onda 2.8s ease-out infinite;
}
@keyframes latido { 0%,100% { opacity:1 } 50% { opacity:.5 } }
@keyframes onda {
  0%        { transform:scale(.55); opacity:.5 }
  70%, 100% { transform:scale(1.6);  opacity:0  }
}

@media (prefers-reduced-motion:reduce) {
  .available__dot, .available__dot::after { animation:none; }
  .available__dot::after { opacity:.3; transform:scale(1); }
}

/* --- los botones de acción --- */
.place__actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:16px; }

.cta {
  display:inline-flex; align-items:center; gap:9px;
  padding:9px 17px 9px 15px; border:1.5px solid rgba(181,22,18,.38); border-radius:999px;
  font-weight:600; font-size:12px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--red); text-decoration:none; background:#fff;
  transition:background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
}
.cta:hover { background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-2px); }
.cta:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.cta__icon { width:17px; height:17px; flex:0 0 auto; }

/* País todavía sin distribuidor */
.place--soon .place__country { color:#9a9a9a; }
.soon { display:inline-block; margin-top:5px; font-weight:400; font-size:12px; letter-spacing:.14em;
        text-transform:uppercase; color:#a8a8a8; }

@media (prefers-reduced-motion:reduce) {
  .cta { transition:none; }
  .cta:hover { transform:none; }
}
@media (max-width:700px) {
  .book { width:calc(100% - 32px); }
  .place__actions { gap:9px; }
  .cta { padding:9px 14px; font-size:11.5px; }
}
