@charset "UTF-8";
/*
Website Postpad Style
created by Paulo Osorio
created_date october 2022
*/
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");
:root {
  --bg: #0d1117;
  --bg-card: #161b22;
  --bg-hover: #21262d;
  --border: #30363d;
  --text: #e6edf3;
  --text-muted: #8b949e;
  --accent: #4c6fff;
  --accent-hover: #3b5bdb;
  --green: #3fb950;
  --orange: #d29922;
  --red: #f85149;
  --sidebar-w: 220px;
  --right-w: 260px; }

/* variables */
/* font size */
/* Breakpoint */
/*
Postpad Grid Style
created by Paulo Osorio
created_date july 2023
*/
@media (min-width: 1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1200px; } }
/* buttons */
.btn {
  padding: 0.3rem 0.75rem; }

.btn-submit {
  padding: 0.3rem 2.75rem !important; }

.btn-primary {
  color: #ffffff !important;
  background-color: #F97316;
  border-color: #F97316;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px; }
  .btn-primary:hover {
    color: #F97316 !important;
    background-color: transparent; }

.btn-outline-primary {
  color: #F97316 !important;
  border-color: #F97316;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px; }
  .btn-outline-primary:hover {
    color: #ffffff !important;
    background-color: #F97316; }

.btn-secondary {
  color: #ffffff !important;
  background-color: #1E4FA8 !important;
  border-color: #1E4FA8 !important; }
  .btn-secondary:hover {
    color: #1E4FA8 !important;
    background-color: transparent !important; }

.btn-preview {
  color: #ffffff !important;
  background-color: #6b3869;
  border-color: #6b3869; }
  .btn-preview:hover {
    color: #6b3869 !important;
    background-color: transparent; }

.btn-outline-secondary {
  color: #1E4FA8 !important;
  border-color: #1E4FA8; }
  .btn-outline-secondary:hover {
    color: #ffffff !important;
    background-color: #1E4FA8; }

.btn-read {
  font-weight: 600;
  font-size: 0.8rem;
  color: #ffffff !important;
  background-color: #6b3869;
  border-color: #6b3869;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  text-align: center; }
  .btn-read:hover {
    color: #6b3869 !important;
    background-color: transparent; }

.btn-back {
  font-weight: 600;
  color: #ffffff !important;
  background-color: #7d7f89;
  border-color: #7d7f89;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  text-align: center; }
  .btn-back:hover {
    color: #7d7f89 !important;
    background-color: transparent; }

.btn-likes {
  display: flex;
  align-items: center;
  font-weight: 600;
  color: #4263fb !important;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  text-align: center; }
  .btn-likes i {
    /*margin-right: 5px;*/ }

.btn-likes-book {
  display: flex;
  align-items: center;
  font-weight: 600;
  color: #4263fb !important;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  text-align: center; }

.btn-follow {
  margin: 0 10px;
  min-width: 130px;
  width: auto;
  font-weight: 600;
  color: #FFF  !important;
  background-color: #a442fb;
  border-color: #a442fb;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  text-align: center;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center; }

.btn-contest {
  color: #ffffff !important;
  background-color: #db8f0f;
  border-color: #db8f0f; }
  .btn-contest:hover {
    color: #db8f0f !important;
    background-color: transparent; }

.btn-icon {
  background: none;
  border: none;
  padding: 0;
  /* margin-left: 5px;*/
  cursor: pointer;
  color: #dc3545;
  /* Color rojo para el ícono de eliminación */
  vertical-align: middle; }
  .btn-icon i.material-icons {
    font-size: 20px; }
  .btn-icon:hover i.material-icons {
    color: #b71c1c;
    /* Color rojo oscuro para indicar hover */ }

.modal-body .btn-work {
  display: flex;
  width: 90%; }

/* Base — PostPad.net light theme */
/* ── Tokens ───────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box; }

html {
  scroll-behavior: smooth; }

body {
  font-family: "Inter", sans-serif;
  background: #FFFFFF;
  color: #1E293B;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  -webkit-font-smoothing: antialiased; }

a, a:hover, a:visited {
  text-decoration: none; }

/* ── HEADER ───────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #E2E8F0;
  height: 80px; }
  .site-header .header-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 24px; }
  .site-header .site-logo {
    flex-shrink: 0; }
    .site-header .site-logo img {
      height: 36px;
      width: auto;
      display: block; }
    .site-header .site-logo .mobile {
      display: none; }
  .site-header .site-nav {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 1; }
    .site-header .site-nav a {
      font-size: 0.875rem;
      font-weight: 500;
      color: #64748B;
      padding: 6px 12px;
      border-radius: 6px;
      white-space: nowrap;
      transition: color .15s, background .15s; }
      .site-header .site-nav a:hover {
        color: #1E293B;
        background: #F8FAFC; }
    .site-header .site-nav .nav-mobile-actions {
      display: none; }
  .site-header .site-search {
    position: relative;
    flex: 0 0 240px; }
    .site-header .site-search input {
      width: 100%;
      height: 38px;
      background: #F8FAFC;
      border: 1px solid #E2E8F0;
      border-radius: 8px;
      padding: 0 12px 0 36px;
      font-size: 0.875rem;
      color: #1E293B;
      font-family: "Inter", sans-serif;
      outline: none;
      transition: border-color .15s, box-shadow .15s; }
      .site-header .site-search input::placeholder {
        color: #64748B; }
      .site-header .site-search input:focus {
        border-color: #F97316;
        box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12);
        background: #FFFFFF; }
    .site-header .site-search .search-icon {
      position: absolute;
      left: 10px;
      top: 50%;
      transform: translateY(-50%);
      font-size: 16px;
      color: #64748B;
      pointer-events: none; }
  .site-header .site-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0; }
    .site-header .site-actions .btn-login {
      font-size: 0.875rem;
      font-weight: 500;
      color: #1E293B;
      padding: 8px 16px;
      border-radius: 8px;
      border: 1px solid #E2E8F0;
      background: #FFFFFF;
      white-space: nowrap;
      transition: all .15s; }
      .site-header .site-actions .btn-login:hover {
        background: #F8FAFC;
        border-color: #c7d3e2; }
    .site-header .site-actions .btn-write {
      font-size: 0.875rem;
      font-weight: 600;
      color: #fff;
      padding: 8px 18px;
      border-radius: 8px;
      background: #F97316;
      white-space: nowrap;
      transition: background .15s, transform .12s; }
      .site-header .site-actions .btn-write:hover {
        background: #EA580C;
        transform: translateY(-1px);
        color: #fff; }
    .site-header .site-actions .dropdown-toggle {
      font-size: 0.875rem;
      font-weight: 500;
      color: #1E293B;
      padding: 8px 14px;
      border-radius: 8px;
      background: #F8FAFC;
      border: 1px solid #E2E8F0; }
      .site-header .site-actions .dropdown-toggle:hover {
        background: #edf2f7; }
    .site-header .site-actions .dropdown-menu {
      background: #FFFFFF;
      border: 1px solid #E2E8F0;
      border-radius: 10px;
      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
      padding: 6px;
      min-width: 180px; }
      .site-header .site-actions .dropdown-menu .dropdown-item {
        font-size: 0.875rem;
        color: #1E293B;
        border-radius: 6px;
        padding: 8px 12px; }
        .site-header .site-actions .dropdown-menu .dropdown-item:hover {
          background: #F8FAFC;
          color: #F97316; }
      .site-header .site-actions .dropdown-menu .dropdown-divider {
        border-color: #E2E8F0; }
    .site-header .site-actions .nav-hamburger {
      display: none;
      background: none;
      border: 1px solid #E2E8F0;
      border-radius: 8px;
      padding: 6px 8px;
      cursor: pointer;
      color: #1E293B; }
      .site-header .site-actions .nav-hamburger .material-icons {
        font-size: 20px;
        vertical-align: middle; }

/* ── MODALS ───────────────────────────────── */
.modal-content {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  color: #1E293B;
  border-radius: 12px; }
  .modal-content .modal-header {
    border-bottom-color: #E2E8F0; }
  .modal-content .modal-footer {
    border-top-color: #E2E8F0; }

/* ── Utilities ────────────────────────────── */
.left {
  text-align: left; }

.right {
  text-align: right; }

.modal {
  z-index: 5000; }

.modal-md {
  max-width: 750px;
  width: 600px; }

.card-header {
  padding: 0.75rem; }

.image {
  width: 100%; }

.msg-error {
  font-size: 0.9rem;
  font-weight: 600;
  color: #DC2626; }

/* ── Responsive ───────────────────────────── */
@media (max-width: 1023px) {
  .site-header .site-search {
    flex: 0 0 180px; } }
@media (max-width: 767px) {
  .site-header .site-nav {
    display: none; }
    .site-header .site-nav.mobile-open {
      display: flex;
      flex-direction: column;
      position: absolute;
      top: 80px;
      left: 0;
      right: 0;
      background: #FFFFFF;
      border-bottom: 1px solid #E2E8F0;
      padding: 12px;
      z-index: 999;
      gap: 2px; }
      .site-header .site-nav.mobile-open .nav-mobile-actions {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 8px;
        padding-top: 12px;
        border-top: 1px solid #E2E8F0; }
        .site-header .site-nav.mobile-open .nav-mobile-actions a {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 6px;
          font-size: 0.875rem;
          font-weight: 600;
          padding: 10px 16px;
          border-radius: 8px; }
        .site-header .site-nav.mobile-open .nav-mobile-actions .nav-mobile-login {
          color: #1E293B;
          border: 1px solid #E2E8F0;
          background: #FFFFFF; }
          .site-header .site-nav.mobile-open .nav-mobile-actions .nav-mobile-login:hover {
            background: #F8FAFC; }
        .site-header .site-nav.mobile-open .nav-mobile-actions .nav-mobile-write {
          color: #fff;
          background: #F97316; }
          .site-header .site-nav.mobile-open .nav-mobile-actions .nav-mobile-write:hover {
            background: #EA580C; }
  .site-header .site-search {
    display: none; }
  .site-header .site-actions .btn-login {
    display: none; }
  .site-header .site-actions .btn-write {
    display: none; }
  .site-header .site-actions .nav-hamburger {
    display: block; }

  .site-logo .website {
    display: none !important; }

  .site-logo .mobile {
    display: block !important; } }
/* ── Spinner de formularios ────────────────
   Reemplaza images/loading_ball.gif (203KB en disco, ~170KB en la red, mas de
   un segundo de carga). El GIF se descargaba SIEMPRE, incluso con su
   contenedor en display:none, porque el <img> estaba igual en el DOM: era el
   recurso mas lento del home y nunca se veia. En CSS no cuesta ningun request.

   Usa currentColor a proposito: el mismo spinner va sobre el degradado del
   newsletter (texto blanco) y sobre tarjetas claras (texto oscuro), y en cada
   contexto toma el color del texto que lo rodea. */
.pp-spinner {
  display: inline-block;
  width: 36px;
  height: 36px;
  border: 3px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  opacity: .85;
  animation: pp-spin .7s linear infinite; }

/* Nombre propio y no `spin`: es global y no debe chocar con las animaciones
   sueltas que algunos templates definen inline. */
@keyframes pp-spin {
  to {
    transform: rotate(360deg); } }
/* Login — PostPad.net */
.pp-auth-wrap {
  min-height: 100vh;
  display: flex;
  font-family: "Inter", sans-serif;
  background: #F8FAFC;
  /* Formulario centrado full-width */
  /* Inputs */
  /* Field-level error (inline) */
  /* Error */
  /* Divider */
  /* Facebook btn */
  /* Registro link */ }
  .pp-auth-wrap .pp-auth-form-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px; }
  .pp-auth-wrap .pp-auth-card {
    width: 100%;
    max-width: 520px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 20px;
    padding: 36px 44px 32px; }
    @media (max-width: 600px) {
      .pp-auth-wrap .pp-auth-card {
        padding: 24px 20px;
        border-radius: 16px; } }
    @media (max-width: 400px) {
      .pp-auth-wrap .pp-auth-card {
        padding: 20px 14px; } }
  .pp-auth-wrap .pp-auth-logo {
    display: block;
    height: 36px;
    margin-bottom: 28px; }
  .pp-auth-wrap .pp-auth-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #111827;
    margin-bottom: 6px; }
  .pp-auth-wrap .pp-auth-sub {
    font-size: 0.9rem;
    color: #6B7280;
    margin-bottom: 28px; }
  .pp-auth-wrap .pp-auth-field {
    margin-bottom: 12px; }
    .pp-auth-wrap .pp-auth-field label {
      display: block;
      font-size: 0.8125rem;
      font-weight: 600;
      color: #374151;
      margin-bottom: 6px; }
    .pp-auth-wrap .pp-auth-field .pp-auth-input {
      width: 100%;
      height: 38px;
      padding: 0 12px;
      border: 1px solid #D1D5DB;
      border-radius: 8px;
      font-size: 0.875rem;
      font-family: "Inter", sans-serif;
      color: #111827;
      background: #fff;
      transition: border-color .15s, box-shadow .15s;
      outline: none; }
      .pp-auth-wrap .pp-auth-field .pp-auth-input::placeholder {
        color: #9CA3AF; }
      .pp-auth-wrap .pp-auth-field .pp-auth-input:focus {
        border-color: #4F46E5;
        box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12); }
  .pp-auth-wrap .pp-auth-forgot {
    display: block;
    text-align: right;
    font-size: 0.8125rem;
    color: #4F46E5;
    margin-bottom: 20px; }
    .pp-auth-wrap .pp-auth-forgot:hover {
      text-decoration: underline; }
  .pp-auth-wrap .pp-auth-submit {
    width: 100%;
    height: 40px;
    background: #4F46E5;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    font-family: "Inter", sans-serif;
    cursor: pointer;
    transition: background .15s; }
    .pp-auth-wrap .pp-auth-submit:hover {
      background: #4338CA; }
  .pp-auth-wrap .pp-auth-field-error {
    font-size: 0.78rem;
    color: #B91C1C;
    margin-top: 4px;
    min-height: 18px; }
  .pp-auth-wrap .pp-auth-error {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #B91C1C;
    font-size: 0.875rem;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 16px; }
  .pp-auth-wrap .pp-auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    color: #9CA3AF;
    font-size: 0.8125rem; }
    .pp-auth-wrap .pp-auth-divider::before, .pp-auth-wrap .pp-auth-divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: #E5E7EB; }
  .pp-auth-wrap .pp-btn-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 40px;
    background: #fff;
    color: #374151;
    border: 1px solid #D1D5DB;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 600;
    font-family: "Inter", sans-serif;
    text-decoration: none;
    margin-bottom: 10px;
    transition: background .15s, border-color .15s; }
    .pp-auth-wrap .pp-btn-google:hover {
      background: #F9FAFB;
      border-color: #9CA3AF;
      color: #111827; }
  .pp-auth-wrap .pp-btn-facebook {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 40px;
    background: #1877F2;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 600;
    font-family: "Inter", sans-serif;
    text-decoration: none;
    transition: background .15s; }
    .pp-auth-wrap .pp-btn-facebook img {
      width: 20px;
      height: 20px;
      filter: brightness(0) invert(1); }
    .pp-auth-wrap .pp-btn-facebook:hover {
      background: #166FE5;
      color: #fff; }
  .pp-auth-wrap .pp-auth-register {
    text-align: center;
    margin-top: 24px;
    font-size: 0.875rem;
    color: #6B7280; }
    .pp-auth-wrap .pp-auth-register a {
      color: #4F46E5;
      font-weight: 600; }
      .pp-auth-wrap .pp-auth-register a:hover {
        text-decoration: underline; }

/* Legacy (mantener compatibilidad) */
#login-success {
  margin: 30px 20px 150px;
  text-align: center; }
  #login-success .logo {
    text-align: center;
    margin-bottom: 50px; }
    #login-success .logo img {
      width: 25%; }
  #login-success h2 {
    font-size: 2rem;
    color: #F97316;
    margin-bottom: 20px; }

/* Home — PostPad.net */
.pp-text-accent {
  color: #F97316; }

/* ── Container ────────────────────────────── */
.pp-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px; }

/* ── Section ──────────────────────────────── */
.pp-section {
  padding: 72px 0;
  background: #FFFFFF; }
  .pp-section.pp-bg-alt {
    background: #F8FAFC; }
  .pp-section.pp-bg-dark {
    background: #1E293B; }
  @media (max-width: 767px) {
    .pp-section {
      padding: 48px 0; } }

.pp-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 10px; }
  .pp-section-head h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1E293B;
    margin: 0; }
  .pp-section-head a.see-all {
    font-size: 0.875rem;
    font-weight: 600;
    color: #4F46E5; }
    .pp-section-head a.see-all:hover {
      color: #4338CA;
      text-decoration: underline; }

.pp-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(79, 70, 229, 0.08);
  color: #4F46E5;
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid rgba(79, 70, 229, 0.2);
  margin-bottom: 20px; }

/* ── Buttons ──────────────────────────────── */
.pp-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F97316;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 10px;
  border: none;
  transition: background .15s, transform .12s;
  white-space: nowrap; }
  .pp-btn-primary:hover {
    background: #EA580C;
    transform: translateY(-1px);
    color: #fff; }
  .pp-btn-primary .material-icons {
    font-size: 18px; }

.pp-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  color: #1E293B;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 10px;
  border: 1.5px solid #E2E8F0;
  transition: all .15s;
  white-space: nowrap; }
  .pp-btn-ghost:hover {
    border-color: #F97316;
    color: #F97316;
    background: rgba(249, 115, 22, 0.04); }
  .pp-btn-ghost .material-icons {
    font-size: 18px; }

.pp-btn-white {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  color: #F97316;
  font-size: 0.9375rem;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 10px;
  border: none;
  transition: background .15s, transform .12s; }
  .pp-btn-white:hover {
    background: #F8FAFC;
    transform: translateY(-1px); }

/* ── HERO ─────────────────────────────────── */
.pp-hero {
  background: #fdfcff;
  /* 40 y no 72 abajo: la convocatoria destacada que sigue entra con
     padding-top:0, asi que este valor era el hueco entero entre las dos. Con
     72 el bloque de la campaña quedaba desprendido del hero en vez de leerse
     como su continuacion. */
  padding: 0 0 40px;
  overflow: hidden;
  position: relative; }
  .pp-hero::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(249, 115, 22, 0.12) 0%, transparent 70%);
    pointer-events: none; }
  .pp-hero .pp-hero-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 24px;
    /* Con la imagen acotada por alto, las dos columnas ya no llenan la
       fila: sobran ~100px que por default se acumulan todos al final y
       dejaban el hero pegado al borde izquierdo. Repartidos, cada columna
       queda contra su margen. */
    justify-content: space-between; }
  .pp-hero .pp-hero-text {
    flex: 0 0 45%;
    min-width: 0; }
    .pp-hero .pp-hero-text h1 {
      font-size: 2.5rem;
      font-weight: 700;
      line-height: 1.15;
      color: #1E293B;
      margin-bottom: 20px; }
      .pp-hero .pp-hero-text h1 span {
        color: #F97316; }
    .pp-hero .pp-hero-text .pp-hero-sub {
      font-size: 1.0625rem;
      color: #64748B;
      line-height: 1.7;
      margin-bottom: 32px;
      max-width: 520px; }
    .pp-hero .pp-hero-text .pp-hero-actions {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 24px; }
    .pp-hero .pp-hero-text .pp-hero-trust {
      display: flex;
      gap: 20px;
      flex-wrap: wrap; }
      .pp-hero .pp-hero-text .pp-hero-trust span {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 0.8125rem;
        font-weight: 600;
        color: #1E293B; }
        .pp-hero .pp-hero-text .pp-hero-trust span .material-icons {
          font-size: 16px;
          color: #16A34A; }
    .pp-hero .pp-hero-text .pp-hero-search {
      position: relative;
      max-width: 480px; }
      .pp-hero .pp-hero-text .pp-hero-search input {
        width: 100%;
        height: 48px;
        background: #FFFFFF;
        border: 1.5px solid #E2E8F0;
        border-radius: 10px;
        padding: 0 120px 0 44px;
        font-size: 0.9375rem;
        color: #1E293B;
        font-family: "Inter", sans-serif;
        outline: none;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
        transition: border-color .15s, box-shadow .15s; }
        .pp-hero .pp-hero-text .pp-hero-search input::placeholder {
          color: #64748B; }
        .pp-hero .pp-hero-text .pp-hero-search input:focus {
          border-color: #F97316;
          box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.12); }
      .pp-hero .pp-hero-text .pp-hero-search .search-icon-hero {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 18px;
        color: #64748B;
        pointer-events: none; }
      .pp-hero .pp-hero-text .pp-hero-search button {
        position: absolute;
        right: 6px;
        top: 50%;
        transform: translateY(-50%);
        background: #4F46E5;
        color: #fff;
        font-size: 0.8125rem;
        font-weight: 600;
        padding: 6px 16px;
        border-radius: 7px;
        border: none;
        cursor: pointer;
        font-family: "Inter", sans-serif;
        transition: background .15s; }
        .pp-hero .pp-hero-text .pp-hero-search button:hover {
          background: #4338CA; }
  .pp-hero .pp-hero-image {
    /* 45% y no 56%: misma anchura que la columna de texto. */
    flex: 0 0 45%;
    display: flex;
    align-items: center;
    justify-content: center; }
    .pp-hero .pp-hero-image img {
      /* El tope va por alto. hero_banner.webp es cuadrado (1200x1200),
         asi que atado al ancho de la columna se dibujaba a 681x681 y era
         el la unica razon de que el hero midiera 721px de alto -- el
         texto ocupa 296. Acotado a 420, el hero baja a 460 y la
         convocatoria entra sin tener que hacer scroll. */
      max-height: 420px;
      width: auto;
      max-width: 100%;
      height: auto;
      display: block; }
  @media (max-width: 1023px) {
    .pp-hero .pp-hero-text h1 {
      font-size: 2rem; }
    .pp-hero .pp-hero-image {
      flex: 0 0 480px; }
      .pp-hero .pp-hero-image img {
        max-width: 480px; } }
  @media (max-width: 767px) {
    .pp-hero {
      padding: 0 0 40px; }
      .pp-hero .pp-hero-inner {
        flex-direction: column;
        gap: 32px; }
      .pp-hero .pp-hero-image {
        display: none; }
      .pp-hero .pp-hero-text {
        flex: none;
        width: 100%; }
      .pp-hero .pp-hero-text h1 {
        font-size: 1.625rem; } }

/* ── Beneficios ───────────────────────────── */
.pp-benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px; }
  @media (max-width: 1023px) {
    .pp-benefits-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 480px) {
    .pp-benefits-grid {
      grid-template-columns: 1fr; } }

.pp-benefit-card {
  text-align: center;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  padding: 32px 20px;
  transition: box-shadow .2s, transform .2s; }
  .pp-benefit-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px); }
  .pp-benefit-card .material-icons {
    font-size: 32px;
    color: #F97316;
    margin-bottom: 14px; }
  .pp-benefit-card h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #1E293B;
    margin: 0; }

/* ── Convocatorias (home, full width) ─────── */
.pp-contests-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px; }
  @media (max-width: 1023px) {
    .pp-contests-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 767px) {
    .pp-contests-grid {
      grid-template-columns: 1fr; } }

.pp-contest-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s; }
  .pp-contest-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px); }
  .pp-contest-card .pp-contest-cover {
    display: block;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: #F8FAFC; }
    .pp-contest-card .pp-contest-cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .3s; }
    .pp-contest-card .pp-contest-cover:hover img {
      transform: scale(1.04); }
    .pp-contest-card .pp-contest-cover .pp-cover-ph {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #E2E8F0; }
      .pp-contest-card .pp-contest-cover .pp-cover-ph .material-icons {
        font-size: 36px; }
  .pp-contest-card .pp-contest-body {
    padding: 20px 22px; }
  .pp-contest-card .pp-contest-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748B;
    margin-bottom: 10px; }
    .pp-contest-card .pp-contest-tag .material-icons {
      font-size: 14px; }
  .pp-contest-card h3 {
    font-size: 1.0625rem;
    font-weight: 700;
    color: #1E293B;
    margin: 0 0 14px;
    line-height: 1.35; }
    .pp-contest-card h3 a {
      color: #1E293B; }
      .pp-contest-card h3 a:hover {
        color: #F97316; }
  .pp-contest-card .pp-contest-btn {
    display: inline-flex;
    align-items: center;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #F97316; }
    .pp-contest-card .pp-contest-btn:hover {
      color: #EA580C;
      text-decoration: underline; }
  .pp-contest-card.pp-contest-closed {
    opacity: .65; }
    .pp-contest-card.pp-contest-closed .pp-contest-tag {
      color: #64748B; }
    .pp-contest-card.pp-contest-closed .pp-contest-btn {
      color: #64748B; }
      .pp-contest-card.pp-contest-closed .pp-contest-btn:hover {
        color: #1E293B; }

/* El teaser "Descubre nuevos autores" vivia aca. Se fue del home junto con su
   carrusel de destacados: las reglas eran todas descendientes de
   .pp-authors-teaser, asi que sin esa seccion no alcanzaban nada. Las
   .au-featured-* que tocaba son del listado de /authors y siguen definidas en
   _author.scss -- lo que se borro son los ajustes que el teaser les hacia. */
/* ── CTA Final (morado original, independiente de $pp-primary) ── */
.pp-cta-final {
  background: #4F46E5;
  padding: 72px 0;
  text-align: center; }
  .pp-cta-final h2 {
    font-size: 1.875rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px; }
  .pp-cta-final .pp-btn-white {
    color: #4F46E5; }
    .pp-cta-final .pp-btn-white:hover {
      color: #4338CA; }

/* ── Metrics ──────────────────────────────── */
.pp-metrics {
  background: linear-gradient(135deg, #FFF7ED 0%, #EFF6FF 50%, #FFEDD5 100%);
  border-top: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0;
  padding: 40px 0; }
  .pp-metrics .pp-metrics-grid {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0; }
  .pp-metrics .pp-metric {
    text-align: center;
    padding: 16px 24px;
    border-right: 1px solid #E2E8F0; }
    .pp-metrics .pp-metric:last-child {
      border-right: none; }
    .pp-metrics .pp-metric .pp-metric-n {
      display: block;
      font-size: 2rem;
      font-weight: 700;
      color: #F97316;
      line-height: 1.1; }
    .pp-metrics .pp-metric .pp-metric-l {
      display: block;
      font-size: 0.875rem;
      color: #64748B;
      margin-top: 4px; }
  @media (max-width: 767px) {
    .pp-metrics .pp-metrics-grid {
      grid-template-columns: repeat(2, 1fr); }
    .pp-metrics .pp-metric {
      border-right: 1px solid #E2E8F0;
      border-bottom: 1px solid #E2E8F0; }
    .pp-metrics .pp-metric:nth-child(2) {
      border-right: none; }
    .pp-metrics .pp-metric:nth-child(3), .pp-metrics .pp-metric:nth-child(4) {
      border-bottom: none; }
    .pp-metrics .pp-metric:nth-child(4) {
      border-right: none; } }

/* ── Carousel controls ───────────────────── */
.pp-carousel-wrap {
  overflow: hidden; }

.pp-carousel-btn {
  background: #FFFFFF;
  border: 1.5px solid #E2E8F0;
  border-radius: 8px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #1E293B;
  transition: background .15s, border-color .15s;
  padding: 0; }
  .pp-carousel-btn:hover {
    background: #F97316;
    border-color: #F97316;
    color: #fff; }
  .pp-carousel-btn .material-icons {
    font-size: 20px; }

/* ── Book / Story card ────────────────────── */
.pp-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px; }
  .pp-cards-grid.pp-carousel {
    grid-template-columns: repeat(12, calc(25% - 18px));
    transition: transform .4s ease;
    will-change: transform; }
  @media (max-width: 1023px) {
    .pp-cards-grid {
      grid-template-columns: repeat(2, 1fr); }
      .pp-cards-grid.pp-carousel {
        grid-template-columns: repeat(12, calc(50% - 12px)); } }
  @media (max-width: 767px) {
    .pp-cards-grid {
      grid-template-columns: 1fr; }
      .pp-cards-grid.pp-carousel {
        grid-template-columns: repeat(12, calc(100% - 0px)); } }

.pp-book-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
  display: flex;
  flex-direction: column; }
  .pp-book-card:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px); }
  .pp-book-card .pp-book-cover {
    position: relative;
    aspect-ratio: 3/4;
    overflow: hidden;
    background: #F8FAFC; }
    .pp-book-card .pp-book-cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .3s; }
    .pp-book-card .pp-book-cover:hover img {
      transform: scale(1.04); }
    .pp-book-card .pp-book-cover .pp-cover-ph {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #E2E8F0; }
      .pp-book-card .pp-book-cover .pp-cover-ph .material-icons {
        font-size: 48px; }
  .pp-book-card .pp-book-body {
    padding: 14px 14px 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px; }
    .pp-book-card .pp-book-body .pp-book-genre {
      font-size: 0.72rem;
      font-weight: 600;
      color: #4F46E5;
      text-transform: uppercase;
      letter-spacing: 0.06em; }
    .pp-book-card .pp-book-body h3 {
      font-size: 0.9rem;
      font-weight: 600;
      color: #1E293B;
      margin: 0;
      line-height: 1.35;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden; }
    .pp-book-card .pp-book-body .pp-book-author {
      font-size: 0.8125rem;
      color: #64748B;
      margin: 0; }
    .pp-book-card .pp-book-body .pp-book-meta {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-top: 6px; }
      .pp-book-card .pp-book-body .pp-book-meta .pp-stars {
        display: flex;
        gap: 1px; }
        .pp-book-card .pp-book-body .pp-book-meta .pp-stars .material-icons {
          font-size: 13px;
          color: #F59E0B; }
      .pp-book-card .pp-book-body .pp-book-meta .pp-reads {
        font-size: 0.75rem;
        color: #64748B;
        display: flex;
        align-items: center;
        gap: 3px; }
        .pp-book-card .pp-book-body .pp-book-meta .pp-reads .material-icons {
          font-size: 13px; }
    .pp-book-card .pp-book-body .pp-book-btn {
      margin-top: auto;
      padding-top: 12px; }
      .pp-book-card .pp-book-body .pp-book-btn a {
        display: block;
        text-align: center;
        padding: 8px;
        border: 1.5px solid #4F46E5;
        border-radius: 8px;
        font-size: 0.8125rem;
        font-weight: 600;
        color: #4F46E5;
        transition: all .15s; }
        .pp-book-card .pp-book-body .pp-book-btn a:hover {
          background: #4F46E5;
          color: #fff; }

/* ── Contests sidebar ─────────────────────── */
.pp-contests-sidebar {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06); }
  .pp-contests-sidebar .pp-cs-head {
    background: #F97316;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .pp-contests-sidebar .pp-cs-head span {
      font-size: 0.9375rem;
      font-weight: 700;
      color: #fff; }
    .pp-contests-sidebar .pp-cs-head a {
      font-size: 0.75rem;
      color: rgba(255, 255, 255, 0.75);
      font-weight: 600; }
      .pp-contests-sidebar .pp-cs-head a:hover {
        color: #fff;
        text-decoration: underline; }
  .pp-contests-sidebar .pp-cs-list {
    padding: 8px 0; }
  .pp-contests-sidebar .pp-cs-item {
    display: flex;
    flex-direction: column;
    padding: 14px 20px;
    border-bottom: 1px solid #E2E8F0;
    transition: background .15s; }
    .pp-contests-sidebar .pp-cs-item:last-child {
      border-bottom: none; }
    .pp-contests-sidebar .pp-cs-item:hover {
      background: #F8FAFC; }
    .pp-contests-sidebar .pp-cs-item .pp-cs-name {
      font-size: 0.9rem;
      font-weight: 600;
      color: #1E293B;
      margin: 0 0 4px; }
    .pp-contests-sidebar .pp-cs-item .pp-cs-date {
      font-size: 0.75rem;
      color: #64748B;
      margin: 0 0 4px;
      display: flex;
      align-items: center;
      gap: 4px; }
      .pp-contests-sidebar .pp-cs-item .pp-cs-date .material-icons {
        font-size: 13px; }
    .pp-contests-sidebar .pp-cs-item .pp-cs-cat {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 600;
      color: #1E4FA8;
      background: rgba(30, 79, 168, 0.08);
      padding: 2px 8px;
      border-radius: 10px;
      margin-bottom: 8px; }
    .pp-contests-sidebar .pp-cs-item .pp-cs-btn {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      font-size: 0.8rem;
      font-weight: 600;
      color: #fff;
      background: #F97316;
      padding: 6px 14px;
      border-radius: 6px;
      align-self: flex-start;
      transition: background .15s; }
      .pp-contests-sidebar .pp-cs-item .pp-cs-btn:hover {
        background: #EA580C;
        color: #fff; }
      .pp-contests-sidebar .pp-cs-item .pp-cs-btn .material-icons {
        font-size: 14px; }

/* ── "¿Eres escritor?" CTA ────────────────── */
.pp-cta-dark {
  background: linear-gradient(135deg, #1E293B 0%, #1E4FA8 100%);
  padding: 80px 0; }
  .pp-cta-dark .pp-cta-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    flex-wrap: wrap; }
  .pp-cta-dark .pp-cta-text h2 {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px; }
  .pp-cta-dark .pp-cta-text p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.72);
    max-width: 500px;
    line-height: 1.7;
    margin: 0; }
  @media (max-width: 767px) {
    .pp-cta-dark .pp-cta-inner {
      flex-direction: column;
      gap: 24px; } }

/* ── How it works ─────────────────────────── */
.pp-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  position: relative;
  /* connector line */ }
  .pp-steps::before {
    content: '';
    position: absolute;
    top: 28px;
    left: calc(16.666% + 28px);
    right: calc(16.666% + 28px);
    height: 2px;
    background: linear-gradient(to right, #F97316, #1E4FA8);
    opacity: .3; }
  .pp-steps.pp-steps-5 {
    grid-template-columns: repeat(5, 1fr);
    gap: 20px; }
    .pp-steps.pp-steps-5::before {
      left: calc(10% + 28px);
      right: calc(10% + 28px); }
    @media (max-width: 900px) {
      .pp-steps.pp-steps-5 {
        grid-template-columns: repeat(3, 1fr); }
        .pp-steps.pp-steps-5::before {
          display: none; } }
    @media (max-width: 480px) {
      .pp-steps.pp-steps-5 {
        grid-template-columns: 1fr; } }
  .pp-steps .pp-step {
    text-align: center;
    position: relative; }
    .pp-steps .pp-step .pp-step-num {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: #F97316;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.25rem;
      font-weight: 700;
      color: #fff;
      margin: 0 auto 20px;
      position: relative;
      z-index: 1;
      box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35); }
    .pp-steps .pp-step .pp-step-icon {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: #F97316;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 20px;
      position: relative;
      z-index: 1;
      box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35); }
      .pp-steps .pp-step .pp-step-icon .material-icons {
        color: #fff;
        font-size: 24px; }
    .pp-steps .pp-step h3 {
      font-size: 1.125rem;
      font-weight: 700;
      color: #1E293B;
      margin-bottom: 10px; }
    .pp-steps .pp-step p {
      font-size: 0.9375rem;
      color: #64748B;
      line-height: 1.7; }
  @media (max-width: 767px) {
    .pp-steps {
      grid-template-columns: 1fr;
      gap: 32px; }
      .pp-steps::before {
        display: none; } }

.pp-steps-cta {
  text-align: center;
  margin-top: 44px; }
  .pp-steps-cta .pp-steps-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #1E293B;
    border: 1.5px solid #E2E8F0;
    padding: 10px 22px;
    border-radius: 10px;
    transition: all .15s; }
    .pp-steps-cta .pp-steps-link:hover {
      border-color: #F97316;
      color: #F97316; }
    .pp-steps-cta .pp-steps-link .material-icons {
      font-size: 16px; }

/* ── Resources grid ───────────────────────── */
.pp-resources-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px; }
  .pp-resources-grid .pp-resource-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
    display: flex;
    flex-direction: column; }
    .pp-resources-grid .pp-resource-card:hover {
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
      transform: translateY(-2px); }
    .pp-resources-grid .pp-resource-card .pp-resource-thumb {
      height: 160px;
      overflow: hidden;
      background: #F8FAFC; }
      .pp-resources-grid .pp-resource-card .pp-resource-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .3s; }
      .pp-resources-grid .pp-resource-card .pp-resource-thumb:hover img {
        transform: scale(1.04); }
      .pp-resources-grid .pp-resource-card .pp-resource-thumb .pp-blog-ph {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #E2E8F0; }
        .pp-resources-grid .pp-resource-card .pp-resource-thumb .pp-blog-ph .material-icons {
          font-size: 40px; }
    .pp-resources-grid .pp-resource-card .pp-resource-body {
      padding: 20px 22px;
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 8px; }
    .pp-resources-grid .pp-resource-card .pp-res-cat {
      font-size: 0.75rem;
      font-weight: 600;
      color: #4F46E5;
      text-transform: uppercase;
      letter-spacing: 0.06em; }
    .pp-resources-grid .pp-resource-card h3 {
      font-size: 1rem;
      font-weight: 600;
      color: #1E293B;
      margin: 0;
      line-height: 1.4; }
      .pp-resources-grid .pp-resource-card h3 a {
        color: #1E293B; }
        .pp-resources-grid .pp-resource-card h3 a:hover {
          color: #F97316; }
    .pp-resources-grid .pp-resource-card p {
      font-size: 0.875rem;
      color: #64748B;
      line-height: 1.65;
      flex: 1;
      margin: 0;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden; }
    .pp-resources-grid .pp-resource-card .pp-blog-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 4px; }
      .pp-resources-grid .pp-resource-card .pp-blog-footer .pp-blog-date {
        font-size: 0.75rem;
        color: #64748B;
        display: flex;
        align-items: center;
        gap: 3px; }
        .pp-resources-grid .pp-resource-card .pp-blog-footer .pp-blog-date .material-icons {
          font-size: 13px; }
      .pp-resources-grid .pp-resource-card .pp-blog-footer .pp-read-more {
        font-size: 0.75rem;
        font-weight: 600;
        color: #4F46E5; }
        .pp-resources-grid .pp-resource-card .pp-blog-footer .pp-read-more:hover {
          color: #4338CA;
          text-decoration: underline; }
  @media (max-width: 1023px) {
    .pp-resources-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 767px) {
    .pp-resources-grid {
      grid-template-columns: 1fr; } }

/* ── Blog horizontal cards ────────────────── */
.pp-blog-list {
  display: flex;
  flex-direction: column;
  gap: 24px; }
  .pp-blog-list .pp-blog-card-h {
    display: flex;
    gap: 24px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s; }
    .pp-blog-list .pp-blog-card-h:hover {
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
      transform: translateY(-2px); }
    .pp-blog-list .pp-blog-card-h .pp-blog-thumb-h {
      flex: 0 0 220px;
      overflow: hidden;
      background: #F8FAFC; }
      .pp-blog-list .pp-blog-card-h .pp-blog-thumb-h img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .3s; }
      .pp-blog-list .pp-blog-card-h .pp-blog-thumb-h:hover img {
        transform: scale(1.04); }
      .pp-blog-list .pp-blog-card-h .pp-blog-thumb-h .pp-blog-ph {
        width: 100%;
        height: 100%;
        min-height: 140px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #E2E8F0; }
        .pp-blog-list .pp-blog-card-h .pp-blog-thumb-h .pp-blog-ph .material-icons {
          font-size: 40px; }
    .pp-blog-list .pp-blog-card-h .pp-blog-body-h {
      flex: 1;
      padding: 20px 24px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 8px; }
      .pp-blog-list .pp-blog-card-h .pp-blog-body-h .pp-blog-cat {
        font-size: 0.75rem;
        font-weight: 600;
        color: #F97316;
        text-transform: uppercase;
        letter-spacing: 0.06em; }
      .pp-blog-list .pp-blog-card-h .pp-blog-body-h h3 {
        font-size: 1.125rem;
        font-weight: 700;
        color: #1E293B;
        margin: 0;
        line-height: 1.35; }
        .pp-blog-list .pp-blog-card-h .pp-blog-body-h h3 a {
          color: #1E293B; }
          .pp-blog-list .pp-blog-card-h .pp-blog-body-h h3 a:hover {
            color: #F97316; }
      .pp-blog-list .pp-blog-card-h .pp-blog-body-h p {
        font-size: 0.9rem;
        color: #64748B;
        line-height: 1.65;
        margin: 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden; }
      .pp-blog-list .pp-blog-card-h .pp-blog-body-h .pp-blog-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 8px; }
        .pp-blog-list .pp-blog-card-h .pp-blog-body-h .pp-blog-footer .pp-blog-date {
          font-size: 0.8125rem;
          color: #64748B;
          display: flex;
          align-items: center;
          gap: 4px; }
          .pp-blog-list .pp-blog-card-h .pp-blog-body-h .pp-blog-footer .pp-blog-date .material-icons {
            font-size: 14px; }
        .pp-blog-list .pp-blog-card-h .pp-blog-body-h .pp-blog-footer .pp-read-more {
          font-size: 0.8125rem;
          font-weight: 600;
          color: #4F46E5; }
          .pp-blog-list .pp-blog-card-h .pp-blog-body-h .pp-blog-footer .pp-read-more:hover {
            color: #4338CA;
            text-decoration: underline; }
    @media (max-width: 767px) {
      .pp-blog-list .pp-blog-card-h {
        flex-direction: column; }
        .pp-blog-list .pp-blog-card-h .pp-blog-thumb-h {
          flex: none;
          height: 180px; } }

/* ── Blog 3-col vertical grid (index) ─────── */
.pp-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; }
  @media (max-width: 767px) {
    .pp-blog-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 480px) {
    .pp-blog-grid {
      grid-template-columns: 1fr; } }

.pp-blog-card-v {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s, transform .2s; }
  .pp-blog-card-v:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px); }
  .pp-blog-card-v .pp-blog-thumb-v {
    height: 160px;
    overflow: hidden;
    background: #F8FAFC; }
    .pp-blog-card-v .pp-blog-thumb-v img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .3s; }
    .pp-blog-card-v .pp-blog-thumb-v:hover img {
      transform: scale(1.04); }
    .pp-blog-card-v .pp-blog-thumb-v .pp-blog-ph {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #E2E8F0; }
      .pp-blog-card-v .pp-blog-thumb-v .pp-blog-ph .material-icons {
        font-size: 40px; }
  .pp-blog-card-v .pp-blog-body-v {
    flex: 1;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px; }
    .pp-blog-card-v .pp-blog-body-v .pp-blog-cat {
      font-size: 0.6875rem;
      font-weight: 700;
      color: #F97316;
      text-transform: uppercase;
      letter-spacing: 0.06em; }
    .pp-blog-card-v .pp-blog-body-v h3 {
      font-size: 0.9375rem;
      font-weight: 700;
      color: #1E293B;
      margin: 0;
      line-height: 1.35; }
      .pp-blog-card-v .pp-blog-body-v h3 a {
        color: #1E293B; }
        .pp-blog-card-v .pp-blog-body-v h3 a:hover {
          color: #F97316; }
    .pp-blog-card-v .pp-blog-body-v p {
      font-size: 0.8125rem;
      color: #64748B;
      line-height: 1.6;
      margin: 0;
      flex: 1;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden; }
    .pp-blog-card-v .pp-blog-body-v .pp-blog-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 4px; }
      .pp-blog-card-v .pp-blog-body-v .pp-blog-footer .pp-blog-date {
        font-size: 0.75rem;
        color: #64748B;
        display: flex;
        align-items: center;
        gap: 3px; }
        .pp-blog-card-v .pp-blog-body-v .pp-blog-footer .pp-blog-date .material-icons {
          font-size: 13px; }
      .pp-blog-card-v .pp-blog-body-v .pp-blog-footer .pp-read-more {
        font-size: 0.75rem;
        font-weight: 600;
        color: #4F46E5; }
        .pp-blog-card-v .pp-blog-body-v .pp-blog-footer .pp-read-more:hover {
          color: #4338CA;
          text-decoration: underline; }

/* ── Newsletter ───────────────────────────── */
.pp-newsletter {
  background: linear-gradient(135deg, #F97316 0%, #1E4FA8 100%);
  padding: 72px 0;
  /* 2-column variant */ }
  .pp-newsletter .pp-nl-inner {
    max-width: 580px;
    margin: 0 auto;
    padding: 0 24px;
    text-align: center; }
    .pp-newsletter .pp-nl-inner h2 {
      font-size: 1.75rem;
      font-weight: 700;
      color: #fff;
      margin-bottom: 10px; }
    .pp-newsletter .pp-nl-inner p {
      font-size: 1rem;
      color: rgba(255, 255, 255, 0.75);
      margin-bottom: 28px; }
  .pp-newsletter .pp-nl-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center; }
    .pp-newsletter .pp-nl-form input {
      flex: 1;
      min-width: 200px;
      height: 48px;
      background: rgba(255, 255, 255, 0.15);
      border: 1.5px solid rgba(255, 255, 255, 0.3);
      border-radius: 10px;
      color: #fff;
      padding: 0 16px;
      font-size: 0.9375rem;
      font-family: "Inter", sans-serif;
      outline: none;
      transition: border-color .15s, background .15s; }
      .pp-newsletter .pp-nl-form input::placeholder {
        color: rgba(255, 255, 255, 0.6); }
      .pp-newsletter .pp-nl-form input:focus {
        border-color: rgba(255, 255, 255, 0.7);
        background: rgba(255, 255, 255, 0.2); }
    .pp-newsletter .pp-nl-form button {
      height: 48px;
      padding: 0 28px;
      background: #fff;
      color: #F97316;
      font-size: 0.9375rem;
      font-weight: 700;
      border-radius: 10px;
      border: none;
      cursor: pointer;
      font-family: "Inter", sans-serif;
      transition: transform .12s, background .15s;
      white-space: nowrap; }
      .pp-newsletter .pp-nl-form button:hover {
        background: #F8FAFC;
        transform: translateY(-1px); }
  .pp-newsletter #send_response_join {
    margin-top: 16px;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 600; }
  .pp-newsletter.pp-nl-2col {
    padding: 56px 0; }
    .pp-newsletter.pp-nl-2col .pp-nl-inner {
      max-width: 1280px;
      text-align: left;
      display: flex;
      align-items: center;
      gap: 48px; }
    .pp-newsletter.pp-nl-2col .pp-nl-text {
      flex: 1; }
      .pp-newsletter.pp-nl-2col .pp-nl-text h2 {
        margin-bottom: 8px; }
      .pp-newsletter.pp-nl-2col .pp-nl-text p {
        margin-bottom: 0; }
    .pp-newsletter.pp-nl-2col .pp-nl-form {
      flex: 0 0 440px;
      flex-wrap: nowrap; }
      .pp-newsletter.pp-nl-2col .pp-nl-form input {
        flex: 1;
        min-width: 0; }
      .pp-newsletter.pp-nl-2col .pp-nl-form button {
        white-space: nowrap;
        flex-shrink: 0; }
    @media (max-width: 767px) {
      .pp-newsletter.pp-nl-2col .pp-nl-inner {
        flex-direction: column;
        gap: 24px;
        text-align: center; }
      .pp-newsletter.pp-nl-2col .pp-nl-form {
        flex: none;
        width: 100%; } }

/* ── Main layout (2-col: content + sidebar) ── */
.pp-main-layout {
  padding: 56px 0 72px;
  background: #FFFFFF; }

.pp-main-section {
  margin-bottom: 56px; }
  .pp-main-section.pp-main-section-alt {
    background: #F8FAFC;
    border-radius: 16px;
    padding: 32px; }

/* ── Story cards homepage (4 col) ─────── */
.pp-home-story-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px; }
  @media (max-width: 767px) {
    .pp-home-story-grid {
      grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 480px) {
    .pp-home-story-grid {
      grid-template-columns: 1fr; } }

.pp-story-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s; }
  .pp-story-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.07);
    transform: translateY(-2px); }

.pp-story-body {
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%; }
  .pp-story-body .pp-book-genre {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #4F46E5;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0; }
  .pp-story-body h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #1E293B;
    margin: 0;
    line-height: 1.35; }
    .pp-story-body h3 a {
      color: #1E293B; }
      .pp-story-body h3 a:hover {
        color: #F97316; }

.pp-story-preview {
  font-size: 0.8375rem;
  color: #64748B;
  line-height: 1.65;
  margin: 0;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.pp-story-link {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #4F46E5;
  margin-top: 4px; }
  .pp-story-link:hover {
    color: #4338CA;
    text-decoration: underline; }

/* ── Sidebar ──────────────────────────────── */
.pp-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 20px; }

.pp-sidebar-widget {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden; }

/* Convocatorias widget */
.pp-sw-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 20px;
  background: linear-gradient(135deg, #F97316, #EA580C);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700; }
  .pp-sw-head .material-icons {
    font-size: 18px; }

.pp-sw-body {
  padding: 4px 0;
  max-height: 420px;
  overflow-y: auto; }

.pp-sw-contest {
  padding: 14px 20px;
  border-bottom: 1px solid #E2E8F0; }
  .pp-sw-contest:last-child {
    border-bottom: none; }

.pp-sw-contest-name {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1E293B;
  line-height: 1.4;
  margin-bottom: 6px; }
  .pp-sw-contest-name:hover {
    color: #F97316; }

.pp-sw-contest-date {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  color: #64748B;
  margin: 0 0 8px; }
  .pp-sw-contest-date .material-icons {
    font-size: 13px; }

.pp-sw-contest-btn {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #F97316; }
  .pp-sw-contest-btn:hover {
    color: #EA580C; }

.pp-sw-empty {
  padding: 20px;
  text-align: center;
  font-size: 0.8125rem;
  color: #64748B;
  margin: 0; }

.pp-sw-footer {
  display: block;
  padding: 12px 20px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #F97316;
  text-align: center;
  border-top: 1px solid #E2E8F0;
  background: #F8FAFC; }
  .pp-sw-footer:hover {
    color: #EA580C;
    background: #FFF7ED; }

/* Ad banner: libros en venta */
.pp-ad-widget {
  border-color: #FED7AA; }

.pp-ad-banner {
  padding: 20px;
  background: linear-gradient(160deg, #FAFAF9 0%, #FFF7ED 100%);
  text-align: center; }
  .pp-ad-banner .pp-ad-tag {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #F97316;
    background: #FFF7ED;
    border: 1px solid #FED7AA;
    border-radius: 20px;
    padding: 3px 10px;
    margin-bottom: 12px; }
  .pp-ad-banner h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #1E293B;
    margin-bottom: 6px; }
  .pp-ad-banner p {
    font-size: 0.8125rem;
    color: #64748B;
    margin-bottom: 14px;
    line-height: 1.5; }

.pp-ad-cover {
  display: block;
  width: 110px;
  margin: 0 auto 12px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(249, 115, 22, 0.2); }
  .pp-ad-cover img {
    width: 100%;
    display: block;
    transition: transform .25s; }
  .pp-ad-cover:hover img {
    transform: scale(1.04); }

.pp-ad-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1E293B;
  margin-bottom: 14px; }
  .pp-ad-title:hover {
    color: #F97316; }

.pp-ad-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #F97316;
  color: #fff;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 0.875rem;
  font-weight: 600;
  transition: background .15s; }
  .pp-ad-btn .material-icons {
    font-size: 16px; }
  .pp-ad-btn:hover {
    background: #EA580C;
    color: #fff; }

/* CTA widget */
.pp-sw-cta {
  padding: 24px 20px;
  text-align: center;
  background: linear-gradient(160deg, #FFF7ED 0%, #EFF6FF 100%); }
  .pp-sw-cta .pp-sw-cta-icon {
    font-size: 32px;
    color: #F97316;
    opacity: .7;
    display: block;
    margin-bottom: 12px; }
  .pp-sw-cta h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #1E293B;
    margin-bottom: 6px; }
  .pp-sw-cta p {
    font-size: 0.8125rem;
    color: #64748B;
    margin-bottom: 16px;
    line-height: 1.5; }

.pp-sw-cta-btn {
  display: block;
  background: #F97316;
  color: #fff;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 0.875rem;
  font-weight: 600;
  transition: background .15s; }
  .pp-sw-cta-btn:hover {
    background: #EA580C;
    color: #fff; }

/* Sidebar responsive */
@media (max-width: 991px) {
  .pp-sidebar {
    position: static;
    margin-top: 40px; } }
/* ── Stats bar (floating card) ────────────── */
.pp-stats-wrap {
  padding: 0 24px 64px;
  background: #FFFFFF; }
  .pp-stats-wrap.pp-stats-wrap-top {
    padding-top: 40px; }
    .pp-stats-wrap.pp-stats-wrap-top .pp-stats-bar {
      margin-top: 0; }
    @media (max-width: 1023px) {
      .pp-stats-wrap.pp-stats-wrap-top .pp-stats-bar {
        margin-top: 0; } }

.pp-stats-bar {
  max-width: 1280px;
  margin: -56px auto 0;
  position: relative;
  z-index: 2;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 20px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  padding: 36px 24px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px; }
  @media (max-width: 1023px) {
    .pp-stats-bar {
      grid-template-columns: repeat(2, 1fr);
      margin-top: -40px;
      gap: 24px; } }
  @media (max-width: 767px) {
    .pp-stats-bar {
      grid-template-columns: repeat(2, 1fr);
      margin-top: 0;
      border-radius: 16px;
      padding: 24px 16px; } }

.pp-stat {
  text-align: center;
  padding: 0 8px; }
  .pp-stat .material-icons {
    font-size: 26px;
    color: #F97316;
    margin-bottom: 8px; }
  .pp-stat .pp-stat-n {
    display: block;
    font-size: 1.75rem;
    font-weight: 800;
    color: #1E293B;
    line-height: 1.1; }
  .pp-stat .pp-stat-l {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1E293B;
    margin-top: 2px; }
  .pp-stat .pp-stat-d {
    display: block;
    font-size: 0.75rem;
    color: #64748B;
    margin-top: 6px;
    line-height: 1.4; }

/* ── Widgets laterales (flotantes) ─────────── */
.pp-side-widgets {
  position: fixed;
  top: 50%;
  /* El widget (190px + 24px de gap = 214px) necesita ese margen vacío afuera
     de .pp-container (1280px, centrado) para no pisar contenido. Margen
     disponible = (viewport - 1280) / 2, así que matemáticamente no entra
     por debajo de ~1710px de viewport -- eso YA pasaba con right:20px fijo
     (probado: overlap real a 1366px), no es algo que haya roto este fix.
     Por eso se oculta ahí abajo en vez de sentarse arriba del contenido. */
  right: calc(50vw - 854px);
  /* 854 = mitad container(640) + gap(24) + ancho widget(190) */
  transform: translateY(-50%);
  width: 190px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 500; }
  @media (max-width: 1720px) {
    .pp-side-widgets {
      display: none; } }
  .pp-side-widgets .pp-sidebar-widget {
    width: 100%; }

.pp-side-promo {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.16);
  padding: 16px;
  position: relative; }
  .pp-side-promo .pp-side-promo-close {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: none;
    background: #F8FAFC;
    color: #64748B;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer; }
    .pp-side-promo .pp-side-promo-close .material-icons {
      font-size: 15px; }
    .pp-side-promo .pp-side-promo-close:hover {
      background: #E2E8F0;
      color: #1E293B; }
  .pp-side-promo .pp-side-promo-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: rgba(22, 163, 74, 0.1);
    color: #16A34A;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 3px 8px;
    border-radius: 20px;
    margin-bottom: 10px; }
  .pp-side-promo .pp-side-promo-cover {
    display: block;
    aspect-ratio: 3/4;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 10px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15); }
    .pp-side-promo .pp-side-promo-cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block; }
    .pp-side-promo .pp-side-promo-cover .pp-cover-ph {
      width: 100%;
      height: 100%;
      background: #F8FAFC;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #E2E8F0; }
      .pp-side-promo .pp-side-promo-cover .pp-cover-ph .material-icons {
        font-size: 32px; }
  .pp-side-promo h4 {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1E293B;
    margin: 0 0 12px;
    line-height: 1.35; }
    .pp-side-promo h4 a {
      color: #1E293B; }
      .pp-side-promo h4 a:hover {
        color: #F97316; }
  .pp-side-promo .pp-side-promo-actions {
    display: flex;
    flex-direction: column;
    gap: 8px; }
    .pp-side-promo .pp-side-promo-actions .pp-btn-primary, .pp-side-promo .pp-side-promo-actions .pp-btn-ghost {
      width: 100%;
      justify-content: center;
      padding: 8px 12px;
      font-size: 0.8125rem; }

/* ── Convocatoria destacada ────────────────── */
.pp-featured-contest {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: #0F172A;
  color: #fff;
  min-height: 380px;
  display: flex;
  align-items: center; }
  .pp-featured-contest .pp-fc-bg {
    position: absolute;
    inset: 0; }
    .pp-featured-contest .pp-fc-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .55; }
    .pp-featured-contest .pp-fc-bg::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.6) 55%, rgba(15, 23, 42, 0.2) 100%); }
  .pp-featured-contest .pp-fc-inner {
    position: relative;
    z-index: 1;
    padding: 56px 48px;
    max-width: 620px; }
  .pp-featured-contest .pp-fc-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(249, 115, 22, 0.15);
    border: 1px solid rgba(249, 115, 22, 0.4);
    color: #F97316;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 5px 12px;
    border-radius: 20px;
    margin-bottom: 16px; }
  .pp-featured-contest h2 {
    font-size: 2rem;
    font-weight: 800;
    margin: 0 0 14px; }
  .pp-featured-contest .pp-fc-desc {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    margin-bottom: 18px;
    max-width: 480px; }
  .pp-featured-contest .pp-fc-list {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 8px; }
    .pp-featured-contest .pp-fc-list li {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.875rem;
      color: rgba(255, 255, 255, 0.85); }
      .pp-featured-contest .pp-fc-list li .material-icons {
        font-size: 16px;
        color: #16A34A; }
  .pp-featured-contest .pp-fc-deadline {
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 24px;
    color: #fff; }
    .pp-featured-contest .pp-fc-deadline strong {
      color: #F97316; }
  .pp-featured-contest .pp-fc-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap; }
  @media (max-width: 767px) {
    .pp-featured-contest {
      min-height: auto; }
      .pp-featured-contest .pp-fc-inner {
        padding: 40px 24px;
        max-width: 100%; }
      .pp-featured-contest h2 {
        font-size: 1.5rem; } }

/* ── Nuestra editorial ─────────────────────── */
.pp-editorial-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px; }
  @media (max-width: 1023px) {
    .pp-editorial-grid {
      grid-template-columns: 1fr; } }

.pp-editorial-col h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #1E293B;
  margin: 0 0 16px; }

.pp-editorial-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px; }
  @media (max-width: 480px) {
    .pp-editorial-cards {
      grid-template-columns: 1fr; } }

.pp-book-card.pp-upcoming .pp-book-cover {
  position: relative; }
.pp-book-card.pp-upcoming .pp-book-body h3 {
  color: #64748B; }

.pp-editorial-upcoming-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 1;
  background: #1E4FA8;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 3px 9px;
  border-radius: 12px; }

/* ── Story tag (historias destacadas) ──────── */
.pp-story-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #1E4FA8;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 4px 10px;
  border-radius: 12px; }

/* ── Testimonio ─────────────────────────────── */
.pp-testimonials {
  padding: 64px 0;
  /* Fondo plano y no $pp-bg-alt: ahora sigue a "Autores por descubrir", que
     es alterno. Con los dos alternos las dos secciones se leen como un solo
     bloque y el testimonio pierde el borde que lo separa de las tarjetas. */
  background: #FFFFFF; }

.pp-testimonials-inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center; }

.pp-testimonial-quote {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1E293B;
  line-height: 1.6;
  margin-bottom: 24px; }

.pp-testimonial-author {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px; }

.pp-testimonial-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #1E4FA8;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.0625rem;
  font-weight: 700;
  flex-shrink: 0;
  /* La foto del perfil vinculado no es cuadrada: sin recortar al circulo
     sobresale de el por las esquinas. */
  overflow: hidden; }
  .pp-testimonial-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; }

.pp-testimonial-meta {
  text-align: left; }

.pp-testimonial-name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1E293B;
  /* El enlace al perfil no se pinta como enlace: dentro de la firma de un
     testimonio, subrayado y color de link lo hacen parecer publicidad. */ }
  .pp-testimonial-name a {
    color: inherit;
    text-decoration: none; }
    .pp-testimonial-name a:hover {
      color: #F97316; }

.pp-testimonial-role {
  font-size: 0.8125rem;
  color: #64748B;
  margin-bottom: 2px; }

.pp-testimonial-stars .material-icons {
  font-size: 14px;
  color: #F59E0B; }

/* ── Legacy (other pages) ─────────────────── */
#main {
  padding: 60px 24px;
  background: #F8FAFC; }
  #main h1 {
    color: #1E293B;
    font-size: 1.75rem;
    text-align: center;
    font-weight: 700; }
  #main .paragraph {
    text-align: center;
    padding: 20px 40px;
    font-size: 1rem;
    color: #64748B;
    line-height: 1.7; }
  @media (max-width: 767px) {
    #main {
      padding: 32px 16px; }
      #main .paragraph {
        padding: 10px 0; } }

#bottom-before {
  height: 40px; }

/* Books Style */
.banner {
  background-color: #bcbcbc;
  background: url("../images/banner.5e158587631f.png") center bottom no-repeat;
  text-align: center;
  padding: 20px; }
  .banner .image img {
    height: 250px; }
  .banner h1 {
    margin-top: 50px;
    font-size: 1.6rem; }
  .banner h2 {
    font-size: 2rem;
    color: #F97316; }
  .banner h3 {
    font-size: 1.1rem; }
  .banner p {
    font-size: 1.5rem;
    color: #1E4FA8; }
  .banner .book {
    margin-top: 50px; }
  .banner .writte {
    margin-top: 50px;
    padding: 20px; }
    .banner .writte h2 {
      font-size: 1.6rem;
      color: #6b3869; }
  @media (max-width: 769px) {
    .banner .writte {
      margin-top: 10px; }
      .banner .writte h2 {
        font-size: 1.6rem; } }

@media (max-width: 769px) {
  #banner {
    display: none; } }
#books_main {
  margin: 50px 0 50px; }
  #books_main h1 {
    color: #F97316;
    font-size: 2rem;
    text-align: center; }
  #books_main h2 {
    color: #1E4FA8;
    font-size: 1.6rem;
    text-align: center; }
  #books_main h3 {
    font-size: 0.9rem;
    text-align: center; }
  #books_main p {
    font-size: 1.4rem; }
  #books_main .paragraph {
    text-align: center;
    padding: 20px 50px;
    font-size: 1.4rem;
    font-weight: 600; }
  #books_main .image {
    text-align: center; }
    #books_main .image img {
      width: 700px; }
  @media (max-width: 769px) {
    #books_main .paragraph {
      padding: 0;
      font-size: 1.2rem; }
    #books_main .image img {
      width: 100%; }
    #books_main h1 {
      font-size: 2rem; } }

#books, #stories {
  margin: 50px 0 50px 0; }
  #books h2, #stories h2 {
    color: #F97316;
    text-align: left;
    font-size: 1.6rem;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: 1px solid #1E4FA8;
    margin-bottom: 45px; }
  #books .image, #stories .image {
    text-align: center; }
    #books .image img, #stories .image img {
      width: 100%; }
  #books h3.title, #stories h3.title {
    font-size: 1.5rem;
    text-align: center; }
  #books .author, #stories .author {
    font-size: 0.9rem;
    text-align: center; }
  #books h4.author, #stories h4.author {
    font-size: 1rem;
    font-weight: 600;
    color: #1E4FA8;
    text-align: center; }
  #books h5.author, #stories h5.author {
    font-size: 1rem;
    font-weight: 600;
    color: #1E4FA8;
    text-align: left; }
  #books p, #stories p {
    text-align: justify; }
  @media (max-width: 769px) {
    #books .paragraph, #stories .paragraph {
      padding: 0; }
    #books .image img, #stories .image img {
      width: 50%; }
    #books nav, #stories nav {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
      #books nav h2, #stories nav h2 {
        font-size: 0.9rem; }
    #books .nav-tabs .nav-link, #stories .nav-tabs .nav-link {
      width: 50%; } }

#books .card {
  padding: 20px; }
  #books .card h2 {
    font-size: 1.4rem;
    margin-bottom: 25px; }
  #books .card h3 {
    font-size: 1.3rem;
    font-family: droid serif, Georgia, Cambria, Times New Roman, Times, serif; }

#short-stories {
  margin: 50px 0 100px 0; }
  #short-stories h2 {
    color: #F97316;
    text-align: left;
    font-size: 1.6rem;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: 1px solid #1E4FA8;
    margin-bottom: 45px; }
  #short-stories h3.title {
    font-family: droid serif, Georgia, Cambria, Times New Roman, Times, serif;
    font-size: 1.3rem;
    text-align: center; }
  #short-stories h4.author {
    font-size: 1rem;
    font-weight: 600;
    color: #1E4FA8;
    text-align: center; }
  #short-stories p {
    font-size: 0.9rem;
    text-align: justify; }
  #short-stories .read {
    font-size: 0.9rem;
    font-weight: 600;
    text-align: right;
    color: #1E4FA8; }

#story, #tales {
  margin: 0 0 100px 0;
  /*.share{
      text-align: right;
      img{
          display: inline;
          width: 10%;
      }
  }*/ }
  #story h1, #tales h1 {
    font-family: droid serif, Georgia, Cambria, Times New Roman, Times, serif;
    text-align: center;
    font-size: 2rem;
    color: #F97316; }
  #story h2, #tales h2 {
    text-align: center;
    font-size: 1.8rem;
    color: #F97316; }
    #story h2.title, #tales h2.title {
      margin-top: 50px;
      font-family: droid serif, Georgia, Cambria, Times New Roman, Times, serif; }
    #story h2.author, #tales h2.author {
      color: #F97316;
      font-size: 1.1rem; }
  #story .margin-story-top, #tales .margin-story-top {
    margin-top: 50px; }
  #story nav, #tales nav {
    margin-top: 30px; }
  #story .story, #tales .story {
    padding: 0 30px;
    /*    margin-top: 50px;
        overflow-y: auto;
        height: 800px;*/
    text-align: justify; }
    #story .story h2, #tales .story h2 {
      font-size: 1.1rem; }
  #story .socials, #story .sponsor, #tales .socials, #tales .sponsor {
    position: -webkit-sticky;
    position: sticky;
    top: 20px; }
  #story .socials, #story .share, #tales .socials, #tales .share {
    display: block; }
  #story .share .item img, #tales .share .item img {
    width: 80px; }
  #story .book-cover, #tales .book-cover {
    position: relative;
    width: 100%;
    height: 350px;
    /*    min-height: 180px;
        max-height: 350px;*/
    overflow: hidden;
    text-align: center; }
  #story .book-horizontal-cover, #tales .book-horizontal-cover {
    filter: blur(10px);
    position: absolute;
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1; }
  #story .book-horizontal-cover, #tales .book-horizontal-cover {
    right: -5px;
    bottom: -5px;
    left: -5px;
    top: -5px; }
  #story .cover, #tales .cover {
    padding: 20px; }
    #story .cover img, #tales .cover img {
      max-height: 280px; }
  @media (max-width: 769px) {
    #story .socials, #story .share, #tales .socials, #tales .share {
      display: flex; }
    #story .share .item img, #tales .share .item img {
      width: 35px; } }
  @media (max-width: 950px) {
    #story .book-cover, #tales .book-cover {
      display: none; }
    #story .sponsor, #tales .sponsor {
      display: none; }
    #story .share .item img, #tales .share .item img {
      width: 60px; } }

/* ═══════════════════════════════════════════════
   BOOKS PAGE — redesign (pp- system, light theme)
   ═══════════════════════════════════════════════ */
/* Hero variant for books */
.pp-hero-books {
  background: linear-gradient(135deg, #EEF2FF 0%, #F5F3FF 50%, #EDE9FE 100%); }

/* 3-column layout: filters · main · sidebar */
.pp-books-page {
  display: flex;
  gap: 28px;
  padding: 48px 0 72px;
  align-items: flex-start; }

.pp-books-main {
  flex: 1;
  min-width: 0; }

.pp-books-section {
  margin-bottom: 48px; }

/* Empty / loading state */
.pp-books-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 48px 0; }
  .pp-books-empty .material-icons {
    font-size: 48px;
    color: #E2E8F0;
    display: block;
    margin-bottom: 12px; }
  .pp-books-empty p {
    color: #64748B;
    font-size: 0.9rem; }

.pp-books-scroll {
  transition: opacity .2s; }

/* Horizontal book grid — 5 per row desktop */
.pp-books-scroll {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px; }
  .pp-books-scroll .pp-book-card {
    min-width: 0; }

/* Filter sidebar */
.pp-filter-sidebar {
  flex: 0 0 210px;
  position: sticky;
  top: 100px; }

.pp-filter-box {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  overflow: hidden; }

.pp-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid #E2E8F0; }
  .pp-filter-head span {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1E293B; }
  .pp-filter-head a {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #F97316; }
    .pp-filter-head a:hover {
      text-decoration: underline;
      color: #EA580C; }

.pp-filter-section {
  padding: 14px 18px;
  border-bottom: 1px solid #E2E8F0; }
  .pp-filter-section:last-child {
    border-bottom: none; }
  .pp-filter-section h6 {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #64748B;
    margin-bottom: 10px; }

.pp-filter-option {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
  cursor: pointer;
  font-size: 0.8375rem;
  color: #1E293B;
  font-weight: 400;
  user-select: none; }
  .pp-filter-option input[type="checkbox"],
  .pp-filter-option input[type="radio"] {
    accent-color: #F97316;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    cursor: pointer; }
  .pp-filter-option:last-child {
    margin-bottom: 0; }
  .pp-filter-option .pp-filter-count {
    margin-left: auto;
    font-size: 0.72rem;
    color: #64748B;
    background: #F8FAFC;
    padding: 1px 7px;
    border-radius: 10px; }

.pp-stars-row {
  display: flex;
  align-items: center;
  gap: 1px;
  margin-bottom: 7px;
  cursor: pointer; }
  .pp-stars-row .material-icons {
    font-size: 14px;
    color: #F59E0B; }
  .pp-stars-row span {
    font-size: 0.78rem;
    color: #64748B;
    margin-left: 4px; }
  .pp-stars-row:last-child {
    margin-bottom: 0; }
  .pp-stars-row:hover span {
    color: #1E293B; }

/* Responsive */
@media (max-width: 1199px) {
  .pp-filter-sidebar {
    flex: 0 0 185px; }

  .pp-books-scroll {
    grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 991px) {
  .pp-filter-sidebar {
    display: none; }

  .pp-books-scroll {
    grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .pp-books-page {
    padding: 28px 0 48px;
    gap: 0; }

  .pp-sidebar {
    display: none; }

  .pp-books-scroll {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px; } }
@media (max-width: 480px) {
  .pp-books-scroll {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px; } }
/* ── Authors section ──────────────────────── */
.pp-authors-wrap {
  background: #F8FAFC;
  padding: 56px 0;
  border-top: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0; }

.pp-authors-layout {
  display: flex;
  gap: 28px;
  align-items: flex-start; }

.pp-authors-main {
  flex: 1;
  min-width: 0; }

.pp-authors-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px; }

.pp-authors-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: none; }
  .pp-authors-scroll::-webkit-scrollbar {
    display: none; }
  .pp-authors-scroll .pp-author-card {
    flex: 0 0 180px;
    min-width: 0; }

.pp-author-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  padding: 24px 16px 20px;
  text-align: center;
  transition: box-shadow .2s, transform .2s; }
  .pp-author-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px); }

.pp-author-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  margin: 0 auto 14px;
  overflow: hidden;
  background: linear-gradient(135deg, #F97316, #1E4FA8);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; }
  .pp-author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .pp-author-avatar .pp-avatar-initials {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    line-height: 1; }

.pp-author-name {
  font-size: 0.9rem;
  font-weight: 700;
  color: #1E293B;
  margin-bottom: 8px;
  line-height: 1.35; }

.pp-author-stats {
  font-size: 0.775rem;
  color: #64748B;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px; }
  .pp-author-stats .material-icons {
    font-size: 13px; }

.pp-author-btn {
  display: block;
  margin-top: 14px;
  padding: 7px 16px;
  border: 1.5px solid #E2E8F0;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #1E293B;
  text-align: center;
  transition: all .15s; }
  .pp-author-btn:hover {
    border-color: #F97316;
    color: #F97316;
    background: rgba(79, 70, 229, 0.04);
    text-decoration: none; }

/* Authors CTA card */
.pp-authors-cta {
  flex: 0 0 240px;
  background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
  color: #fff;
  position: sticky;
  top: 100px; }
  .pp-authors-cta .pp-cta-icon {
    font-size: 52px;
    opacity: .7;
    display: block;
    margin-bottom: 16px; }
  .pp-authors-cta h4 {
    font-size: 1.0625rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
    line-height: 1.35; }
  .pp-authors-cta p {
    font-size: 0.84rem;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 20px;
    line-height: 1.6; }
  .pp-authors-cta .pp-cta-btn {
    display: block;
    background: #fff;
    color: #F97316;
    border-radius: 10px;
    padding: 11px 20px;
    font-size: 0.875rem;
    font-weight: 700;
    transition: background .15s, transform .12s; }
    .pp-authors-cta .pp-cta-btn:hover {
      background: #F8FAFC;
      transform: translateY(-1px);
      color: #F97316;
      text-decoration: none; }

@media (max-width: 1199px) {
  .pp-authors-track {
    grid-template-columns: repeat(3, 1fr); }

  .pp-authors-cta {
    flex: 0 0 210px; } }
@media (max-width: 991px) {
  .pp-authors-cta {
    display: none; }

  .pp-authors-track {
    grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
  .pp-authors-wrap {
    padding: 40px 0; }

  .pp-authors-track {
    grid-template-columns: repeat(2, 1fr); } }
/* ═══════════════════════════════════════════
   BOOK DETAIL  (bk-)  — PostPad.net
   Paleta: #0F172A / #6366F1 / #8B5CF6 / #F59E0B
   ═══════════════════════════════════════════ */
.bk-page {
  background: #0F172A;
  color: #E2E8F0;
  font-family: "Inter", system-ui, sans-serif; }

.bk-container {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto; }

/* ─── PRE-TITLE (fondo claro, encima del hero) ── */
.bk-pretitle {
  background: #fdfcff;
  padding: 24px 0 28px;
  border-bottom: 1px solid #E5E7EB; }

.bk-breadcrumb-light {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #94A3B8;
  margin-bottom: 16px;
  flex-wrap: wrap; }
  .bk-breadcrumb-light a {
    color: #64748B;
    text-decoration: none; }
    .bk-breadcrumb-light a:hover {
      color: #4F46E5; }
  .bk-breadcrumb-light .material-icons {
    font-size: 14px; }
  .bk-breadcrumb-light span {
    color: #1E293B; }

.bk-title-light {
  font-size: clamp(24px, 3.5vw, 40px);
  font-weight: 800;
  color: #111827;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin: 0 0 10px; }

.bk-author-link-light {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #4F46E5;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  margin-bottom: 4px; }
  .bk-author-link-light .material-icons {
    font-size: 15px; }
  .bk-author-link-light:hover {
    color: #3730A3; }

.bk-rating-row-light {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  flex-wrap: wrap; }

.bk-stars-light {
  display: flex;
  gap: 2px; }
  .bk-stars-light .material-icons {
    font-size: 18px;
    color: #D1D5DB; }
    .bk-stars-light .material-icons.lit {
      color: #F59E0B; }

.bk-rating-num-light {
  font-size: 18px;
  font-weight: 800;
  color: #F59E0B; }

.bk-rating-count-light {
  font-size: 13px;
  color: #9CA3AF; }

/* ─── HERO ──────────────────────────────── */
.bk-hero {
  position: relative;
  overflow: hidden;
  padding: 40px 0 56px;
  min-height: 500px;
  background: #111827; }
  .bk-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 80px);
    pointer-events: none;
    z-index: 3; }
  .bk-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 3;
    background: radial-gradient(circle at 20% 15%, rgba(59, 130, 246, 0.2), transparent 40%), radial-gradient(circle at 80% 75%, rgba(168, 85, 247, 0.2), transparent 45%);
    filter: blur(80px); }

.bk-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: blur(60px) brightness(0.35) saturate(1.8);
  transform: scale(1.12);
  z-index: 0; }

.bk-breadcrumb {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 32px;
  flex-wrap: wrap; }
  .bk-breadcrumb a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none; }
    .bk-breadcrumb a:hover {
      color: #fff; }
  .bk-breadcrumb .material-icons {
    font-size: 14px; }
  .bk-breadcrumb span {
    color: rgba(255, 255, 255, 0.85); }

.bk-hero-grid {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 260px 1fr 300px;
  gap: 48px;
  align-items: center; }

.bk-hero-info {
  display: flex;
  flex-direction: column;
  gap: 6px; }

/* ─── COVER ─────────────────────────────── */
.bk-cover-wrap {
  filter: drop-shadow(0 32px 64px rgba(0, 0, 0, 0.8));
  transform: perspective(900px) rotateY(-5deg);
  transition: transform .35s; }
  .bk-cover-wrap:hover {
    transform: perspective(900px) rotateY(0deg) translateY(-6px); }

.bk-cover {
  width: 100%;
  border-radius: 8px;
  display: block; }

.bk-cover-placeholder {
  width: 100%;
  aspect-ratio: 450 / 610;
  background: linear-gradient(135deg, #1E293B, #334155);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center; }
  .bk-cover-placeholder .material-icons {
    font-size: 64px;
    color: rgba(255, 255, 255, 0.15); }

/* ─── BOOK INFO ──────────────────────────── */
.bk-title {
  font-size: clamp(26px, 3.5vw, 48px);
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin: 0 0 12px; }

.bk-author-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #A78BFA;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  margin-bottom: 16px; }
  .bk-author-link .material-icons {
    font-size: 16px; }
  .bk-author-link:hover {
    color: #C4B5FD; }

.bk-genre-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px; }

.bk-genre-chip {
  padding: 4px 14px;
  border-radius: 999px;
  background: rgba(99, 102, 241, 0.18);
  border: 1px solid rgba(99, 102, 241, 0.35);
  color: #A5B4FC;
  font-size: 12px;
  font-weight: 600; }

.bk-rating-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  flex-wrap: wrap; }

.bk-stars {
  display: flex;
  gap: 2px; }
  .bk-stars .material-icons {
    font-size: 20px;
    color: #334155; }
    .bk-stars .material-icons.lit {
      color: #F59E0B; }

.bk-rating-num {
  font-size: 22px;
  font-weight: 800;
  color: #F59E0B; }

.bk-rating-count {
  font-size: 13px;
  color: #64748B; }

.bk-stats {
  display: flex;
  gap: 28px;
  margin-bottom: 28px; }

.bk-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px; }
  .bk-stat .material-icons {
    font-size: 18px;
    color: #6366F1; }
  .bk-stat strong {
    font-size: 18px;
    font-weight: 800;
    color: #F1F5F9; }
  .bk-stat small {
    font-size: 11px;
    color: #94A3B8;
    text-transform: uppercase;
    letter-spacing: 0.06em; }

.bk-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  align-items: center; }

.bk-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 50px;
  padding: 10px 32px;
  white-space: nowrap;
  border-radius: 12px;
  background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity .15s, transform .15s;
  box-shadow: 0 8px 24px rgba(99, 102, 241, 0.4); }
  .bk-btn-primary .material-icons {
    font-size: 20px; }
  .bk-btn-primary:hover {
    opacity: 0.9;
    transform: translateY(-2px);
    color: #fff; }

.bk-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 50px;
  padding: 0 22px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #E2E8F0;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
  text-decoration: none; }
  .bk-btn-secondary .material-icons {
    font-size: 18px; }
  .bk-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.13);
    color: #fff; }

.bk-share-row {
  display: flex;
  align-items: center;
  gap: 10px; }
  .bk-share-row label {
    font-size: 12px;
    color: #64748B;
    font-weight: 600; }
  .bk-share-row .item a {
    display: block;
    line-height: 0; }
  .bk-share-row .item img {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    opacity: 0.65;
    transition: opacity .15s, transform .15s; }
    .bk-share-row .item img:hover {
      opacity: 1;
      transform: scale(1.1); }

/* ─── AUTHOR HERO CARD (right) ───────────── */
.bk-author-hero-card {
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 22px;
  position: relative;
  z-index: 3; }

.bk-card-label {
  font-size: 10px;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 16px; }

.bk-author-hero-row {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px; }

.bk-author-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, #6366F1, #8B5CF6);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; }
  .bk-author-avatar .material-icons {
    font-size: 26px;
    color: #fff; }
  .bk-author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.bk-author-name {
  font-size: 15px;
  font-weight: 700;
  color: #F1F5F9;
  margin: 0 0 3px; }

.bk-author-followers {
  font-size: 12px;
  color: #94A3B8;
  margin: 0; }

.bk-author-bio-short {
  font-size: 13px;
  color: #94A3B8;
  line-height: 1.6;
  margin: 0 0 16px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.bk-author-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #818CF8;
  text-decoration: none; }
  .bk-author-link-btn .material-icons {
    font-size: 14px; }
  .bk-author-link-btn:hover {
    color: #A5B4FC; }

.bk-author-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1); }

.bk-author-stat {
  text-align: center; }
  .bk-author-stat strong {
    display: block;
    font-size: 18px;
    font-weight: 800;
    color: #F1F5F9; }
  .bk-author-stat small {
    font-size: 11px;
    color: #94A3B8;
    text-transform: uppercase;
    letter-spacing: 0.05em; }

/* ─── BODY ───────────────────────────────── */
.bk-body {
  background: #fdfcff;
  padding: 48px 0 80px; }

.bk-body-grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 40px;
  align-items: start; }

/* ─── SECTIONS ───────────────────────────── */
.bk-section {
  margin-bottom: 48px; }

.bk-section-title {
  font-size: 18px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #E5E7EB;
  display: flex;
  align-items: center;
  gap: 10px; }

.bk-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #EEF2FF;
  color: #4F46E5;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 999px; }

/* ─── SYNOPSIS ───────────────────────────── */
.bk-synopsis-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 18px;
  padding: 28px 32px;
  box-shadow: 0 4px 24px rgba(99, 102, 241, 0.06); }

.bk-synopsis-content {
  font-size: 16px;
  line-height: 1.9;
  color: #374151;
  max-height: 180px;
  overflow: hidden;
  transition: max-height .5s ease; }
  .bk-synopsis-content.expanded {
    max-height: 2000px; }
  .bk-synopsis-content p {
    margin-bottom: 14px; }
  .bk-synopsis-content h2, .bk-synopsis-content h3 {
    color: #111827;
    margin: 20px 0 10px;
    font-size: 18px; }
  .bk-synopsis-content strong {
    color: #111827; }

.bk-expand-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 16px;
  background: none;
  border: none;
  color: #4F46E5;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  transition: color .15s; }
  .bk-expand-btn .material-icons {
    font-size: 16px; }
  .bk-expand-btn:hover {
    color: #3730A3; }

/* ─── CHAPTERS ───────────────────────────── */
.bk-chapters-list {
  display: flex;
  flex-direction: column;
  gap: 8px; }

.bk-chapter-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  text-decoration: none;
  color: #111827;
  transition: background .15s, border-color .15s, transform .15s, box-shadow .15s; }
  .bk-chapter-card:hover {
    background: #EEF2FF;
    border-color: #A5B4FC;
    transform: translateX(4px);
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.1);
    color: #111827; }

.bk-chapter-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #EEF2FF;
  color: #4F46E5;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; }

.bk-chapter-info {
  flex: 1;
  min-width: 0; }

.bk-chapter-name {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.bk-chapter-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #9CA3AF; }

.bk-chapter-stars {
  display: flex;
  gap: 1px; }
  .bk-chapter-stars .material-icons {
    font-size: 12px;
    color: #D1D5DB; }
    .bk-chapter-stars .material-icons.lit {
      color: #F59E0B; }

.bk-chapter-arrow {
  color: #D1D5DB;
  font-size: 20px;
  flex-shrink: 0; }

/* ─── CHARACTERS ─────────────────────────── */
.bk-chars-scroll {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px; }

.bk-char-item {
  text-decoration: none;
  color: inherit; }
  .bk-char-item:hover .bk-char-item-img,
  .bk-char-item:hover .bk-char-item-ph {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); }
  .bk-char-item:hover .bk-char-item-name {
    color: #4F46E5; }

.bk-char-item-img {
  width: 100%;
  aspect-ratio: 2/3;
  border-radius: 12px;
  object-fit: cover;
  display: block;
  transition: transform .2s, box-shadow .2s; }

.bk-char-item-ph {
  width: 100%;
  aspect-ratio: 2/3;
  border-radius: 12px;
  background: linear-gradient(135deg, #EEF2FF, #EDE9FE);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s, box-shadow .2s; }
  .bk-char-item-ph .material-icons {
    font-size: 44px;
    color: #A78BFA; }

.bk-char-item-name {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  margin: 10px 0 4px;
  line-height: 1.3;
  transition: color .15s; }

.bk-char-item-bio {
  font-size: 11px;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }

/* ─── CHARACTER / PLACE DETAIL PAGE ─────── */
.char-hero {
  position: relative;
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);
  overflow: hidden;
  padding: 60px 0 50px; }
  .char-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 40%, rgba(0, 0, 0, 0.25));
    z-index: 1; }

.char-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center top;
  filter: blur(22px) saturate(1.2);
  transform: scale(1.12);
  z-index: 0; }

.char-hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 32px;
  align-items: flex-start;
  margin-top: 20px; }

.char-hero-img-wrap {
  flex-shrink: 0; }

.char-hero-img {
  width: 180px;
  height: 240px;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4); }

.char-hero-ph {
  width: 180px;
  height: 240px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center; }
  .char-hero-ph .material-icons {
    font-size: 60px;
    color: rgba(255, 255, 255, 0.4); }

.char-hero-info {
  padding-top: 16px; }

.char-hero-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 8px; }

.char-hero-name {
  font-size: 34px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 10px;
  line-height: 1.15; }

.char-hero-book {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  margin: 0; }
  .char-hero-book a {
    color: #A78BFA;
    text-decoration: none; }
    .char-hero-book a:hover {
      text-decoration: underline; }

.char-detail-body {
  max-width: 740px;
  padding: 44px 0; }

.char-bio-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  padding: 28px 32px;
  font-size: 15px;
  color: #374151;
  line-height: 1.75;
  margin-bottom: 28px; }

.char-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #6B7280;
  text-decoration: none;
  padding: 10px 18px;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  transition: all .15s; }
  .char-back-btn:hover {
    color: #4F46E5;
    border-color: #4F46E5; }
  .char-back-btn .material-icons {
    font-size: 18px; }

/* ─── STORIES ────────────────────────────── */
.bk-stories-list {
  display: flex;
  flex-direction: column;
  gap: 10px; }

.bk-story-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  padding: 18px 22px;
  text-decoration: none;
  display: block;
  transition: background .15s, border-color .15s, box-shadow .15s; }
  .bk-story-card:hover {
    background: #EEF2FF;
    border-color: #A5B4FC;
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.1); }

.bk-story-title {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 6px; }

.bk-story-date {
  font-size: 12px;
  color: #9CA3AF;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 4px; }
  .bk-story-date .material-icons {
    font-size: 13px; }

.bk-story-excerpt {
  font-size: 13px;
  color: #6B7280;
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }

/* ─── PLACES ─────────────────────────────── */
.bk-places-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 10px;
  scrollbar-width: none; }
  .bk-places-scroll::-webkit-scrollbar {
    display: none; }

.bk-place-item {
  flex-shrink: 0;
  width: 210px;
  text-decoration: none;
  color: inherit; }
  .bk-place-item:hover .bk-place-item-img,
  .bk-place-item:hover .bk-place-item-ph {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); }
  .bk-place-item:hover .bk-place-item-name {
    color: #4F46E5; }

.bk-place-item-img {
  width: 210px;
  height: 135px;
  border-radius: 14px;
  object-fit: cover;
  display: block;
  transition: transform .2s, box-shadow .2s; }

.bk-place-item-ph {
  width: 210px;
  height: 135px;
  border-radius: 14px;
  background: linear-gradient(135deg, #ECFDF5, #D1FAE5);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s, box-shadow .2s; }
  .bk-place-item-ph .material-icons {
    font-size: 44px;
    color: #34D399; }

.bk-place-item-name {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  margin: 10px 0 4px;
  line-height: 1.3;
  transition: color .15s; }

.bk-place-item-desc {
  font-size: 11px;
  color: #6B7280;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }

/* ─── SIDEBAR INFO CARD ──────────────────── */
.bk-info-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 20px;
  padding: 22px;
  position: sticky;
  top: 88px;
  margin-bottom: 20px;
  box-shadow: 0 4px 24px rgba(99, 102, 241, 0.06); }

.bk-info-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: flex;
  flex-direction: column;
  gap: 13px; }

.bk-info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px; }
  .bk-info-item .material-icons {
    font-size: 16px;
    color: #6366F1;
    flex-shrink: 0; }
  .bk-info-item span {
    color: #9CA3AF;
    flex: 1; }
  .bk-info-item strong {
    color: #111827;
    font-weight: 600; }

.bk-divider {
  border: none;
  border-top: 1px solid #E5E7EB;
  margin: 18px 0; }

/* Rating in sidebar */
.bk-avg-display {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px; }

.bk-sidebar-rating-label {
  font-size: 12px;
  color: #9CA3AF;
  font-weight: 600;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em; }

.bk-follow-btn {
  width: 100%;
  height: 44px;
  border-radius: 10px;
  background: #EEF2FF;
  border: 1px solid #C7D2FE;
  color: #4F46E5;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
  margin-top: 12px; }
  .bk-follow-btn:hover {
    background: #E0E7FF; }

/* Empty states */
.bk-empty-state {
  text-align: center;
  padding: 48px 24px;
  color: #9CA3AF; }
  .bk-empty-state .material-icons {
    font-size: 40px;
    opacity: 0.4;
    display: block;
    margin-bottom: 10px; }
  .bk-empty-state p {
    font-size: 14px;
    margin: 0; }

/* ─── SIDEBAR ACTION CARD ────────────────── */
.bk-action-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 20px;
  padding: 20px 22px;
  margin-bottom: 16px;
  box-shadow: 0 4px 24px rgba(99, 102, 241, 0.06);
  display: flex;
  flex-direction: column;
  gap: 10px; }

.bk-action-card-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.35);
  transition: opacity .15s, transform .15s; }
  .bk-action-card-btn .material-icons {
    font-size: 20px; }
  .bk-action-card-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
    color: #fff; }

.bk-action-follow-btn {
  width: 100%;
  height: 42px;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 10px;
  background: #F97316;
  border: none;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s, transform .12s; }
  .bk-action-follow-btn .material-icons {
    font-size: 16px; }
  .bk-action-follow-btn:hover {
    background: #EA580C;
    transform: translateY(-1px); }
  .bk-action-follow-btn.is-following {
    background: #FFFFFF;
    border: 1.5px solid #E2E8F0;
    color: #1E293B !important; }
    .bk-action-follow-btn.is-following:hover {
      border-color: #DC2626;
      color: #DC2626 !important;
      background: #FFFFFF;
      transform: none; }

.bk-share-sidebar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #F1F5F9; }
  .bk-share-sidebar label {
    font-size: 11px;
    color: #9CA3AF;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em; }
  .bk-share-sidebar .item a {
    display: block;
    line-height: 0; }
  .bk-share-sidebar .item img {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    opacity: 0.65;
    transition: opacity .15s, transform .15s; }
    .bk-share-sidebar .item img:hover {
      opacity: 1;
      transform: scale(1.1); }

/* ─── AUTHOR BOOKS PROMO CARD ────────────── */
.bk-promo-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 20px;
  padding: 20px 22px;
  margin-bottom: 16px;
  box-shadow: 0 4px 24px rgba(99, 102, 241, 0.06); }

.bk-promo-title {
  font-size: 10px;
  font-weight: 700;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 16px; }

.bk-promo-list {
  display: flex;
  flex-direction: column;
  gap: 14px; }

.bk-promo-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-decoration: none;
  color: #111827; }
  .bk-promo-item:hover .bk-promo-item-title {
    color: #4F46E5; }

.bk-promo-cover {
  width: 40px;
  height: 56px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0; }

.bk-promo-cover-ph {
  width: 40px;
  height: 56px;
  border-radius: 6px;
  background: linear-gradient(135deg, #EEF2FF, #EDE9FE);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; }
  .bk-promo-cover-ph .material-icons {
    font-size: 18px;
    color: #A78BFA; }

.bk-promo-item-title {
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .15s;
  line-height: 1.4; }

.bk-promo-item-meta {
  font-size: 11px;
  color: #9CA3AF;
  margin: 0; }

.bk-promo-see-all {
  display: block;
  margin-top: 14px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #6366F1;
  text-decoration: none;
  padding: 8px;
  border-radius: 8px;
  border: 1px solid #E0E7FF;
  background: #F5F3FF;
  transition: background .15s; }
  .bk-promo-see-all:hover {
    background: #EEF2FF;
    color: #4F46E5; }

/* ─── STORY READING VIEW ─────────────────── */
.sr-article {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px 64px; }

.sr-story-title {
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 800;
  color: #111827;
  line-height: 1.2;
  margin: 0 0 16px;
  text-align: center; }

.sr-body {
  font-size: 1.05rem;
  line-height: 1.85;
  color: #374151;
  margin: 24px 0 40px;
  text-align: justify; }
  .sr-body p {
    margin-bottom: 1.4em; }
  .sr-body img {
    max-width: 100%;
    border-radius: 8px;
    margin: 16px 0; }

.sr-share-bar {
  border-top: 1px solid #E5E7EB;
  border-bottom: 1px solid #E5E7EB;
  padding: 20px 0;
  margin: 0 0 40px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 0.875rem;
  color: #6B7280;
  font-weight: 600; }

.sr-related {
  background: #F9FAFB;
  padding: 48px 0;
  border-top: 1px solid #E5E7EB; }
  .sr-related .pp-container {
    max-width: 1200px; }

.sr-related-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #111827;
  margin: 0 0 24px; }

/* ─── SET STORIES — COLECCIÓN PÚBLICA ───── */
.bk-tabs {
  border-bottom: 2px solid #E5E7EB;
  margin-bottom: 32px;
  gap: 0;
  /* En mobile los 3 tabs no entraban y "Lugares" caia a una segunda linea.
     nowrap + padding reducido los deja siempre en una sola fila; el
     overflow-x es la valvula por si un detalle suma mas tabs. */ }
  @media (max-width: 767px) {
    .bk-tabs {
      flex-wrap: nowrap;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none; }
      .bk-tabs::-webkit-scrollbar {
        display: none; }
      .bk-tabs .nav-link {
        padding: 12px 10px;
        white-space: nowrap;
        flex-shrink: 0; } }
  .bk-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #6B7280;
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    padding: 12px 20px;
    margin-bottom: -2px;
    transition: color .15s, border-color .15s;
    background: none; }
    .bk-tabs .nav-link .material-icons {
      font-size: 16px; }
    .bk-tabs .nav-link:hover {
      color: #4F46E5;
      background: none; }
    .bk-tabs .nav-link.active {
      color: #4F46E5;
      border-bottom-color: #4F46E5;
      background: none; }

.bk-tab-content {
  padding-top: 28px; }

.bk-empty-state {
  text-align: center;
  padding: 56px 24px;
  color: #9CA3AF; }
  .bk-empty-state .material-icons {
    font-size: 48px;
    display: block;
    margin-bottom: 12px;
    opacity: 0.4; }
  .bk-empty-state p {
    font-size: 0.9rem;
    margin: 0; }

.bk-chars-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px; }

.bk-char-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 24px 20px;
  text-align: center; }
  .bk-char-card h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin: 12px 0 6px; }
  .bk-char-card p {
    font-size: 0.85rem;
    color: #6B7280;
    line-height: 1.5;
    margin: 0; }

.bk-char-img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto;
  display: block; }

.bk-char-ph {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #F3F4F6;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto; }
  .bk-char-ph .material-icons {
    font-size: 36px;
    color: #9CA3AF; }

.bk-places-list {
  display: flex;
  flex-direction: column;
  gap: 16px; }

.bk-place-item {
  padding: 20px 24px;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px; }
  .bk-place-item h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px; }
  .bk-place-item p {
    font-size: 0.875rem;
    color: #6B7280;
    line-height: 1.6;
    margin: 0; }

.bk-back-row {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #E5E7EB; }

.bk-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #4F46E5;
  text-decoration: none; }
  .bk-back-link .material-icons {
    font-size: 16px; }
  .bk-back-link:hover {
    color: #3730A3; }

.bk-sidebar-donate {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 24px;
  text-align: center; }

.bk-donate-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.75);
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.05em; }

.bk-donate-sub {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.45);
  margin: 12px 0 0;
  line-height: 1.5; }

/* ─── HERO GRID VARIANT (2 cols, sin sidebar) ─── */
.bk-hero-grid--2 {
  grid-template-columns: 260px 1fr; }
  @media (max-width: 640px) {
    .bk-hero-grid--2 {
      grid-template-columns: 1fr; } }

/* ─── STICKY DONATE SIDEBAR ──────────────── */
.pp-donate-sticky {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 200;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-right: none;
  border-radius: 16px 0 0 16px;
  padding: 18px 16px 18px 20px;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.1);
  width: 210px;
  text-align: center; }
  @media (max-width: 1280px) {
    .pp-donate-sticky {
      display: none; } }

.pp-donate-sticky-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 12px; }

/* ─── RESPONSIVE ────────────────────────── */
@media (max-width: 1100px) {
  .bk-hero-grid {
    grid-template-columns: 190px 1fr;
    gap: 28px; }

  .bk-author-hero-card {
    display: none; }

  .bk-sidebar-donate {
    display: none; } }
@media (max-width: 900px) {
  .bk-body-grid {
    grid-template-columns: 1fr;
    gap: 24px; }

  .bk-info-card {
    position: static; }

  .bk-body-grid > aside {
    order: -1; }

  .bk-chars-scroll {
    grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) {
  .bk-chars-scroll {
    grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
  .bk-hero {
    padding: 28px 0 36px; }

  .bk-container {
    width: calc(100% - 32px); }

  .bk-hero-grid {
    grid-template-columns: 1fr;
    text-align: center; }

  .bk-cover-wrap {
    max-width: 160px;
    margin: 0 auto;
    transform: none !important; }

  .bk-stats {
    justify-content: center; }

  .bk-actions {
    justify-content: center; }

  .bk-genre-chips {
    justify-content: center; }

  .bk-rating-row {
    justify-content: center; }

  .bk-share-row {
    justify-content: center; }

  .bk-author-link {
    display: flex;
    justify-content: center; }

  .bk-title {
    font-size: 28px; }

  .bk-synopsis-card {
    padding: 20px; } }
/* ═══════════════════════════════════════════
   READER  (bk-reader-*)  — capítulo / relato
   ═══════════════════════════════════════════ */
.bk-reader-page {
  background: #F8FAFC;
  min-height: 100vh;
  font-family: "Inter", system-ui, sans-serif; }

/* ─── STICKY HEADER ─── */
.bk-reader-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #ffffff;
  border-bottom: 1px solid #E5E7EB;
  padding: 10px 0;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.06); }

.bk-reader-header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px; }

.bk-reader-back-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit; }
  .bk-reader-back-link:hover {
    color: #4F46E5; }

.bk-reader-thumb {
  width: 36px;
  height: 48px;
  object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); }

.bk-reader-back-info {
  display: flex;
  flex-direction: column;
  gap: 1px; }

.bk-reader-book-name {
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px; }

.bk-reader-back-hint {
  font-size: 11px;
  color: #6B7280;
  display: flex;
  align-items: center;
  gap: 2px; }
  .bk-reader-back-hint i {
    font-size: 13px; }

.bk-reader-chapter-label {
  text-align: center; }

.bk-reader-title {
  font-size: 15px;
  font-weight: 600;
  color: #111827;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 340px; }

.bk-reader-header-share {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px; }
  .bk-reader-header-share .item {
    display: flex;
    align-items: center; }
  .bk-reader-header-share img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    border-radius: 6px;
    display: block;
    transition: opacity 0.15s; }
    .bk-reader-header-share img:hover {
      opacity: 0.8; }

/* ─── BODY LAYOUT ─── */
.bk-reader-body {
  padding: 40px 0 80px; }

.bk-reader-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 40px;
  align-items: start; }

/* ─── MAIN CONTENT ─── */
.bk-reader-main {
  background: #ffffff;
  border-radius: 12px;
  padding: 40px 48px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06); }

.bk-reader-content {
  font-size: 17px;
  line-height: 1.85;
  color: #1E293B;
  font-family: "Georgia", "Times New Roman", serif; }
  .bk-reader-content p {
    margin-bottom: 1.4em; }
  .bk-reader-content h2, .bk-reader-content h3 {
    font-family: "Inter", system-ui, sans-serif;
    font-weight: 700;
    color: #0F172A;
    margin: 2em 0 0.6em; }

/* ─── LIKES ─── */
.bk-reader-likes {
  margin: 32px 0 24px;
  display: flex;
  justify-content: center; }

.bk-like-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #FFF;
  border: 1.5px solid #E5E7EB;
  border-radius: 50px;
  padding: 10px 22px;
  font-size: 14px;
  font-weight: 500;
  color: #6B7280;
  cursor: pointer;
  transition: all 0.18s; }
  .bk-like-btn i {
    font-size: 18px;
    color: #EF4444; }
  .bk-like-btn:hover {
    border-color: #EF4444;
    color: #EF4444;
    background: #FFF5F5; }

/* ─── BOTTOM SHARE ─── */
.bk-reader-bottom-share {
  border-top: 1px solid #E5E7EB;
  margin-top: 32px;
  padding-top: 24px;
  text-align: center; }
  .bk-reader-bottom-share p {
    font-size: 14px;
    color: #6B7280;
    margin-bottom: 12px; }
  .bk-reader-bottom-share .item {
    display: inline-flex;
    align-items: center;
    margin: 0 4px; }
  .bk-reader-bottom-share img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    border-radius: 8px;
    display: block;
    transition: opacity 0.15s; }
    .bk-reader-bottom-share img:hover {
      opacity: 0.8; }

/* ─── NAV BUTTONS ─── */
.bk-reader-nav {
  display: flex;
  gap: 12px;
  margin-top: 32px;
  justify-content: center;
  flex-wrap: wrap; }

.bk-reader-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F1F5F9;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  transition: all 0.18s; }
  .bk-reader-nav-btn i {
    font-size: 18px; }
  .bk-reader-nav-btn:hover {
    background: #4F46E5;
    border-color: #4F46E5;
    color: #ffffff; }

/* ─── SIDEBAR ─── */
.bk-reader-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px; }

.bk-card-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6B7280;
  margin-bottom: 14px; }

.bk-sidebar-rating-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6B7280;
  margin-bottom: 10px; }

.bk-author-hero-row {
  display: flex;
  align-items: center;
  gap: 12px; }

.bk-reader-author-name {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 2px; }

.bk-reader-author-link {
  font-size: 12px;
  color: #4F46E5;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 2px; }
  .bk-reader-author-link i {
    font-size: 13px; }
  .bk-reader-author-link:hover {
    color: #4338CA;
    text-decoration: underline; }

.bk-reader-donate-text {
  font-size: 13px;
  color: #6B7280;
  margin-bottom: 14px;
  line-height: 1.5; }

/* ─── RESPONSIVE ─── */
@media (max-width: 900px) {
  .bk-reader-layout {
    grid-template-columns: 1fr; }

  .bk-reader-sidebar {
    order: -1; }

  .bk-reader-main {
    padding: 28px 24px; } }
@media (max-width: 640px) {
  .bk-reader-header-inner {
    grid-template-columns: 1fr auto;
    gap: 12px; }

  .bk-reader-header-share {
    display: none; }

  .bk-reader-title {
    font-size: 13px;
    max-width: 180px; }

  .bk-reader-book-name {
    max-width: 130px; }

  .bk-reader-content {
    font-size: 15px; }

  .bk-reader-main {
    padding: 20px 16px; } }
/* ═══════════════════════════════════════════
   SALE / BOOK STORE PAGE
   ═══════════════════════════════════════════ */
.sl-page {
  background: #F9FAFB;
  min-height: 100vh; }

/* ─── HERO ───────────────────────────────── */
.sl-hero {
  position: relative;
  background: #0f0c29;
  overflow: hidden;
  padding: 60px 0 50px; }
  .sl-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 12, 41, 0.92) 0%, rgba(48, 43, 99, 0.85) 50%, rgba(36, 36, 62, 0.9) 100%);
    z-index: 1; }

.sl-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: blur(28px) saturate(1.4) brightness(0.5);
  transform: scale(1.15);
  z-index: 0; }

.sl-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 2; }

.sl-hero-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  align-items: flex-start; }

.sl-cover-wrap {
  flex-shrink: 0; }

.sl-cover {
  width: 220px;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6), 0 4px 16px rgba(0, 0, 0, 0.4);
  display: block; }

.sl-cover-ph {
  width: 220px;
  height: 300px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center; }
  .sl-cover-ph .material-icons {
    font-size: 64px;
    color: rgba(255, 255, 255, 0.3); }

.sl-hero-info {
  padding-top: 8px; }

.sl-breadcrumb {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 16px; }
  .sl-breadcrumb a {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none; }
    .sl-breadcrumb a:hover {
      color: rgba(255, 255, 255, 0.9); }
  .sl-breadcrumb span {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.35); }
  .sl-breadcrumb .material-icons {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.3); }

.sl-title {
  font-size: 36px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 6px;
  line-height: 1.15; }

.sl-author {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 6px; }
  .sl-author .material-icons {
    font-size: 16px; }

.sl-rating-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px; }

.sl-stars {
  display: flex;
  gap: 2px; }
  .sl-stars .material-icons {
    font-size: 20px;
    color: rgba(255, 255, 255, 0.25); }
    .sl-stars .material-icons.lit {
      color: #FBBF24; }

.sl-rating-num {
  font-size: 15px;
  font-weight: 700;
  color: #ffffff; }

.sl-rating-count {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5); }

.sl-stats-row {
  display: flex;
  gap: 28px;
  margin-bottom: 28px; }

.sl-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center; }
  .sl-stat .material-icons {
    font-size: 28px;
    color: #A78BFA;
    background: rgba(167, 139, 250, 0.12);
    border-radius: 50%;
    padding: 8px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center; }
  .sl-stat small {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.3;
    max-width: 72px; }

.sl-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap; }

.sl-btn-buy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #7C3AED, #6D28D9);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 12px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(124, 58, 237, 0.4);
  transition: transform .15s, box-shadow .15s; }
  .sl-btn-buy:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(124, 58, 237, 0.5);
    color: #ffffff;
    text-decoration: none; }
  .sl-btn-buy .material-icons {
    font-size: 20px; }

.sl-btn-share {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  text-decoration: none;
  cursor: pointer;
  transition: background .15s; }
  .sl-btn-share:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    text-decoration: none; }
  .sl-btn-share .material-icons {
    font-size: 18px; }

/* ─── BODY ───────────────────────────────── */
.sl-body {
  padding: 44px 0 60px; }

.sl-body-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 32px;
  align-items: flex-start; }

.sl-section {
  margin-bottom: 36px; }

.sl-section-title {
  font-size: 18px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 8px; }
  .sl-section-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #E5E7EB;
    display: block; }

/* ─── SINOPSIS ───────────────────────────── */
.sl-synopsis-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  padding: 28px 32px;
  font-size: 15px;
  color: #374151;
  line-height: 1.75;
  position: relative;
  overflow: hidden;
  max-height: 220px;
  transition: max-height .35s ease; }
  .sl-synopsis-card.expanded {
    max-height: 2000px; }

.sl-synopsis-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to bottom, transparent, #ffffff);
  pointer-events: none;
  transition: opacity .3s; }
  .expanded + .sl-synopsis-fade {
    opacity: 0; }

.sl-expand-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #6D28D9;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 0 0; }
  .sl-expand-btn:hover {
    text-decoration: underline; }
  .sl-expand-btn .material-icons {
    font-size: 18px; }

/* ─── BENEFITS ROW ───────────────────────── */
.sl-benefits {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 36px; }

.sl-benefit-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  padding: 18px 14px;
  text-align: center; }
  .sl-benefit-card .material-icons {
    font-size: 28px;
    color: #7C3AED;
    display: block;
    margin: 0 auto 10px; }
  .sl-benefit-card strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 4px; }
  .sl-benefit-card small {
    font-size: 11px;
    color: #6B7280;
    line-height: 1.4; }

/* ─── SIDEBAR ────────────────────────────── */
.sl-buy-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 20px;
  padding: 24px;
  position: sticky;
  top: 88px;
  box-shadow: 0 4px 24px rgba(99, 102, 241, 0.07); }

.sl-buy-card-cover {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 18px;
  display: block;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); }

.sl-buy-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 4px;
  line-height: 1.3; }

.sl-buy-card-author {
  font-size: 12px;
  color: #6B7280;
  margin: 0 0 16px; }

.sl-buy-card-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 18px; }
  .sl-buy-card-rating .sl-stars .material-icons {
    font-size: 16px; }
  .sl-buy-card-rating span {
    font-size: 12px;
    color: #6B7280; }

.sl-buy-card-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: linear-gradient(135deg, #7C3AED, #6D28D9);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  padding: 13px;
  border-radius: 12px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(124, 58, 237, 0.35);
  transition: transform .15s, box-shadow .15s;
  margin-bottom: 12px; }
  .sl-buy-card-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.45);
    color: #ffffff;
    text-decoration: none; }
  .sl-buy-card-btn .material-icons {
    font-size: 20px; }

.sl-buy-card-store {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  color: #9CA3AF;
  margin-bottom: 16px; }
  .sl-buy-card-store img {
    height: 18px;
    object-fit: contain; }

.sl-buy-card-share {
  border-top: 1px solid #F3F4F6;
  padding-top: 16px; }
  .sl-buy-card-share label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #9CA3AF;
    display: block;
    margin-bottom: 10px; }

/* ─── PREVIEW TEXT ───────────────────────── */
.sl-preview-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  padding: 28px 32px;
  position: relative;
  overflow: hidden;
  max-height: 320px;
  transition: max-height .35s ease; }
  .sl-preview-card.expanded {
    max-height: 9999px; }
  .sl-preview-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, transparent, #ffffff);
    pointer-events: none;
    transition: opacity .3s; }
  .sl-preview-card.expanded::after {
    opacity: 0; }

.sl-preview-text {
  font-family: 'Georgia', serif;
  font-size: 15px;
  color: #374151;
  line-height: 1.85;
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word; }

/* ─── CTA BANNER ─────────────────────────── */
.sl-cta-banner {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, #1e1b4b, #312e81);
  padding: 48px 40px;
  margin-bottom: 36px;
  text-align: center; }
  .sl-cta-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }

.sl-cta-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #A78BFA;
  margin: 0 0 10px; }

.sl-cta-title {
  font-size: 26px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 8px;
  line-height: 1.2; }

.sl-cta-subtitle {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 24px; }

.sl-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #7C3AED;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  padding: 13px 32px;
  border-radius: 12px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(124, 58, 237, 0.5);
  transition: transform .15s; }
  .sl-cta-btn:hover {
    transform: translateY(-2px);
    color: #fff;
    text-decoration: none; }
  .sl-cta-btn .material-icons {
    font-size: 20px; }

/* ─── RESPONSIVE ─────────────────────────── */
@media (max-width: 900px) {
  .sl-body-grid {
    grid-template-columns: 1fr; }

  .sl-buy-card {
    position: static;
    order: -1; }

  .sl-benefits {
    grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
  .sl-hero-grid {
    grid-template-columns: 1fr;
    text-align: center; }

  .sl-cover-wrap {
    display: flex;
    justify-content: center; }

  .sl-cover {
    width: 160px; }

  .sl-stats-row {
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px; }

  .sl-actions {
    justify-content: center; }

  .sl-breadcrumb {
    justify-content: center; }

  .sl-title {
    font-size: 26px; }

  .sl-benefits {
    grid-template-columns: repeat(2, 1fr); }

  .sl-cta-banner {
    padding: 32px 20px; }

  .sl-cta-title {
    font-size: 20px; } }
/* ═══════════════════════════════════════════
   AUTHOR PROFILE PAGE
   ═══════════════════════════════════════════ */
.author-hero {
  background: linear-gradient(135deg, #EEF2FF 0%, #F5F3FF 50%, #EDE9FE 100%);
  position: relative;
  overflow: hidden;
  padding: 48px 0 0;
  min-height: 380px;
  isolation: isolate; }
  .author-hero::before {
    content: "";
    position: absolute;
    right: -100px;
    top: -50px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: rgba(139, 92, 246, 0.08);
    pointer-events: none;
    z-index: 0; }
  .author-hero::after {
    content: "";
    position: absolute;
    right: -40px;
    top: -20px;
    width: 500px;
    height: 500px;
    background-image: url("../images/logo_autor.2c112a578432.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
    opacity: .9;
    pointer-events: none;
    z-index: 0; }

.author-hero-inner {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  position: relative;
  z-index: 1;
  max-width: 850px; }

.author-hero-avatar {
  flex-shrink: 0;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #fff;
  box-shadow: 0 4px 20px rgba(79, 70, 229, 0.2);
  background: linear-gradient(135deg, #F97316, #1E4FA8);
  display: flex;
  align-items: center;
  justify-content: center; }
  .author-hero-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .author-hero-avatar span {
    font-size: 3rem;
    font-weight: 700;
    color: #fff;
    line-height: 1; }

.author-hero-info {
  flex: 1;
  min-width: 0;
  padding-top: 4px; }

.author-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(79, 70, 229, 0.1);
  color: #F97316;
  border-radius: 20px;
  padding: 3px 12px;
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 10px; }
  .author-hero-badge .material-icons {
    font-size: 13px; }

.author-hero-info h1 {
  font-size: 1.75rem;
  font-weight: 800;
  color: #1E293B;
  margin-bottom: 6px;
  line-height: 1.2; }

.author-hero-bio {
  font-size: 0.9rem;
  color: #64748B;
  line-height: 1.6;
  margin-bottom: 16px;
  max-width: 520px; }

.author-hero-actions {
  display: flex;
  gap: 10px;
  align-items: center; }

.author-follow-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F97316;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 9px 20px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s, transform .12s; }
  .author-follow-btn .material-icons {
    font-size: 16px; }
  .author-follow-btn:hover {
    background: #EA580C;
    transform: translateY(-1px); }
  .author-follow-btn.following {
    background: #FFFFFF;
    color: #1E293B;
    border: 1.5px solid #E2E8F0; }
    .author-follow-btn.following:hover {
      border-color: #DC2626;
      color: #DC2626; }

/* Stats bar */
.author-stats-bar {
  display: flex;
  gap: 0;
  margin-top: 32px;
  border-top: 1px solid rgba(79, 70, 229, 0.12);
  position: relative;
  z-index: 1;
  max-width: 850px; }

.author-stat {
  flex: 1;
  text-align: center;
  padding: 16px 12px;
  border-right: 1px solid rgba(79, 70, 229, 0.1);
  text-decoration: none;
  transition: background .15s;
  cursor: pointer; }
  .author-stat:last-child {
    border-right: none; }
  .author-stat:hover {
    background: rgba(79, 70, 229, 0.04);
    text-decoration: none; }

.author-stat-num {
  display: block;
  font-size: 1.375rem;
  font-weight: 800;
  color: #F97316;
  line-height: 1;
  margin-bottom: 4px; }

.author-stat-label {
  display: block;
  font-size: 0.72rem;
  color: #64748B;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em; }

/* ── Main layout ────────────────────────── */
.author-layout {
  display: flex;
  gap: 28px;
  padding: 48px 0 72px;
  align-items: flex-start; }

.author-main {
  flex: 1;
  min-width: 0;
  width: 100%; }

/* ── Section ────────────────────────────── */
.author-section {
  margin-bottom: 40px; }

.author-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E2E8F0; }
  .author-section-head h2 {
    font-size: 1.0625rem;
    font-weight: 700;
    color: #1E293B;
    margin: 0; }
  .author-section-head a {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #F97316; }
    .author-section-head a:hover {
      text-decoration: underline; }

/* ── Sidebar widgets ────────────────────── */
.author-widget {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  padding: 20px; }

.author-widget-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #1E293B;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E2E8F0; }
  .author-widget-title .material-icons {
    font-size: 16px;
    color: #F97316; }

.author-bio-text {
  font-size: 0.875rem;
  color: #64748B;
  line-height: 1.7; }

/* Short story items in sidebar */
.author-story-item {
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid #E2E8F0;
  text-decoration: none; }
  .author-story-item:last-child {
    border-bottom: none;
    padding-bottom: 0; }
  .author-story-item p {
    font-size: 0.8375rem;
    font-weight: 600;
    color: #1E293B;
    margin-bottom: 3px;
    line-height: 1.35;
    transition: color .15s; }
  .author-story-item span {
    font-size: 0.775rem;
    color: #64748B;
    line-height: 1.5;
    display: block; }
  .author-story-item:hover p {
    color: #F97316; }

/* Following items in sidebar */
.author-following-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #E2E8F0;
  text-decoration: none; }
  .author-following-item:last-child {
    border-bottom: none; }
  .author-following-item span {
    font-size: 0.8375rem;
    font-weight: 500;
    color: #1E293B;
    transition: color .15s; }
  .author-following-item:hover span {
    color: #F97316; }

.author-following-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: linear-gradient(135deg, #F97316, #1E4FA8);
  display: flex;
  align-items: center;
  justify-content: center; }
  .author-following-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .author-following-avatar span {
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff; }

/* ── Bottom CTA ─────────────────────────── */
.author-cta {
  background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
  padding: 40px 0; }

.author-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px; }
  .author-cta-inner h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 6px; }
  .author-cta-inner p {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8); }

.author-cta-btns {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0; }

.author-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  color: #F97316;
  border-radius: 10px;
  padding: 11px 22px;
  font-size: 0.875rem;
  font-weight: 700;
  transition: background .15s, transform .12s;
  cursor: pointer;
  border: none; }
  .author-cta-btn .material-icons {
    font-size: 16px; }
  .author-cta-btn:hover {
    background: #F8FAFC;
    transform: translateY(-1px); }

/* ── Social links ───────────────────────── */
.author-social-links {
  display: flex;
  gap: 8px;
  margin-top: 14px;
  flex-wrap: wrap; }

.author-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border: 1.5px solid #E2E8F0;
  border-radius: 8px;
  font-size: 0.775rem;
  font-weight: 600;
  color: #64748B;
  background: rgba(255, 255, 255, 0.6);
  transition: all .15s;
  text-decoration: none; }
  .author-social-btn img {
    width: 14px;
    height: 14px; }
  .author-social-btn:hover {
    border-color: #F97316;
    color: #F97316;
    background: rgba(79, 70, 229, 0.05);
    text-decoration: none; }

/* ── Bio toggle ──────────────────────────── */
.author-bio-short {
  display: block; }

.author-bio-full {
  display: none; }

.author-bio-toggle {
  background: none;
  border: none;
  color: #F97316;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  margin-top: 4px; }
  .author-bio-toggle:hover {
    text-decoration: underline; }

/* ── Compartir ───────────────────────────── */
.author-share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.7);
  color: #1E293B;
  border: 1.5px solid rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  padding: 9px 18px;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
  backdrop-filter: blur(4px); }
  .author-share-btn .material-icons {
    font-size: 16px; }
  .author-share-btn:hover {
    background: rgba(255, 255, 255, 0.9); }

/* ── Featured book ───────────────────────── */
.author-featured-book {
  display: flex;
  gap: 24px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 40px;
  align-items: flex-start; }

.author-featured-cover {
  flex: 0 0 140px;
  height: 200px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
  background: #F8FAFC;
  display: flex;
  align-items: center;
  justify-content: center; }
  .author-featured-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .author-featured-cover .material-icons {
    font-size: 48px;
    color: #E2E8F0; }

.author-featured-info {
  flex: 1;
  min-width: 0; }

.author-featured-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #F97316;
  margin-bottom: 8px; }

.author-featured-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #1E293B;
  margin-bottom: 10px;
  line-height: 1.3; }

.author-featured-desc {
  font-size: 0.875rem;
  color: #64748B;
  line-height: 1.65;
  margin-bottom: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.author-featured-meta {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap; }

.author-featured-stat {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8rem;
  color: #64748B; }
  .author-featured-stat .material-icons {
    font-size: 15px; }
  .author-featured-stat .pp-stars {
    display: flex;
    gap: 1px; }
    .author-featured-stat .pp-stars .material-icons {
      font-size: 13px;
      color: #F59E0B; }

.author-featured-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap; }

/* ── Publication tabs ────────────────────── */
.author-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #E2E8F0;
  margin-bottom: 24px; }

.author-tab-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  padding: 10px 20px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #64748B;
  cursor: pointer;
  transition: color .15s, border-color .15s; }
  .author-tab-btn.active, .author-tab-btn:hover {
    color: #F97316;
    border-bottom-color: #F97316; }

.author-tab-pane {
  display: none; }
  .author-tab-pane.active {
    display: block; }

/* ── Short stories horizontal scroll ────── */
.pp-story-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px; }

.pp-loading-spinner {
  text-align: center;
  padding: 24px 0;
  color: #64748B; }

@media (max-width: 1199px) {
  .pp-story-grid {
    grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) {
  .pp-story-grid {
    grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) {
  .pp-story-grid {
    grid-template-columns: 1fr; } }
.pp-story-card {
  flex: 0 0 260px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-decoration: none;
  transition: box-shadow .2s, transform .2s; }
  .pp-story-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
    text-decoration: none; }
  .pp-story-card h4 {
    font-size: 0.9rem;
    font-weight: 700;
    color: #1E293B;
    line-height: 1.35;
    margin: 0; }
  .pp-story-card p {
    font-size: 0.8rem;
    color: #64748B;
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden; }
  .pp-story-card .pp-story-read {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    color: #F97316;
    margin-top: auto; }
    .pp-story-card .pp-story-read .material-icons {
      font-size: 14px; }
  .pp-story-card .pp-stars {
    display: flex;
    gap: 1px; }
    .pp-story-card .pp-stars .material-icons {
      font-size: 13px;
      color: #F59E0B; }

/* ── Responsive ─────────────────────────── */
@media (max-width: 1199px) {
  .author-sidebar {
    flex: 0 0 260px; }

  .author-hero::after {
    right: -20px;
    width: 220px;
    height: 220px; } }
@media (max-width: 991px) {
  .author-layout {
    flex-direction: column; }

  .author-sidebar {
    flex: none;
    width: 100%;
    position: static; }

  .author-hero::after {
    display: none; }

  .author-stats-bar {
    flex-wrap: wrap; }

  .author-stat {
    flex: 0 0 33.33%; } }
@media (max-width: 767px) {
  .author-hero {
    padding: 40px 0 0;
    min-height: auto; }

  .author-hero-inner {
    flex-direction: column;
    align-items: center;
    text-align: center; }

  .author-hero-avatar {
    width: 120px;
    height: 120px; }

  .author-hero-badge {
    margin: 0 auto 10px; }

  .author-hero-bio {
    max-width: 100%; }

  .author-hero-actions {
    justify-content: center; }

  .author-social-links {
    justify-content: center; }

  .author-stats-bar {
    flex-wrap: wrap; }

  .author-stat {
    flex: 0 0 50%; }

  .author-hero-info h1 {
    font-size: 1.5rem; }

  .author-cta-inner {
    flex-direction: column;
    text-align: center; }

  .author-cta-btns {
    flex-direction: column;
    width: 100%; }

  .author-cta-btn {
    justify-content: center;
    width: 100%; }

  .author-layout {
    padding: 32px 0 48px; }

  .author-featured-book {
    flex-direction: column; }

  .author-featured-cover {
    flex: none;
    width: 100%;
    height: 220px; } }
/* ═══════════════════════════════════════════
   STORIES PAGE
   ═══════════════════════════════════════════ */
.st-hero {
  background: linear-gradient(135deg, #1E1B4B 0%, #312E81 50%, #4C1D95 100%);
  padding: 64px 0 56px;
  position: relative;
  overflow: hidden; }

.st-hero-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px; }

.st-hero-text {
  flex: 1; }
  .st-hero-text h1 {
    font-size: 2.75rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 0 0 16px; }

.st-hero-sub {
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.0625rem;
  line-height: 1.6;
  margin: 0 0 28px; }

.st-hero-search {
  margin-top: 8px; }

.st-search-form {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  padding: 8px 8px 8px 16px;
  max-width: 560px;
  backdrop-filter: blur(8px); }

.st-search-icon {
  color: rgba(255, 255, 255, 0.6);
  font-size: 20px;
  flex-shrink: 0; }

.st-search-input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: #fff;
  font-size: 0.9375rem; }
  .st-search-input::placeholder {
    color: rgba(255, 255, 255, 0.5); }

.st-hero-deco {
  flex-shrink: 0; }
  @media (max-width: 767px) {
    .st-hero-deco {
      display: none; } }

.st-hero-img {
  width: 480px;
  height: 480px;
  object-fit: contain;
  opacity: 0.92;
  filter: drop-shadow(0 8px 32px rgba(0, 0, 0, 0.4)); }

/* Layout */
.st-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 32px;
  align-items: start; }
  @media (max-width: 991px) {
    .st-layout {
      grid-template-columns: 1fr; } }

/* Sidebar */
.st-sidebar {
  position: sticky;
  top: 80px;
  /* Al colapsar .st-layout a una columna (mismo breakpoint de arriba) el
     sticky deja los filtros pegados tapando el listado -- vuelven al flujo. */ }
  @media (max-width: 991px) {
    .st-sidebar {
      position: static;
      top: auto; } }

.st-filter-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07); }

.st-filter-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #374151;
  margin: 0 0 16px;
  text-transform: uppercase;
  letter-spacing: 0.05em; }
  .st-filter-title .material-icons {
    font-size: 16px;
    vertical-align: middle; }

.st-filter-group {
  margin-bottom: 20px; }
  .st-filter-group:last-child {
    margin-bottom: 0; }

.st-filter-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #6B7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 10px; }

.st-sort-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  margin-bottom: 6px;
  transition: all .15s;
  background: none;
  border: none;
  width: 100%;
  cursor: pointer;
  text-align: left; }
  .st-sort-btn .material-icons {
    font-size: 16px; }
  .st-sort-btn:hover {
    background: #F3F4F6;
    color: #4F46E5; }
  .st-sort-btn.active {
    background: rgba(79, 70, 229, 0.08);
    color: #4F46E5;
    font-weight: 700; }

.st-checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: #374151;
  cursor: pointer;
  padding: 4px 0; }
  .st-checkbox input[type="checkbox"] {
    accent-color: #4F46E5;
    width: 15px;
    height: 15px; }

.st-rating-opt {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8rem;
  color: #374151;
  cursor: pointer;
  padding: 3px 0; }
  .st-rating-opt input {
    accent-color: #4F46E5;
    margin-right: 4px; }
  .st-rating-opt .material-icons {
    font-size: 14px;
    color: #f59e0b; }
  .st-rating-opt .st-star-empty {
    color: #d1d5db; }

.st-sidebar-book {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #F3F4F6;
  text-decoration: none; }
  .st-sidebar-book:last-child {
    border-bottom: none; }
  .st-sidebar-book img {
    width: 40px;
    height: 54px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0; }

.st-sidebar-book-ph {
  width: 40px;
  height: 54px;
  background: #F3F4F6;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; }
  .st-sidebar-book-ph .material-icons {
    font-size: 20px;
    color: #9CA3AF; }

.st-sidebar-book-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: #111827;
  margin: 0 0 2px;
  line-height: 1.3; }

.st-sidebar-book-author {
  font-size: 0.75rem;
  color: #6B7280;
  margin: 0; }

/* Main content sections */
.st-main {
  min-width: 0; }

.st-section {
  margin-bottom: 48px; }

/* Story cards grid */
.st-story-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px; }

.st-story-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: transform .15s, box-shadow .15s; }
  .st-story-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(79, 70, 229, 0.12);
    border-color: rgba(79, 70, 229, 0.25); }

.st-story-cover {
  width: 100%;
  height: 140px;
  overflow: hidden; }
  .st-story-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.st-story-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  flex: 1; }
  .st-story-body .pp-stars {
    margin-bottom: 6px; }
    .st-story-body .pp-stars .material-icons {
      color: #f59e0b;
      font-size: 13px; }

.st-story-author {
  font-size: 0.75rem;
  color: #6B7280;
  margin: 2px 0 6px; }

/* Convocatoria a la que pertenece el relato, debajo del titulo. Solo se
   muestra en listados generales -- en la pagina de una convocatoria se
   omite (hide_contest) porque ahi todos los relatos son de la misma. */
.st-story-contest {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  color: #4F46E5;
  margin: 4px 0 2px;
  line-height: 1.3; }
  .st-story-contest .material-icons {
    font-size: 13px;
    flex-shrink: 0; }

.st-story-card h4 {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 2px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.st-story-excerpt {
  font-size: 0.8125rem;
  color: #6B7280;
  line-height: 1.55;
  margin: 0 0 12px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.st-story-read {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #4F46E5; }
  .st-story-read .material-icons {
    font-size: 15px; }

/* CTA card */
.st-cta-card {
  background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
  border-radius: 20px;
  padding: 48px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  overflow: hidden;
  position: relative; }

.st-cta-text h2 {
  font-size: 1.75rem;
  font-weight: 800;
  color: #fff;
  margin: 0 0 12px; }
.st-cta-text p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  margin: 0;
  line-height: 1.6; }

.st-cta-deco {
  flex-shrink: 0;
  opacity: 0.15; }
  .st-cta-deco .material-icons {
    font-size: 120px;
    color: #fff; }
  @media (max-width: 767px) {
    .st-cta-deco {
      display: none; } }

/* Utility classes extracted from inline styles */
.st-content-section {
  padding-top: 48px;
  padding-bottom: 48px; }

.st-cta-section {
  padding: 48px 0; }

.st-cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px; }

.st-search-submit {
  padding: 10px 20px; }

#st-loading {
  display: none;
  font-size: 0.82rem;
  color: #6B7280; }

#st-sentinel {
  height: 1px; }

/* Responsive */
@media (max-width: 767px) {
  .st-hero-text h1 {
    font-size: 1.75rem; }

  .st-story-grid {
    grid-template-columns: 1fr 1fr; }

  .st-cta-card {
    padding: 32px 24px;
    flex-direction: column; }

  .st-cta-text h2 {
    font-size: 1.4rem; } }
@media (max-width: 479px) {
  .st-story-grid {
    grid-template-columns: 1fr; } }
/* ═══════════════════════════════════════════
   AUTORES LISTING PAGE
   ═══════════════════════════════════════════ */
.au-hero {
  position: relative;
  overflow: hidden;
  padding: 64px 0 0;
  background: radial-gradient(circle at 15% 20%, rgba(99, 102, 241, 0.3) 0%, transparent 35%), radial-gradient(circle at 85% 75%, rgba(168, 85, 247, 0.25) 0%, transparent 40%), radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.04) 0%, transparent 60%), linear-gradient(135deg, #111827 0%, #1E1B4B 25%, #312E81 50%, #4F46E5 75%, #7C3AED 100%);
  /* Patrón diagonal */
  /* Aurora */ }
  .au-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0px, rgba(255, 255, 255, 0.03) 1px, transparent 1px, transparent 80px);
    pointer-events: none;
    z-index: 1; }
  .au-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    background: radial-gradient(circle at 20% 15%, rgba(59, 130, 246, 0.25), transparent 40%), radial-gradient(circle at 80% 75%, rgba(168, 85, 247, 0.25), transparent 45%);
    filter: blur(80px); }

.hero-glow {
  position: absolute;
  top: -250px;
  right: -150px;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, rgba(139, 92, 246, 0.15) 30%, transparent 70%);
  filter: blur(90px);
  pointer-events: none;
  z-index: 1; }

.au-hero-inner {
  display: flex;
  align-items: flex-end;
  gap: 32px; }

.au-hero-text {
  flex: 1;
  padding-bottom: 48px; }
  .au-hero-text h1 {
    font-size: 2.5rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 0 0 16px; }

.au-hero-sub {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin-bottom: 28px; }

.au-hero-search {
  position: relative;
  max-width: 420px; }

.au-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #6B7280;
  font-size: 20px;
  pointer-events: none; }

.au-search-input {
  width: 100%;
  padding: 12px 16px 12px 44px;
  border: none;
  border-radius: 12px;
  font-size: 0.9375rem;
  background: #fff;
  color: #111827;
  outline: none;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); }
  .au-search-input::placeholder {
    color: #9CA3AF; }
  .au-search-input:focus {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.3); }

.au-hero-deco {
  flex-shrink: 0;
  width: 320px;
  align-self: flex-end;
  opacity: .9; }
  .au-hero-deco img {
    width: 100%;
    display: block; }

/* Layout */
.au-layout {
  display: flex;
  gap: 28px;
  align-items: flex-start; }

.au-sidebar {
  flex: 0 0 220px;
  position: sticky;
  top: 80px; }

.au-main {
  flex: 1;
  min-width: 0; }

.au-section {
  margin-bottom: 40px; }

/* Featured authors — horizontal scroll */
.au-featured-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: none; }
  .au-featured-track::-webkit-scrollbar {
    display: none; }

.au-featured-card {
  flex: 0 0 140px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  padding: 20px 12px 16px;
  text-align: center;
  transition: box-shadow .2s, transform .2s; }
  .au-featured-card:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px); }
  .au-featured-card a {
    text-decoration: none;
    display: block; }

.au-featured-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  margin: 0 auto 12px;
  overflow: hidden;
  background: linear-gradient(135deg, #F97316, #1E4FA8);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid rgba(79, 70, 229, 0.15); }
  .au-featured-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.au-featured-initials {
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  line-height: 1; }

.au-featured-name {
  font-size: 0.82rem;
  font-weight: 700;
  color: #1E293B;
  margin: 0 0 4px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.au-featured-stats {
  font-size: 0.75rem;
  color: #64748B;
  margin: 0 0 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px; }
  .au-featured-stats .material-icons {
    font-size: 12px; }

.au-featured-btn {
  display: block;
  padding: 5px 12px;
  border: 1.5px solid #E2E8F0;
  border-radius: 8px;
  font-size: 0.76rem;
  font-weight: 600;
  color: #1E293B;
  text-align: center;
  transition: all .15s;
  text-decoration: none; }
  .au-featured-btn:hover {
    border-color: #F97316;
    color: #F97316;
    background: rgba(79, 70, 229, 0.04); }

/* All authors grid — infinite scroll */
.au-authors-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px; }

.au-author-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 24px 20px 20px;
  text-align: center;
  transition: box-shadow .2s, transform .2s;
  display: flex;
  flex-direction: column;
  align-items: center; }
  .au-author-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.09);
    transform: translateY(-2px); }

.au-author-card-link {
  display: block;
  text-decoration: none;
  width: 100%; }

.au-card-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto 14px;
  overflow: hidden;
  background: linear-gradient(135deg, #F97316, #1E4FA8);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid rgba(79, 70, 229, 0.12); }
  .au-card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.au-card-initials {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  line-height: 1; }

.au-card-name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1E293B;
  margin: 0 0 6px;
  line-height: 1.3; }

.au-card-location {
  font-size: 0.775rem;
  color: #64748B;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px; }
  .au-card-location .material-icons {
    font-size: 12px; }

.au-card-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 0 4px;
  font-size: 0.8rem;
  color: #64748B; }
  .au-card-stats span {
    display: flex;
    align-items: center;
    gap: 3px; }
  .au-card-stats .material-icons {
    font-size: 13px; }

.au-card-btn {
  display: block;
  width: 100%;
  margin-top: 14px;
  padding: 8px 16px;
  border: 1.5px solid #E2E8F0;
  border-radius: 10px;
  font-size: 0.84rem;
  font-weight: 600;
  color: #1E293B;
  text-align: center;
  transition: all .15s;
  text-decoration: none; }
  .au-card-btn:hover {
    border-color: #F97316;
    color: #F97316;
    background: rgba(79, 70, 229, 0.04); }

/* Autores por descubrir — misma tarjeta que el listado general, con una
   etiqueta discreta. Es descubrimiento algoritmico, no un premio: si la
   tarjeta pesara mas que la de destacados, la seccion competiria con ella
   en vez de complementarla. */
.au-discover-sub {
  font-size: 0.86rem;
  color: #64748B;
  margin: 0 0 20px;
  line-height: 1.5; }

.au-discover-card {
  position: relative;
  /* La etiqueta se apoya sobre el borde superior; sin este respiro
     quedaria encima del avatar. Son 42px porque la etiqueta arranca a 10px
     y mide ~23px: con 30px su borde inferior caia 3px dentro del avatar. */
  padding-top: 42px;
  /* El enlace crece para ocupar el alto que la grilla le da a la tarjeta,
     asi el boton queda abajo. Sin esto las bios de largo distinto (y las
     tarjetas sin bio) dejan los botones de una misma fila a alturas
     distintas -- hasta 46px de diferencia. */ }
  .au-discover-card .au-author-card-link {
    flex: 1 1 auto; }

.au-discover-tag {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(79, 70, 229, 0.08);
  color: #F97316;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap; }

.au-discover-bio {
  font-size: 0.78rem;
  color: #64748B;
  margin: 0 0 10px;
  line-height: 1.45;
  /* Exactamente dos lineas, ni mas ni menos: el clamp corta las bios largas
     (el corte por palabras del template da un largo variable) y el
     min-height reserva el alto cuando la bio viene vacia. Las dos mitades
     hacen falta -- sin el min-height, las filas sin bio quedan 46px mas
     bajas que las que si tienen. 2.9em = 2 lineas de line-height 1.45. */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.9em; }

/* Responsive */
@media (max-width: 900px) {
  .au-layout {
    flex-direction: column; }

  .au-sidebar {
    position: static;
    width: 100%;
    flex: none; }

  /* align-items:flex-start del contenedor hace que en columna .au-main se
     dimensione a max-content (el carrusel de autores lo estira a ~1266px)
     y aparezca scroll horizontal -- forzamos el ancho del contenedor. */
  .au-main {
    width: 100%;
    min-width: 0; }

  .au-authors-grid {
    grid-template-columns: repeat(2, 1fr); }

  .au-hero-deco {
    display: none; }

  .au-hero-text h1 {
    font-size: 1.9rem; } }
@media (max-width: 480px) {
  .au-authors-grid {
    grid-template-columns: 1fr; }

  .au-hero-text h1 {
    font-size: 1.6rem; } }
/* ── Comentarios en el perfil ─────────────── */
.profile-comment-form {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 24px; }
  .profile-comment-form textarea {
    width: 100%;
    border: 1.5px solid #E2E8F0;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.875rem;
    font-family: "Inter", sans-serif;
    color: #1E293B;
    resize: vertical;
    margin: 10px 0 12px;
    outline: none; }
    .profile-comment-form textarea::placeholder {
      color: #64748B; }
    .profile-comment-form textarea:focus {
      border-color: #F97316; }

.profile-comment-rating {
  display: inline-flex;
  gap: 2px;
  cursor: pointer; }
  .profile-comment-rating .material-icons {
    font-size: 22px;
    color: #F59E0B;
    transition: transform .1s; }
    .profile-comment-rating .material-icons:hover {
      transform: scale(1.15); }

.profile-comment-login {
  font-size: 0.875rem;
  color: #64748B;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 24px; }
  .profile-comment-login a {
    color: #F97316;
    font-weight: 600; }
    .profile-comment-login a:hover {
      text-decoration: underline; }

.profile-comment-list {
  display: flex;
  flex-direction: column;
  gap: 16px; }

.profile-comment-item {
  display: flex;
  gap: 12px; }

.profile-comment-avatar {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  background: #1E4FA8;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 700; }
  .profile-comment-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.profile-comment-body {
  flex: 1;
  min-width: 0; }

.profile-comment-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px; }

.profile-comment-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #1E293B; }

.profile-comment-stars .material-icons {
  font-size: 13px;
  color: #F59E0B; }

.profile-comment-date {
  font-size: 0.75rem;
  color: #64748B; }

.profile-comment-text {
  font-size: 0.875rem;
  color: #64748B;
  line-height: 1.6;
  margin: 0;
  white-space: pre-line; }

.profile-comment-empty {
  font-size: 0.875rem;
  color: #64748B;
  text-align: center;
  padding: 20px 0; }

/* ═══════════════════════════════════════════
   CONVOCATORIAS PAGE
   ═══════════════════════════════════════════ */
/* ─── HERO ─────────────────────────────── */
.cv-hero {
  position: relative;
  overflow: hidden;
  padding: 72px 0 64px;
  background: radial-gradient(circle at 15% 20%, rgba(99, 102, 241, 0.25) 0%, transparent 35%), radial-gradient(circle at 85% 75%, rgba(168, 85, 247, 0.2) 0%, transparent 40%), linear-gradient(135deg, #2E2872 0%, #3730A3 30%, #4F46E5 65%, #7C3AED 100%); }
  .cv-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.025) 0px, rgba(255, 255, 255, 0.025) 1px, transparent 1px, transparent 80px);
    pointer-events: none;
    z-index: 1; }
  .cv-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 10%, rgba(255, 255, 255, 0.08), transparent 40%), radial-gradient(circle at 10% 80%, rgba(139, 92, 246, 0.18), transparent 45%);
    filter: blur(60px);
    pointer-events: none;
    z-index: 2; }

.cv-hero-inner {
  display: flex;
  align-items: center;
  gap: 48px; }

.cv-hero-text {
  flex: 55; }
  .cv-hero-text h1 {
    font-size: 2.8rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 16px 0 20px; }

.cv-hero-sub {
  font-size: 1.0625rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
  margin-bottom: 32px;
  max-width: 520px; }

.cv-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 40px; }

.cv-hero-img {
  flex: 45;
  text-align: center; }
  .cv-hero-img img {
    max-width: 100%;
    height: auto;
    max-height: 380px;
    object-fit: contain;
    filter: drop-shadow(0 20px 60px rgba(99, 102, 241, 0.2)); }

.cv-hero-metrics {
  display: flex;
  gap: 32px;
  flex-wrap: wrap; }

.cv-metric {
  display: flex;
  flex-direction: column; }

.cv-metric-val {
  font-size: 1.75rem;
  font-weight: 800;
  color: #fff;
  line-height: 1; }

.cv-metric-label {
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.65);
  margin-top: 4px; }

/* ─── LAYOUT ────────────────────────────── */
.cv-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 32px;
  align-items: start; }

/* ─── SIDEBAR ───────────────────────────── */
.cv-sidebar {
  position: sticky;
  top: 80px; }

.cv-filter-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 20px; }

.cv-filter-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #374151;
  margin: 0 0 16px;
  display: flex;
  align-items: center;
  gap: 6px; }

.cv-filter-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 8px; }

.cv-filter-group {
  display: flex;
  flex-direction: column;
  gap: 6px; }

.cv-filter-btn {
  background: none;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 0.875rem;
  color: #374151;
  cursor: pointer;
  text-align: left;
  transition: all .15s; }
  .cv-filter-btn:hover {
    background: #F5F3FF;
    border-color: #C4B5FD;
    color: #4F46E5; }
  .cv-filter-btn.active {
    background: #EEF2FF;
    border-color: #6366F1;
    color: #4F46E5;
    font-weight: 600; }

/* ─── FEATURED CONTEST ──────────────────── */
.cv-featured-card {
  display: flex;
  gap: 24px;
  background: linear-gradient(135deg, #1E1B4B 0%, #312E81 50%, #4338CA 100%);
  border-radius: 16px;
  overflow: hidden;
  padding: 24px;
  color: #fff;
  position: relative; }
  .cv-featured-card::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
    pointer-events: none; }

.cv-featured-img {
  flex-shrink: 0;
  width: 200px;
  position: relative; }
  .cv-featured-img img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 10px; }

.cv-featured-img-placeholder {
  width: 100%;
  height: 240px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center; }
  .cv-featured-img-placeholder .material-icons {
    font-size: 48px;
    opacity: 0.4;
    color: #fff; }

.cv-featured-body {
  flex: 1;
  position: relative;
  z-index: 1; }

.cv-featured-category {
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 8px; }

.cv-featured-body h3 {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  margin: 0 0 12px; }
  .cv-featured-body h3 a {
    color: inherit;
    text-decoration: none; }
  .cv-featured-body h3 a:hover {
    color: #C4B5FD; }

.cv-featured-resume {
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.6;
  margin-bottom: 20px; }

.cv-featured-meta {
  display: flex;
  gap: 20px;
  flex-wrap: wrap; }

.cv-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7); }
  .cv-meta-item .material-icons {
    font-size: 16px; }

/* ─── STATUS BADGE ──────────────────────── */
.cv-status {
  position: absolute;
  top: 8px;
  left: 8px;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.05em; }

.cv-status--open {
  background: #D1FAE5;
  color: #065F46; }

.cv-status--closed {
  background: #FEE2E2;
  color: #991B1B; }

/* ─── GRID ──────────────────────────────── */
.cv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; }

/* ─── CARD ──────────────────────────────── */
.cv-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s; }
  .cv-card:hover {
    box-shadow: 0 8px 30px rgba(99, 102, 241, 0.12);
    transform: translateY(-2px); }

.cv-card-img {
  position: relative;
  height: 180px;
  background: #F3F4F6; }
  .cv-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.cv-card-img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #EEF2FF, #EDE9FE); }
  .cv-card-img-placeholder .material-icons {
    font-size: 40px;
    color: #A78BFA;
    opacity: 0.5; }

.cv-card-body {
  padding: 16px; }

.cv-card-category {
  font-size: 0.7rem;
  font-weight: 700;
  color: #7C3AED;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 6px; }

.cv-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px;
  line-height: 1.3; }
  .cv-card-title a {
    color: inherit;
    text-decoration: none; }
  .cv-card-title a:hover {
    color: #4F46E5; }

.cv-card-resume {
  font-size: 0.8125rem;
  color: #6B7280;
  line-height: 1.5;
  margin-bottom: 12px; }

.cv-card-date {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  color: #9CA3AF;
  margin-bottom: 12px; }
  .cv-card-date .material-icons {
    font-size: 14px; }

.cv-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #4F46E5;
  text-decoration: none; }
  .cv-card-btn .material-icons {
    font-size: 16px; }
  .cv-card-btn:hover {
    color: #3730A3; }

/* ─── HOW IT WORKS ──────────────────────── */
.cv-how {
  background: #F8FAFC;
  padding: 80px 0; }

.cv-section-sub {
  font-size: 1rem;
  color: #6B7280;
  margin-top: 8px; }

.cv-steps {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  justify-content: center; }

.cv-step {
  flex: 1;
  max-width: 210px;
  text-align: center; }
  .cv-step h4 {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
    margin: 12px 0 8px; }
  .cv-step p {
    font-size: 0.8125rem;
    color: #6B7280;
    line-height: 1.55;
    margin: 0; }

.cv-step-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4F46E5, #7C3AED);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 8px; }
  .cv-step-icon .material-icons {
    font-size: 28px;
    color: #fff; }

.cv-step-num {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #9CA3AF;
  letter-spacing: 0.1em; }

.cv-step-arrow {
  padding-top: 28px;
  color: #D1D5DB; }
  .cv-step-arrow .material-icons {
    font-size: 24px; }

/* ─── NEWSLETTER ────────────────────────── */
.cv-newsletter {
  background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
  padding: 64px 0; }

.cv-nl-inner {
  display: flex;
  align-items: center;
  gap: 48px; }

.cv-nl-text {
  flex: 1; }
  .cv-nl-text h2 {
    font-size: 1.625rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 10px; }
  .cv-nl-text p {
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0; }

.cv-nl-form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex: 1; }
  .cv-nl-form input {
    flex: 1;
    min-width: 150px;
    padding: 12px 16px;
    border: none;
    border-radius: 10px;
    font-size: 0.9375rem;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    outline: none; }
    .cv-nl-form input::placeholder {
      color: rgba(255, 255, 255, 0.6); }
    .cv-nl-form input:focus {
      background: rgba(255, 255, 255, 0.2);
      box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4); }
  .cv-nl-form button {
    padding: 12px 24px;
    background: #fff;
    color: #4F46E5;
    border: none;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: opacity .15s;
    white-space: nowrap; }
    .cv-nl-form button:hover {
      opacity: 0.9; }
    .cv-nl-form button .material-icons {
      font-size: 18px; }

/* ═══════════════════════════════════════════
   CONTEST DETAIL PAGE  (cd-)
   ═══════════════════════════════════════════ */
/* ─── HERO ─────────────────────────────── */
.cd-hero {
  position: relative;
  overflow: hidden;
  padding: 64px 0 56px;
  background: radial-gradient(circle at 15% 20%, rgba(99, 102, 241, 0.25) 0%, transparent 35%), radial-gradient(circle at 85% 75%, rgba(168, 85, 247, 0.2) 0%, transparent 40%), linear-gradient(135deg, #2E2872 0%, #3730A3 30%, #4F46E5 65%, #7C3AED 100%); }
  .cd-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.025) 0px, rgba(255, 255, 255, 0.025) 1px, transparent 1px, transparent 80px);
    pointer-events: none;
    z-index: 1; }

.cd-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0.08;
  z-index: 0; }

.cd-hero-inner {
  display: flex;
  align-items: center;
  gap: 48px; }

.cd-hero-text {
  flex: 60; }
  .cd-hero-text h1 {
    font-size: 2.5rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin: 0 0 16px; }

.cd-hero-sub {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
  margin-bottom: 24px; }

.cd-hero-cover {
  flex: 40;
  text-align: center; }
  .cd-hero-cover img {
    max-width: 100%;
    max-height: 340px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); }

.cd-hero-cover-placeholder {
  width: 260px;
  height: 320px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto; }
  .cd-hero-cover-placeholder .material-icons {
    font-size: 64px;
    color: rgba(255, 255, 255, 0.3); }

.cd-hero-meta {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 28px; }

.cd-hero-meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.7); }
  .cd-hero-meta-item .material-icons {
    font-size: 20px; }

.cd-meta-label {
  display: block;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255, 255, 255, 0.55); }

.cd-meta-val {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9); }

.cd-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap; }

/* ─── BREADCRUMB ────────────────────────── */
.cd-breadcrumb {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.55);
  margin-bottom: 20px;
  flex-wrap: wrap; }
  .cd-breadcrumb a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none; }
    .cd-breadcrumb a:hover {
      color: #fff; }
  .cd-breadcrumb .material-icons {
    font-size: 14px; }
  .cd-breadcrumb span {
    color: rgba(255, 255, 255, 0.9); }

/* ─── CATEGORY TAG ──────────────────────── */
.cd-category-tag {
  display: inline-block;
  background: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 3px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.25); }

/* ─── QUICK STRIP ───────────────────────── */
.cd-strip {
  background: #fff;
  border-bottom: 1px solid #E5E7EB;
  padding: 0; }

.cd-strip-inner {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap; }

.cd-strip-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 28px;
  border-right: 1px solid #E5E7EB;
  flex: 1; }
  .cd-strip-item .material-icons {
    font-size: 20px;
    color: #4F46E5; }

.cd-strip-label {
  display: block;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #9CA3AF; }

.cd-strip-val {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #111827; }

.cd-strip-cta {
  padding: 12px 24px;
  margin-left: auto; }

.cd-open {
  color: #065F46; }

.cd-closed {
  color: #991B1B; }

/* ─── LAYOUT ────────────────────────────── */
.cd-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 32px;
  align-items: start; }

/* ─── SECTIONS ──────────────────────────── */
.cd-section {
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid #F3F4F6; }
  .cd-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0; }

.cd-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.25rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 24px; }
  .cd-section-title .material-icons {
    font-size: 22px;
    color: #4F46E5; }

.cd-prose {
  font-size: 0.9375rem;
  color: #374151;
  line-height: 1.75; }
  .cd-prose p {
    margin-bottom: 16px; }
  .cd-prose h2, .cd-prose h3 {
    font-weight: 700;
    color: #111827;
    margin: 24px 0 12px; }
  .cd-prose ul, .cd-prose ol {
    padding-left: 20px;
    margin-bottom: 16px; }
  .cd-prose li {
    margin-bottom: 6px; }
  .cd-prose strong {
    color: #111827; }

/* ─── REWARDS BOX ───────────────────────── */
.cd-rewards-box {
  display: flex;
  gap: 20px;
  background: linear-gradient(135deg, #EEF2FF, #EDE9FE);
  border: 1px solid #C4B5FD;
  border-radius: 14px;
  padding: 24px;
  align-items: flex-start; }

.cd-rewards-icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4F46E5, #7C3AED);
  display: flex;
  align-items: center;
  justify-content: center; }
  .cd-rewards-icon .material-icons {
    font-size: 24px;
    color: #fff; }

.cd-rewards-content {
  flex: 1;
  font-size: 0.9375rem;
  color: #374151;
  line-height: 1.7; }
  .cd-rewards-content p {
    margin-bottom: 12px; }
  .cd-rewards-content:last-child {
    margin-bottom: 0; }

/* ─── TIMELINE ──────────────────────────── */
.cd-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 28px; }
  .cd-timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 12px;
    bottom: 12px;
    width: 2px;
    background: #E5E7EB; }

.cd-timeline-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 28px;
  position: relative; }

.cd-timeline-dot {
  position: absolute;
  left: -28px;
  top: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #4F46E5;
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px #4F46E5;
  flex-shrink: 0; }

.cd-timeline-dot--mid {
  background: #7C3AED;
  box-shadow: 0 0 0 2px #7C3AED; }

.cd-timeline-dot--pending {
  background: #E5E7EB;
  box-shadow: 0 0 0 2px #D1D5DB; }

.cd-timeline-done .cd-timeline-dot {
  background: #059669;
  box-shadow: 0 0 0 2px #059669; }

.cd-timeline-body {
  flex: 1; }

.cd-timeline-label {
  display: block;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #111827;
  margin-bottom: 2px; }

.cd-timeline-date {
  display: block;
  font-size: 0.8125rem;
  color: #6B7280; }

/* ─── FAQ ───────────────────────────────── */
.cd-faq {
  display: flex;
  flex-direction: column;
  gap: 8px; }

.cd-faq-item {
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  overflow: hidden; }
  .cd-faq-item summary {
    padding: 14px 18px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #111827;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none; }
    .cd-faq-item summary::-webkit-details-marker {
      display: none; }
    .cd-faq-item summary::after {
      content: 'expand_more';
      font-family: 'Material Icons';
      font-size: 20px;
      color: #6B7280;
      transition: transform .2s; }
  .cd-faq-item[open] summary {
    border-bottom: 1px solid #E5E7EB;
    color: #4F46E5; }
    .cd-faq-item[open] summary::after {
      transform: rotate(180deg); }
  .cd-faq-item p {
    padding: 14px 18px;
    font-size: 0.875rem;
    color: #6B7280;
    line-height: 1.65;
    margin: 0; }

/* ─── CTA INLINE ────────────────────────── */
.cd-cta-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: linear-gradient(135deg, #1E1B4B, #3730A3);
  border-radius: 16px;
  padding: 32px;
  flex-wrap: wrap; }
  .cd-cta-inline h3 {
    font-size: 1.25rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 8px; }
  .cd-cta-inline p {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0; }

.cd-cta-inline-text {
  flex: 1; }

.cd-cta-inline-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex-shrink: 0; }

/* ─── SIDEBAR ───────────────────────────── */
.cd-sidebar {
  position: sticky;
  top: 80px; }

.cd-sidebar-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  padding: 20px; }

.cd-sidebar-card--gradient {
  background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
  border: none; }

.cd-sidebar-card-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin: 0 0 16px; }

.cd-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px; }
  .cd-info-list li {
    display: flex;
    align-items: center;
    gap: 10px; }
    .cd-info-list li .material-icons {
      font-size: 18px;
      color: #4F46E5;
      flex-shrink: 0; }

.cd-info-label {
  display: block;
  font-size: 0.7rem;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.06em; }

.cd-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #6B7280;
  text-decoration: none;
  transition: color .15s; }
  .cd-back-link .material-icons {
    font-size: 18px; }
  .cd-back-link:hover {
    color: #4F46E5; }

/* ─── RESPONSIVE ────────────────────────── */
@media (max-width: 1024px) {
  .cd-layout {
    grid-template-columns: 1fr 260px; } }
@media (max-width: 768px) {
  .cd-hero-inner {
    flex-direction: column;
    gap: 24px; }

  .cd-hero-cover {
    display: none; }

  .cd-hero-text h1 {
    font-size: 1.875rem; }

  .cd-layout {
    grid-template-columns: 1fr; }

  .cd-sidebar {
    position: static; }

  .cd-strip-item {
    padding: 14px 16px; }

  .cd-strip-cta {
    width: 100%;
    padding: 12px 16px;
    border-top: 1px solid #E5E7EB; }

  .cd-cta-inline {
    flex-direction: column; }

  .cd-rewards-box {
    flex-direction: column; } }
/* ─── RESPONSIVE (convocatorias listing) ─ */
@media (max-width: 1024px) {
  .cv-layout {
    grid-template-columns: 200px 1fr; }

  .cv-grid {
    grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) {
  .cv-hero-inner {
    flex-direction: column;
    gap: 32px; }

  .cv-hero-img {
    display: none; }

  .cv-hero-text h1 {
    font-size: 2rem; }

  .cv-layout {
    grid-template-columns: 1fr; }

  .cv-sidebar {
    position: static; }

  .cv-featured-card {
    flex-direction: column; }

  .cv-featured-img {
    width: 100%; }

  .cv-grid {
    grid-template-columns: 1fr; }

  .cv-steps {
    flex-direction: column;
    align-items: center; }

  .cv-step-arrow {
    display: none; }

  .cv-nl-inner {
    flex-direction: column;
    gap: 24px; }

  .cv-nl-form {
    width: 100%; } }
/* ═══════════════════════════════════════════
   BLOG LISTING  (bl-)
   ═══════════════════════════════════════════ */
/* ─── HERO ─────────────────────────────── */
.bl-hero {
  position: relative;
  overflow: hidden;
  padding: 72px 0 64px;
  background: radial-gradient(circle at 15% 25%, rgba(99, 102, 241, 0.22) 0%, transparent 38%), radial-gradient(circle at 85% 70%, rgba(139, 92, 246, 0.18) 0%, transparent 42%), linear-gradient(135deg, #1E1B4B 0%, #2E2872 28%, #4338CA 62%, #7C3AED 100%); }
  .bl-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.025) 0px, rgba(255, 255, 255, 0.025) 1px, transparent 1px, transparent 80px);
    pointer-events: none;
    z-index: 1; }

.bl-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 680px; }

.bl-hero-inner h1 {
  font-size: 2.75rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin: 16px 0 18px; }

.bl-hero-sub {
  font-size: 1.0625rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.65;
  margin-bottom: 32px; }

.bl-hero-search {
  position: relative;
  max-width: 520px; }
  .bl-hero-search input {
    width: 100%;
    padding: 14px 52px 14px 20px;
    border: none;
    border-radius: 12px;
    font-size: 0.9375rem;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    outline: none;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); }
    .bl-hero-search input::placeholder {
      color: rgba(255, 255, 255, 0.55); }
    .bl-hero-search input:focus {
      background: rgba(255, 255, 255, 0.2);
      border-color: rgba(255, 255, 255, 0.4); }
  .bl-hero-search button {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 8px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    transition: background .15s; }
    .bl-hero-search button:hover {
      background: rgba(255, 255, 255, 0.3); }
    .bl-hero-search button .material-icons {
      font-size: 20px; }

/* ─── CATEGORIES ────────────────────────── */
.bl-cats {
  background: #fff;
  border-bottom: 1px solid #E5E7EB;
  padding: 0; }

.bl-cats-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  overflow-x: auto;
  scrollbar-width: none; }
  .bl-cats-inner::-webkit-scrollbar {
    display: none; }

.bl-cat-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 16px;
  border-radius: 20px;
  border: 1px solid #E5E7EB;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  white-space: nowrap;
  transition: all .15s; }
  .bl-cat-chip:hover, .bl-cat-chip.active {
    background: #EEF2FF;
    border-color: #6366F1;
    color: #4F46E5; }
  .bl-cat-chip .material-icons {
    font-size: 14px; }

/* ─── MAIN LAYOUT ───────────────────────── */
.bl-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 40px;
  align-items: start;
  padding: 48px 0 64px; }

/* ─── FEATURED ──────────────────────────── */
.bl-featured {
  margin-bottom: 48px; }

.bl-featured-card {
  display: flex;
  gap: 32px;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow .2s; }
  .bl-featured-card:hover {
    box-shadow: 0 12px 40px rgba(99, 102, 241, 0.12); }

.bl-featured-img {
  flex-shrink: 0;
  width: 340px; }
  .bl-featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: 240px; }

.bl-featured-img-ph {
  width: 100%;
  height: 100%;
  min-height: 240px;
  background: linear-gradient(135deg, #EEF2FF, #EDE9FE);
  display: flex;
  align-items: center;
  justify-content: center; }
  .bl-featured-img-ph .material-icons {
    font-size: 56px;
    color: #A78BFA;
    opacity: 0.5; }

.bl-featured-body {
  flex: 1;
  padding: 32px 32px 32px 0;
  display: flex;
  flex-direction: column;
  justify-content: center; }

.bl-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #EEF2FF;
  color: #4F46E5;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 12px;
  border-radius: 20px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em; }

.bl-featured-body h2 {
  font-size: 1.625rem;
  font-weight: 800;
  color: #111827;
  line-height: 1.25;
  margin: 0 0 14px; }
  .bl-featured-body h2 a {
    color: inherit;
    text-decoration: none; }
  .bl-featured-body h2 a:hover {
    color: #4F46E5; }

.bl-featured-excerpt {
  font-size: 0.9375rem;
  color: #6B7280;
  line-height: 1.65;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.bl-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.8rem;
  color: #9CA3AF;
  flex-wrap: wrap; }
  .bl-meta span {
    display: flex;
    align-items: center;
    gap: 4px; }
  .bl-meta .material-icons {
    font-size: 14px; }

.bl-read-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #4F46E5;
  text-decoration: none;
  margin-top: 20px; }
  .bl-read-link .material-icons {
    font-size: 16px; }
  .bl-read-link:hover {
    color: #3730A3; }

/* ─── ARTICLES GRID ─────────────────────── */
.bl-section-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid #EEF2FF; }

.bl-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 48px; }

.bl-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s, transform .2s; }
  .bl-card:hover {
    box-shadow: 0 8px 30px rgba(99, 102, 241, 0.1);
    transform: translateY(-2px); }

.bl-card-img {
  height: 180px;
  overflow: hidden;
  background: linear-gradient(135deg, #EEF2FF, #EDE9FE);
  display: flex;
  align-items: center;
  justify-content: center; }
  .bl-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .bl-card-img .material-icons {
    font-size: 40px;
    color: #A78BFA;
    opacity: 0.5; }

.bl-card-body {
  padding: 18px;
  flex: 1;
  display: flex;
  flex-direction: column; }

.bl-card-date {
  font-size: 0.75rem;
  color: #9CA3AF;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px; }
  .bl-card-date .material-icons {
    font-size: 14px; }

.bl-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.35;
  margin: 0 0 10px;
  flex: 1; }
  .bl-card-title a {
    color: inherit;
    text-decoration: none; }
  .bl-card-title a:hover {
    color: #4F46E5; }

.bl-card-excerpt {
  font-size: 0.8125rem;
  color: #6B7280;
  line-height: 1.55;
  margin-bottom: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.bl-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #4F46E5;
  text-decoration: none;
  margin-top: auto; }
  .bl-card-btn .material-icons {
    font-size: 16px; }
  .bl-card-btn:hover {
    color: #3730A3; }

/* ─── SIDEBAR ───────────────────────────── */
.bl-sidebar {
  position: sticky;
  top: 80px; }

.bl-sidebar-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 16px; }

.bl-sidebar-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #9CA3AF;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 16px; }

.bl-sidebar-posts {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px; }

.bl-sidebar-post {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-decoration: none;
  color: #374151;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  transition: color .15s; }
  .bl-sidebar-post:hover {
    color: #4F46E5; }
  .bl-sidebar-post img {
    width: 54px;
    height: 54px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0; }

.bl-sidebar-post-ph {
  width: 54px;
  height: 54px;
  border-radius: 8px;
  background: linear-gradient(135deg, #EEF2FF, #EDE9FE);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center; }
  .bl-sidebar-post-ph .material-icons {
    font-size: 22px;
    color: #A78BFA;
    opacity: 0.6; }

/* ─── EMPTY STATE ───────────────────────── */
.bl-empty {
  text-align: center;
  padding: 80px 0;
  color: #9CA3AF; }
  .bl-empty .material-icons {
    font-size: 48px;
    opacity: 0.3;
    display: block;
    margin-bottom: 12px; }
  .bl-empty p {
    font-size: 1rem;
    margin: 0; }

/* ─── RESPONSIVE (listing) ──────────────── */
@media (max-width: 1024px) {
  .bl-layout {
    grid-template-columns: 1fr; }

  .bl-sidebar {
    position: static;
    display: none; } }
@media (max-width: 768px) {
  .bl-hero-inner h1 {
    font-size: 2rem; }

  .bl-featured-card {
    flex-direction: column; }

  .bl-featured-img {
    width: 100%;
    height: 200px; }

  .bl-featured-body {
    padding: 20px; }

  .bl-grid {
    grid-template-columns: 1fr; }

  .bl-layout {
    padding: 32px 0 48px; } }
/* ═══════════════════════════════════════════
   BLOG DETAIL  (blog-detail-)
   ═══════════════════════════════════════════ */
.blog-detail-page {
  background: #ffffff;
  color: #111827;
  font-family: "Inter", system-ui, sans-serif; }

.blog-detail-hero {
  background: linear-gradient(135deg, #EEF2FF 0%, #F5F3FF 50%, #EDE9FE 100%);
  padding: 72px 0 48px;
  position: relative;
  overflow: hidden; }

.blog-detail-container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto; }

.blog-detail-header {
  max-width: 860px;
  margin: 0 auto;
  text-align: center; }

.blog-detail-category {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(79, 70, 229, 0.1);
  color: #4F46E5;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 18px; }

.blog-detail-title {
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #0F172A;
  margin: 0 0 20px; }

.blog-detail-excerpt {
  max-width: 760px;
  margin: 0 auto 24px;
  color: #475569;
  font-size: 20px;
  line-height: 1.7; }

.blog-detail-meta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  color: #64748B;
  font-size: 14px; }

.blog-detail-cover {
  width: min(1180px, calc(100% - 32px));
  margin: 40px auto 0;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.16); }
  .blog-detail-cover img {
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    display: block; }

.blog-detail-layout {
  width: min(1180px, calc(100% - 32px));
  margin: 56px auto;
  display: grid;
  grid-template-columns: minmax(0, 820px) 300px;
  gap: 56px;
  align-items: start; }

.blog-detail-content {
  font-size: 18px;
  line-height: 1.85;
  color: #1F2937; }
  .blog-detail-content p {
    margin: 0 0 28px; }
  .blog-detail-content h2 {
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #0F172A;
    margin: 56px 0 20px; }
  .blog-detail-content h3 {
    font-size: 25px;
    line-height: 1.3;
    color: #111827;
    margin: 40px 0 16px; }
  .blog-detail-content img {
    width: 100%;
    border-radius: 22px;
    margin: 32px 0; }
  .blog-detail-content blockquote {
    margin: 40px 0;
    padding: 28px 32px;
    border-left: 5px solid #4F46E5;
    background: #F8FAFC;
    border-radius: 18px;
    font-size: 22px;
    line-height: 1.6;
    color: #312E81; }
    .blog-detail-content blockquote p {
      margin: 0; }
  .blog-detail-content a {
    color: #4F46E5;
    text-decoration: underline;
    text-underline-offset: 3px; }
  .blog-detail-content ul, .blog-detail-content ol {
    padding-left: 22px;
    margin-bottom: 20px; }
    .blog-detail-content ul li, .blog-detail-content ol li {
      margin-bottom: 8px; }
  .blog-detail-content code {
    background: #F3F4F6;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.875em;
    color: #7C3AED; }
  .blog-detail-content pre {
    background: #1E1B4B;
    color: #C4B5FD;
    padding: 20px;
    border-radius: 12px;
    overflow-x: auto;
    margin: 24px 0;
    font-size: 0.875rem;
    line-height: 1.6; }

.blog-detail-author-box {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border: 1px solid #E5E7EB;
  border-radius: 20px;
  background: #ffffff;
  margin: 40px 0; }
  .blog-detail-author-box img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0; }

.blog-detail-author-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #4F46E5, #7C3AED);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0; }
  .blog-detail-author-avatar .material-icons {
    font-size: 28px;
    color: #fff; }

.blog-detail-author-name {
  font-weight: 800;
  color: #111827;
  margin: 0 0 4px; }

.blog-detail-author-bio {
  color: #64748B;
  font-size: 14px;
  line-height: 1.5;
  margin: 0; }

.blog-detail-sidebar {
  position: sticky;
  top: 96px; }

.blog-detail-sidebar-card {
  border: 1px solid #E5E7EB;
  border-radius: 22px;
  padding: 22px;
  background: #FFFFFF;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
  margin-bottom: 20px; }

.blog-detail-sidebar-title {
  font-size: 16px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 16px; }

.blog-detail-toc {
  display: grid;
  gap: 10px; }
  .blog-detail-toc a {
    color: #64748B;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.45;
    padding-left: 12px;
    border-left: 2px solid #E5E7EB;
    transition: color .15s, border-color .15s;
    display: block; }
    .blog-detail-toc a:hover, .blog-detail-toc a.active {
      color: #4F46E5;
      border-left-color: #4F46E5; }
    .blog-detail-toc a.sub {
      padding-left: 22px;
      font-size: 13px; }

.blog-detail-share {
  display: flex;
  gap: 10px;
  flex-wrap: wrap; }

/* ─── SIDEBAR SHARE + BACK ──────────────── */
.bd-share-row {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 16px; }
  .bd-share-row .item {
    margin: 0; }
    .bd-share-row .item a {
      display: block;
      line-height: 0; }
    .bd-share-row .item img {
      width: 25px;
      height: 25px;
      display: block;
      border-radius: 6px;
      transition: opacity .15s, transform .15s; }
      .bd-share-row .item img:hover {
        opacity: 0.75;
        transform: scale(1.12); }

.bd-back-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  background: #EEF2FF;
  color: #4F46E5;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s, color .15s; }
  .bd-back-btn .material-icons {
    font-size: 16px; }
  .bd-back-btn:hover {
    background: #E0E7FF;
    color: #3730A3; }

.blog-detail-cta {
  background: linear-gradient(135deg, #4338CA 0%, #6D28D9 100%);
  color: #FFFFFF;
  border-radius: 26px;
  padding: 32px;
  margin: 56px 0;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center; }
  .blog-detail-cta h2, .blog-detail-cta h3 {
    color: #FFFFFF;
    margin: 0 0 8px; }
  .blog-detail-cta p {
    color: rgba(255, 255, 255, 0.82);
    margin: 0; }

.blog-detail-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 12px;
  background: #4F46E5;
  color: #FFFFFF;
  font-weight: 800;
  text-decoration: none;
  border: 1px solid #4F46E5;
  white-space: nowrap;
  transition: background .15s, border-color .15s; }
  .blog-detail-button:hover {
    background: #4338CA;
    border-color: #4338CA;
    color: #fff; }

.blog-detail-button-light {
  background: #FFFFFF;
  color: #4F46E5;
  border-color: #FFFFFF; }
  .blog-detail-button-light:hover {
    background: #F5F3FF;
    border-color: #F5F3FF;
    color: #4F46E5; }

/* ─── RELATED ───────────────────────────── */
.blog-related-section {
  background: #F8FAFC;
  padding: 64px 0; }

.blog-related-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px; }

.blog-related-title {
  font-size: 28px;
  font-weight: 800;
  color: #0F172A;
  margin: 0; }

.blog-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px; }

.blog-card {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.06);
  transition: box-shadow .2s, transform .2s; }
  .blog-card:hover {
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
    transform: translateY(-2px); }
  .blog-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block; }

.blog-card-body {
  padding: 18px; }

.blog-card-category {
  color: #4F46E5;
  font-size: 13px;
  font-weight: 800;
  margin: 0 0 8px; }

.blog-card-title {
  font-size: 18px;
  line-height: 1.35;
  color: #111827;
  font-weight: 800;
  margin: 0 0 10px; }
  .blog-card-title a {
    color: inherit;
    text-decoration: none; }
  .blog-card-title a:hover {
    color: #4F46E5; }

.blog-card-text {
  font-size: 14px;
  line-height: 1.6;
  color: #64748B;
  margin: 0; }

/* ─── NEWSLETTER ────────────────────────── */
.blog-newsletter {
  background: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
  color: #FFFFFF;
  padding: 48px 0; }
  .blog-newsletter h2 {
    margin: 0 0 8px;
    font-size: 28px;
    color: #fff; }
  .blog-newsletter p {
    margin: 0;
    color: rgba(255, 255, 255, 0.82); }

.blog-newsletter-box {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center; }

.blog-newsletter-form {
  display: flex;
  gap: 12px; }
  .blog-newsletter-form input {
    width: 280px;
    height: 48px;
    border-radius: 12px;
    border: none;
    padding: 0 16px;
    font-size: 15px;
    outline: none; }
  .blog-newsletter-form button {
    height: 48px;
    border-radius: 12px;
    border: none;
    background: #FFFFFF;
    color: #4F46E5;
    font-weight: 800;
    padding: 0 22px;
    cursor: pointer;
    transition: background .15s; }
    .blog-newsletter-form button:hover {
      background: #F5F3FF; }

/* ─── RESPONSIVE ────────────────────────── */
@media (max-width: 1024px) {
  .blog-detail-layout {
    grid-template-columns: 1fr;
    gap: 32px; }

  .blog-detail-sidebar {
    position: static; }

  .blog-related-grid {
    grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
  .blog-detail-hero {
    padding: 48px 0 32px; }

  .blog-detail-header {
    text-align: left; }

  .blog-detail-title {
    font-size: 36px; }

  .blog-detail-excerpt {
    font-size: 17px; }

  .blog-detail-meta {
    justify-content: flex-start; }

  .blog-detail-cover img {
    aspect-ratio: 16 / 10; }

  .blog-detail-layout {
    margin: 36px auto; }

  .blog-detail-content {
    font-size: 17px;
    line-height: 1.75; }

  .blog-detail-content h2 {
    font-size: 28px; }

  .blog-detail-content h3 {
    font-size: 22px; }

  .blog-detail-cta {
    flex-direction: column;
    align-items: flex-start; }

  .blog-related-grid {
    grid-template-columns: 1fr; }

  .blog-newsletter-box {
    grid-template-columns: 1fr; }

  .blog-newsletter-form {
    flex-direction: column; }

  .blog-newsletter-form input {
    width: 100%; } }
/* Website Style */
/* ─── SHARE BUTTONS ──────────────────────── */
.share-buttons {
  display: flex;
  align-items: center;
  gap: 8px; }

.share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  text-decoration: none;
  transition: transform .15s, opacity .15s; }
  .share-btn svg {
    width: 18px;
    height: 18px;
    display: block; }
  .share-btn:hover {
    transform: scale(1.12);
    opacity: .85;
    text-decoration: none; }
  .share-btn--facebook {
    background: #1877F2;
    color: #ffffff; }
  .share-btn--twitter {
    background: #000000;
    color: #ffffff; }

.navbar-brand {
  margin-left: 1.5rem; }

.login {
  margin-right: 1.5rem; }

#bottom {
  text-align: center;
  background: #eaebed;
  height: 100px;
  margin-bottom: 0 !important; }

#bottom-before {
  text-align: center;
  height: 150px;
  width: 100%;
  margin-bottom: 0 !important;
  background: url("../images/wave-fo-2.ec33bef39fb4.svg") center bottom no-repeat;
  background-size: cover; }

#donate-button-container {
  text-align: center;
  width: 100%; }
  #donate-button-container img {
    width: 100%; }

.sponsor {
  /*margin-top: 50px;*/
  text-align: center; }
  .sponsor h2 {
    font-size: 1.1rem !important;
    color: #F97316;
    text-align: center; }
  .sponsor h3 {
    font-size: 1rem !important; }
  .sponsor .card-title {
    margin: 0.5rem 0; }
  .sponsor .card-body {
    padding: 0.5rem 1.25rem 1.25rem; }
  .sponsor .no_reward {
    padding: 10px;
    font-size: 0.9rem;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#DBE7FF), to(#FFF2EC));
    background-image: -webkit-linear-gradient(top, #DBE7FF, #FFF2EC);
    background-image: -moz-linear-gradient(top, #DBE7FF, #FFF2EC);
    background-image: -ms-linear-gradient(top, #DBE7FF, #FFF2EC);
    background-image: -o-linear-gradient(top, #DBE7FF, #FFF2EC);
    background-image: linear-gradient(top, #DBE7FF, #FFF2EC);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='$card-gradient-start', EndColorStr='$card-gradient-end'); }
    .sponsor .no_reward h4 {
      font-size: 0.9rem; }

.profile {
  text-align: center;
  margin-top: 30px; }
  .profile .avatar {
    display: flex;
    align-items: center;
    width: 100px;
    height: 100px;
    margin: auto;
    border-radius: 50%;
    background-color: #F97316;
    object-fit: cover;
    object-position: center; }
    .profile .avatar .text {
      color: #FFF;
      margin: auto;
      font-size: 35px;
      font-weight: bold; }
  .profile .follow {
    justify-content: center; }
    .profile .follow .btn {
      padding: 0.1rem 0.75rem; }

/*socials button */
.socials {
  display: flex;
  align-items: center; }

.likes {
  display: flex;
  align-items: center; }
  .likes span {
    font-size: 1.2rem;
    font-weight: bold;
    color: #F97316; }

.follow {
  display: flex;
  align-items: center; }
  .follow span {
    margin-left: 10px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #F97316; }

.share {
  display: flex;
  align-items: center;
  margin-left: 5px; }
  .share .item {
    padding: 5px; }
    .share .item .material-icons {
      font-size: 1.5rem;
      font-weight: bold; }
    .share .item img {
      width: 35px; }
    .share .item .fb_iframe_widget_fluid {
      display: flex; }
    .share .item .twitter-button img {
      width: 20px; }

/* Rating Style */
.rating-list {
  display: inline-block;
  list-style: none; }
  .rating-list li {
    float: right;
    color: #ddd;
    padding: 10px 5px; }
    .rating-list li:hover, .rating-list li:hover ~ li {
      color: #db8f0f; }

.rating .checked {
  color: #db8f0f; }
.rating .card-title {
  cursor: pointer;
  color: inherit !important; }

#tales {
  margin: 50px 0 100px 0; }
  #tales h1 {
    text-align: center;
    font-size: 2rem;
    color: #F97316; }
  #tales h2.author {
    color: #F97316;
    font-size: 1.1rem; }
  #tales .image {
    text-align: center; }
    #tales .image img {
      width: 100%; }
  #tales nav {
    margin-top: 30px; }
  #tales .tale {
    margin-top: 50px;
    padding-right: 50px;
    overflow-y: auto;
    height: 800px;
    text-align: justify; }
    #tales .tale h2 {
      font-size: 1.1rem; }
  @media (max-width: 769px) {
    #tales .image {
      margin-bottom: 20px; }
      #tales .image img {
        width: 50%; }
    #tales h1 {
      font-size: 2rem; }
    #tales p {
      font-size: 1.1rem;
      line-height: 1.9rem; } }

/*
#banner-rules{
    background: url("../images/banner-bgd2.07777d947d72.png") center bottom no-repeat;
    padding: 80px 50px;
    h1{
        font-size: 60px;
        line-height: 60px;
        font-weight: bold;
        text-align: center;
        color: $primary-color;
    }

    h2{
        font-size: 20px;
        line-height: 30px;
        font-weight: bold;
        text-align: center;
        color: $primary-color;
    }
}
*/
#banner-policies, #banner-rules {
  background: url("../images/banner.5e158587631f.png") center bottom no-repeat;
  padding: 80px 50px; }
  #banner-policies h1, #banner-rules h1 {
    font-size: 45px;
    line-height: 60px;
    font-weight: bold;
    text-align: center;
    color: #F97316; }
  #banner-policies h2, #banner-rules h2 {
    font-size: 20px;
    line-height: 30px;
    font-weight: bold;
    text-align: center;
    color: #F97316; }

#rules, #policies {
  margin: 50px 0 100px; }
  #rules h2, #policies h2 {
    margin: 20px 0 10px;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: left;
    color: #F97316; }
  #rules h3.title, #policies h3.title {
    font-size: 1.7rem;
    font-weight: bold;
    text-align: center;
    margin: 50px 0 80px; }
  #rules p, #policies p {
    text-align: justify; }
  #rules .paragraph, #policies .paragraph {
    text-align: justify;
    /* padding: 20px 50px; */
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.7rem;
    color: #43486b; }
  #rules ul li, #policies ul li {
    text-align: justify;
    /* padding: 20px 50px; */
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.7rem;
    color: #43486b; }

#blog {
  margin: 50px 0 100px 0; }
  #blog h1 {
    text-align: left;
    font-size: 2rem;
    color: #F97316; }
  #blog h2 {
    color: #F97316;
    font-size: 1.1rem;
    line-height: 1.6rem;
    margin-top: 25px; }
  #blog .share {
    text-align: right; }
    #blog .share img {
      display: inline;
      width: 10%; }
  #blog nav {
    margin-top: 30px; }
  #blog .posts {
    margin-top: 50px;
    padding-right: 50px;
    text-align: justify; }
    #blog .posts h2 {
      font-size: 1.1rem; }
  #blog .post {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-width: 0;
    word-wrap: break-word;
    background-color: #f5f8ff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
    padding: 20px; }
    #blog .post .date i {
      margin-right: 5px;
      vertical-align: middle; }
    #blog .post h3 {
      color: #1E4FA8;
      font-size: 1.5rem; }
    #blog .post .image {
      text-align: center; }
    #blog .post img {
      width: 100%; }
    #blog .post .read-more {
      text-align: right;
      margin-top: 20px; }

#post {
  margin: 50px 0 100px 0; }
  #post h1 {
    text-align: left;
    font-size: 2rem;
    color: #F97316; }
  #post h2 {
    color: #F97316;
    font-size: 1.1rem;
    line-height: 1.6rem;
    margin-top: 25px; }
  #post .share {
    text-align: right; }
    #post .share img {
      display: inline;
      width: 10%; }
  #post nav {
    margin-top: 30px; }
  #post .post {
    position: relative;
    word-wrap: break-word;
    background-color: #f5f8ff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem;
    padding: 20px; }
    #post .post .date i {
      margin-right: 5px;
      vertical-align: middle; }
    #post .post h3 {
      color: #1E4FA8;
      font-size: 1.5rem; }
    #post .post .image {
      text-align: center;
      margin-bottom: 20px; }
    #post .post img {
      width: 50%; }
    #post .post p {
      text-align: justify;
      font-size: 15px;
      line-height: 1.7rem; }
    #post .post .read-more {
      text-align: right;
      margin-top: 20px; }

#stories-preview {
  margin: 50px 0 100px 0; }
  #stories-preview h2 {
    color: #F97316;
    text-align: left;
    font-size: 1.6rem;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: 1px solid #1E4FA8;
    margin-bottom: 45px; }
  #stories-preview .card img {
    padding: 10px; }
  #stories-preview .card .card-body .card-header {
    display: flex;
    height: 75px; }
    #stories-preview .card .card-body .card-header .date-badge .date {
      display: block;
      font-size: 18px;
      font-weight: 700;
      color: #1E4FA8;
      line-height: 27px;
      background: #e6e3e3;
      padding: 1px 3px; }
    #stories-preview .card .card-body .card-header .date-badge .month {
      display: block;
      font-size: 12px;
      text-transform: uppercase;
      color: #fff;
      line-height: 18px;
      background: #1E4FA8;
      padding: 1px 3px; }
    #stories-preview .card .card-body .card-header h3 {
      color: #F97316;
      font-size: 1.1rem;
      margin-left: 15px; }
    #stories-preview .card .card-body .card-header h5.author {
      font-size: 1rem;
      font-weight: 600;
      color: #1E4FA8;
      margin-left: 15px;
      text-align: left; }
  #stories-preview .card .card-body .author {
    font-size: 0.75rem; }
  #stories-preview .card .card-body .card-link {
    text-align: right; }
  #stories-preview .card .card-body article {
    padding: 20px 0;
    height: 300px; }

#short-stories h5 {
  font-size: 14px;
  font-weight: 600;
  color: #db8f0f;
  text-align: center; }

#contest {
  margin: 0 0 100px 0; }
  #contest .book-cover {
    position: relative;
    width: 100%;
    height: 350px;
    /*    min-height: 180px;
        max-height: 350px;*/
    overflow: hidden;
    text-align: center; }
  #contest .book-horizontal-cover {
    filter: blur(10px);
    position: absolute;
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1; }
  #contest .book-horizontal-cover {
    right: -5px;
    bottom: -5px;
    left: -5px;
    top: -5px; }
  #contest .cover {
    padding: 20px; }
    #contest .cover img {
      max-height: 280px; }
  @media (max-width: 950px) {
    #contest .book-cover {
      display: none; } }
  #contest h2.title {
    text-align: center;
    margin: 50px 0; }
  #contest .stories {
    margin: 100px 0; }
    #contest .stories h3 {
      font-size: 20px;
      color: #F97316;
      text-align: center; }
    #contest .stories .author {
      font-size: 14px;
      color: #db8f0f;
      text-align: center; }
    #contest .stories p {
      font-size: 0.9rem;
      text-align: justify; }

/*
Author dashboard Postpad Style
created by Paulo Osorio
created_date october 2022
*/
header {
  border-bottom: 1px solid #076687;
  box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.3); }
  header.account {
    padding: 5px 30px; }

.account {
  display: inline-flex;
  /*align-items: center;*/
  width: 100%; }
  .account .navbar-brand img {
    height: 50px;
    width: auto; }
  .account .author-name {
    font-size: 1.6rem;
    text-align: center;
    /*margin-top: 30px;*/ }
  .account .dropdown {
    /*margin-top: 30px;*/ }
  .account .btn-home {
    /*margin-top: 30px;*/ }
  .account .dropdown-toggle {
    width: 100%; }
  .account .row {
    align-items: center; }
  .account .logo {
    padding: 10px;
    width: 20%; }
    .account .logo .mobile {
      display: none; }
  .account .menu {
    width: 70%;
    margin-top: 10px; }
  .account .session {
    display: flex;
    justify-content: flex-end;
    margin-top: 19px;
    width: 20%; }
  @media (max-width: 769px) {
    .account .logo .website {
      display: none; }
    .account .logo .mobile {
      display: inline-block; }
    .account .menu {
      width: 20%; }
    .account .session {
      width: 100%; } }

.session {
  display: flex; }
  .session .writte {
    margin-right: 20px; }
  .session .profile {
    margin-right: 50px;
    margin-top: 0; }

.dashboard .author-name {
  font-size: 1.6rem;
  margin-top: 30px; }
.dashboard .dropdown {
  margin-top: 30px; }

#password-reset ul, #password-reset li {
  list-style: none;
  padding: 0; }
#password-reset li.parsley-required, #password-reset li.parsley-type, #password-reset li.parsley-custom-error-message {
  text-align: left;
  font-weight: 600;
  color: red;
  margin-left: 5px; }

#account {
  margin-bottom: 100px; }
  #account h2 {
    font-size: 1.5rem;
    color: #F97316; }
  #account ul, #account li {
    list-style: none;
    padding-left: 0; }
  #account .card {
    padding: 50px;
    box-shadow: 5px 5px 15px; }
    #account .card a {
      display: flex;
      align-items: center;
      justify-content: right;
      color: #F97316;
      font-weight: bold; }
      #account .card a i {
        margin-left: 5px; }
  #account .picture {
    width: 100%;
    text-align: center; }
  #account .profile {
    padding: 50px 0;
    color: #F97316;
    text-align: center; }
    #account .profile .avatar {
      display: flex;
      align-items: center;
      width: 100px;
      height: 100px;
      margin: auto;
      border-radius: 50%;
      background-color: #F97316;
      object-fit: cover;
      object-position: center; }
      #account .profile .avatar .text {
        color: #FFF;
        margin: auto;
        font-size: 35px;
        font-weight: bold; }
    #account .profile .nickname {
      font-size: 1.5rem;
      font-weight: bold; }
    #account .profile .followers {
      font-size: 1rem; }
  #account .welcome {
    font-size: 2.5rem;
    color: #F97316;
    text-align: center;
    margin-top: 50px; }
  #account .writter {
    font-size: 2.0rem;
    color: #F97316;
    text-align: center; }
  #account .icon-image {
    text-align: center;
    margin-bottom: 20px; }
  #account img {
    opacity: 1;
    transition: .5s ease;
    backface-visibility: hidden;
    width: 100%; }
  #account .icon-image:hover img {
    opacity: 0.3; }
  #account .icon-text {
    transition: .5s ease;
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center; }
  #account .icon-image:hover .icon-text {
    opacity: 1; }
  #account .icon-title {
    background-color: #30457e;
    color: white;
    font-size: 16px;
    font-weight: 600;
    padding: 16px 32px; }
  @media (max-width: 769px) {
    #account .logo .website {
      display: none; }
    #account .logo .mobile {
      display: inline-block; }
    #account .menu {
      width: 20%; }
    #account .icon-image img {
      width: 80%; } }

#author-dashboard .header {
  padding: 20px 0;
  /*background: url("../images/dots.dcc2d1759bc3.png") bottom right fixed $background-color;*/ }
  #author-dashboard .header h1 {
    font-size: 1.6rem;
    text-align: left;
    padding: 10px 0;
    display: inline; }
    #author-dashboard .header h1 .title {
      color: #F97316; }
  #author-dashboard .header h2 {
    font-size: 1.1rem;
    text-align: left;
    padding: 10px;
    color: #1E4FA8; }
    #author-dashboard .header h2 a {
      text-decoration: none;
      color: #1E4FA8; }
  #author-dashboard .header h3 {
    font-size: 16px;
    text-align: left;
    display: inline;
    color: #db8f0f; }
  #author-dashboard .header img {
    width: 100%;
    padding: 10px; }
  #author-dashboard .header .share {
    text-align: right;
    padding: 10px; }
    #author-dashboard .header .share img {
      display: inline;
      width: 40px;
      padding: 2px; }
  #author-dashboard .header .toolbar {
    margin: 20px 0 10px 0; }
    #author-dashboard .header .toolbar .material-icons {
      margin-right: 10px; }
  #author-dashboard .header .resume {
    padding: 20px;
    text-align: justify; }
  #author-dashboard .header .toolbox {
    margin-left: 20px; }
    #author-dashboard .header .toolbox .material-icons {
      font-size: 18px;
      color: inherit; }
#author-dashboard .projects .toolbox {
  margin-right: 10px !important;
  text-align: right !important; }
#author-dashboard .projects, #author-dashboard .characters, #author-dashboard .books, #author-dashboard .places, #author-dashboard .stories, #author-dashboard .chapters, #author-dashboard .tales {
  margin-bottom: 50px; }
  #author-dashboard .projects h2, #author-dashboard .characters h2, #author-dashboard .books h2, #author-dashboard .places h2, #author-dashboard .stories h2, #author-dashboard .chapters h2, #author-dashboard .tales h2 {
    color: #F97316;
    text-align: left;
    font-size: 1.1rem;
    font-weight: bold;
    border-bottom: 1px solid #1E4FA8;
    margin-bottom: 45px; }
  #author-dashboard .projects h3, #author-dashboard .characters h3, #author-dashboard .books h3, #author-dashboard .places h3, #author-dashboard .stories h3, #author-dashboard .chapters h3, #author-dashboard .tales h3 {
    font-size: 1.1rem;
    font-weight: bold;
    display: inline; }
  #author-dashboard .projects h3.title, #author-dashboard .characters h3.title, #author-dashboard .books h3.title, #author-dashboard .places h3.title, #author-dashboard .stories h3.title, #author-dashboard .chapters h3.title, #author-dashboard .tales h3.title {
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    margin-top: 10px; }
  #author-dashboard .projects img, #author-dashboard .characters img, #author-dashboard .books img, #author-dashboard .places img, #author-dashboard .stories img, #author-dashboard .chapters img, #author-dashboard .tales img {
    width: 100%;
    padding: 10px; }
  #author-dashboard .projects .toolbox, #author-dashboard .characters .toolbox, #author-dashboard .books .toolbox, #author-dashboard .places .toolbox, #author-dashboard .stories .toolbox, #author-dashboard .chapters .toolbox, #author-dashboard .tales .toolbox {
    margin-left: 20px; }
    #author-dashboard .projects .toolbox .material-icons, #author-dashboard .characters .toolbox .material-icons, #author-dashboard .books .toolbox .material-icons, #author-dashboard .places .toolbox .material-icons, #author-dashboard .stories .toolbox .material-icons, #author-dashboard .chapters .toolbox .material-icons, #author-dashboard .tales .toolbox .material-icons {
      font-size: 18px;
      color: inherit; }
#author-dashboard .book img {
  width: 100%;
  padding: 10px; }
#author-dashboard .book .tab-content {
  padding: 20px 0; }
  #author-dashboard .book .tab-content h2 {
    font-size: 1.6rem; }
  #author-dashboard .book .tab-content p {
    font-size: 1.1rem;
    line-height: 1.9rem; }
  #author-dashboard .book .tab-content .resume {
    padding: 20px;
    text-align: justify; }
  #author-dashboard .book .tab-content .character {
    display: inline-block;
    float: right;
    width: 50%;
    padding: 20px;
    text-align: justify; }
  #author-dashboard .book .tab-content .place {
    padding: 20px;
    text-align: justify; }
  #author-dashboard .book .tab-content .story {
    padding: 20px 50px;
    text-align: justify; }
    #author-dashboard .book .tab-content .story h2 {
      font-size: 1.1rem; }
#author-dashboard .story, #author-dashboard .chapter, #author-dashboard .tale {
  padding: 50px 50px 20px 50px; }
  #author-dashboard .story .toolbox .material-icons, #author-dashboard .chapter .toolbox .material-icons, #author-dashboard .tale .toolbox .material-icons {
    font-size: 18px; }
  #author-dashboard .story .share, #author-dashboard .chapter .share, #author-dashboard .tale .share {
    /*text-align: right;
    padding: 10px;*/
    display: flex; }
    #author-dashboard .story .share .fb-share-button, #author-dashboard .chapter .share .fb-share-button, #author-dashboard .tale .share .fb-share-button {
      margin-right: 10px; }
    #author-dashboard .story .share img, #author-dashboard .chapter .share img, #author-dashboard .tale .share img {
      display: inline;
      width: 40px;
      padding: 2px; }
#author-dashboard .story-body, #author-dashboard .chapter-body, #author-dashboard .tale-body {
  padding: 10px 50px 50px 50px;
  text-align: justify;
  line-height: 1.7;
  overflow-y: auto;
  height: 800px; }
#author-dashboard .tale-body img {
  height: 250px;
  margin-bottom: 30px; }
#author-dashboard .contest {
  padding: 10px 50px 50px 50px;
  text-align: justify;
  line-height: 1.7; }
  #author-dashboard .contest img {
    height: 250px;
    margin-bottom: 30px; }
  #author-dashboard .contest .toolbox img {
    height: 38px !important;
    margin-bottom: 0 !important; }
#author-dashboard .btn-work {
  display: flex;
  margin-bottom: 20px;
  width: 100%; }
#author-dashboard .work-pad {
  -webkit-box-shadow: 0 1px 10px 0 rgba(34, 34, 34, 0.08), 0 4px 5px 0 rgba(34, 34, 34, 0.1);
  box-shadow: 0 1px 10px 0 rgba(34, 34, 34, 0.08), 0 4px 5px 0 rgba(34, 34, 34, 0.1);
  border-radius: 5px;
  margin: auto;
  padding: 30px 100px 50px;
  text-align: center; }
  #author-dashboard .work-pad textarea {
    margin: 10px; }
  #author-dashboard .work-pad ul, #author-dashboard .work-pad li {
    list-style: none;
    padding: 0;
    color: red; }
  #author-dashboard .work-pad .parsley-custom-error-message {
    text-align: left;
    font-weight: 600;
    color: red;
    margin-left: 5px; }
#author-dashboard .add_picture {
  padding: 30px 50px;
  background-color: #eee;
  margin-bottom: 5px; }
  #author-dashboard .add_picture.contests {
    margin-top: 30px; }
  #author-dashboard .add_picture i {
    display: block;
    font-size: 3rem; }
  #author-dashboard .add_picture img {
    width: 100%; }
@media (max-width: 769px) {
  #author-dashboard .work-pad {
    padding: 0; } }

#modalEliminar h4 {
  font-size: 1.2rem; }

#modalPreview .story {
  padding: 50px; }
  #modalPreview .story .toolbox .material-icons {
    font-size: 18px; }
  #modalPreview .story .share {
    /*text-align: right;
    padding: 10px;*/
    display: flex; }
    #modalPreview .story .share .fb-share-button {
      margin-right: 10px; }
    #modalPreview .story .share img {
      display: inline;
      width: 40px;
      padding: 2px; }
#modalPreview .story-text {
  text-align: justify;
  line-height: 1.7; }

#modalContest .modal-body {
  padding: 50px 80px; }
#modalContest ul, #modalContest li {
  list-style-type: none;
  margin: 0;
  padding: 0 5px; }
#modalContest .parsley-required {
  color: darkred; }

/* Footer — PostPad.net */
footer {
  background: #111827;
  color: #9CA3AF;
  padding: 64px 0 0; }
  footer .footer-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px; }
  footer .footer-logo {
    height: 36px;
    width: auto;
    margin-bottom: 14px;
    display: block;
    filter: brightness(0) invert(1);
    opacity: .85; }
  footer .footer-desc {
    font-size: 0.875rem;
    color: #6B7280;
    line-height: 1.7;
    max-width: 240px;
    margin-bottom: 20px; }
  footer h4 {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #F9FAFB;
    margin-bottom: 16px; }
  footer .footer-links {
    list-style: none;
    padding: 0;
    margin: 0; }
    footer .footer-links li {
      margin-bottom: 10px; }
    footer .footer-links a {
      font-size: 0.875rem;
      color: #9CA3AF;
      transition: color .15s; }
      footer .footer-links a:hover {
        color: #F9FAFB; }
  footer .footer-socials {
    display: flex;
    gap: 10px;
    margin-top: 8px; }
    footer .footer-socials a {
      width: 36px;
      height: 36px;
      border-radius: 8px;
      border: 1px solid #374151;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #9CA3AF;
      transition: all .15s; }
      footer .footer-socials a:hover {
        border-color: #6B7280;
        color: #F9FAFB; }
      footer .footer-socials a img {
        width: 26px;
        height: 26px;
        object-fit: contain;
        opacity: .9; }
  footer .footer-newsletter {
    border-top: 1px solid #1F2937;
    margin-top: 40px;
    padding: 32px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px; }
    footer .footer-newsletter h4 {
      margin-bottom: 6px;
      text-transform: none;
      letter-spacing: 0;
      font-size: 1rem; }
    footer .footer-newsletter p {
      font-size: 0.8125rem;
      color: #6B7280;
      margin: 0; }
    footer .footer-newsletter form {
      display: flex;
      gap: 10px;
      flex-wrap: wrap; }
    footer .footer-newsletter input {
      height: 42px;
      min-width: 220px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid #374151;
      border-radius: 8px;
      color: #F9FAFB;
      padding: 0 14px;
      font-size: 0.875rem;
      outline: none; }
      footer .footer-newsletter input::placeholder {
        color: #6B7280; }
      footer .footer-newsletter input:focus {
        border-color: #6B7280; }
    footer .footer-newsletter button {
      height: 42px;
      padding: 0 20px;
      background: #F97316;
      color: #fff;
      font-size: 0.875rem;
      font-weight: 600;
      border-radius: 8px;
      border: none;
      cursor: pointer;
      transition: background .15s; }
      footer .footer-newsletter button:hover {
        background: #EA580C; }
  @media (max-width: 767px) {
    footer .footer-newsletter {
      flex-direction: column;
      text-align: center;
      justify-content: center; }
    footer .footer-newsletter form {
      width: 100%;
      justify-content: center; }
    footer .footer-newsletter input {
      flex: 1;
      min-width: 0; } }
  footer .footer-bottom {
    border-top: 1px solid #1F2937;
    margin-top: 48px;
    padding: 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px; }
    footer .footer-bottom .copyright {
      font-size: 0.8125rem;
      color: #6B7280; }
  @media (max-width: 767px) {
    footer .footer-bottom {
      flex-direction: column;
      text-align: center; }
    footer .footer-desc {
      max-width: 100%; } }

/*# sourceMappingURL=style.css.map */
