 :root {
     --color-azul-oscuro: #0b1533;
     --color-azul-medio: #151f3d;
     --color-azul-suave: #1e2a52;
     --color-dorado: #f4b41a;
 }

 body {
     font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
     background-color: #f3f4f8;
     color: #222;
     padding-top: 50px;
 }

 @media (max-width: 767.98px) {
     body {
         padding-top: 50px;
     }
 }


 .navbar {
     background: linear-gradient(90deg, var(--color-azul-oscuro), var(--color-azul-medio));
 }

 .navbar-brand span {
     color: var(--color-dorado);
     font-weight: 700;
 }

 .navbar-nav .nav-link {
     font-weight: 500;
 }

 .navbar-nav .nav-link:hover,
 .navbar-nav .nav-link:focus {
     color: var(--color-dorado) !important;
 }


 .hero {
     background:
         radial-gradient(circle at top left, rgba(244, 180, 26, 0.18), transparent 40%),
         linear-gradient(135deg, var(--color-azul-oscuro), var(--color-azul-suave));
     color: #fff;
     padding: 5.5rem 0 4.5rem;
 }

 @media (min-width: 768px) {
     .hero {
         padding: 7rem 0 5rem;
     }
 }

 .hero-title {
     font-size: clamp(2rem, 3vw + 1rem, 3rem);
     font-weight: 700;
 }

 .hero-subtitle {
     max-width: 640px;
 }

 .hero-icons i {
     font-size: 1.8rem;
 }

 .btn-gold {
     background-color: var(--color-dorado);
     border-color: var(--color-dorado);
     color: #111;
     font-weight: 600;
 }

 .btn-gold:hover {
     background-color: #e0a014;
     border-color: #e0a014;
     color: #111;
 }

 .benefits-strip {
     background-color: #fff;
     border-radius: 1rem;
     box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
     padding: 1.5rem 1.75rem;
     margin-top: 2.5rem;
 }

 .benefit-icon {
     font-size: 1.5rem;
     color: var(--color-dorado);
 }

 @media (max-width: 767.98px) {
     .hero {
         text-align: center;
     }

     .hero-subtitle {
         margin-left: auto;
         margin-right: auto;
     }

     .benefits-strip {
         padding: 1.25rem;
     }
 }


 .section-padding {
     padding: 4rem 0;
 }

 .section-title {
     font-weight: 700;
     margin-bottom: 0.75rem;
 }

 .section-subtitle {
     max-width: 720px;
     margin: 0 auto 2rem;
     color: #555;
 }

 section {
     scroll-margin-top: 90px;
 }


 .codere-card {
     border: none;
     border-radius: 1rem;
 }

 .codere-card .card-body {
     padding: 2rem;
 }

 .rating-stars i {
     font-size: 1.1rem;
 }

 .badge-rating {
     background-color: rgba(244, 180, 26, 0.12);
     color: var(--color-dorado);
     border-radius: 999px;
     padding: 0.25rem 0.7rem;
     font-size: 0.8rem;
 }


 .table-custom thead {
     background-color: var(--color-azul-oscuro);
     color: #fff;
 }

 .table-custom tbody tr:nth-child(even) {
     background-color: #f8f9fc;
 }


 .icon-circle {
     width: 3rem;
     height: 3rem;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     background-color: rgba(244, 180, 26, 0.12);
     color: var(--color-dorado);
     font-size: 1.3rem;
     margin: 0 auto 0.75rem;
 }


 .guide-card {
     border-radius: 1rem;
     border: none;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     height: 100%;
 }

 .guide-card .card-body {
     padding: 1.5rem;
 }


 .accordion-button:not(.collapsed) {
     background-color: rgba(244, 180, 26, 0.08);
     color: #000;
 }


 .responsible-list {
     list-style: none;
     padding-left: 0;
 }

 .responsible-list li {
     margin-bottom: 0.5rem;
 }

 .responsible-list i {
     color: var(--color-dorado);
 }


 .footer-main {
     background-color: #050814;
 }

 .footer-main a {
     color: #d0d4ff;
 }

 .footer-main a:hover {
     color: var(--color-dorado);
     text-decoration: none;
 }

 .footer-links {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .footer-links li {
     margin-bottom: 0.5rem;
 }

 .social-icons a {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 2.5rem;
     height: 2.5rem;
     border-radius: 50%;
     border: 1px solid rgba(255, 255, 255, 0.2);
     margin-right: 0.5rem;
 }

 .social-icons i {
     font-size: 1rem;
 }

 .logo-footer {
     display: flex;
     flex-wrap: wrap;
     gap: 15px;
     width: 100%;
     max-width: 1120px;
     margin: 25px auto;
     justify-content: center;
 }

 .logo-footer a {
     height: 48px;

 }

 .logo-footer a img {
     height: 100%;
     object-fit: contain;
 }

 .cookie-banner {
     position: fixed;
     bottom: 0;
     left: 0;
     right: 0;
     z-index: 1080;
     background: rgba(11, 21, 51, 0.97);
     color: #fff;
     padding: 0.75rem 0;
     font-size: 0.9rem;
 }

 .cookie-banner p {
     margin-bottom: 0.25rem;
 }

 .cookie-banner a {
     color: #f4b41a;
     text-decoration: underline;
     text-decoration-thickness: 1px;
 }

 .cookie-banner a:hover {
     color: #ffd76b;
 }

 @media (max-width: 767.98px) {
     .cookie-banner .btn {
         width: 100%;
         margin-bottom: 0.25rem;
     }
 }

 .age-overlay {
     position: fixed;
     inset: 0;
     z-index: 2000;
     background: rgba(5, 8, 20, 0.96);
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 1.5rem;
     color: #fff;
 }

 .age-gate {
     background: #11182f;
     border-radius: 1.25rem;
     max-width: 480px;
     width: 100%;
     border: 1px solid rgba(255, 255, 255, 0.08);
 }

 .age-gate .card-body {
     padding: 2rem 1.75rem;
 }
  .age-gate h2 {
    color: #fff;
  }
  .age-gate p {
    color: #fff;
  }

 @media (min-width: 768px) {
     .age-gate .card-body {
         padding: 2.5rem 2.25rem;
     }
 }

 .age-overlay .btn-outline-light {
     border-color: rgba(255, 255, 255, 0.6);
     color: #fff;
 }

 .age-overlay .btn-outline-light:hover {
     background-color: #ffffff;
     color: #11182f;
 }