

    /* =====================================================
       VARIABLES
    ===================================================== */

    :root {
      --black: #101312;
      --dark: #171b19;
      --green: #b8d900;
      --green-dark: #8da700;

      --white: #ffffff;

      --grey-50: #f7f8f6;
      --grey-100: #eef0ed;
      --grey-300: #dfe3df;
      --grey-500: #6b726d;
      --grey-700: #343a36;

      --radius: 22px;

      --shadow:
        0 18px 55px rgba(16, 19, 18, .10);
    }


    /* =====================================================
       RESET
    ===================================================== */

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: "Inter", sans-serif;
      color: var(--black);
      background: var(--white);
      line-height: 1.6;
      overflow-x: hidden;
    }

    img {
      display: block;
      max-width: 100%;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    button {
      font: inherit;
    }

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


    /* =====================================================
       HEADER
    ===================================================== */

    header {
      position: sticky;
      top: 0;
      z-index: 1000;

      background: rgba(255,255,255,.94);
      backdrop-filter: blur(16px);

      border-bottom: 1px solid rgba(0,0,0,.06);
    }

    .nav {
      height: 78px;

      display: flex;
      align-items: center;
      justify-content: space-between;

      gap: 30px;
    }

    .logo {
      font-size: 21px;
      font-weight: 900;
      letter-spacing: -1px;
      line-height: 1;
      white-space: nowrap;
    }

    .logo span {
      color: var(--green-dark);
    }

    .nav-links {
      display: flex;
      align-items: center;
      gap: 27px;

      font-size: 14px;
      font-weight: 700;
    }

    .nav-links a {
      transition: .2s ease;
    }

    .nav-links a:hover {
      color: var(--green-dark);
    }

    .nav-actions {
      display: flex;
      align-items: center;
    }


    /* =====================================================
       BUTTONS
    ===================================================== */

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;

      padding: 14px 21px;

      border-radius: 999px;
      border: 1px solid transparent;

      font-size: 14px;
      font-weight: 800;

      cursor: pointer;

      transition:
        transform .25s ease,
        background .25s ease,
        border .25s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn-primary {
      background: var(--green);
      color: var(--black);
    }

    .btn-primary:hover {
      background: #c8e900;
    }

    .btn-dark {
      background: var(--black);
      color: white;
    }

    .btn-dark:hover {
      background: #292e2b;
    }

    .btn-outline {
      background: white;
      border-color: var(--grey-300);
    }

    .btn-outline:hover {
      border-color: var(--black);
    }

    .mobile-menu {
      display: none;

      border: 0;
      background: transparent;

      font-size: 26px;
      cursor: pointer;
    }


    /* =====================================================
       HERO
    ===================================================== */

    .hero {
      padding: 85px 0 75px;

      background:
        radial-gradient(
          circle at 80% 20%,
          rgba(184,217,0,.22),
          transparent 32%
        ),
        linear-gradient(
          135deg,
          #f4f6f3 0%,
          #ffffff 60%
        );
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;

      align-items: center;

      gap: 65px;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;

      padding: 8px 13px;

      background: #eaf2cf;
      color: #566800;

      border-radius: 999px;

      font-size: 12px;
      font-weight: 800;

      text-transform: uppercase;
      letter-spacing: .7px;

      margin-bottom: 20px;
    }

    .eyebrow::before {
      content: "";

      width: 7px;
      height: 7px;

      border-radius: 50%;

      background: var(--green-dark);
    }

    .hero h1 {
      max-width: 680px;

      font-size: clamp(45px, 6vw, 76px);
      line-height: .98;

      letter-spacing: -4px;

      font-weight: 900;
    }

    .hero h1 span {
      color: var(--green-dark);
    }

    .hero-text {
      max-width: 570px;

      margin: 25px 0 30px;

      color: var(--grey-500);

      font-size: 18px;
    }

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

    .hero-trust {
      display: flex;
      align-items: center;
      flex-wrap: wrap;

      gap: 22px;

      margin-top: 34px;

      font-size: 14px;
    }

    .rating {
      font-weight: 900;
    }

    .stars {
      color: #f5b900;
      letter-spacing: 2px;
    }


    /* =====================================================
       HERO IMAGE
    ===================================================== */

    .hero-image {
      position: relative;

      min-height: 560px;

      border-radius: 32px;

      overflow: hidden;

      background:
        linear-gradient(
          145deg,
          #1b201e,
          #353c37
        );

      box-shadow: var(--shadow);
    }

    .hero-image::before {
      content: "BICICLETAS\A MAÑAS";

      white-space: pre;

      position: absolute;

      top: 35px;
      right: 35px;

      z-index: 2;

      color: rgba(255,255,255,.12);

      font-size: 55px;
      line-height: .85;

      font-weight: 900;

      text-align: right;
    }

    .bike-placeholder {
      position: absolute;
      inset: 0;

      display: flex;
      align-items: center;
      justify-content: center;

      color: rgba(255,255,255,.9);

      font-size: 150px;

      transform: rotate(-12deg);
    }

    .hero-card {
      position: absolute;

      left: 25px;
      bottom: 25px;

      max-width: 280px;

      padding: 18px 20px;

      background: white;

      border-radius: 17px;

      box-shadow:
        0 15px 40px rgba(0,0,0,.25);
    }

    .hero-card strong {
      display: block;
      font-size: 14px;
    }

    .hero-card small {
      color: var(--grey-500);
    }


    /* =====================================================
       TRUST BAR
    ===================================================== */

    .trust-bar {
      padding: 24px 0;

      background: var(--black);

      color: white;
    }

    .trust-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);

      gap: 20px;
    }

    .trust-item {
      display: flex;
      align-items: center;

      gap: 13px;

      font-size: 13px;
    }

    .trust-icon {
      width: 38px;
      height: 38px;

      flex: 0 0 38px;

      display: grid;
      place-items: center;

      border-radius: 50%;

      background: var(--green);
      color: var(--black);

      font-weight: 900;
    }


    /* =====================================================
       SECTIONS
    ===================================================== */

    section {
      padding: 100px 0;
    }

    .section-head {
      display: flex;
      justify-content: space-between;
      align-items: end;

      gap: 30px;

      margin-bottom: 45px;
    }

    .section-head h2 {
      max-width: 680px;

      font-size: clamp(34px, 5vw, 52px);

      line-height: 1;

      letter-spacing: -2.5px;
    }

    .section-head p {
      max-width: 470px;

      color: var(--grey-500);
    }


    /* =====================================================
       SERVICES
    ===================================================== */

    .services {
      background: var(--grey-50);
    }

    .service-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);

      gap: 20px;
    }

    .service-card {
      padding: 35px;

      background: white;

      border: 1px solid var(--grey-300);

      border-radius: var(--radius);

      transition: .25s ease;
    }

    .service-card:hover {
      transform: translateY(-6px);

      box-shadow: var(--shadow);
    }

    .service-number {
      color: var(--grey-500);

      font-size: 13px;
      font-weight: 900;
    }

    .service-icon {
      width: 60px;
      height: 60px;

      display: grid;
      place-items: center;

      margin: 25px 0;

      border-radius: 18px;

      background: var(--black);
      color: var(--green);

      font-size: 27px;
    }

    .service-card h3 {
      margin-bottom: 12px;

      font-size: 25px;
    }

    .service-card p {
      margin-bottom: 25px;

      color: var(--grey-500);
    }

    .text-link {
      padding-bottom: 4px;

      border-bottom: 2px solid var(--green);

      font-size: 14px;
      font-weight: 900;
    }


    /* =====================================================
       WORKSHOP
    ===================================================== */

    .workshop {
      background: var(--black);
      color: white;
    }

    .workshop-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;

      align-items: center;

      gap: 70px;
    }

    .workshop h2 {
      margin-bottom: 25px;

      font-size: clamp(38px, 5vw, 60px);

      line-height: 1;

      letter-spacing: -3px;
    }

    .workshop p {
      max-width: 550px;

      color: #b9c0bb;

      font-size: 17px;
    }

    .workshop-list {
      display: grid;
      grid-template-columns: 1fr 1fr;

      gap: 15px;

      margin: 30px 0;
    }

    .workshop-list div {
      padding: 15px;

      border: 1px solid #353a37;

      border-radius: 13px;

      font-size: 14px;
    }

    .workshop-list span {
      color: var(--green);

      margin-right: 8px;
    }

    .workshop-image {
      min-height: 500px;

      display: grid;
      place-items: center;

      border-radius: 28px;

      background:
        linear-gradient(
          135deg,
          #333b36,
          #111
        );

      font-size: 130px;

      box-shadow:
        0 30px 70px rgba(0,0,0,.35);
    }


    /* =====================================================
       BIOMECHANICS
    ===================================================== */

    .bio-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;

      align-items: center;

      gap: 70px;
    }

    .bio-image {
      min-height: 540px;

      display: grid;
      place-items: center;

      border-radius: 28px;

      background:
        radial-gradient(
          circle at 50% 30%,
          #c7df43,
          transparent 24%
        ),
        linear-gradient(
          145deg,
          #e8ede4,
          #cbd2c8
        );

      font-size: 130px;
    }

    .bio-content h2 {
      margin-bottom: 22px;

      font-size: clamp(38px, 5vw, 58px);

      line-height: 1;

      letter-spacing: -3px;
    }

    .bio-content > p {
      margin-bottom: 30px;

      color: var(--grey-500);

      font-size: 17px;
    }

    .check-list {
      display: grid;

      gap: 12px;

      margin-bottom: 30px;
    }

    .check {
      display: flex;
      align-items: center;

      gap: 12px;

      font-weight: 700;
    }

    .check span {
      width: 27px;
      height: 27px;

      flex: 0 0 27px;

      display: grid;
      place-items: center;

      border-radius: 50%;

      background: var(--green);

      font-size: 12px;
    }


    /* =====================================================
       COMMUNITY
    ===================================================== */

    .community {
      background: var(--grey-50);
    }

    .community-box {
      display: grid;
      grid-template-columns: 1fr auto;

      align-items: center;

      gap: 40px;

      padding: 60px;

      border-radius: 30px;

      background: var(--green);
    }

    .community-box h2 {
      max-width: 760px;

      margin-bottom: 15px;

      font-size: clamp(35px, 5vw, 55px);

      line-height: 1;

      letter-spacing: -2.5px;
    }

    .community-box p {
      max-width: 620px;
    }


    /* =====================================================
       REVIEWS
    ===================================================== */

    .review-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);

      gap: 20px;
    }

    .review {
      padding: 30px;

      border: 1px solid var(--grey-300);

      border-radius: 20px;
    }

    .review-stars {
      margin-bottom: 20px;

      color: #f5b900;
    }

    .review p {
      margin-bottom: 25px;

      font-size: 16px;
    }

    .review-author {
      font-size: 14px;
      font-weight: 800;
    }


    /* =====================================================
       CONTACT
    ===================================================== */

    .contact {
      background: var(--grey-50);
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;

      gap: 25px;
    }

    .contact-card {
      padding: 35px;

      background: white;

      border: 1px solid var(--grey-300);

      border-radius: 22px;
    }

    .contact-card h3 {
      margin-bottom: 20px;

      font-size: 24px;
    }

    .contact-row {
      padding: 15px 0;

      border-bottom: 1px solid var(--grey-300);
    }

    .contact-row:last-child {
      border-bottom: 0;
    }

    .contact-label {
      display: block;

      margin-bottom: 4px;

      color: var(--grey-500);

      font-size: 12px;
      font-weight: 800;

      text-transform: uppercase;
    }

    .contact-row a {
      font-weight: 700;
    }

    .contact-row a:hover {
      color: var(--green-dark);
    }

    .map-placeholder {
      min-height: 350px;

      display: grid;
      place-items: center;

      border-radius: 22px;

      background:
        linear-gradient(
          135deg,
          #d8ddd8,
          #eef1ee
        );

      color: #68706a;

      font-weight: 900;
    }


    /* =====================================================
       FINAL CTA
    ===================================================== */

    .final-cta {
      background: var(--black);

      color: white;

      text-align: center;
    }

    .final-cta h2 {
      margin-bottom: 20px;

      font-size: clamp(40px, 6vw, 70px);

      line-height: .95;

      letter-spacing: -3px;
    }

    .final-cta p {
      max-width: 600px;

      margin: 0 auto 30px;

      color: #b9c0bb;
    }


    /* =====================================================
       FOOTER
    ===================================================== */

    footer {
      padding: 60px 0 30px;

      background: #0b0d0c;

      color: white;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr 1fr;

      gap: 50px;

      padding-bottom: 45px;
    }

    .footer-brand p {
      max-width: 340px;

      margin-top: 15px;

      color: #8c938e;
    }

    .footer-title {
      margin-bottom: 15px;

      font-weight: 800;
    }

    .footer-links {
      display: grid;

      gap: 9px;

      color: #a6ada8;

      font-size: 14px;
    }

    .footer-links a:hover {
      color: var(--green);
    }

    .copyright {
      display: flex;
      justify-content: space-between;

      gap: 20px;

      padding-top: 25px;

      border-top: 1px solid #292d2b;

      color: #737a75;

      font-size: 12px;
    }


    /* =====================================================
       WHATSAPP
    ===================================================== */

    .whatsapp {
      position: fixed;

      right: 22px;
      bottom: 22px;

      z-index: 999;

      width: 60px;
      height: 60px;

      display: grid;
      place-items: center;

      border-radius: 50%;

      background: #25d366;
      color: white;

      font-size: 27px;

      box-shadow:
        0 10px 30px rgba(0,0,0,.2);

      transition: .25s ease;
    }

    .whatsapp:hover {
      transform: scale(1.08);
    }


    /* =====================================================
       CLASES DE MECÁNICA
    ===================================================== */

    .mechanics {
      background: #f7f8f6;
    }

    .mechanics-box {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 45px;
      align-items: center;
      padding: 45px;
      background: #101312;
      color: white;
      border-radius: 28px;
    }

    .mechanics-content h2 {
      font-size: clamp(36px, 5vw, 55px);
      line-height: 1;
      letter-spacing: -2px;
      margin-bottom: 20px;
    }

    .mechanics-content h2 span {
      color: #b8d900;
    }

    .mechanics-content p {
      color: #b9c0bb;
      margin-bottom: 25px;
    }

    .mechanics-features {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin: 30px 0;
    }

    .mechanics-feature {
      background: #252b27;
      padding: 17px 8px;
      border-radius: 14px;
      text-align: center;
    }

    .mechanics-feature strong {
      display: block;
      color: #b8d900;
      font-size: 24px;
    }

    .mechanics-feature small {
      font-size: 11px;
      color: #d0d5d1;
    }

    .mechanics-list {
      display: grid;
      gap: 12px;
      margin: 25px 0;
    }

    .mechanics-list div {
      font-size: 14px;
    }

    .mechanics-list span {
  color: #b8d900;
  margin-right: 9px;
    }

    .mechanics-schedule {
      background: white;
      color: #101312;
      padding: 30px;
      border-radius: 20px;
    }

    .mechanics-schedule h3 {
      font-size: 25px;
      margin-bottom: 8px;
    }

    .mechanics-schedule > p {
      color: #6b726d;
      font-size: 14px;
      margin-bottom: 20px;
    }

    .schedule-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 15px 0;
      border-bottom: 1px solid #dfe3df;
      font-size: 13px;
    }

    .schedule-row strong {
      color: #667900;
    }

    .mechanics-price {
      margin-top: 25px;
      padding: 20px;
      background: #b8d900;
      border-radius: 15px;
      text-align: center;
    }

    .mechanics-price strong {
      display: block;
      font-size: 36px;
      font-weight: 900;
      line-height: 1.2;
    }

    .mechanics-price small {
      font-weight: 700;
    }

    .mechanics-schedule .btn {
      width: 100%;
      margin-top: 20px;
    }

    @media (max-width: 950px) {
      .mechanics-box {
        grid-template-columns: 1fr;
        padding: 30px;
      }
    }

    @media (max-width: 600px) {
      .mechanics-box {
        padding: 22px;
      }

      .mechanics-features {
        gap: 6px;
      }

      .mechanics-feature {
        padding: 14px 5px;
      }

      .mechanics-feature strong {
        font-size: 20px;
      }

      .mechanics-schedule {
        padding: 20px;
      }

      .schedule-row {
        font-size: 12px;
      }
    }


    /* =====================================================
       RESPONSIVE
    ===================================================== */

    @media (max-width: 950px) {

      .nav-links {
        display: none;
      }

      .nav-actions {
        margin-left: auto;
      }

      .mobile-menu {
        display: block;
      }

      .hero-grid,
      .workshop-grid,
      .bio-grid {
        grid-template-columns: 1fr;
      }

      .hero-image {
        min-height: 450px;
      }

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

      .service-grid,
      .review-grid {
        grid-template-columns: 1fr 1fr;
      }

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

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

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


    @media (max-width: 600px) {

      .container {
        width: min(100% - 28px, 1180px);
      }

      .nav {
        height: 68px;
      }

      .nav-actions {
        display: none;
      }

      section {
        padding: 70px 0;
      }

      .hero {
        padding: 55px 0;
      }

      .hero h1 {
        letter-spacing: -2.5px;
      }

      .hero-text {
        font-size: 16px;
      }

      .hero-image {
        min-height: 360px;
      }

      .bike-placeholder {
        font-size: 100px;
      }

      .trust-grid,
      .service-grid,
      .review-grid {
        grid-template-columns: 1fr;
      }

      .section-head {
        display: block;
      }

      .section-head p {
        margin-top: 18px;
      }

      .workshop-list {
        grid-template-columns: 1fr;
      }

      .workshop-image,
      .bio-image {
        min-height: 350px;

        font-size: 90px;
      }

      .community-box {
        padding: 35px 25px;
      }

      .footer-grid {
        grid-template-columns: 1fr;

        gap: 30px;
      }

      .copyright {
        display: block;
      }

      .copyright span {
        display: block;

        margin-bottom: 7px;
      }

      .hero-buttons {
        flex-direction: column;
      }

      .hero-buttons .btn {
        width: 100%;
      }

      .community-box .btn {
        width: 100%;
      }
    }

  

/* Compatibilidad con temas de WordPress: asegurar que la cabecera propia sea visible */
#bm-web-content > header {
  display: block !important;
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  min-height: 78px !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  z-index: 10000 !important;
  background: rgba(255,255,255,.97) !important;
  border-bottom: 1px solid rgba(0,0,0,.06) !important;
}
#bm-web-content > header .nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 78px !important;
  height: 78px !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  visibility: visible !important;
}
#bm-web-content > header .logo,
#bm-web-content > header .nav-links,
#bm-web-content > header .nav-actions,
#bm-web-content > header .mobile-menu {
  visibility: visible !important;
  opacity: 1 !important;
}
#bm-web-content > header .nav-links {
  display: flex !important;
  align-items: center !important;
  gap: 27px !important;
  white-space: nowrap !important;
}
#bm-web-content > header .nav-actions {
  display: flex !important;
  margin-left: 0 !important;
}
#bm-web-content > header .mobile-menu {
  display: none !important;
}
@media (max-width: 950px) {
  #bm-web-content > header .nav-links {
    display: none !important;
  }
  #bm-web-content > header .nav-actions {
    margin-left: auto !important;
  }
  #bm-web-content > header .mobile-menu {
    display: block !important;
  }
}
@media (max-width: 600px) {
  #bm-web-content > header .nav {
    min-height: 68px !important;
    height: 68px !important;
    padding: 0 14px !important;
  }
  #bm-web-content > header .nav-actions {
    display: none !important;
  }
}


/* v1.2 – fijar colores de marca frente a estilos globales del tema WordPress */
#bm-web-content > header .logo,
#bm-web-content > header .logo:link,
#bm-web-content > header .logo:visited {
  color: #101312 !important;
}
#bm-web-content > header .logo span {
  color: #8da700 !important;
}
#bm-web-content > header .nav-links a,
#bm-web-content > header .nav-links a:link,
#bm-web-content > header .nav-links a:visited {
  color: #101312 !important;
}
#bm-web-content > header .nav-links a:hover,
#bm-web-content > header .nav-links a:focus {
  color: #8da700 !important;
}
#bm-web-content .hero h1 {
  color: #101312 !important;
}
#bm-web-content .hero h1 span {
  color: #8da700 !important;
}


/* v1.3 – correcciones de contraste en Taller, Clases y pie de página */
#bm-web-content #taller h2,
#bm-web-content #taller p {
  color: #ffffff !important;
}

#bm-web-content .mechanics-content h2 {
  color: #ffffff !important;
}
#bm-web-content .mechanics-content h2 span {
  color: #b8d900 !important;
}
#bm-web-content .mechanics-content p,
#bm-web-content .mechanics-content h3 {
  color: #ffffff !important;
}

/* Pie de página: todo el texto blanco, salvo MAÑAS del logotipo */
#bm-web-content footer,
#bm-web-content footer p,
#bm-web-content footer .footer-title,
#bm-web-content footer .footer-links,
#bm-web-content footer .footer-links a,
#bm-web-content footer .footer-links a:link,
#bm-web-content footer .footer-links a:visited,
#bm-web-content footer .copyright,
#bm-web-content footer .copyright span {
  color: #ffffff !important;
}
#bm-web-content footer .footer-brand .logo {
  color: #ffffff !important;
}
#bm-web-content footer .footer-brand .logo span {
  color: #8da700 !important;
}
#bm-web-content footer .footer-links a:hover,
#bm-web-content footer .footer-links a:focus {
  color: #b8d900 !important;
}


/* v1.4 – menú móvil: evitar que los estilos globales fuercen el menú abierto */
@media (max-width: 950px) {
  #bm-web-content > header .nav-links {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 10000 !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 18px 24px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #dddddd !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.12) !important;
  }

  #bm-web-content > header .nav-links.bm-mobile-open {
    display: flex !important;
  }

  #bm-web-content > header .nav-links a {
    display: block !important;
    width: 100% !important;
    padding: 13px 0 !important;
    color: #101312 !important;
  }

  #bm-web-content > header .mobile-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 10001 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }
}

/* Bloque final: frase descriptiva blanca, sin alterar los botones */
#bm-web-content .final-cta p,
#bm-web-content .contact-cta p,
#bm-web-content .cta-section p {
  color: #ffffff !important;
}


/* v1.5: menú móvil robusto y banner de consentimiento */
#bm-web-content > header .mobile-menu { background:#168447 !important; color:#fff !important; border:0 !important; border-radius:8px !important; min-width:46px !important; min-height:44px !important; padding:8px 12px !important; font-size:26px !important; line-height:1 !important; -webkit-appearance:none !important; appearance:none !important; opacity:1 !important; visibility:visible !important; }
#bm-web-content > header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 10030 !important;
  transform: none !important;
}
@media (max-width:950px) { #bm-web-content > header .mobile-menu { display:flex !important; position:relative !important; z-index:10020 !important; } #bm-web-content > header .nav-links { z-index:10010 !important; } }
.bm-cookie-banner { position:fixed; z-index:2147483000; left:16px; right:16px; bottom:16px; max-width:980px; margin:0 auto; padding:18px; background:#fff; color:#202522; border:1px solid #d8ded9; border-radius:12px; box-shadow:0 8px 35px rgba(0,0,0,.22); font:14px/1.5 Arial,sans-serif; }
.bm-cookie-copy p { margin:6px 0 12px; }
.bm-cookie-banner a { color:#167b42; text-decoration:underline; }
.bm-cookie-actions { display:flex; gap:8px; flex-wrap:wrap; }
.bm-cookie-actions button,.bm-cookie-settings button { border:1px solid #168447; border-radius:6px; padding:10px 16px; font-weight:700; cursor:pointer; background:#fff; color:#146b39; }
.bm-cookie-actions [data-bm-cookie="accept"] { background:#168447; color:#fff; }
.bm-cookie-settings { border-top:1px solid #e5e9e6; margin-top:12px; padding-top:12px; display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.bm-cookie-settings label { display:flex; gap:6px; align-items:center; }
.bm-legal-page { max-width:900px; margin:0 auto; padding:50px 24px; color:#242824; font:16px/1.7 Arial,sans-serif; }
.bm-legal-page h2 { margin:28px 0 10px; color:#168447; font-size:22px; }
.bm-legal-page a { color:#168447; }
@media(max-width:600px){.bm-cookie-banner{left:8px;right:8px;bottom:8px;padding:14px}.bm-cookie-actions button{flex:1}.bm-cookie-settings{display:grid;grid-template-columns:1fr}}


/* v1.6: cabecera fija y menú móvil compatible con Safari/iOS */
#bm-web-content > header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 10030 !important;
  overflow: visible !important;
}
#bm-web-content > header .nav { position: relative !important; }
@media (max-width: 950px) {
  #bm-web-content > header .nav-links {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 68px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 10040 !important;
    background: #fff !important;
  }
  #bm-web-content > header .mobile-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 48px !important;
    min-height: 46px !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}
/* Redes sociales en la línea inferior del copyright */
#bm-web-content .copyright {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 14px 20px !important;
}
#bm-web-content .bm-social-links {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 auto !important;
}
#bm-web-content .bm-social-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  opacity: .92 !important;
  transition: opacity .2s ease, color .2s ease !important;
}
#bm-web-content .bm-social-links a:hover {
  color: var(--green) !important;
  opacity: 1 !important;
}
#bm-web-content .bm-social-links a > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 18px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
}
@media (max-width: 700px) {
  #bm-web-content .copyright {
    justify-content: center !important;
    text-align: center !important;
  }
  #bm-web-content .bm-social-links {
    order: 3 !important;
    flex-basis: 100% !important;
    gap: 13px !important;
  }
  #bm-web-content .bm-social-name { display: none !important; }
}
