/*
Theme Name: Controvera Child
Template: twentytwentyfour
Version: 1.3
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --cv-bg: #08080c;
  --cv-bg-soft: #0b1020;
  --cv-bg-deep: #101827;

  --cv-blue: #3b82f6;
  --cv-blue-light: #60a5fa;

  --cv-text-dark: #08080c;
  --cv-text-body: #1e293b;
}

/* BASE */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;

  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  background:
    radial-gradient(circle at 15% 10%, rgba(59,130,246,.32), transparent 45%),
    radial-gradient(circle at 85% 12%, rgba(244,63,94,.20), transparent 40%),
    radial-gradient(circle at 50% 60%, rgba(59,130,246,.10), transparent 55%),
    linear-gradient(
      180deg,
      var(--cv-bg) 0%,
      var(--cv-bg-soft) 45%,
      var(--cv-bg-deep) 100%
    ) !important;

  overflow-x: hidden;
}

/* MAIN LAYOUT */

.wp-site-blocks {
  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
}

.wp-site-blocks main,
main,
main.wp-block-group {
  background: transparent !important;

  max-width: 1100px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  margin-top: 0 !important;

  box-shadow: none !important;

  display: block !important;
}

.wp-site-blocks main > *,
main > * {
  float: none !important;
}

/* HEADER */

.wp-site-blocks > header,
.wp-block-template-part {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background: rgba(255,255,255,.5) !important;

  backdrop-filter: blur(10px);

  position: sticky;
  top: 0;

  z-index: 999;
}

/* Remove Gutenberg backgrounds */

header .has-base-background-color,
.wp-block-template-part .has-base-background-color {
  background: transparent !important;
}

/* Main header wrapper */

.wp-site-blocks > header > div,
.wp-block-template-part > div {
  max-width: 1400px !important;

  margin: 0 auto !important;

  padding: 14px 5vw !important;
}

/* Navigation */

.wp-block-navigation__container {
  display: flex !important;

  flex-direction: row !important;

  align-items: center !important;

  gap: 28px !important;
}

/* Header text */

header a,
header .wp-block-site-title,
header .wp-block-site-title a,
.wp-block-navigation a {
  color: rgba(255,255,255,.92) !important;

  font-weight: 700 !important;
}

/* Disable mobile menu */

@media (max-width: 900px) {

  .wp-block-navigation {
    display: none !important;
  }

}

/* PAGE TITLE */

.wp-block-post-title,
h1.wp-block-post-title {
  display: block !important;

  margin: 72px auto 36px !important;

  text-align: center !important;

  color: white !important;

  font-weight: 800 !important;

  font-size: clamp(48px, 6vw, 84px) !important;

  line-height: .95 !important;

  letter-spacing: -0.04em !important;
}

/* CONTENT BOX */

.wp-block-post-content,
.entry-content {
  display: block !important;

  width: 100% !important;

  max-width: none !important;

  margin: 0 auto 100px !important;

  padding: 42px !important;

  background: white !important;

  border-radius: 36px !important;

  box-shadow: 0 30px 80px rgba(0,0,0,.25) !important;

  clear: both !important;
}

/* Remove Gutenberg inner constraints */

.wp-block-post-content > *,
.entry-content > * {
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* TYPOGRAPHY */

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
  font-family:
    Inter,
    system-ui,
    sans-serif !important;

  letter-spacing: 0;

  line-height: 1.05;
}

/* H1 */

.wp-block-post-content h1,
.entry-content h1,
h1 {
  color: white !important;

  font-weight: 800 !important;
}

/* H2 */

.wp-block-post-content h2,
.entry-content h2,
h2 {
  color: black !important;

  font-weight: 800 !important;

  font-size: clamp(34px, 4vw, 56px) !important;

  line-height: .95 !important;
}

/* OTHER HEADINGS */

.wp-block-post-content h3,
.entry-content h3,
.wp-block-post-content h4,
.entry-content h4,
.wp-block-post-content h5,
.entry-content h5,
.wp-block-post-content h6,
.entry-content h6 {
  color: var(--cv-text-dark) !important;
}

/* BODY TEXT */

.wp-block-post-content p,
.entry-content p,
.wp-block-post-content li,
.entry-content li,
.wp-block-post-content span,
.entry-content span {
  color: var(--cv-text-body) !important;

  line-height: 1.7;

  font-size: 18px;
}

/* LINKS */

a {
  color: inherit;

  text-decoration: none;
}

/* BUTTONS */

button,
.wp-element-button,
.wp-block-button__link,
input[type="submit"] {
  border: 0 !important;

  border-radius: 999px !important;

  background: var(--cv-blue) !important;

  color: white !important;

  padding: 14px 24px !important;

  font-weight: 800 !important;

  font-size: 15px !important;

  transition: all .2s ease;
}

button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
  background: var(--cv-blue-light) !important;

  transform: translateY(-2px);
}

/* INPUTS */

input,
textarea,
select {
  border: 1px solid rgba(15,23,42,.12) !important;

  border-radius: 16px !important;

  background: rgba(15,23,42,.03) !important;

  color: #0f172a !important;

  padding: 14px 16px !important;

  font-family: inherit !important;
}

::placeholder {
  color: #94a3b8 !important;
}

/* MODERN FOOTER */

footer {
  background: transparent !important;

  border-top: 1px solid rgba(255,255,255,.08);

  padding: 72px 0 56px !important;

  text-align: center;

  position: relative;
}

/* Footer container */

footer .wp-block-group {
  display: flex !important;

  flex-direction: column !important;

  align-items: center !important;

  justify-content: center !important;

  gap: 28px !important;

  padding: 0 !important;

  max-width: none !important;
}

/* Social links */

footer .wp-block-social-links {
  gap: 18px !important;
}

/* Social circles */

footer .wp-social-link {
  background: rgba(255,255,255,.06) !important;

  border: 1px solid rgba(255,255,255,.08) !important;

  border-radius: 999px !important;

  width: 52px !important;

  height: 52px !important;

  transition: all .2s ease;
}

footer .wp-social-link:hover {
  background: rgba(255,255,255,.12) !important;

  transform: translateY(-2px);
}

/* Social icons */

footer .wp-social-link svg {
  width: 22px !important;

  height: 22px !important;

  fill: rgba(255,255,255,.72) !important;
}

/* Footer text */

footer p,
footer span,
footer a,
footer li {
  color: rgba(255,255,255,.42) !important;

  font-size: 15px !important;

  line-height: 1.5 !important;

  margin: 0 !important;

  font-weight: 500 !important;
}

/* Floating button */

.back-to-top {
  position: fixed;

  right: 32px;

  bottom: 32px;

  width: 68px;

  height: 68px;

  border-radius: 999px;

  background: rgba(59,130,246,.22);

  backdrop-filter: blur(10px);

  border: 1px solid rgba(255,255,255,.08);

  display: flex;

  align-items: center;

  justify-content: center;

  color: white;

  font-size: 30px;

  text-decoration: none;

  transition: all .2s ease;

  z-index: 999;
}

.back-to-top:hover {
  transform: translateY(-3px);

  background: rgba(59,130,246,.32);
}

/* MOBILE */

@media (max-width: 900px) {

  .wp-site-blocks main,
  main,
  main.wp-block-group {
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .wp-block-post-title,
  h1.wp-block-post-title {
    margin: 48px auto 28px !important;

    font-size: 56px !important;
  }

  .wp-block-post-content,
  .entry-content {
    padding: 32px 24px !important;

    border-radius: 28px !important;
  }

  footer {
    padding: 56px 24px 42px !important;
  }

  .back-to-top {
    width: 56px;

    height: 56px;

    right: 18px;

    bottom: 18px;

    font-size: 24px;
  }
}

/* ── COMMENTS (Block Theme) ── */

.wp-block-comments,
.wp-block-post-comments {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto 100px !important;
  padding: 42px !important;
  background: white !important;
  border-radius: 36px !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.25) !important;
  font-family: Inter, system-ui, sans-serif !important;
  color: var(--cv-text-body) !important;
  box-sizing: border-box !important;
  align-self: stretch !important;
}
.wp-block-comments > *,
.wp-block-comments .wp-block-comments-query-loop {
  max-width: none !important;
  width: 100% !important;
}

.wp-block-comments .comments-title {
  font-size: 0 !important;
}
.wp-block-comments .comments-title::before {
  content: '¿Qué opinas?';
  display: block;
  font-size: clamp(34px, 4vw, 56px) !important;
  font-weight: 800 !important;
  color: black !important;
  line-height: .95 !important;
}

.wp-block-comments p,
.wp-block-comments label,
.wp-block-comments .comment-content p {
  font-family: Inter, system-ui, sans-serif !important;
  color: var(--cv-text-body) !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
}

@media (max-width: 900px) {
  .wp-block-comments,
  .wp-block-post-comments {
    padding: 32px 24px !important;
    border-radius: 28px !important;
  }
}