/*
Theme Name:   Mayte La Vidente
Theme URI:    https://www.tarotonline.gratis
Template:     generatepress
Description:  Child theme de GeneratePress con identidad visual de Mayte La Vidente
Author:       Mayte La Vidente
Version:      1.0.0
Text Domain:  generatepress-mayte
*/

/* ── GOOGLE FONTS ─────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Cinzel+Decorative:wght@400;700&family=EB+Garamond:ital,wght@0,400;0,500;1,400&display=swap');

/* ── VARIABLES ────────────────────────────────────────────────────── */
:root {
  --void:       #06050C;
  --deep:       #0C0A1A;
  --chamber:    #120F22;
  --veil:       #1C182E;
  --gold:       #C8A96E;
  --gold-bright:#E8C98E;
  --gold-dim:   #7A6340;
  --mist:       #D4CECC;
  --ghost:      #8A8290;
  --border:     rgba(200,169,110,0.18);
  --border-hi:  rgba(200,169,110,0.5);
}

/* ── BASE ─────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { background: var(--void); }

body {
  background: var(--void) !important;
  color: var(--mist) !important;
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 17px !important;
  line-height: 1.75;
}

/* Grain de fondo */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9999;
  opacity: 0.3;
}

/* Mandala SVG de fondo */
#mayte-cosmic-bg {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: max(100vw,100vh); height: max(100vw,100vh);
  pointer-events: none;
  z-index: 0;
  opacity: 0.045;
  animation: cosmic-rotate 120s linear infinite;
}
@keyframes cosmic-rotate {
  from { transform: translate(-50%,-50%) rotate(0deg); }
  to   { transform: translate(-50%,-50%) rotate(360deg); }
}

/* ── TIPOGRAFÍA ───────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--gold) !important;
  letter-spacing: 0.02em;
  line-height: 1.25;
}

a {
  color: var(--gold) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}
a:hover { color: var(--gold-bright) !important; }

p { color: var(--mist) !important; }

/* ── HEADER ───────────────────────────────────────────────────────── */
.site-header,
#site-header {
  background: rgba(6, 5, 12, 0.94) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

.inside-header {
  padding: 0.8rem 1.5rem !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Logo */
.site-branding a,
.site-title a,
.site-title {
  font-family: 'Cinzel Decorative', serif !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  color: var(--gold) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 25px rgba(200,169,110,0.35);
  text-decoration: none !important;
}

.site-description { display: none; }

/* Navegación */
.main-navigation,
.nav-primary {
  background: transparent !important;
}

.main-navigation ul li a,
.nav-primary ul li a {
  font-family: 'EB Garamond', serif !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ghost) !important;
  padding: 0.4rem 0.8rem !important;
  transition: color 0.2s ease !important;
}
.main-navigation ul li a:hover,
.nav-primary ul li a:hover { color: var(--gold) !important; }

/* Submenús */
.main-navigation ul ul,
.main-navigation .sub-menu {
  background: rgba(12, 10, 26, 0.97) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
}

/* Hamburger móvil */
.menu-toggle {
  background: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--gold) !important;
  padding: 0.4rem 0.8rem !important;
  font-family: 'EB Garamond', serif !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
}

/* ── HERO ─────────────────────────────────────────────────────────── */
#mayte-hero {
  position: relative;
  padding: 6rem 1.5rem 4rem;
  text-align: center;
  overflow: hidden;
  z-index: 1;
}
#mayte-hero::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 600px; height: 600px;
  background: radial-gradient(ellipse, rgba(200,169,110,0.06) 0%, transparent 65%);
  pointer-events: none;
}
.mayte-sigil {
  display: block;
  font-size: 2.8rem;
  margin-bottom: 1rem;
  animation: sigil-float 6s ease-in-out infinite;
  filter: drop-shadow(0 0 20px rgba(200,169,110,0.45));
}
@keyframes sigil-float {
  0%,100% { transform: translateY(0) rotate(-1deg); }
  50%      { transform: translateY(-8px) rotate(1deg); }
}
.mayte-hero-title {
  font-family: 'Cinzel Decorative', serif !important;
  font-size: clamp(1.9rem, 5vw, 3.4rem) !important;
  color: var(--gold) !important;
  margin: 0 0 0.5rem !important;
  text-shadow: 0 0 60px rgba(200,169,110,0.2);
  letter-spacing: 0.06em;
}
.mayte-hero-subtitle {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.15rem;
  color: var(--ghost) !important;
  margin: 0 0 2rem;
}
.mayte-ornament {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  justify-content: center;
  color: var(--gold-dim);
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  margin: 1.2rem 0;
}
.mayte-ornament::before,
.mayte-ornament::after {
  content: '';
  flex: 1;
  max-width: 140px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dim), transparent);
}
.mayte-hero-cta {
  display: inline-block;
  font-family: 'EB Garamond', serif;
  font-size: 0.92rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--void) !important;
  background: linear-gradient(135deg, var(--gold-bright), var(--gold));
  padding: 0.9rem 2.8rem;
  clip-path: polygon(12px 0%, 100% 0%, calc(100% - 12px) 100%, 0% 100%);
  transition: all 0.3s ease;
  text-decoration: none !important;
  box-shadow: 0 4px 30px rgba(200,169,110,0.2);
}
.mayte-hero-cta:hover {
  background: linear-gradient(135deg, #fff5d0, var(--gold-bright)) !important;
  color: var(--void) !important;
  box-shadow: 0 6px 50px rgba(200,169,110,0.4);
  transform: translateY(-2px);
}

/* ── LAYOUT PRINCIPAL ─────────────────────────────────────────────── */
#page, .grid-container {
  background: var(--void) !important;
  max-width: none !important;
  padding: 0 !important;
}

#content, .site-content {
  background: var(--void) !important;
  position: relative;
  z-index: 1;
}

#primary, .content-area {
  background: transparent !important;
  padding: 0 1.5rem !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

#secondary, .sidebar-area { display: none !important; }

/* Sin sidebar = ancho completo */
.content-area {
  width: 100% !important;
  max-width: 1100px !important;
}

/* Artículos */
.inside-article {
  background: transparent !important;
  padding: 0 !important;
}

.entry-header { margin-bottom: 1.5rem; }

.entry-title {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
  font-size: 1.8rem !important;
}

.entry-meta { color: var(--ghost) !important; font-size: 0.8rem !important; }

.entry-content {
  color: var(--mist) !important;
  font-family: 'EB Garamond', serif !important;
  font-size: 1.05rem !important;
}

/* Posts grid en archive */
.post {
  background: var(--chamber) !important;
  border: 1px solid var(--border) !important;
  margin-bottom: 1.5rem !important;
  transition: border-color 0.25s ease !important;
}
.post:hover { border-color: var(--gold-dim) !important; }

/* ── SIDEBAR (por si aparece) ─────────────────────────────────────── */
.widget {
  background: var(--chamber) !important;
  border: 1px solid var(--border) !important;
  padding: 1.2rem !important;
  margin-bottom: 1.2rem !important;
}
.widget-title {
  font-family: 'EB Garamond', serif !important;
  font-size: 0.75rem !important;
  color: var(--gold) !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 0.8rem !important;
}

/* ── BREADCRUMBS ──────────────────────────────────────────────────── */
.breadcrumb-trail,
.breadcrumbs {
  color: var(--ghost) !important;
  font-size: 0.78rem !important;
  font-family: 'EB Garamond', serif !important;
  padding: 0.5rem 0 !important;
  border-bottom: 1px solid rgba(200,169,110,0.08) !important;
  margin-bottom: 1.5rem !important;
}
.breadcrumb-trail a, .breadcrumbs a { color: var(--ghost) !important; }
.breadcrumb-trail a:hover, .breadcrumbs a:hover { color: var(--gold) !important; }

/* ── BOTONES ──────────────────────────────────────────────────────── */
button:not(.mayte-btn-consultar):not(.mayte-btn-nueva):not(.menu-toggle),
.button,
input[type="submit"] {
  background: transparent !important;
  border: 1px solid var(--border-hi) !important;
  color: var(--gold) !important;
  font-family: 'EB Garamond', serif !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 0.6rem 1.5rem !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}
button:hover, .button:hover, input[type="submit"]:hover {
  background: var(--gold) !important;
  color: var(--void) !important;
}

/* ── FORMULARIOS ──────────────────────────────────────────────────── */
input, textarea, select {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid var(--border) !important;
  color: var(--mist) !important;
  border-radius: 0 !important;
  font-family: 'EB Garamond', serif !important;
  padding: 0.6rem 1rem !important;
}
input:focus, textarea:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(200,169,110,0.1) !important;
}
::placeholder { color: var(--ghost) !important; font-style: italic; }

/* ── PAGINACIÓN ───────────────────────────────────────────────────── */
.pagination a, .page-numbers a {
  background: transparent !important;
  border: 1px solid var(--border) !important;
  color: var(--ghost) !important;
  padding: 0.35rem 0.75rem !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
}
.pagination .current, .page-numbers .current,
.pagination a:hover, .page-numbers a:hover {
  background: var(--gold) !important;
  color: var(--void) !important;
  border-color: var(--gold) !important;
}

/* ── FOOTER ───────────────────────────────────────────────────────── */
.site-footer,
#site-footer {
  background: var(--void) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--ghost) !important;
  text-align: center !important;
  padding: 2.5rem 1.5rem !important;
  position: relative;
}
.site-footer::before {
  content: '✦  ✦  ✦';
  display: block;
  color: var(--gold-dim);
  font-size: 0.6rem;
  letter-spacing: 0.5em;
  margin-bottom: 1.2rem;
}
.site-footer a { color: var(--gold-dim) !important; }
.site-footer a:hover { color: var(--gold) !important; }
.inside-site-footer { max-width: 900px; margin: 0 auto; }

/* ── HR ───────────────────────────────────────────────────────────── */
hr { border-color: var(--border) !important; }

/* ── TABLA ────────────────────────────────────────────────────────── */
table { color: var(--mist) !important; }
th { background: var(--veil) !important; color: var(--gold) !important; border: 1px solid var(--border) !important; font-family: 'EB Garamond', serif !important; }
td { background: var(--chamber) !important; border: 1px solid var(--border) !important; }
tr:hover td { background: rgba(200,169,110,0.04) !important; }

/* ── COOKIE BANNER ────────────────────────────────────────────────── */
.fixed.bottom, .cb-enable, [id*="cookie"] {
  background: rgba(12,10,26,0.97) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--ghost) !important;
}

/* ── HOME: SECCIONES MAYTE ────────────────────────────────────────── */
.mayte-home { padding: 2rem 0 3rem; }

.mh-section { padding: 2.5rem 0; }

.mh-section-header { text-align: center; margin-bottom: 2rem; }

.mh-section-glyph {
  display: block; font-size: 1.5rem;
  color: var(--gold); margin-bottom: 0.4rem;
  filter: drop-shadow(0 0 12px rgba(200,169,110,0.4));
}

.mh-section-title {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
  font-size: 1.6rem !important;
  margin: 0 0 0.3rem !important;
  font-weight: 600 !important;
}

.mh-section-sub {
  color: var(--ghost) !important;
  font-style: italic;
  font-size: 1rem;
  margin: 0;
}

.mh-tarot-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
  gap: 0.65rem !important;
}

.mh-tarot-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 1.4rem 0.6rem 1.1rem !important;
  background: var(--chamber) !important;
  border: 1px solid var(--border) !important;
  text-decoration: none !important;
  transition: border-color 0.25s ease, background 0.25s ease !important;
  position: relative !important;
}
.mh-tarot-card:hover {
  background: var(--veil) !important;
  border-color: var(--border-hi) !important;
}
.mh-card-featured { border-color: rgba(200,169,110,0.4) !important; }
.mh-card-cta { border-style: dashed !important; }
.mh-card-glyph { font-size: 1.7rem !important; color: var(--gold) !important; display: block !important; margin-bottom: 0.5rem !important; line-height: 1 !important; }
.mh-card-name { font-family: 'Playfair Display', serif !important; color: var(--mist) !important; font-size: 0.85rem !important; font-weight: 600 !important; display: block !important; margin-bottom: 0.25rem !important; line-height: 1.3 !important; }
.mh-card-desc { font-style: italic !important; color: var(--ghost) !important; font-size: 0.75rem !important; display: block !important; line-height: 1.3 !important; }

.mh-oracle-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 0.65rem !important;
}
.mh-oracle-card {
  display: flex !important; align-items: center !important; gap: 0.9rem !important;
  padding: 1rem 1.1rem !important;
  background: var(--chamber) !important; border: 1px solid var(--border) !important;
  text-decoration: none !important; transition: border-color 0.25s ease !important;
}
.mh-oracle-card:hover { border-color: var(--border-hi) !important; }
.mh-oracle-icon { font-size: 1.7rem !important; color: var(--gold) !important; flex-shrink: 0 !important; width: 40px !important; text-align: center !important; }
.mh-oracle-info strong { display: block !important; font-family: 'Playfair Display', serif !important; color: var(--mist) !important; font-size: 0.9rem !important; font-weight: 600 !important; margin-bottom: 0.1rem !important; }
.mh-oracle-info span { font-style: italic !important; color: var(--ghost) !important; font-size: 0.8rem !important; }

.mh-signs-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important; gap: 0.5rem !important; }
.mh-sign { display: block !important; text-align: center !important; padding: 0.7rem 0.4rem !important; background: var(--chamber) !important; border: 1px solid var(--border) !important; color: var(--mist) !important; font-size: 0.88rem !important; text-decoration: none !important; transition: all 0.2s ease !important; }
.mh-sign:hover { background: rgba(200,169,110,0.08) !important; border-color: var(--border-hi) !important; color: var(--gold) !important; }

.mh-divider { text-align: center !important; color: rgba(200,169,110,0.3) !important; font-size: 0.6rem !important; letter-spacing: 0.4em !important; padding: 0.75rem 0 !important; }

/* Ocultar Google Matched Content */
.goog-rentries, .goog-rentry, .google-anno-skip, [class^="goog-"] { display: none !important; }

@media (max-width: 500px) {
  .mh-tarot-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .mh-oracle-grid { grid-template-columns: 1fr !important; }
  .mh-signs-grid { grid-template-columns: repeat(3, 1fr) !important; }
  #mayte-hero { padding: 3.5rem 1rem 2.5rem; }
  .mayte-hero-title { font-size: 1.8rem !important; }
}

/* ── MH-INNER CONTAINER ──────────────────────────────────────────── */
.mh-inner { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; }

/* ── OCULTAR AUTOLINKS INYECTADOS EN HERO ────────────────────────── */
#mayte-hero .mayte-hero-subtitle a:not(.mayte-hero-cta),
#mayte-hero .mayte-hero-subtitle a[href="#"],
#mayte-hero p a { display: none !important; }

/* ── HEADER BRANDING ─────────────────────────────────────────────── */
.site-title a { font-size: 0.75rem !important; }

/* ── OCULTAR CRÉDITO GENERATEPRESS ──────────────────────────────── */
a[href*="generatepress.com"],
.copyright .sep:last-of-type,
.site-info a[href*="generatepress"],
.generated-by { display: none !important; }

/* ── OCULTAR IMÁGENES INYECTADAS POR PLUGINS ANTIGUOS ────────────── */
#page > img,
.site-header ~ img:not(.wp-post-image):not(.attachment-post-thumbnail),
#content > img,
.content-area > img { display: none !important; }

/* ── OCULTAR PAGE HEADER IMAGE DE GENERATEPRESS EN PÁGINAS DE TAROT ─ */
.page-header-image { display: none !important; }
