/*
Theme Name: Unstoppable Creations
Theme URI: https://unstoppablecreations.example
Author: Pedro
Description: Tema editorial dark e minimalista para a revista Unstoppable Creations. Hero em carrossel, grade de edições e conteúdo gratuito/assinante via Paid Memberships Pro.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: unstoppable-creations
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --uc-bg:            #151210;
  --uc-bg-alt:        #12100e;
  --uc-surface:       #1c1815;
  --uc-text:          #f2ede6;
  --uc-muted:         #a99e92;
  --uc-faint:         #6f665d;
  --uc-accent:        #c99a4e;   /* âmbar / dourado */
  --uc-accent-soft:   #d8b877;
  --uc-line:          rgba(255,255,255,.09);
  --uc-line-strong:   rgba(255,255,255,.16);

  --uc-serif:  "Playfair Display", Georgia, "Times New Roman", serif;
  --uc-sans:   "Jost", "Helvetica Neue", Arial, sans-serif;

  --uc-max:    1240px;
  --uc-gutter: clamp(20px, 5vw, 64px);
  --uc-radius: 2px;

  --uc-ease: cubic-bezier(.4,.0,.2,1);
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--uc-bg);
  color:var(--uc-text);
  font-family:var(--uc-sans);
  font-size:16px;
  line-height:1.65;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:color .25s var(--uc-ease); }
a:hover{ color:var(--uc-accent); }
h1,h2,h3,h4{ font-family:var(--uc-serif); font-weight:500; line-height:1.08; margin:0 0 .4em; }
p{ margin:0 0 1.2em; }
ul{ margin:0; padding:0; }

.uc-container{ width:100%; max-width:var(--uc-max); margin:0 auto; padding-inline:var(--uc-gutter); }

.uc-eyebrow{
  font-family:var(--uc-sans);
  font-size:11px;
  font-weight:400;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--uc-muted);
  margin:0 0 1.4em;
  display:block;
}
.uc-accent{ color:var(--uc-accent); }

/* Botões ---------------------------------------------------- */
.uc-btn{
  display:inline-block;
  font-family:var(--uc-sans);
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--uc-accent-soft);
  border:1px solid var(--uc-accent);
  padding:16px 34px;
  background:transparent;
  cursor:pointer;
  transition:background .3s var(--uc-ease), color .3s var(--uc-ease);
}
.uc-btn:hover{ background:var(--uc-accent); color:#181310; }
.uc-btn--solid{ background:var(--uc-accent); color:#181310; }
.uc-btn--solid:hover{ background:var(--uc-accent-soft); color:#181310; }

/* ============================================================
   HEADER / NAV
   ============================================================ */
.uc-header{
  position:sticky; top:0; z-index:100;
  background:rgba(21,18,16,.82);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--uc-line);
}
.uc-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  height:78px;
}
.uc-brand{ font-size:23px; line-height:1; }
.uc-brand__link{ display:inline-flex; align-items:center; gap:14px; }
.uc-brand__mark{ height:44px; width:auto; display:block; }
.uc-brand__word{
  font-family:var(--uc-serif);
  font-style:italic;
  font-size:23px;
  letter-spacing:.01em;
  color:var(--uc-text);
  white-space:nowrap;
}
/* custom-logo enviado pelo Personalizar */
.uc-brand .custom-logo{ max-height:46px; width:auto; }
@media (max-width:520px){ .uc-brand__word{ display:none; } }

.uc-nav ul{ display:flex; align-items:center; gap:38px; list-style:none; }
.uc-nav a{
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--uc-muted);
}
.uc-nav .current-menu-item > a,
.uc-nav a:hover{ color:var(--uc-accent); }

.uc-nav-toggle{
  display:none; background:none; border:0; cursor:pointer;
  width:40px; height:40px; padding:8px; color:var(--uc-text);
}
.uc-nav-toggle span{ display:block; height:1.5px; background:currentColor; margin:5px 0; transition:.3s var(--uc-ease); }

/* ============================================================
   HERO / CARROSSEL
   ============================================================ */
.uc-hero{ position:relative; overflow:hidden; }
.uc-hero__track{ position:relative; }
.uc-slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity 1s var(--uc-ease);
}
.uc-slide.is-active{ position:relative; opacity:1; visibility:visible; }
.uc-slide:not(.is-active){ pointer-events:none; }

.uc-slide__media{ position:relative; min-height:min(88vh,860px); }
.uc-slide__media img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.uc-slide__media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(15,12,10,.92) 0%, rgba(15,12,10,.55) 42%, rgba(15,12,10,.15) 78%),
    linear-gradient(0deg, rgba(15,12,10,.85) 0%, rgba(15,12,10,0) 45%);
}
.uc-slide__content{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-bottom:clamp(48px,9vh,110px);
}
.uc-slide__inner{ max-width:720px; }
.uc-slide__title{
  font-size:clamp(2.8rem, 7vw, 6rem);
  line-height:.98;
  margin:0 0 .35em;
  letter-spacing:-.01em;
}
.uc-slide__excerpt{
  font-size:clamp(1rem,1.4vw,1.15rem);
  color:var(--uc-muted);
  max-width:34ch;
  margin-bottom:2.2em;
}

/* Controles do carrossel */
.uc-hero__dots{
  position:absolute; z-index:5; right:var(--uc-gutter);
  bottom:clamp(48px,9vh,110px);
  display:flex; gap:12px;
}
.uc-hero__dots button{
  width:34px; height:2px; padding:0; border:0; cursor:pointer;
  background:var(--uc-line-strong); transition:background .3s var(--uc-ease);
}
.uc-hero__dots button.is-active{ background:var(--uc-accent); }
.uc-hero__arrows{ position:absolute; z-index:5; inset:0; pointer-events:none; }
.uc-hero__arrow{
  pointer-events:auto; position:absolute; top:50%; transform:translateY(-50%);
  width:52px; height:52px; border:1px solid var(--uc-line-strong);
  background:rgba(21,18,16,.35); color:var(--uc-text);
  cursor:pointer; font-size:18px; display:grid; place-items:center;
  transition:background .3s var(--uc-ease), border-color .3s var(--uc-ease);
}
.uc-hero__arrow:hover{ background:var(--uc-accent); color:#181310; border-color:var(--uc-accent); }
.uc-hero__arrow--prev{ left:var(--uc-gutter); }
.uc-hero__arrow--next{ right:var(--uc-gutter); }

/* ============================================================
   SEÇÃO EDIÇÕES (grade tipo revista)
   ============================================================ */
.uc-section{ padding-block:clamp(64px,10vh,120px); }
.uc-section__head{ margin-bottom:clamp(32px,5vh,56px); }

.uc-editions{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-auto-rows:minmax(0,auto);
  gap:clamp(28px,3vw,48px);
}
.uc-edition{ position:relative; }
.uc-edition__thumb{
  position:relative; overflow:hidden; background:var(--uc-surface);
  display:block; aspect-ratio:3/4;
}
.uc-edition__thumb img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1s var(--uc-ease); filter:saturate(.96);
}
.uc-edition:hover .uc-edition__thumb img{ transform:scale(1.04); }

/* item destacado grande à esquerda */
.uc-edition--feature{ grid-row:span 2; }
.uc-edition--feature .uc-edition__thumb{ aspect-ratio:4/5; }

/* itens da coluna direita */
.uc-edition--wide .uc-edition__thumb{ aspect-ratio:16/10; }

.uc-edition__meta{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:20px; margin-top:20px;
}
.uc-edition__title{ font-size:clamp(1.3rem,2vw,1.7rem); margin:0; }
.uc-edition__num{
  font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--uc-faint); white-space:nowrap; font-family:var(--uc-sans);
}
.uc-edition__excerpt{ color:var(--uc-muted); font-size:.95rem; margin:.5em 0 0; max-width:52ch; }

/* selo de bloqueio */
.uc-lock{
  position:absolute; top:16px; left:16px; z-index:3;
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(21,18,16,.72); border:1px solid var(--uc-line-strong);
  color:var(--uc-accent-soft);
  font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  padding:7px 12px; backdrop-filter:blur(4px);
}
.uc-lock svg{ width:12px; height:12px; }

/* ============================================================
   GRADE GENÉRICA (blog / arquivos / coleções)
   ============================================================ */
.uc-grid{
  display:grid; gap:clamp(28px,3vw,48px);
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}
.uc-card__thumb{ position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--uc-surface); }
.uc-card__thumb img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--uc-ease); }
.uc-card:hover .uc-card__thumb img{ transform:scale(1.04); }
.uc-card__cat{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--uc-accent); margin:18px 0 8px; }
.uc-card__title{ font-size:1.35rem; margin:0 0 .35em; }
.uc-card__excerpt{ color:var(--uc-muted); font-size:.95rem; }
.uc-card__date{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--uc-faint); margin-top:14px; }

/* ============================================================
   PÁGINA / SINGLE
   ============================================================ */
.uc-page-hero{ padding-block:clamp(72px,12vh,140px); border-bottom:1px solid var(--uc-line); text-align:center; }
.uc-page-hero h1{ font-size:clamp(2.4rem,5vw,4.2rem); }
.uc-page-hero p{ color:var(--uc-muted); max-width:52ch; margin:1em auto 0; }

.uc-article{ padding-block:clamp(56px,9vh,96px); }
.uc-article__wrap{ max-width:760px; margin:0 auto; }
.uc-article__cover{ margin-bottom:clamp(40px,7vh,72px); aspect-ratio:16/9; overflow:hidden; }
.uc-article__cover img{ width:100%; height:100%; object-fit:cover; }
.uc-article__body{ font-size:1.08rem; line-height:1.85; }
.uc-article__body h2{ font-size:1.9rem; margin-top:1.6em; }
.uc-article__body h3{ font-size:1.4rem; margin-top:1.4em; }
.uc-article__body img{ margin:2em auto; }
.uc-article__body a{ color:var(--uc-accent-soft); text-decoration:underline; text-underline-offset:3px; }
.uc-article__body blockquote{
  border-left:2px solid var(--uc-accent); margin:2em 0; padding:.4em 0 .4em 28px;
  font-family:var(--uc-serif); font-size:1.4rem; font-style:italic; color:var(--uc-text);
}

/* Paywall (conteúdo parcial) */
.uc-paywall{
  position:relative; margin-top:-140px; padding-top:180px;
  text-align:center;
  background:linear-gradient(0deg, var(--uc-bg) 40%, rgba(21,18,16,0) 100%);
}
.uc-paywall__box{
  border:1px solid var(--uc-line-strong); background:var(--uc-bg-alt);
  padding:clamp(36px,6vw,64px); max-width:560px; margin:0 auto;
}
.uc-paywall__box h3{ font-size:1.9rem; }
.uc-paywall__box p{ color:var(--uc-muted); }

/* ============================================================
   ASSINAR (planos PMPro)
   ============================================================ */
.uc-plans{ padding-block:clamp(48px,8vh,90px); }
.uc-plans .pmpro_checkout,
.uc-plans #pmpro_levels_table{ width:100%; }
#pmpro_levels_table{
  border-collapse:separate; border-spacing:clamp(16px,2vw,28px);
  color:var(--uc-text);
}
#pmpro_levels_table thead{ display:none; }
#pmpro_levels_table tbody, #pmpro_levels_table tbody{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
#pmpro_levels_table tbody tr{
  display:flex; flex-direction:column; gap:14px;
  border:1px solid var(--uc-line); background:var(--uc-bg-alt);
  padding:clamp(28px,4vw,44px); text-align:center;
}
#pmpro_levels_table td{ border:0; padding:0; }
#pmpro_levels_table .pmpro_level-name{ font-family:var(--uc-serif); font-size:1.7rem; }
#pmpro_levels_table .pmpro_level-price{ color:var(--uc-accent); font-size:1.1rem; letter-spacing:.04em; }
#pmpro_levels_table .pmpro_btn,
#pmpro_levels_table .pmpro_btn-select{
  display:inline-block; margin-top:8px;
  font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  color:#181310; background:var(--uc-accent); border:0; padding:15px 30px; cursor:pointer;
}
#pmpro_levels_table .pmpro_btn:hover{ background:var(--uc-accent-soft); }

/* ============================================================
   FOOTER
   ============================================================ */
.uc-footer{ border-top:1px solid var(--uc-line); padding-block:clamp(48px,7vh,80px); background:var(--uc-bg-alt); }
.uc-footer__inner{ display:flex; flex-wrap:wrap; gap:28px; align-items:center; justify-content:space-between; }
.uc-footer__brand{ display:inline-flex; align-items:center; gap:12px; font-family:var(--uc-serif); font-style:italic; font-size:20px; }
.uc-footer__mark{ height:34px; width:auto; }
.uc-footer__nav ul{ display:flex; flex-wrap:wrap; gap:28px; list-style:none; }
.uc-footer__nav a{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--uc-muted); }
.uc-footer__copy{ width:100%; color:var(--uc-faint); font-size:12px; letter-spacing:.08em; margin-top:12px; }

/* Paginação */
.uc-pagination{ display:flex; gap:10px; justify-content:center; margin-top:clamp(40px,6vh,72px); }
.uc-pagination .page-numbers{
  min-width:44px; height:44px; display:grid; place-items:center;
  border:1px solid var(--uc-line); font-size:13px; letter-spacing:.1em;
}
.uc-pagination .current{ border-color:var(--uc-accent); color:var(--uc-accent); }

/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width:860px){
  .uc-nav{
    position:fixed; inset:78px 0 auto 0; background:var(--uc-bg);
    border-bottom:1px solid var(--uc-line);
    transform:translateY(-120%); transition:transform .35s var(--uc-ease);
  }
  .uc-nav.is-open{ transform:translateY(0); }
  .uc-nav ul{ flex-direction:column; gap:0; }
  .uc-nav li{ width:100%; border-top:1px solid var(--uc-line); }
  .uc-nav a{ display:block; padding:20px var(--uc-gutter); }
  .uc-nav-toggle{ display:block; }

  .uc-editions{ grid-template-columns:1fr; }
  .uc-edition--feature{ grid-row:auto; }
  .uc-edition--feature .uc-edition__thumb,
  .uc-edition--wide .uc-edition__thumb{ aspect-ratio:3/4; }

  .uc-hero__arrow{ width:44px; height:44px; }
}

@media (prefers-reduced-motion:reduce){
  *{ scroll-behavior:auto !important; transition:none !important; }
}
