/* =====================================================================
   RAYMC CRITICAL OVERRIDES — Elimina todos los fondos blancos/grises
   del tema base Bootstrap y aplica el diseño oscuro completo
   ===================================================================== */

/* 1. Fondos del body y TODOS los contenedores padre */
html,
body,
body.custom-background,
body.home,
body.blog,
body.single,
body.page,
body.archive,
body.search,
#page,
.site,
#wrapper-static-hero,
#wrapper-footer-full,
#wrapper-hero,
.wrapper,
#index-wrapper,
.single-wrapper,
.archive-wrapper,
.search-wrapper,
.page-wrapper,
.error404-wrapper,
.author-wrapper,
#content,
.site-content,
#primary,
.content-area,
#main,
.site-main {
  background-color: var(--bg-base) !important;
  background-image: none !important;
}

/* 2. Tarjetas de entradas — fondo oscuro + borde color primario */
article.post,
article.page,
article.attachment,
.post-wrapper article {
  background: var(--bg-card) !important;
  background-image: none !important;
  border: 1px solid var(--c-primary) !important;
  border-radius: var(--r-md) !important;
  overflow: hidden;
  margin-bottom: 1.5rem;
  transition: box-shadow .3s ease, transform .3s ease;
  box-shadow: 0 0 12px var(--c-primary-glow);
}
article.post:hover,
article.page:hover {
  border-color: var(--c-primary) !important;
  box-shadow: 0 0 28px var(--c-primary-glow), 0 4px 24px rgba(0,0,0,.5) !important;
  transform: translateY(-3px);
}

/* 3. Contenido de la entrada — fondo oscuro */
article.post .entry-inner,
article.page .entry-inner,
article.post .entry-content,
article.page .entry-content {
  background: transparent !important;
  color: var(--t-secondary) !important;
}
article.post .entry-title a,
article.page .entry-title a {
  color: var(--t-primary) !important;
}
article.post .entry-title a:hover,
article.page .entry-title a:hover {
  color: var(--c-primary) !important;
}
article.post p,
article.page p,
.entry-content p {
  color: var(--t-secondary) !important;
}
article.post h1, article.post h2, article.post h3,
article.post h4, article.post h5, article.post h6,
article.page h1, article.page h2, article.page h3 {
  color: var(--t-primary) !important;
}

/* 4. Botón "Leer más" — ancho automático, no full-width */
.raymc-read-more-link,
a.raymc-read-more-link {
  display: inline-block !important;
  width: auto !important;
  background: var(--c-primary) !important;
  border-color: var(--c-primary) !important;
  color: #fff !important;
  border-radius: var(--r-sm) !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  padding: .5rem 1.5rem !important;
  text-decoration: none !important;
  transition: all .3s ease !important;
  letter-spacing: .05em !important;
}
.raymc-read-more-link:hover,
a.raymc-read-more-link:hover {
  background: var(--c-primary-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px var(--c-primary-glow) !important;
  color: #fff !important;
}

/* 5. Widgets — fondo oscuro + borde color primario */
.widget-area,
#right-sidebar,
#left-sidebar {
  background: transparent !important;
}
.widget-parent {
  margin-bottom: 1.25rem !important;
}
.widget,
.aside.widget {
  background: var(--bg-card) !important;
  background-image: none !important;
  border: 1px solid var(--c-primary) !important;
  border-radius: var(--widget-radius) !important;
  padding: var(--widget-pad) !important;
  box-shadow: 0 0 12px var(--c-primary-glow) !important;
}
.widget:hover {
  border-color: var(--c-primary) !important;
  box-shadow: 0 0 24px var(--c-primary-glow) !important;
}
.widget-title {
  color: var(--c-primary) !important;
  font-size: var(--widget-title-size) !important;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-weight: 700;
  border-bottom: 1px solid var(--c-primary-border) !important;
  padding-bottom: .75rem !important;
  margin-bottom: 1rem !important;
  position: relative;
}
.widget-title::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0;
  width: 28px; height: 2px;
  background: var(--c-primary) !important;
}
.widget ul li {
  color: var(--t-secondary) !important;
  border-bottom: 1px solid var(--b-subtle) !important;
}
.widget ul li a {
  color: var(--t-secondary) !important;
}
.widget ul li a:hover {
  color: var(--c-primary) !important;
}
.widget p,
.widget .textwidget,
.widget .textwidget p {
  color: var(--t-secondary) !important;
}

/* 6. Anular TODOS los fondos blancos de Bootstrap */
.card,
.card-body,
.card-header,
.card-footer,
.list-group-item,
.dropdown-menu,
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link,
.modal-content,
.popover,
.toast,
.toast-header,
.jumbotron,
.breadcrumb,
.img-thumbnail,
.table td,
.table th {
  background-color: var(--bg-card) !important;
  border-color: var(--b-card) !important;
  color: var(--t-secondary) !important;
}

/* 7. Imagen dentro de la entrada — sin bordes blancos */
article img,
.entry-content img,
.wp-caption img {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wp-caption-text {
  color: var(--t-muted) !important;
  font-size: .8rem;
}

/* 8. Paginación oscura */
.page-link,
.page-item .page-link {
  background-color: var(--bg-card) !important;
  border-color: var(--b-card) !important;
  color: var(--t-secondary) !important;
}
.page-item.active .page-link,
.page-item .page-link:hover {
  background-color: var(--c-primary) !important;
  border-color: var(--c-primary) !important;
  color: #fff !important;
}

/* 9. Links globales */
a { color: var(--c-primary-light) !important; }
a:hover { color: var(--c-primary) !important; }
.entry-content a { color: var(--c-primary-light) !important; text-decoration: underline; }
.entry-meta a { color: var(--t-muted) !important; text-decoration: none !important; }

/* 10. Sidebar layout — sin padding horizontal que descuadre */
.widget-area { padding-left: .75rem !important; }
@media (max-width: 767px) { .widget-area { padding-left: 0 !important; } }

/* =============================================================================
   RayMC Design System v2.1 — Full Site Dark Theme
   ============================================================================= */

/* ── 1. CSS Custom Properties ─────────────────────────────────────────────── */
:root {
  --hue: 270; --sat: 75%;
  --c-primary:        hsl(var(--hue),var(--sat),55%);
  --c-primary-dark:   hsl(var(--hue),var(--sat),38%);
  --c-primary-light:  hsl(var(--hue),var(--sat),72%);
  --c-primary-glow:   hsla(var(--hue),var(--sat),55%,.35);
  --c-primary-subtle: hsla(var(--hue),var(--sat),55%,.10);
  --c-primary-border: hsla(var(--hue),var(--sat),55%,.28);
  --c-accent:        #06B6D4;
  --c-accent-glow:   rgba(6,182,212,.3);
  --bg-base:     #080812;
  --bg-surface:  #0D0D1C;
  --bg-card:     #111124;
  --bg-elevated: #181830;
  --bg-hover:    #1E1E3A;
  --bg-texture:  url('../img/texture-dark.png');
  --t-primary:   #F1F5F9;
  --t-secondary: #94A3B8;
  --t-muted:     #64748B;
  --b-subtle:    rgba(255,255,255,.05);
  --b-card:      rgba(255,255,255,.08);
  --shadow-glow: 0 0 40px var(--c-primary-glow);
  --shadow-card: 0 4px 24px rgba(0,0,0,.45);
  --shadow-nav:  0 1px 40px rgba(0,0,0,.7);
  --ease:  cubic-bezier(.4,0,.2,1);
  --t3:    .3s var(--ease);
  --nav-h: 72px;
  --r-sm:  8px;   --r-md: 12px;
  --r-lg:  20px;  --r-full: 9999px;
  /* Widget controls (Customizer) */
  --widget-pad:        1.4rem;
  --widget-title-size: .72rem;
  --widget-radius:     12px;
  /* Hero font controls */
  --hero-title-font:      "Inter",sans-serif;
  --hero-title-weight:    900;
  --hero-title-transform: none;
  --hero-sub-font:        "Inter",sans-serif;
  --hero-sub-transform:   none;
  --hero-sub-style:       normal;
  /* Image crop */
  --hero-img-x:    50%;
  --hero-img-y:    50%;
  --hero-img-zoom: 1;
}

/* ── 2. Reset global ──────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg-base)!important;color:var(--t-primary);
  font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--c-primary-light);text-decoration:none;transition:color var(--t3)}
a:hover{color:var(--c-primary);text-decoration:none}
h1,h2,h3,h4,h5,h6{color:var(--t-primary);font-weight:700;line-height:1.2}
p{color:var(--t-secondary);margin-bottom:1rem}
img{max-width:100%;height:auto}
::selection{background:var(--c-primary);color:#fff}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg-base)}
::-webkit-scrollbar-thumb{background:var(--c-primary-dark);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--c-primary)}

/* Anular fondos blancos de Bootstrap */
.bg-white,.bg-light,.card,.list-group-item,
.navbar,.dropdown-menu,.modal-content,
.popover,.tooltip-inner{background-color:transparent!important}

/* ── 3. Navbar ────────────────────────────────────────────────────────────── */
.navbar-wrapper{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(8,8,18,.88);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border-bottom:1px solid var(--b-subtle);
  box-shadow:var(--shadow-nav);height:var(--nav-h)
}
.navbar-wrapper .navbar{background:transparent!important;padding:0;height:var(--nav-h);align-items:center}
.navbar-brand,.navbar-brand a{
  font-size:1.55rem;font-weight:900;color:var(--t-primary)!important;
  letter-spacing:-1px;text-decoration:none!important
}
.navbar-nav .nav-item>.nav-link,.navbar-nav .nav-item>a{
  color:var(--t-secondary)!important;font-size:.78rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.4rem .9rem!important;border-radius:var(--r-sm);transition:var(--t3)
}
.navbar-nav .nav-item:hover>.nav-link,
.navbar-nav .nav-item.current-menu-item>.nav-link,
.navbar-nav .nav-item.current_page_item>.nav-link,
.navbar-nav .nav-item.active>.nav-link{
  color:var(--t-primary)!important;background:var(--c-primary-subtle)
}
.navbar-nav .nav-item.current-menu-item>.nav-link::after{
  content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);
  width:18px;height:2px;background:var(--c-primary);border-radius:1px
}
.navbar-nav .nav-item>.nav-link{position:relative}
.dropdown-menu{
  background:var(--bg-elevated)!important;border:1px solid var(--b-card)!important;
  border-radius:var(--r-md)!important;padding:.5rem!important;
  box-shadow:var(--shadow-card)!important;margin-top:6px!important
}
.dropdown-item{
  color:var(--t-secondary)!important;font-size:.875rem;
  border-radius:var(--r-sm)!important;padding:.45rem 1rem!important;transition:var(--t3)
}
.dropdown-item:hover,.dropdown-item:focus{background:var(--c-primary-subtle)!important;color:var(--t-primary)!important}
.navbar-toggler{border-color:var(--b-card)!important}
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,.7%29' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")!important
}
@media(max-width:767px){
  .navbar-collapse{
    background:var(--bg-surface);border:1px solid var(--b-card);
    border-radius:var(--r-md);padding:1rem;margin-top:.5rem
  }
  .raymc-server-pill{display:none}
}

/* ── 4. Server pill ───────────────────────────────────────────────────────── */
.raymc-server-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px 6px 14px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  border-radius:var(--r-full);font-size:.76rem;font-weight:600;
  color:var(--t-secondary);white-space:nowrap;transition:var(--t3);
  margin-left:1.25rem;flex-shrink:0
}
.raymc-server-pill:hover{border-color:var(--c-primary-border);color:var(--t-primary);background:var(--c-primary-subtle)}
.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dot-online{ background:#22C55E;box-shadow:0 0 8px rgba(34,197,94,.8);animation:blink-dot 2.5s ease-in-out infinite}
.dot-checking{background:#F59E0B;animation:blink-dot 1.5s ease-in-out infinite}
.dot-offline{background:#EF4444;box-shadow:0 0 8px rgba(239,68,68,.8)}
@keyframes blink-dot{0%,100%{opacity:1}50%{opacity:.5}}
.server-addr{font-family:monospace;letter-spacing:.04em}
.copy-btn{
  background:none;border:none;padding:4px 6px;
  color:var(--t-muted);cursor:pointer;border-radius:4px;
  display:flex;align-items:center;transition:var(--t3);
  margin-left:2px;line-height:1
}
.copy-btn:hover{color:var(--c-primary);background:var(--c-primary-subtle)}

/* ── 5. Page layout ───────────────────────────────────────────────────────── */
#page{min-height:100vh;display:flex;flex-direction:column}
.hero,.block-bottom{display:none!important}

/* Offset navbar */
.wrapper,#index-wrapper,.single-wrapper,.search-wrapper,
.archive-wrapper,.error404-wrapper,.page-wrapper,.author-wrapper{
  padding-top:calc(var(--nav-h) + 2.5rem)
}

/* ── 6. Contenedor de contenido ───────────────────────────────────────────── */
.container,.container-fluid{padding-left:1.5rem;padding-right:1.5rem}

/* ── 7. HERO (front-page.php) ─────────────────────────────────────────────── */
.raymc-hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  overflow:hidden;background:var(--bg-base)
}
.raymc-hero::after{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(var(--b-subtle) 1px,transparent 1px),
    linear-gradient(90deg,var(--b-subtle) 1px,transparent 1px);
  background-size:55px 55px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 20%,transparent 100%);
  pointer-events:none;z-index:0;opacity:.4
}
.raymc-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 70% at 65% 45%,hsla(var(--hue),var(--sat),45%,.13) 0%,transparent 60%),
    radial-gradient(ellipse 35% 50% at 15% 30%,hsla(var(--hue),var(--sat),55%,.07) 0%,transparent 55%);
  pointer-events:none;z-index:0
}
.raymc-hero-underline{
  position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--c-primary) 40%,var(--c-accent) 60%,transparent 100%);
  opacity:.4;z-index:1
}
.raymc-hero-inner{
  position:relative;z-index:1;width:100%;max-width:1280px;
  margin:0 auto;padding:var(--nav-h) 2rem 0;
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:center;min-height:100vh
}
.raymc-hero-left{padding:3rem 0}

/* Eyebrow */
.raymc-eyebrow{
  display:flex;align-items:center;gap:10px;
  font-size:.72rem;font-weight:700;letter-spacing:.28em;
  text-transform:uppercase;color:var(--c-primary);margin-bottom:1.2rem
}
.raymc-eyebrow::before{content:'';width:28px;height:2px;background:var(--c-primary);flex-shrink:0}

/* Título (fuente controlada por customizer) */
.raymc-title{
  font-size:clamp(3.5rem,8vw,7.5rem);
  font-weight:var(--hero-title-weight);
  font-family:var(--hero-title-font);
  text-transform:var(--hero-title-transform);
  line-height:.92;letter-spacing:-3px;margin-bottom:1rem;color:var(--t-primary)
}
.raymc-title .accent{color:var(--c-primary);text-shadow:0 0 70px var(--c-primary-glow)}

/* Subtítulo */
.raymc-subtitle{
  font-size:clamp(.75rem,1.4vw,.92rem);
  font-family:var(--hero-sub-font);
  font-style:var(--hero-sub-style);
  text-transform:var(--hero-sub-transform);
  font-weight:700;letter-spacing:.32em;color:var(--c-accent);margin-bottom:1.6rem
}
.raymc-desc{font-size:1rem;color:var(--t-secondary);line-height:1.75;max-width:430px;margin-bottom:2.2rem}
.raymc-desc a,.raymc-desc strong{color:var(--c-primary-light);font-weight:600}

/* Features */
.raymc-features{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-bottom:2.2rem}
.raymc-feat{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
.raymc-feat-icon{
  width:50px;height:50px;display:flex;align-items:center;justify-content:center;
  background:var(--c-primary-subtle);border:1px solid var(--c-primary-border);
  border-radius:var(--r-md);color:var(--c-primary);font-size:1.25rem;transition:var(--t3)
}
.raymc-feat:hover .raymc-feat-icon{
  background:var(--c-primary);color:#fff;
  box-shadow:0 0 22px var(--c-primary-glow);transform:translateY(-3px)
}
.raymc-feat-label{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t-secondary);line-height:1.35}

/* CTAs */
.raymc-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem}
.raymc-btn{
  display:inline-flex;align-items:center;gap:9px;padding:13px 26px;
  font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-radius:var(--r-sm);border:2px solid transparent;
  transition:var(--t3);cursor:pointer;text-decoration:none!important
}
.raymc-btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff!important;box-shadow:0 4px 22px var(--c-primary-glow)}
.raymc-btn-primary:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark);transform:translateY(-2px);box-shadow:0 8px 32px var(--c-primary-glow);color:#fff!important}
.raymc-btn-outline{background:transparent;border-color:var(--b-card);color:var(--t-primary)!important}
.raymc-btn-outline:hover{background:var(--bg-elevated);border-color:var(--c-primary-border);transform:translateY(-2px);color:var(--t-primary)!important}

/* Social */
.raymc-social{display:flex;align-items:center;gap:.65rem}
.raymc-social-label{font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--t-muted);margin-right:.4rem}
.raymc-social-link{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  background:var(--bg-elevated);border:1px solid var(--b-card);
  border-radius:var(--r-sm);color:var(--t-secondary)!important;font-size:1rem;
  transition:var(--t3);text-decoration:none!important
}
.raymc-social-link:hover{background:var(--c-primary-subtle);border-color:var(--c-primary-border);color:var(--c-primary)!important;transform:translateY(-2px)}

/* Hero imagen — recorte controlado por customizer */
.raymc-hero-right{position:relative;height:100vh;display:flex;align-items:center;justify-content:center}
.raymc-hero-img-wrap{
  position:relative;width:100%;height:78vh;
  border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--c-primary-border);
  box-shadow:0 0 60px var(--c-primary-subtle),var(--shadow-card)
}
.raymc-hero-img-wrap img{
  width:100%;height:100%;display:block;
  object-fit:cover;
  object-position:var(--hero-img-x) var(--hero-img-y);
  transform:scale(var(--hero-img-zoom));
  transform-origin:var(--hero-img-x) var(--hero-img-y);
  transition:transform .3s var(--ease)
}
.raymc-hero-img-wrap .img-placeholder{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,hsl(var(--hue),30%,10%) 0%,hsl(var(--hue),40%,15%) 30%,hsl(var(--hue),50%,20%) 60%,hsl(var(--hue),30%,12%) 100%);
  color:var(--c-primary-light);font-size:4rem;opacity:.6
}
.raymc-hero-img-wrap::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,var(--bg-base) 0%,transparent 22%);pointer-events:none
}
.raymc-hero-img-wrap::after{
  content:'';position:absolute;inset:-1px;z-index:2;border-radius:var(--r-lg);
  box-shadow:inset 0 0 60px var(--c-primary-subtle);pointer-events:none
}

/* Nav dots */
.raymc-nav-dots{position:fixed;right:1.5rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:200}
.raymc-nav-dot{width:7px;height:7px;border-radius:50%;background:var(--b-card);border:none;cursor:pointer;transition:var(--t3);padding:0}
.raymc-nav-dot.active{background:var(--c-primary);box-shadow:0 0 10px var(--c-primary-glow);height:20px;border-radius:4px}

/* Scroll indicator */
.raymc-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10}
.raymc-scroll span{font-size:.6rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--t-muted)}
.raymc-scroll-mouse{width:20px;height:34px;border:2px solid var(--t-muted);border-radius:10px;display:flex;justify-content:center;padding-top:5px}
.raymc-scroll-mouse::before{content:'';width:2px;height:7px;background:var(--c-primary);border-radius:2px;animation:scroll-anim 1.6s ease-in-out infinite}
@keyframes scroll-anim{0%{transform:translateY(0);opacity:1}100%{transform:translateY(9px);opacity:0}}

/* Hero responsive */
@media(max-width:991px){
  .raymc-hero-inner{grid-template-columns:1fr;padding-top:var(--nav-h);min-height:auto}
  .raymc-hero-right{height:55vw;min-height:300px}
  .raymc-nav-dots,.raymc-scroll{display:none}
  .raymc-features{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:576px){
  .raymc-title{font-size:3.2rem;letter-spacing:-1.5px}
  .raymc-cta{flex-direction:column}
  .raymc-btn{width:100%;justify-content:center}
}

/* ── 8. Cards de posts / entradas ─────────────────────────────────────────── */
.post-wrapper{margin-bottom:1.5rem}

article.post,article.page,article.attachment{
  background:var(--bg-card);
  border:1px solid var(--b-card);
  border-radius:var(--r-md);
  overflow:hidden;transition:var(--t3)
}
article.post:hover{
  border-color:var(--c-primary-border);
  box-shadow:var(--shadow-glow);transform:translateY(-3px)
}
/* Thumbnail */
article.post img.wp-post-image,
article.post .post-thumbnail img{
  width:100%;height:200px;object-fit:cover;
  border-radius:var(--r-md) var(--r-md) 0 0;
  display:block;transition:transform .5s var(--ease)
}
article.post:hover img.wp-post-image{transform:scale(1.04)}

.entry-inner{padding:1.5rem}
.entry-title{font-size:1.2rem;font-weight:700;margin-bottom:.6rem}
.entry-title a{color:var(--t-primary);transition:color var(--t3)}
.entry-title a:hover{color:var(--c-primary)}
.entry-meta{font-size:.78rem;color:var(--t-muted);margin-bottom:.75rem;display:flex;gap:.75rem;flex-wrap:wrap}
.entry-meta a{color:var(--t-muted)}
.entry-meta a:hover{color:var(--c-primary)}
.entry-content{color:var(--t-secondary);line-height:1.8}
.entry-content h1,.entry-content h2,.entry-content h3,
.entry-content h4,.entry-content h5,.entry-content h6{color:var(--t-primary);margin-top:2rem;margin-bottom:1rem}
.entry-content a{color:var(--c-primary-light);text-decoration:underline}
.entry-content a:hover{color:var(--c-primary)}
.entry-content blockquote{
  border-left:3px solid var(--c-primary);background:var(--c-primary-subtle);
  padding:1rem 1.5rem;border-radius:0 var(--r-sm) var(--r-sm) 0;
  margin:1.5rem 0;font-style:italic;color:var(--t-secondary)
}
.entry-content code{background:var(--bg-elevated);color:var(--c-accent);padding:2px 7px;border-radius:4px;font-size:.875em}
.entry-content pre{background:var(--bg-elevated);border:1px solid var(--b-card);border-radius:var(--r-md);padding:1.5rem;overflow-x:auto}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5rem 0}
.entry-content th{background:var(--bg-elevated);color:var(--t-primary);padding:.75rem 1rem;text-align:left;border-bottom:2px solid var(--c-primary-border)}
.entry-content td{padding:.75rem 1rem;border-bottom:1px solid var(--b-subtle);color:var(--t-secondary)}
.entry-content tr:hover td{background:var(--bg-hover)}
.entry-footer{padding:0 1.5rem 1.5rem}

/* Tags y categorías */
.cat-links a,.tags-links a{
  display:inline-block;background:var(--c-primary-subtle);color:var(--c-primary-light);
  border:1px solid var(--c-primary-border);border-radius:var(--r-full);
  padding:2px 10px;font-size:.72rem;font-weight:600;transition:var(--t3);text-decoration:none;margin:2px
}
.cat-links a:hover,.tags-links a:hover{background:var(--c-primary);color:#fff}

/* Leer más */
.raymc-read-more-link{
  background:var(--c-primary)!important;border-color:var(--c-primary)!important;
  color:#fff!important;border-radius:var(--r-sm)!important;
  font-size:.78rem!important;font-weight:700!important;transition:var(--t3)!important
}
.raymc-read-more-link:hover{background:var(--c-primary-dark)!important;transform:translateY(-1px)!important;color:#fff!important}

/* ── 9. Sidebar & WIDGETS ─────────────────────────────────────────────────── */
.widget-area{padding-left:1rem}
@media(max-width:767px){.widget-area{padding-left:0;margin-top:2rem}}

.widget-parent{margin-bottom:1.25rem}

.widget{
  background:var(--bg-card);
  border:1px solid var(--b-card);
  border-radius:var(--widget-radius);
  padding:var(--widget-pad);
  transition:border-color var(--t3)
}
.widget:hover{border-color:var(--c-primary-border)}

/* Textura opcional en el fondo del widget */
.widget-textured{
  background-image:var(--bg-texture);
  background-size:auto;background-repeat:repeat;
  background-blend-mode:overlay
}

.widget-title{
  font-size:var(--widget-title-size);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--c-primary);
  padding-bottom:.75rem;margin-bottom:1rem;
  border-bottom:1px solid var(--b-card);position:relative
}
.widget-title::after{
  content:'';position:absolute;bottom:-1px;left:0;
  width:28px;height:2px;background:var(--c-primary)
}

/* Widget items */
.widget ul{list-style:none;padding:0;margin:0}
.widget ul li{
  padding:.45rem 0;border-bottom:1px solid var(--b-subtle);
  color:var(--t-secondary);font-size:.875rem
}
.widget ul li:last-child{border-bottom:none}
.widget ul li a{
  color:var(--t-secondary);
  display:flex;justify-content:space-between;align-items:center;
  transition:color var(--t3)
}
.widget ul li a:hover{color:var(--c-primary)}
.widget ul li a::after{content:'›';color:var(--t-muted);font-size:1.1rem}

/* Widget texto */
.widget p,.widget .textwidget{color:var(--t-secondary);font-size:.9rem}

/* Widget search */
.widget_search .search-form{display:flex;gap:.4rem}
.widget_search .search-field{
  flex:1;background:var(--bg-elevated);border:1px solid var(--b-card);
  color:var(--t-primary);padding:.55rem .9rem;border-radius:var(--r-sm);
  font-size:.875rem;transition:var(--t3)
}
.widget_search .search-field:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-subtle)}
.widget_search .search-field::placeholder{color:var(--t-muted)}
.widget_search .search-submit{
  background:var(--c-primary);color:#fff;border:none;
  padding:.55rem 1.1rem;border-radius:var(--r-sm);cursor:pointer;font-size:.875rem;transition:var(--t3)
}
.widget_search .search-submit:hover{background:var(--c-primary-dark)}

/* Widget calendar */
.widget_calendar table{width:100%;border-collapse:collapse;font-size:.8rem}
.widget_calendar th{color:var(--c-primary);text-align:center;padding:.3rem}
.widget_calendar td{text-align:center;padding:.3rem;color:var(--t-secondary)}
.widget_calendar td a{color:var(--c-primary-light)}
.widget_calendar td a:hover{color:var(--c-primary)}
.widget_calendar caption{color:var(--t-secondary);margin-bottom:.5rem;font-weight:600}

/* Widget tag cloud */
.widget_tag_cloud .tagcloud a{
  display:inline-block;background:var(--c-primary-subtle);color:var(--c-primary-light)!important;
  border:1px solid var(--c-primary-border);border-radius:var(--r-full);
  padding:3px 10px;font-size:.75rem!important;margin:2px;transition:var(--t3)
}
.widget_tag_cloud .tagcloud a:hover{background:var(--c-primary);color:#fff!important}

/* Widget recent posts */
.widget_recent_entries li a{display:block!important}
.widget_recent_entries li a::after{display:none}
.widget_recent_entries .post-date{font-size:.72rem;color:var(--t-muted);display:block;margin-top:2px}

/* ── 10. Botones globales ──────────────────────────────────────────────────── */
.btn{font-weight:600;font-size:.875rem;padding:.55rem 1.3rem;border-radius:var(--r-sm);transition:var(--t3)}
.btn-primary,.btn-success{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.btn-primary:hover,.btn-success:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px var(--c-primary-glow)}
.btn-secondary{background:var(--bg-elevated);border-color:var(--b-card);color:var(--t-secondary)}
.btn-secondary:hover{background:var(--bg-hover);border-color:var(--c-primary-border);color:var(--t-primary)}

/* ── 11. Forms ────────────────────────────────────────────────────────────── */
input[type=text],input[type=email],input[type=password],input[type=search],
input[type=url],input[type=number],input[type=tel],textarea,select{
  background:var(--bg-elevated)!important;border:1px solid var(--b-card)!important;
  color:var(--t-primary)!important;border-radius:var(--r-sm);
  padding:.7rem 1rem;font-size:.9rem;width:100%;transition:var(--t3);-webkit-appearance:none
}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--c-primary)!important;
  box-shadow:0 0 0 3px var(--c-primary-subtle)!important
}
input::placeholder,textarea::placeholder{color:var(--t-muted)!important}
label{color:var(--t-secondary);font-size:.875rem;font-weight:600;margin-bottom:.35rem;display:block}

/* ── 12. Paginación ───────────────────────────────────────────────────────── */
.pagination{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;padding:2rem 0}
.pagination .page-item .page-link{
  background:var(--bg-card);border-color:var(--b-card);
  color:var(--t-secondary);border-radius:var(--r-sm)!important;
  padding:.45rem .85rem;font-size:.875rem;transition:var(--t3)
}
.pagination .page-item.active .page-link,
.pagination .page-item .page-link:hover{
  background:var(--c-primary);border-color:var(--c-primary);
  color:#fff;box-shadow:0 0 14px var(--c-primary-glow)
}

/* ── 13. Footer ───────────────────────────────────────────────────────────── */
.page-footer{background:var(--bg-surface)!important;border-top:1px solid var(--b-subtle);padding:1.4rem 0;margin-top:auto}
.site-footer{background:transparent!important}
.site-info{color:var(--t-muted);font-size:.83rem}
.site-info a{color:var(--t-secondary);font-weight:600;transition:color var(--t3)}
.site-info a:hover{color:var(--c-primary)}
.footer-socials{display:flex;gap:.6rem;align-items:center}
.footer-social-link{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:var(--bg-elevated);border:1px solid var(--b-card);
  border-radius:var(--r-sm);color:var(--t-secondary)!important;
  font-size:.95rem;transition:var(--t3);text-decoration:none!important
}
.footer-social-link:hover{background:var(--c-primary-subtle);border-color:var(--c-primary-border);color:var(--c-primary)!important;transform:translateY(-2px)}

/* ── 14. Comentarios ──────────────────────────────────────────────────────── */
#comments{margin-top:2.5rem;padding:2rem;background:var(--bg-card);border:1px solid var(--b-card);border-radius:var(--r-md)}
.comment-list .media{padding:1.25rem 0;border-bottom:1px solid var(--b-subtle)}
.comment-author-name{color:var(--t-primary)}
.comment-content{color:var(--t-secondary)}
.form-submit .submit{background:var(--c-primary);border:none;color:#fff;padding:.7rem 2rem;border-radius:var(--r-sm);font-weight:700;cursor:pointer;transition:var(--t3)}
.form-submit .submit:hover{background:var(--c-primary-dark);transform:translateY(-1px)}
#respond{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--b-subtle)}

/* ── 15. Archive / page headers ───────────────────────────────────────────── */
.page-header,.archive-header{padding:2.5rem 0 1.5rem;border-bottom:1px solid var(--b-subtle);margin-bottom:2rem}
.page-title,.archive-title{font-size:2.2rem;font-weight:900;letter-spacing:-1px;color:var(--t-primary)}
.archive-description{color:var(--t-secondary);margin-top:.4rem}

/* ── 16. wpForo ───────────────────────────────────────────────────────────── */
body.wpforo-page .widget-area,
body.wpforo-page #right-sidebar,
body.wpforo-page #left-sidebar{display:none!important}
body.wpforo-page #primary,
body.wpforo-page .content-area{width:100%!important;max-width:100%!important;flex:0 0 100%!important;padding-right:0!important}
.wpforo-wrap,.wpf-wrap{background:transparent!important;color:var(--t-primary)!important}
.wpforo-wrap .wpforo-list-item,
.wpforo-wrap .wpforo-post,
.wpforo-wrap .wpforo-topic-body,
.wpforo-wrap .wpforo-board-list-item{background:var(--bg-card)!important;border:1px solid var(--b-card)!important;border-radius:var(--r-md)!important}
.wpforo-wrap a,.wpf-wrap a{color:var(--c-primary-light)!important}
.wpforo-wrap a:hover{color:var(--c-primary)!important}
.wpforo-wrap .btn,.wpforo-wrap .wpf-btn{background:var(--c-primary)!important;border-color:var(--c-primary)!important;color:#fff!important;border-radius:var(--r-sm)!important}
.wpforo-wrap input,.wpforo-wrap textarea,.wpforo-wrap select{background:var(--bg-elevated)!important;border-color:var(--b-card)!important;color:var(--t-primary)!important}
.wpforo-wrap .wpforo-profile-page *{color:var(--t-secondary)!important}

/* ── 17. WooCommerce ──────────────────────────────────────────────────────── */
.woocommerce .product,.woocommerce ul.products li.product{background:var(--bg-card);border:1px solid var(--b-card);border-radius:var(--r-md);padding:1rem;transition:var(--t3)}
.woocommerce ul.products li.product:hover{border-color:var(--c-primary-border);transform:translateY(-2px)}
.woocommerce .price,.woocommerce ins .amount{color:var(--c-primary)!important;font-weight:700}
.woocommerce .button{background:var(--c-primary)!important;color:#fff!important;border-radius:var(--r-sm)!important}
.woocommerce .button:hover{background:var(--c-primary-dark)!important}
.woocommerce-notices-wrapper .woocommerce-message{background:var(--bg-elevated);border-color:var(--c-primary);color:var(--t-primary)}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{background:var(--bg-card)!important;color:var(--t-secondary)!important;border-color:var(--b-card)!important}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--c-primary)!important;color:#fff!important}

/* ── 18. Accesibilidad ────────────────────────────────────────────────────── */
:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* ── 19. Animaciones ──────────────────────────────────────────────────────── */
@keyframes fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.anim-up{animation:fade-up .65s var(--ease) both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}
.d4{animation-delay:.32s}.d5{animation-delay:.40s}.d6{animation-delay:.52s}

/* ── 20. Logo en navbar ───────────────────────────────────────────────────── */
.navbar .custom-logo-link{display:flex;align-items:center}
.navbar .custom-logo-link img.img-fluid{max-height:44px;width:auto}

/* ── 21. 404 ──────────────────────────────────────────────────────────────── */
.error404-wrapper{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center}

/* ── 22. Responsive general ───────────────────────────────────────────────── */
@media(max-width:767px){
  .widget-area{padding-left:0;margin-top:2rem}
  #primary.col-md-8,#primary.col-md-6{width:100%!important;flex:0 0 100%!important;max-width:100%!important}
  .raymc-features{grid-template-columns:repeat(2,1fr)}
}

/* ── Botón de tarjeta de entrada ──────────────────────────────────────── */
.raymc-btn-card {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: var(--c-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  padding: .45rem 1.1rem !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all .3s ease !important;
  width: auto !important;
  cursor: pointer;
}
.raymc-btn-card:hover {
  background: var(--c-primary-dark) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 18px var(--c-primary-glow) !important;
  text-decoration: none !important;
}
.raymc-btn-card svg { flex-shrink: 0; }

/* ── Imagen de tarjeta — hover zoom ──────────────────────────────────── */
.post-wrapper article a img,
.post-wrapper article .wp-post-image {
  transition: transform .5s ease !important;
}
.post-wrapper article:hover a img,
.post-wrapper article:hover .wp-post-image {
  transform: scale(1.05) !important;
}

/* ── Author links en meta ─────────────────────────────────────────────── */
.entry-meta a,
.entry-meta a:link,
.entry-meta a:visited {
  color: var(--t-muted) !important;
  text-decoration: none !important;
}
.entry-meta a:hover { color: var(--c-primary) !important; }

/* ── Single post — body text ──────────────────────────────────────────── */
.single .entry-content p,
.page .entry-content p,
.entry-content p {
  color: var(--t-secondary) !important;
  line-height: 1.85 !important;
}
.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4 {
  color: var(--t-primary) !important;
  margin-top: 2rem !important;
}
.single .entry-content strong { color: var(--t-primary) !important; }
.single .entry-content em     { color: var(--c-primary-light) !important; }

/* ── Imagen destacada single ──────────────────────────────────────────── */
.single article img.wp-post-image,
.single article .post-thumbnail img {
  border-radius: var(--r-md) var(--r-md) 0 0 !important;
}

/* ── Cat/tag badge ────────────────────────────────────────────────────── */
.cat-links a, .tags-links a {
  background: var(--c-primary-subtle) !important;
  color: var(--c-primary-light) !important;
  border: 1px solid var(--c-primary-border) !important;
  border-radius: var(--r-full) !important;
  padding: 2px 10px !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin: 2px !important;
}
.cat-links a:hover, .tags-links a:hover {
  background: var(--c-primary) !important;
  color: #fff !important;
}

/* ── Textos globales en página de WordPress ───────────────────────────── */
.site-content, #content, #primary { color: var(--t-secondary) !important; }
body { color: var(--t-secondary) !important; }
h1, h2, h3, h4, h5, h6 { color: var(--t-primary) !important; }
p { color: var(--t-secondary) !important; }

/* ── Eliminar texturas del tema original ─────────────────────────────── */
body, html, #page, .wrapper, #index-wrapper,
.single-wrapper, .archive-wrapper, .search-wrapper,
.page-wrapper, .error404-wrapper {
  background-image: none !important;
  background-attachment: unset !important;
}

/* ── Sidebar col fixes ───────────────────────────────────────────────── */
.col-md-4.widget-area { padding-left: .75rem; }
@media (max-width: 767px) {
  .col-md-4.widget-area { padding-left: 0; margin-top: 2rem; }
}
