 :root {
     --primary-color: #0B1B3D;

     --primary-light: #1A305D;
     --accent-color: #D4AF37;

     --accent-hover: #F3C93F;
     --bg-body: #F8FAFC;
     --bg-white: #FFFFFF;
     --text-main: #334155;
     --text-muted: #64748B;
     --danger: #DC2626;
     --success: #16A34A;
     --radius: 12px;
     --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
     --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
     --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);
     --transition: all 0.3s ease;
 }


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

 html {
     scroll-behavior: smooth;
     font-size: 16px;
 }

 @media (prefers-reduced-motion: reduce) {
     html {
         scroll-behavior: auto;
     }

     * {
         animation-duration: 0.01ms !important;
         transition-duration: 0.01ms !important;
     }
 }

 body {
     font-family: 'Inter', system-ui, -apple-system, sans-serif;
     background-color: var(--bg-body);
     color: var(--text-main);
     line-height: 1.6;
     overflow-x: hidden;
     padding-bottom: 70px;

 }

 @media (min-width: 768px) {
     body {
         padding-bottom: 0;
     }
 }

 h1,
 h2,
 h3,
 h4 {
     color: var(--primary-color);
     font-weight: 700;
     line-height: 1.2;
     margin-bottom: 1rem;
 }

 a {
     text-decoration: none;
     color: var(--primary-color);
     transition: var(--transition);
 }

 ul {
     list-style: none;
 }

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


 .sr-only {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
     clip: rect(0, 0, 0, 0);
     border: 0;
 }

 :focus-visible {
     outline: 3px solid var(--accent-color);
     outline-offset: 2px;
 }


 .container {
     width: 100%;
     max-width: 1200px;
     margin: 0 auto;
     padding: 0 1.5rem;
 }


 .btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 0.5rem;
     padding: 0.875rem 1.5rem;
     border-radius: 8px;
     font-weight: 600;
     cursor: pointer;
     border: none;
     transition: var(--transition);
     text-align: center;
     font-size: 1rem;
 }

 .btn-primary {
     background-color: var(--accent-color);
     color: #000;
 }

 .btn-primary:hover {
     background-color: var(--accent-hover);
     transform: translateY(-2px);
     box-shadow: var(--shadow-md);
 }

 .btn-outline {
     background-color: transparent;
     border: 2px solid var(--bg-white);
     color: var(--bg-white);
 }

 .btn-outline:hover {
     background-color: rgba(255, 255, 255, 0.1);
 }

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

 .btn-dark:hover {
     background-color: var(--primary-light);
 }


 .navbar {
     background-color: var(--primary-color);
     position: fixed;
     top: 0;
     width: 100%;
     z-index: 1000;
     box-shadow: var(--shadow-md);
     padding: 1rem 0;
 }

 .nav-container {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .logo {
     color: var(--accent-color);
     font-size: 1.5rem;
     font-weight: 800;
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .logo span {
     color: var(--bg-white);
 }

 .nav-links {
     display: none;
     gap: 2rem;
     align-items: center;
 }

 .nav-links a {
     color: var(--bg-white);
     font-weight: 500;
     font-size: 0.95rem;
 }

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

 .hamburger {
     display: block;
     background: none;
     border: none;
     color: var(--bg-white);
     font-size: 1.5rem;
     cursor: pointer;
 }

 @media (min-width: 992px) {
     .nav-links {
         display: flex;
     }

     .hamburger {
         display: none;
     }
 }


 .nav-links.active {
     display: flex;
     flex-direction: column;
     position: absolute;
     top: 100%;
     left: 0;
     width: 100%;
     background-color: var(--primary-color);
     padding: 1.5rem;
     gap: 1.5rem;
     box-shadow: var(--shadow-md);
 }


 .hero {
     background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
     color: var(--bg-white);
     padding: 8rem 0 4rem;
     text-align: center;
     position: relative;
 }

 .hero h1 {
     color: var(--bg-white);
     font-size: 2.5rem;
     margin-bottom: 1.5rem;
 }

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

 .hero p {
     font-size: 1.125rem;
     max-width: 700px;
     margin: 0 auto 2.5rem;
     color: #E2E8F0;
 }

 .hero-ctas {
     display: flex;
     flex-direction: column;
     gap: 1rem;
     justify-content: center;
     margin-bottom: 3rem;
 }

 @media (min-width: 640px) {
     .hero-ctas {
         flex-direction: row;
     }

     .hero h1 {
         font-size: 3.5rem;
     }
 }

 .trust-badges {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 1.5rem;
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     padding-top: 2rem;
 }

 .badge {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     font-size: 0.9rem;
     color: #CBD5E1;
 }

 .badge i {
     color: var(--accent-color);
     font-size: 1.25rem;
 }


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

 .intro-text {
     text-align: center;
     max-width: 800px;
     margin: 0 auto;
 }

 .age-warning {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     background: #FEF2F2;
     color: var(--danger);
     padding: 0.5rem 1rem;
     border-radius: 20px;
     font-weight: 600;
     font-size: 0.875rem;
     margin-bottom: 1rem;
 }


 .featured-casino {
     background-color: var(--bg-white);
     border-radius: var(--radius);
     box-shadow: var(--shadow-lg);
     overflow: hidden;
     position: relative;
     border: 1px solid #E2E8F0;
 }

 .featured-ribbon {
     position: absolute;
     top: 0;
     left: 0;
     background-color: var(--accent-color);
     color: #000;
     font-weight: 700;
     padding: 0.5rem 1rem;
     font-size: 0.875rem;
     border-bottom-right-radius: var(--radius);
     z-index: 10;
 }

 .featured-grid {
     display: grid;
     grid-template-columns: 1fr;
 }

 @media (min-width: 992px) {
     .featured-grid {
         grid-template-columns: 350px 1fr;
     }
 }

 .featured-brand {
     background-color: var(--primary-color);
     padding: 3rem 2rem;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     text-align: center;
 }

 .logo-placeholder {
     width: 180px;
     height: 80px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--bg-white);
     font-size: 2rem;
     font-weight: 800;
     border: 2px dashed rgba(255, 255, 255, 0.3);
     margin-bottom: 1.5rem;
 }

 .rating {
     display: flex;
     gap: 0.25rem;
     color: var(--accent-color);
     font-size: 1.25rem;
     margin-bottom: 0.5rem;
 }

 .rating-text {
     color: var(--bg-white);
     font-weight: 600;
     font-size: 1.25rem;
 }

 .featured-content {
     padding: 2rem;
 }

 .featured-content h2 {
     margin-bottom: 1.5rem;
     font-size: 1.75rem;
 }

 .pros-bonus-grid {
     display: grid;
     gap: 2rem;
     margin-bottom: 2rem;
 }

 @media (min-width: 640px) {
     .pros-bonus-grid {
         grid-template-columns: 1fr 1fr;
     }
 }

 .bonus-box {
     background: #FFFBF0;
     border: 1px solid #FDE68A;
     padding: 1.25rem;
     border-radius: 8px;
 }

 .bonus-box h4 {
     color: #B45309;
     margin-bottom: 0.75rem;
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .bonus-box ul {
     margin-left: 1.5rem;
     list-style-type: disc;
     color: var(--text-main);
     font-size: 0.95rem;
 }

 .pros-list li {
     margin-bottom: 0.75rem;
     display: flex;
     align-items: flex-start;
     gap: 0.75rem;
 }

 .pros-list i {
     color: var(--success);
     margin-top: 0.25rem;
 }

 .featured-footer {
     border-top: 1px solid #E2E8F0;
     padding-top: 1.5rem;
     display: flex;
     flex-direction: column;
     gap: 1.5rem;
 }

 @media (min-width: 768px) {
     .featured-footer {
         flex-direction: row;
         justify-content: space-between;
         align-items: center;
     }
 }

 .mini-stats {
     display: flex;
     flex-wrap: wrap;
     gap: 1.5rem;
     font-size: 0.875rem;
     color: var(--text-muted);
 }

 .mini-stats div {
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .mini-stats i {
     color: var(--primary-color);
 }


 .filters {
     display: flex;
     flex-wrap: wrap;
     gap: 1rem;
     margin-bottom: 2rem;
     justify-content: center;
 }

 .filter-btn {
     background: var(--bg-white);
     border: 1px solid #CBD5E1;
     border-radius: 30px;
     padding: 0.5rem 1rem;
     color: var(--text-muted);
     cursor: pointer;
     font-weight: 500;
     transition: var(--transition);
     display: flex;
     align-items: center;
     gap: 0.5rem;
 }

 .filter-btn.active,
 .filter-btn:hover {
     background: var(--primary-color);
     color: var(--bg-white);
     border-color: var(--primary-color);
 }

 .table-responsive {
     width: 100%;
     overflow-x: auto;
     background: var(--bg-white);
     border-radius: var(--radius);
     box-shadow: var(--shadow-sm);
 }

 .casino-table {
     width: 100%;
     border-collapse: collapse;
     text-align: left;
 }

 .casino-table th,
 .casino-table td {
     padding: 1.25rem 1rem;
     border-bottom: 1px solid #E2E8F0;
 }

 .casino-table th {
     background-color: var(--primary-color);
     color: var(--bg-white);
     font-weight: 600;
     white-space: nowrap;
 }

 .casino-table tbody tr {
     transition: var(--transition);
 }

 .casino-table tbody tr:hover {
     background-color: #F8FAFC;
 }

 .casino-name {
     display: flex;
     align-items: center;
     gap: 1rem;
     font-weight: 700;
     color: var(--primary-color);
 }

 .casino-logo-mini {
     width: 40px;
     height: 40px;
     background: var(--primary-light);
     color: white;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 0.7rem;
     font-weight: bold;
 }

 .casino-table .stars {
     color: var(--accent-color);
     font-size: 0.875rem;
     display: block;
     margin-bottom: 0.25rem;
 }

 .payment-icons {
     display: flex;
     gap: 0.5rem;
     color: var(--text-muted);
     font-size: 1.25rem;
 }

 @media (max-width: 991px) {
     .casino-table thead {
         display: none;
     }

     .casino-table,
     .casino-table tbody,
     .casino-table tr,
     .casino-table td {
         display: block;
         width: 100%;
     }

     .casino-table tr {
         margin-bottom: 1.5rem;
         border: 1px solid #E2E8F0;
         border-radius: var(--radius);
         padding: 1rem;
         box-shadow: var(--shadow-sm);
     }

     .casino-table td {
         border-bottom: 1px dashed #E2E8F0;
         display: flex;
         justify-content: space-between;
         align-items: center;
         padding: 0.75rem 0;
         text-align: right;
     }

     .casino-table td::before {
         content: attr(data-label);
         font-weight: 600;
         color: var(--text-muted);
         text-align: left;
         padding-right: 1rem;
     }

     .casino-table td:last-child {
         border-bottom: none;
         display: block;
         text-align: center;
         margin-top: 1rem;
     }

     .casino-table td:last-child .btn {
         width: 100%;
     }

     .casino-name {
         flex-direction: row-reverse;
     }
 }


 .methodology-wrapper {
     position: relative;
     max-width: 800px;
     margin: 0 auto;
     padding-left: 2rem;
 }

 .methodology-wrapper::before {
     content: '';
     position: absolute;
     left: 0;
     top: 0;
     bottom: 0;
     width: 2px;
     background: #E2E8F0;
 }

 .method-step {
     position: relative;
     margin-bottom: 2.5rem;
     padding-left: 1.5rem;
 }

 .method-step:last-child {
     margin-bottom: 0;
 }

 .method-icon {
     position: absolute;
     left: -2.85rem;
     top: 0;
     width: 40px;
     height: 40px;
     background: var(--bg-white);
     border: 2px solid var(--accent-color);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--primary-color);
     z-index: 2;
 }

 .method-step h3 {
     margin-bottom: 0.5rem;
     font-size: 1.25rem;
 }

 .disclaimer-box {
     background: #F1F5F9;
     border-left: 4px solid var(--text-muted);
     padding: 1rem;
     margin-top: 3rem;
     font-size: 0.875rem;
     border-radius: 0 8px 8px 0;
 }


 .guides-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 1.5rem;
 }

 .guide-card {
     background: var(--bg-white);
     padding: 1.5rem;
     border-radius: var(--radius);
     box-shadow: var(--shadow-sm);
     transition: var(--transition);
     border: 1px solid #E2E8F0;
 }

 .guide-card:hover {
     transform: translateY(-5px);
     box-shadow: var(--shadow-md);
     border-color: var(--accent-color);
 }

 .guide-icon {
     width: 50px;
     height: 50px;
     background: #EEF2FF;
     color: var(--primary-color);
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.5rem;
     margin-bottom: 1.25rem;
 }

 .guide-card h3 {
     font-size: 1.125rem;
     margin-bottom: 0.75rem;
 }

 .guide-card p {
     font-size: 0.95rem;
     color: var(--text-muted);
     margin-bottom: 1rem;
 }

 .read-more {
     color: var(--primary-color);
     font-weight: 600;
     display: inline-flex;
     align-items: center;
     gap: 0.25rem;
     font-size: 0.9rem;
 }

 .read-more:hover {
     color: var(--accent-color);
 }


 .faq-container {
     max-width: 800px;
     margin: 0 auto;
 }

 details {
     background: var(--bg-white);
     border: 1px solid #E2E8F0;
     border-radius: 8px;
     margin-bottom: 1rem;
     overflow: hidden;
     transition: var(--transition);
 }

 summary {
     padding: 1.25rem 1.5rem;
     font-weight: 600;
     color: var(--primary-color);
     cursor: pointer;
     list-style: none;
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 summary::-webkit-details-marker {
     display: none;
 }

 summary::after {
     content: '\f078';
     font-family: 'Font Awesome 6 Free';
     font-weight: 900;
     color: var(--accent-color);
     transition: transform 0.3s ease;
 }

 details[open] summary::after {
     transform: rotate(180deg);
 }

 details[open] {
     border-color: var(--primary-color);
     box-shadow: var(--shadow-sm);
 }

 .faq-content {
     padding: 0 1.5rem 1.25rem;
     color: var(--text-muted);
     line-height: 1.6;
 }


 .responsible-gambling {
     background-color: var(--primary-color);
     color: var(--bg-white);
     padding: 4rem 0;
     border-top: 4px solid var(--accent-color);
     text-align: center;
 }

 .responsible-gambling h2 {
     color: var(--bg-white);
 }

 .rg-icons {
     display: flex;
     justify-content: center;
     gap: 2rem;
     margin: 2rem 0;
     flex-wrap: wrap;
 }

 .rg-item {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 0.5rem;
     max-width: 150px;
 }

 .rg-item i {
     font-size: 2.5rem;
     color: var(--accent-color);
 }

 .rg-item span {
     font-size: 0.875rem;
     font-weight: 500;
 }


 footer {
     background-color: #040A18;
     color: #94A3B8;
     padding: 4rem 0 2rem;
     font-size: 0.9rem;
 }

 .footer-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
     gap: 3rem;
     margin-bottom: 3rem;
 }

 .footer-col h4 {
     color: var(--bg-white);
     margin-bottom: 1.25rem;
     font-size: 1.125rem;
 }

 .footer-col ul li {
     margin-bottom: 0.75rem;
 }

 .footer-col ul a {
     color: #94A3B8;
 }

 .footer-col ul a:hover {
     color: var(--accent-color);
 }

 .social-links {
     display: flex;
     gap: 1rem;
     margin-top: 1rem;
 }

 .social-links a {
     width: 36px;
     height: 36px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--bg-white);
 }

 .social-links a:hover {
     background: var(--accent-color);
     color: #000;
 }

 .footer-bottom {
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     padding-top: 2rem;
     text-align: center;
     font-size: 0.8rem;
 }

 .legal-disclaimer {
     margin-bottom: 1rem;
     color: #64748B;
     max-width: 800px;
     margin: 0 auto 1rem;
 }


 .mobile-sticky-bar {
     position: fixed;
     bottom: 0;
     left: 0;
     width: 100%;
     background: var(--bg-white);
     box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.1);
     display: flex;
     padding: 0.75rem 1rem;
     gap: 1rem;
     z-index: 999;
 }

 .mobile-sticky-bar .btn {
     flex: 1;
     padding: 0.75rem;
     font-size: 0.9rem;
 }

 @media (min-width: 768px) {
     .mobile-sticky-bar {
         display: none;
     }
 }

 .back-to-top {
     position: fixed;
     bottom: 85px;
     right: 20px;
     width: 45px;
     height: 45px;
     background: var(--primary-color);
     color: var(--bg-white);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.25rem;
     cursor: pointer;
     opacity: 0;
     visibility: hidden;
     transition: var(--transition);
     border: none;
     box-shadow: var(--shadow-md);
     z-index: 998;
 }

 @media (min-width: 768px) {
     .back-to-top {
         bottom: 30px;
     }
 }

 .back-to-top.visible {
     opacity: 1;
     visibility: visible;
 }

 .back-to-top:hover {
     background: var(--accent-color);
     color: #000;
 }

 .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;
 }

 .contact-wrapper {
     display: grid;
     gap: 2rem;
     grid-template-columns: 1fr;
 }

 @media (min-width: 992px) {
     .contact-wrapper {
         grid-template-columns: 1fr 1.5fr;
         gap: 3rem;
     }
 }

 .contact-info-card,
 .contact-form-card {
     background: var(--bg-white);
     padding: 2.5rem;
     border-radius: var(--radius);
     box-shadow: var(--shadow-sm);
     border: 1px solid #E2E8F0;
 }

 .contact-info-card {
     background: linear-gradient(145deg, var(--primary-color) 0%, var(--primary-light) 100%);
     color: var(--bg-white);
     border: none;
 }

 .contact-info-card h3 {
     color: var(--bg-white);
     margin-bottom: 1rem;
 }

 .contact-info-card .text-muted {
     color: #CBD5E1;
 }

 .contact-info-card a {
     color: var(--accent-color);
 }

 .contact-info-card a:hover {
     color: var(--accent-hover);
 }

 .contact-detail {
     display: flex;
     gap: 1rem;
     margin-bottom: 1.5rem;
     align-items: flex-start;
 }

 .contact-detail .cd-icon {
     width: 40px;
     height: 40px;
     background: rgba(255, 255, 255, 0.1);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--accent-color);
     font-size: 1.125rem;
     flex-shrink: 0;
 }

 .contact-detail h4 {
     color: var(--bg-white);
     margin-bottom: 0.25rem;
     font-size: 1rem;
 }

 .contact-detail p {
     font-size: 0.9rem;
     color: #E2E8F0;
     margin: 0;
 }

 .contact-social {
     margin-top: 2.5rem;
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     padding-top: 1.5rem;
 }

 .contact-social h4 {
     color: var(--bg-white);
     font-size: 1rem;
     margin-bottom: 0.5rem;
 }

 .form-group {
     margin-bottom: 1.5rem;
 }

 .form-group label {
     display: block;
     margin-bottom: 0.5rem;
     font-weight: 600;
     color: var(--primary-color);
     font-size: 0.9rem;
 }

 .form-group input,
 .form-group textarea,
 .form-group select {
     width: 100%;
     padding: 0.875rem 1rem;
     border: 1px solid #CBD5E1;
     border-radius: 8px;
     font-family: inherit;
     font-size: 1rem;
     color: var(--text-main);
     background-color: var(--bg-white);
     transition: var(--transition);
 }

 .form-group input::placeholder,
 .form-group textarea::placeholder {
     color: #94A3B8;
 }

 .form-group input:focus,
 .form-group textarea:focus,
 .form-group select:focus {
     outline: none;
     border-color: var(--primary-color);
     box-shadow: 0 0 0 3px rgba(11, 27, 61, 0.1);
 }

 .form-checkbox {
     display: flex;
     align-items: flex-start;
     gap: 0.75rem;
     margin-bottom: 1.5rem;
 }

 .form-checkbox input[type="checkbox"] {
     margin-top: 0.25rem;
     width: 1.125rem;
     height: 1.125rem;
     accent-color: var(--primary-color);
     cursor: pointer;
 }

 .form-checkbox label {
     font-size: 0.875rem;
     color: var(--text-muted);
     line-height: 1.5;
     cursor: pointer;
 }

 .legal-section {
     background-color: var(--bg-body);
 }

 .legal-container {
     max-width: 800px;
     margin: 0 auto;
     background-color: var(--bg-white);
     padding: 3rem 4rem;
     border-radius: var(--radius);
     box-shadow: var(--shadow-sm);
     border: 1px solid #E2E8F0;
 }

 .legal-header {
     text-align: center;
     margin-bottom: 3rem;
     padding-bottom: 1.5rem;
     border-bottom: 2px solid #F1F5F9;
 }

 .legal-header h2 {
     font-size: 2.5rem;
     margin-bottom: 0.5rem;
     color: var(--primary-color);
 }

 .last-updated {
     color: var(--text-muted);
     font-size: 0.95rem;
     font-style: italic;
 }

 .legal-content {
     color: var(--text-main);
 }

 .legal-content h3 {
     font-size: 1.25rem;
     color: var(--primary-color);
     margin-top: 2.5rem;
     margin-bottom: 1rem;
 }

 .legal-content p {
     margin-bottom: 1.25rem;
     line-height: 1.7;
     font-size: 1rem;
 }

 .legal-content strong {
     color: var(--primary-color);
 }

 .legal-content ul {
     margin-bottom: 1.5rem;
     padding-left: 1.5rem;
     list-style-type: none;
 }

 .legal-content ul li {
     margin-bottom: 0.75rem;
     position: relative;
     line-height: 1.6;
 }

 .legal-content ul li::before {
     content: "•";
     color: var(--accent-color);
     font-weight: bold;
     font-size: 1.2rem;
     position: absolute;
     left: -1rem;
     top: -2px;
 }

 .legal-content a {
     color: var(--primary-color);
     text-decoration: underline;
     text-decoration-color: var(--accent-color);
     text-decoration-thickness: 2px;
     text-underline-offset: 3px;
 }

 .legal-content a:hover {
     color: var(--accent-color);
     background-color: #FFFBF0;
 }


 @media (max-width: 768px) {
     .legal-container {
         padding: 2rem 1.5rem;
     }

     .legal-header h2 {
         font-size: 2rem;
     }
 }


 .legal-section {
     background-color: var(--bg-body);
 }

 .legal-container {
     max-width: 800px;
     margin: 0 auto;
     background-color: var(--bg-white);
     padding: 3rem 4rem;
     border-radius: var(--radius);
     box-shadow: var(--shadow-sm);
     border: 1px solid #E2E8F0;
 }

 .legal-header {
     text-align: center;
     margin-bottom: 3rem;
     padding-bottom: 1.5rem;
     border-bottom: 2px solid #F1F5F9;
 }

 .legal-header h2 {
     font-size: 2.5rem;
     margin-bottom: 0.5rem;
     color: var(--primary-color);
 }

 .last-updated {
     color: var(--text-muted);
     font-size: 0.95rem;
     font-style: italic;
 }

 .legal-content {
     color: var(--text-main);
 }

 .legal-content h3 {
     font-size: 1.25rem;
     color: var(--primary-color);
     margin-top: 2.5rem;
     margin-bottom: 1rem;
 }

 .legal-content p {
     margin-bottom: 1.25rem;
     line-height: 1.7;
     font-size: 1rem;
 }

 .legal-content strong {
     color: var(--primary-color);
 }

 .legal-content ul {
     margin-bottom: 1.5rem;
     padding-left: 1.5rem;
     list-style-type: none;
 }

 .legal-content ul li {
     margin-bottom: 0.75rem;
     position: relative;
     line-height: 1.6;
 }

 .legal-content ul li::before {
     content: "•";
     color: var(--accent-color);
     font-weight: bold;
     font-size: 1.2rem;
     position: absolute;
     left: -1rem;
     top: -2px;
 }


 .legal-content ol {
     margin-bottom: 1.5rem;
     padding-left: 1.5rem;
     counter-reset: legal-counter;
     list-style-type: none;
 }

 .legal-content ol li {
     margin-bottom: 1rem;
     position: relative;
     line-height: 1.6;
     counter-increment: legal-counter;
 }

 .legal-content ol li::before {
     content: "3." counter(legal-counter) ".";
     color: var(--primary-color);
     font-weight: 700;
     position: absolute;
     left: -2rem;
     top: 0;
     font-size: 0.95rem;
 }

 .legal-content a {
     color: var(--primary-color);
     text-decoration: underline;
     text-decoration-color: var(--accent-color);
     text-decoration-thickness: 2px;
     text-underline-offset: 3px;
 }

 .legal-content a:hover {
     color: var(--accent-color);
     background-color: #FFFBF0;
 }

 @media (max-width: 768px) {
     .legal-container {
         padding: 2rem 1.5rem;
     }

     .legal-header h2 {
         font-size: 2rem;
     }
 }

 .help-box {
     background-color: #F8FAFC;
     border-left: 4px solid var(--primary-color);
     padding: 1.5rem;
     margin: 2rem 0;
     border-radius: 0 8px 8px 0;
 }

 .help-box h4 {
     color: var(--primary-color);
     margin-bottom: 1rem;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     font-size: 1.125rem;
 }

 .help-box p {
     margin-bottom: 1rem;
     font-size: 0.95rem;
 }

 .help-box ul {
     margin-bottom: 0;
 }

 .highlight-box {
     background-color: #FFFBF0;
     border-left-color: var(--accent-color);
 }

 .highlight-box h4 {
     color: #B45309;
 }

 @media (max-width: 768px) {

     .help-box {
         padding: 1.25rem;
     }
 }

 .hidden {
     display: none !important;
 }

 .modal-overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-color: rgba(4, 10, 24, 0.85);
     backdrop-filter: blur(5px);
     display: flex;
     align-items: center;
     justify-content: center;
     z-index: 9999;
     padding: 1.5rem;
 }

 .modal-content {
     background-color: var(--bg-white);
     padding: 2.5rem;
     border-radius: var(--radius);
     width: 100%;
     max-width: 450px;
     box-shadow: var(--shadow-lg);
     position: relative;
     animation: modalFadeIn 0.3s ease-out forwards;
 }

 @keyframes modalFadeIn {
     from {
         opacity: 0;
         transform: translateY(20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .cookie-banner {
     position: fixed;
     bottom: 0;
     left: 0;
     width: 100%;
     background-color: var(--bg-white);
     box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.1);
     z-index: 9998;
     padding: 1.5rem;
     display: flex;
     flex-direction: column;
     gap: 1.5rem;
     border-top: 3px solid var(--primary-color);
 }

 @media (min-width: 992px) {
     .cookie-banner {
         flex-direction: row;
         align-items: center;
         justify-content: space-between;
         padding: 1.5rem 3rem;
     }

     .cookie-content {
         max-width: 60%;
     }

     .cookie-actions {
         display: flex;
         flex-wrap: wrap;
         gap: 0.75rem;
         justify-content: flex-end;
     }
 }

 .cookie-actions {
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
 }


 .cookie-option {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 1rem 0;
     border-bottom: 1px dashed #E2E8F0;
 }

 .cookie-option:last-of-type {
     border-bottom: none;
 }

 .cookie-option-info h4 {
     margin-bottom: 0.25rem;
     font-size: 1rem;
     color: var(--primary-color);
 }

 .cookie-option-info p {
     margin: 0;
     font-size: 0.85rem;
     color: var(--text-muted);
     max-width: 280px;
 }

 .switch {
     position: relative;
     display: inline-block;
     width: 50px;
     height: 26px;
     flex-shrink: 0;
 }

 .switch input {
     opacity: 0;
     width: 0;
     height: 0;
 }

 .slider {
     position: absolute;
     cursor: pointer;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background-color: #CBD5E1;
     transition: .4s;
 }

 .slider:before {
     position: absolute;
     content: "";
     height: 18px;
     width: 18px;
     left: 4px;
     bottom: 4px;
     background-color: white;
     transition: .4s;
 }

 input:checked+.slider {
     background-color: var(--success);
 }

 input:focus+.slider {
     box-shadow: 0 0 1px var(--success);
 }

 input:checked+.slider:before {
     transform: translateX(24px);
 }

 input:disabled+.slider {
     background-color: #94A3B8;
     cursor: not-allowed;
 }

 .slider.round {
     border-radius: 34px;
 }

 .slider.round:before {
     border-radius: 50%;
 }