/* Utility classes replacing inline style="" attributes (audit #02 — removes need for style-src 'unsafe-inline'). */
.u-scalex-0 { transform: scaleX(0); }
.u-stroke-15 { stroke-width: 1.5; }
.u-delay-0 { animation-delay: 0s; }
.u-delay-3 { animation-delay: 0.3s; }
.u-delay-6 { animation-delay: 0.6s; }
.u-border-block { border: 1px solid #E5E5E5; display: block; }
.u-none { display: none; }
.u-hero-overlay { display: none; background: radial-gradient(ellipse at center, transparent 30%, rgba(0, 0, 0, 0.25) 100%); }
.u-map-box { height: 520px; width: 100%; background: #F5F5F5; }
.u-minh-320 { min-height: 320px; }


/* --- Cookie banner styles (moved out of cookie-banner.js injected <style>, CSP #02) --- */
            #eb-cookie-banner {
                position: fixed; bottom: 0; left: 0; right: 0; z-index: 9998;
                background: #080808; color: #FAFAFA;
                border-top: 2px solid #D2FF00;
                font-family: 'Red Hat Display', sans-serif;
                animation: eb-slide-up 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            }
            @keyframes eb-slide-up { from { transform: translateY(100%); } to { transform: translateY(0); } }
            .eb-cookie-inner {
                max-width: 1440px; margin: 0 auto; padding: 1.25rem 1.5rem;
                display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center;
            }
            @media (max-width: 768px) {
                .eb-cookie-inner { grid-template-columns: 1fr; gap: 1rem; padding: 1.25rem 1rem; }
            }
            .eb-cookie-content h3 {
                font-family: 'Syncopate', sans-serif; font-weight: 900; font-size: 0.875rem;
                text-transform: uppercase; letter-spacing: 0.05em;
                margin: 0 0 0.5rem; color: #FAFAFA;
            }
            .eb-cookie-content p {
                font-size: 0.8rem; line-height: 1.5; color: rgba(255,255,255,0.75);
                margin: 0; max-width: 700px;
            }
            .eb-cookie-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
            .eb-btn-primary, .eb-btn-secondary, .eb-btn-ghost {
                padding: 0.875rem 1.25rem; font-size: 0.65rem;
                font-family: 'Red Hat Display', sans-serif; font-weight: 900;
                text-transform: uppercase; letter-spacing: 0.15em;
                cursor: pointer; transition: all 0.2s; border: none;
                white-space: nowrap;
            }
            .eb-btn-primary { background: #D2FF00; color: #080808; }
            .eb-btn-primary:hover { filter: brightness(1.1); }
            .eb-btn-secondary { background: transparent; color: #FAFAFA; border: 1px solid rgba(255,255,255,0.3); }
            .eb-btn-secondary:hover { border-color: #FAFAFA; }
            .eb-btn-ghost { background: transparent; color: rgba(255,255,255,0.6); border: 1px solid transparent; }
            .eb-btn-ghost:hover { color: #FAFAFA; }

            #eb-cookie-modal {
                position: fixed; inset: 0; z-index: 9999;
                font-family: 'Red Hat Display', sans-serif;
                animation: eb-fade-in 0.2s ease-out;
            }
            @keyframes eb-fade-in { from { opacity: 0; } to { opacity: 1; } }
            .eb-modal-overlay {
                position: absolute; inset: 0; background: rgba(8, 8, 8, 0.7);
                backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
            }
            .eb-modal-content {
                position: relative; background: #FAFAFA; color: #080808;
                max-width: 560px; margin: 5vh auto; max-height: 90vh; overflow-y: auto;
                padding: 2.5rem 2rem; border: 1px solid #080808;
                box-shadow: 0 20px 60px rgba(0,0,0,0.3);
            }
            .eb-modal-close {
                position: absolute; top: 1rem; right: 1rem;
                background: transparent; border: none; cursor: pointer;
                color: #080808; padding: 0.5rem;
            }
            .eb-modal-close:hover { color: #888; }
            #eb-modal-title {
                font-family: 'Syncopate', sans-serif; font-weight: 900;
                font-size: 1.25rem; text-transform: uppercase;
                margin: 0 0 0.75rem; line-height: 1;
            }
            .eb-modal-desc { font-size: 0.85rem; line-height: 1.6; color: #444; margin-bottom: 2rem; }
            .eb-category {
                padding: 1rem 0;
                border-top: 1px solid #E5E5E5;
            }
            .eb-category-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; }
            .eb-category h4 {
                font-family: 'Red Hat Display', sans-serif; font-weight: 800;
                font-size: 0.9rem; margin: 0; color: #080808;
            }
            .eb-category p { font-size: 0.75rem; line-height: 1.5; color: #666; margin: 0; }
            .eb-status-locked {
                font-size: 0.65rem; font-weight: 900; text-transform: uppercase;
                letter-spacing: 0.15em; color: #888;
                background: #F5F5F5; padding: 0.35rem 0.6rem;
            }
            .eb-switch { position: relative; display: inline-block; width: 44px; height: 24px; }
            .eb-switch input { opacity: 0; width: 0; height: 0; }
            .eb-slider {
                position: absolute; cursor: pointer; inset: 0;
                background: #ccc; transition: 0.2s;
            }
            .eb-slider::before {
                content: ''; position: absolute; height: 18px; width: 18px;
                left: 3px; bottom: 3px; background: white; transition: 0.2s;
            }
            .eb-switch input:checked + .eb-slider { background: #D2FF00; }
            .eb-switch input:checked + .eb-slider::before { transform: translateX(20px); }
            .eb-modal-actions {
                display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 2rem;
                padding-top: 1.5rem; border-top: 1px solid #E5E5E5;
                justify-content: flex-end;
            }
            .eb-modal-actions .eb-btn-ghost { color: #666; }
            .eb-modal-actions .eb-btn-ghost:hover { color: #080808; }

            html[dir="rtl"] .eb-modal-close { right: auto; left: 1rem; }
            html[dir="rtl"] .eb-cookie-actions { justify-content: flex-end; }
        

.eb-link { color: #D2FF00; text-decoration: underline; }
