/* =========================================================================
   Catálogo Textecer — flipbook. Casa com a identidade do site (styles.css).
   ========================================================================= */
:root{
  --linho:#f2ead9; --linho-2:#f8f1e3; --papel:#fffdf8;
  --tinta:#2a2420; --tinta-70:#4e463d;
  --fio:#b23a2e; --fio-cl:#cf4a3a; --terra:#c5703f; --ouro:#ad823a;
  --borgonha:#2a1418; --borgonha2:#3a1f23;
  --linha:rgba(42,36,32,.14);
  --serif:"Fraunces","Playfair Display",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --hand:"Caveat",cursive;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html,body{margin:0}
.cat-body{
  min-height:100vh;background:
    radial-gradient(130% 90% at 50% -10%, #efe6d2 0%, var(--linho) 55%, #e7dcc4 100%);
  color:var(--tinta);font-family:var(--sans);line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  display:flex;flex-direction:column;
}
a{color:inherit;text-decoration:none}
::selection{background:var(--fio);color:var(--linho-2)}

/* ---------- topo ---------- */
.cat-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem clamp(1rem,4vw,2.4rem);position:sticky;top:0;z-index:20;
  background:rgba(242,234,217,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linha);
}
.brand{font-family:var(--serif);font-size:1.5rem;letter-spacing:.01em;color:var(--tinta)}
.brand em{color:var(--fio);font-style:italic}
.cat-top__back{font-size:.84rem;font-weight:500;color:var(--tinta-70);transition:color .3s}
.cat-top__back:hover{color:var(--fio)}

/* ---------- palco ---------- */
.cat-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(1rem,3vw,2.2rem) 1rem 2.4rem;gap:1.1rem;width:100%}
.flip-stage{width:100%;max-width:960px;display:flex;justify-content:center;align-items:center;
  min-height:min(80vh,620px)}
#flipbook{margin:0 auto}

.flip-ctrl{display:flex;align-items:center;gap:1.4rem}
.arrow{width:46px;height:46px;border-radius:999px;border:1px solid var(--linha);
  background:var(--papel);color:var(--tinta);cursor:pointer;display:grid;place-items:center;
  transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}
.arrow svg{width:22px;height:22px}
.arrow:hover{background:var(--fio);color:var(--linho-2);border-color:var(--fio);transform:translateY(-2px)}
.arrow:focus-visible{outline:2px solid var(--fio);outline-offset:3px}
.flip-ind{font-family:var(--serif);font-size:1rem;letter-spacing:.06em;color:var(--tinta-70);min-width:72px;text-align:center}
.flip-hint{font-size:.78rem;letter-spacing:.04em;color:var(--tinta-70);opacity:.8;margin:0;text-align:center}

/* ---------- página ---------- */
.page{background:var(--papel);overflow:hidden}
.pg{
  container-type:size;position:relative;width:100%;height:100%;
  padding:7cqh 7.5cqw 5cqh;display:flex;flex-direction:column;
  background:
    linear-gradient(90deg, rgba(0,0,0,.05) 0, rgba(0,0,0,0) 4%),
    var(--papel);
  font-size:3cqh;
}
.page--cover .pg,.page--back .pg{background:
  radial-gradient(120% 80% at 50% 0%, #fbf4e6 0%, var(--linho-2) 60%, #ece0c8 100%)}
/* fio vermelho na margem */
.pg__thread{position:absolute;left:3.4cqw;top:6cqh;bottom:6cqh;width:2px;
  background:linear-gradient(var(--fio),var(--fio-cl));opacity:.55;border-radius:2px}
.pg__thread::before{content:"";position:absolute;top:-4px;left:-2px;width:6px;height:6px;
  border-radius:50%;background:var(--fio)}
.page--cover .pg__thread,.page--back .pg__thread{opacity:.7}

.pg__foot{margin-top:auto;padding-top:2cqh;display:flex;justify-content:space-between;
  font-size:2.1cqh;letter-spacing:.06em;color:var(--tinta-70);opacity:.75;
  border-top:1px solid var(--linha)}
.pg__brand{font-family:var(--serif)}
.pg__brand em{color:var(--fio);font-style:italic}

/* ---------- capa ---------- */
.cv{height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2.4cqh;padding-top:2cqh}
.cv__brand{font-family:var(--serif);font-size:9cqh;line-height:1;color:var(--tinta)}
.cv__brand em{color:var(--fio);font-style:italic}
.cv__brand--sm{font-size:7cqh}
.cv__sub{font-size:2.3cqh;letter-spacing:.34em;text-transform:uppercase;color:var(--terra)}
.cv__img{width:52cqw;aspect-ratio:3/4;overflow:hidden;border-radius:2px;margin:1cqh 0;
  box-shadow:0 18px 40px -20px rgba(42,20,24,.55);border:6px solid var(--papel);outline:1px solid var(--linha)}
.cv__img img{width:100%;height:100%;object-fit:cover;display:block}
.cv__t{font-family:var(--serif);font-weight:400;font-size:8.4cqh;line-height:.98;margin:0;color:var(--tinta)}
.cv__serie{font-family:var(--hand);font-size:4.6cqh;color:var(--fio)}

/* ---------- apresentação ---------- */
.in{display:flex;flex-direction:column;height:100%}
.in__eyebrow{font-size:1.9cqh;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--fio)}
.in__eyebrow--2{margin-top:2.2cqh}
.in__t{font-family:var(--serif);font-weight:400;font-size:5.2cqh;line-height:1.02;margin:.3cqh 0 .9cqh}
.in__t2{font-family:var(--serif);font-weight:400;font-size:3.9cqh;margin:.3cqh 0 .5cqh}
.in__lead{font-family:var(--serif);font-style:italic;font-size:2.8cqh;line-height:1.28;color:var(--tinta);margin:.3cqh 0 .8cqh}
.in__p{font-family:var(--serif);font-weight:400;font-size:2.5cqh;line-height:1.42;margin:0;color:var(--tinta-70)}
.in__p--sm{font-size:2.45cqh}

/* ---------- sumário ---------- */
.sm{display:flex;flex-direction:column;height:100%}
.sm__h{font-family:var(--serif);font-weight:400;font-size:6cqh;margin:.4cqh 0 2cqh}
.sm__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2cqh}
.sm__list a{display:flex;align-items:baseline;gap:1.4cqw;padding:.95cqh 0;border-bottom:1px solid var(--linha);
  font-size:2.9cqh;transition:color .25s}
.sm__list a:hover{color:var(--fio)}
.sm__n{font-family:var(--serif);color:var(--fio);min-width:5cqw}
.sm__t{font-family:var(--serif);font-weight:400}
.sm__dots{flex:1;border-bottom:1px dotted var(--linha);transform:translateY(-.3cqh)}

/* ---------- foto da obra ---------- */
.of{margin:0;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative}
.of__img{max-width:100%;max-height:100%;object-fit:contain;border-radius:2px;
  box-shadow:0 16px 38px -22px rgba(42,20,24,.5)}
.of__zoom{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;
  background:none;cursor:zoom-in;z-index:2}
.of__cap{position:absolute;bottom:1cqh;left:50%;transform:translateX(-50%);z-index:3;pointer-events:none;
  font-size:1.9cqh;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-70);
  background:rgba(255,253,248,.82);padding:.5cqh 1.6cqw;border-radius:999px;opacity:0;transition:opacity .3s}
.of__thumbs{display:flex;gap:1.4cqw;justify-content:center;margin-top:1.6cqh;position:relative;z-index:3}
.of__thumb{width:11cqw;height:11cqw;padding:0;border:1px solid var(--linha);border-radius:2px;overflow:hidden;
  background:none;cursor:pointer;opacity:.6;transition:opacity .25s,border-color .25s}
.of__thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.of__thumb.is-on{opacity:1;border-color:var(--fio)}

/* ---------- ficha ---------- */
.fc{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}
.fc__no{font-size:2cqh;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fio)}
.fc__title{font-family:var(--serif);font-weight:500;font-size:5.6cqh;line-height:1.02;margin:.5cqh 0 .5cqh}
.fc__tec{font-size:2.3cqh;letter-spacing:.02em;color:var(--terra);margin:0 0 1.4cqh;font-style:italic}
.fc__quote{font-family:var(--serif);font-style:italic;font-size:2.9cqh;line-height:1.4;margin:0 0 1.4cqh;
  padding-left:2.6cqw;border-left:2px solid var(--fio);color:var(--tinta)}
.fc__quote cite{display:block;font-style:normal;font-family:var(--sans);font-size:2.1cqh;color:var(--tinta-70);margin-top:.6cqh}
.fc__autor{font-size:2.3cqh;color:var(--tinta-70);font-style:italic;margin:0 0 1.2cqh}
.fc__desc{font-size:2.55cqh;line-height:1.55;color:var(--tinta-70);margin:0 0 1.6cqh}
.fc__formatos{margin-top:1.6cqh}
.fc__fh{font-size:1.95cqh;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta)}
.ff{list-style:none;margin:.9cqh 0 0;padding:0;display:flex;flex-direction:column;gap:.35cqh}
.ff li{display:flex;align-items:baseline;gap:1.2cqw;font-size:2.4cqh}
.ff__n{color:var(--tinta-70)}
.ff__d{flex:1;border-bottom:1px dotted var(--linha);transform:translateY(-.3cqh)}
.ff__p{font-family:var(--serif);color:var(--tinta)}
.fc__cta{display:flex;flex-wrap:wrap;gap:1.4cqw;margin-top:1.8cqh}
.fc__wa,.fc__vid{display:inline-flex;align-items:center;gap:1.4cqw;font-family:var(--sans);
  font-size:2.3cqh;font-weight:500;border-radius:999px;cursor:pointer;border:1px solid transparent;
  padding:1.3cqh 3cqw;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}
.fc__wa{background:#1f7a4d;color:#f2f7f2}
.fc__wa:hover{background:#25955e;transform:translateY(-1px)}
.fc__vid{background:none;color:var(--tinta);border-color:var(--linha)}
.fc__vid:hover{border-color:var(--fio);color:var(--fio)}
.fc__wa svg,.fc__vid svg{width:2.9cqh;height:2.9cqh;fill:currentColor;pointer-events:none}

/* ---------- contracapa ---------- */
.cv--back{justify-content:center;gap:2.2cqh}
.bk__lead{font-family:var(--serif);font-weight:400;font-size:5.4cqh;margin:1.4cqh 0 0;color:var(--tinta)}
.bk__txt{font-size:2.6cqh;line-height:1.6;color:var(--tinta-70);margin:0;max-width:78%}
.bk__contato{display:flex;flex-direction:column;gap:1.1cqh;margin:1cqh 0}
.bk__contato a{font-size:2.6cqh;color:var(--tinta);border-bottom:1px solid var(--linha);padding-bottom:.6cqh;transition:color .25s,border-color .25s}
.bk__contato a:hover{color:var(--fio);border-color:var(--fio)}
.bk__qr{display:flex;flex-direction:column;align-items:center;gap:1cqh;margin-top:1cqh}
.bk__qr svg{width:26cqw;height:26cqw;background:var(--papel);padding:2cqw;border:1px solid var(--linha);border-radius:4px}
.bk__qr span{font-family:var(--hand);font-size:3.4cqh;color:var(--fio)}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;
  padding:clamp(1rem,4vw,3rem);background:rgba(26,16,14,.9);backdrop-filter:blur(4px)}
.lightbox.is-open{display:flex}
.lightbox__fig{margin:0;max-width:92vw;max-height:88vh;display:flex;align-items:center;justify-content:center}
.lightbox__fig img,.lightbox__fig video{max-width:92vw;max-height:88vh;object-fit:contain;
  border-radius:3px;box-shadow:0 30px 80px -30px #000}
.lightbox__close{position:absolute;top:1.2rem;right:1.4rem;width:48px;height:48px;border-radius:999px;
  border:none;background:rgba(255,253,248,.15);color:var(--linho-2);font-size:1.9rem;line-height:1;cursor:pointer;
  transition:background .25s}
.lightbox__close:hover{background:var(--fio)}

/* ---------- responsivo ---------- */
@media (hover:hover) and (pointer:fine){ .of:hover .of__cap{opacity:1} }
@media (max-width:640px){
  .flip-hint{max-width:22rem}
  .cat-top{padding:.9rem 1.1rem}
  .brand{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}
