

/* CSS Variables */
:root {
    /* Primary Colors - Can be customized via theme settings */
    --lazybnb-primary-color: #ffffff;
    --lazybnb-secondary-color: #222020;
    --lazybnb-accent-color: #e63946;
    --lazybnb-accent-color-rgb: 230, 57, 70; /* RGB values for accent color - plugin specific */
    --lazybnb-menu-bg-color: #333333;
    --lazybnb-text-color: #ffffff;
    --lazybnb-light-text-color: #777777;
    --lazybnb-dark-text-color: #222020;
    --lazybnb-link-color: #e63946;
    --lazybnb-link-hover-color: #c1121f;
    --lazybnb-heading-color: #333;
    
    /* Additional Colors - Added during refactoring */
    --lazybnb-light-text-color-bright: #ffffff;
    --lazybnb-content-bg-color: #ffffff;
    --lazybnb-overlay-bg-color: rgba(0, 0, 0, 0.9);
    --lazybnb-content-overlay-bg-color: rgba(0, 0, 0, 0.5);
    --lazybnb-border-light-color: #ffffff; /* Added from theme */
    --lazybnb-hover-background-color: #fff2f1; /* Plugin specific */
    --lazybnb-border-color: #dddddd; /* Plugin specific */
    --lazybnb-footer-border-color: rgba(255, 255, 255, 0.1); /* New */
    --lazybnb-border-light-color: #ffffff;
    --lazybnb-shadow-color-light: rgba(0, 0, 0, 0.1);
    --lazybnb-shadow-color-subtle: rgba(0, 0, 0, 0.05);
    --lazybnb-shadow-color-medium: rgba(0, 0, 0, 0.15); /* Plugin specific */
    --lazybnb-shadow-color-strong: rgba(0, 0, 0, 0.2); /* New */
    --lazybnb-shadow-standard: 0 4px 12px var(--lazybnb-shadow-color-light); /* New Standard Shadow */
    --lazybnb-shadow-hover: 0 5px 15px var(--lazybnb-shadow-color-light); /* New Hover Shadow */

    /* more colors */
    --lazybnb-background-card-primary: #ffffff;
    --lazybnb-background-card-secondary: #f5f5f5;
    --lazybnb-background-card-tertiary: #ffffff;
    --lazybnb-tab-background-color-primary : #f5f5f5a2;
    --lazybnb-tab-background-color-secondary : #cfccc9d3;
    
    /* Hero Menu Gradient Variables - Added for menu-above-hero feature */
    --lazybnb-hero-top-gradient-start: rgba(0, 0, 0, 0.7);
    --lazybnb-hero-top-gradient-middle: rgba(0, 0, 0, 0.5);
    --lazybnb-hero-top-gradient-end: rgba(0, 0, 0, 0.2);
    --lazybnb-hero-bottom-gradient-start: rgba(0, 0, 0, 0.5);
    --lazybnb-hero-bottom-gradient-middle: rgba(0, 0, 0, 0.3);
    --lazybnb-hero-bottom-gradient-end: rgba(0, 0, 0, 0);
    --lazybnb-menu-scrolled-bg: rgba(0, 0, 0, 0.7);
    --lazybnb-menu-mobile-bg: rgba(0, 0, 0, 0.7);
    --lazybnb-dot-shadow-color: rgba(0, 0, 0, 0.5);
    --lazybnb-dot-active-shadow-color: rgba(0, 0, 0, 0.7);
    --lazybnb-menu-text-color: #ffffff;
    --lazybnb-menu-text-hover-color: var(--lazybnb-accent-color);
    --lazybnb-menu-text-shadow: 0 1px 2px var(--lazybnb-shadow-color-light);
    --lazybnb-pagination-bullet-color: #ffffff;
    --lazybnb-pagination-bullet-opacity: 0.9;
    
    /* Spacing Variables */
    --lazybnb-spacing-none: 0; /* New - for zero values */
    --lazybnb-spacing-xs: 0.2rem; /* ~3px */
    --lazybnb-footer-contact-icon-margin-top: 3px; /* New Specific */
    --lazybnb-footer-menu-hover-padding: 5px; /* New Specific */    
    --lazybnb-spacing-hxs: 0.5rem; /* 8px */
    --lazybnb-spacing-shm: 0.625rem; /* 10px */
    --lazybnb-section-title-underline-bottom-offset: -10px; /* New Specific */
    --lazybnb-spacing-15px: 0.9375rem; /* 15px - New Specific */
    --lazybnb-spacing-sm: 1rem; /* 16px */
    --lazybnb-social-links-margin-top: 1.25rem; /* 20px */
    --lazybnb-back-to-top-right: 1.25rem; /* 20px - New Specific */
    --lazybnb-spacing-1-5rem: 1.5rem; /* 24px - New Specific */
    --lazybnb-spacing-30px: 1.875rem; /* 30px - New Specific */
    --lazybnb-spacing-40px: 2.5rem; /* 40px - Re-added for slider */
    --lazybnb-spacing-100px: 6.25rem; /* 100px - Re-added for slider */
    --lazybnb-spacing-md: 2rem; /* 32px */
    --lazybnb-shape-divider-content-padding-y: 3.125rem; /* 50px - New Specific */
    --lazybnb-spacing-lg: 3rem; /* 48px */
    --lazybnb-spacing-xl: 5rem; /* 80px */
    --lazybnb-back-to-top-bottom: 6.25rem; /* 100px - New Specific */
    --lazybnb-spacing-xxl: 7rem;
    --lazybnb-gtranslate-offset: 1.25rem; /* 20px @ 16px base - New */
    --lazybnb-gtranslate-offset-small: 0.625rem; /* 10px @ 16px base - New */
    --lazybnb-container-narrow-max-width: 900px; /* Was 56.25rem - Reverted to px */
    --lazybnb-grid-auto-min-width: 250px; /* Was 15.625rem - Reverted to px */
    --lazybnb-tabs-button-padding-y: 0.75rem; /* New */
    --lazybnb-tabs-button-padding-x: 1.5rem; /* New */
    --lazybnb-distance-badge-padding-y: 0.25rem; /* New */
    --lazybnb-distance-badge-padding-x: 0.75rem; /* New */
    --lazybnb-spacing-1-25rem: 1.25rem; /* New */
    --lazybnb-spacing-button-y: 0.75rem; /* 12px - Re-added for slider button */
    --lazybnb-spacing-button-mobile-y: 0.6rem; /* 9.6px - Re-added for slider button */
    --lazybnb-spacing-pagination-bullet-x: 0.3125rem; /* 5px - Re-added for slider */

    /* Font Sizes */
    --lazybnb-font-size-xxs: 0.8rem; /* ~13px */
    --lazybnb-font-size-xs: 0.9rem; /* ~14px */
    --lazybnb-font-size-p-slider: 1.125rem; /* 18px - New Specific */
    --lazybnb-font-size-sm: 1.1rem; /* ~17.5px */
    --lazybnb-font-size-button: 1rem; /* For slider button & secondary content */
    --lazybnb-font-size-base: 1.2rem;
    --lazybnb-font-size-md: 1.4rem;
    --lazybnb-font-size-slider-desc-sm: 1.5rem; /* Slider desc @ 480px */
    --lazybnb-font-size-lg: 1.6rem;
    --lazybnb-font-size-slider-desc-md: 1.75rem; /* Slider desc @ 600px */
    --lazybnb-font-size-h2-slider: 2.25rem; /* 36px - New Specific */
    --lazybnb-font-size-xl: 2rem;
    --lazybnb-font-size-slider-desc: 2.5rem; /* Slider desc default */
    --lazybnb-font-size-xxl: 3rem;
    --lazybnb-font-size-xxxl: 5rem;

    /* Font Weights */
    --lazybnb-font-weight-light: 300;
    --lazybnb-font-weight-regular: 400;
    --lazybnb-font-weight-medium: 500;
    --lazybnb-font-weight-semibold: 600;
    --lazybnb-font-weight-bold: 700;
    --lazybnb-font-weight-extrabold: 800;

    /* Border Widths */
    --lazybnb-border-width-thin: 1px;
    --lazybnb-negative-border-width-thin: -1px;
    --lazybnb-border-width-base: 2px;
    --lazybnb-section-title-underline-height: 3px;

    /* Specific Component Sizes */
    --lazybnb-container-max-width-standard: 1200px;
    --lazybnb-container-max-width-footer: 1200px;
    --lazybnb-slider-content-max-width: 1200px; /* Re-added */
    --lazybnb-slider-desc-max-width: 1000px; /* Re-added */
    --lazybnb-slider-logo-width: 200px; /* Re-added */
    --lazybnb-slider-nav-button-size: 50px; /* Re-added */
    --lazybnb-slider-nav-button-mobile-size: 40px; /* Re-added */
    --lazybnb-slider-pagination-bullet-size: 12px; /* Re-added */
    --lazybnb-slider-pagination-bullet-mobile-size: 14px; /* Re-added */
    --lazybnb-footer-logo-max-width: 120px;
    --lazybnb-footer-map-height: 200px;
    --lazybnb-section-title-underline-width: 60px;
    --lazybnb-gallery-full-width-max-width: 1800px;
    --lazybnb-amenities-grid-min-width: 250px;
    --lazybnb-services-gallery-grid-min-width: 300px;
    --lazybnb-about-detail-min-width: 120px;
    --lazybnb-default-slider-height: 600px;
    --lazybnb-slide-content-max-width: 800px;
    --lazybnb-shape-divider-height-small: 3.125rem;
    --lazybnb-shape-divider-height-medium: 4.375rem;
    --lazybnb-separator-height: 25rem;
    --lazybnb-separator-height-medium: 18.75rem;
    --lazybnb-separator-height-small: 15.625rem;
    --lazybnb-social-icon-size-base: 40px;
    --lazybnb-social-icon-size-topbar: 28px;
    --lazybnb-social-icon-size-footer: 36px;
    --lazybnb-mobile-contact-icon-size: 24px; /* New */
    --lazybnb-card-image-height: 12.5rem;
    --lazybnb-card-grid-min-width: 18.75rem;
    --lazybnb-map-container-height: 400px; /* New */
    --lazybnb-map-info-window-max-width: 250px; /* New */
    --lazybnb-social-icon-font-size-base: 20px;
    --lazybnb-social-icon-font-size-topbar: 14px;
    --lazybnb-social-icon-font-size-footer: 16px;
    --lazybnb-address-mini-max-width: 300px;
    --lazybnb-contact-icon-size-menu: 24px;
    --lazybnb-mobile-logo-max-width-percentage: 70%; /* New */
    --lazybnb-mobile-logo-max-height: 60px; /* New */
    --lazybnb-mobile-logo-max-height-small: 50px; /* New */
    --lazybnb-mobile-menu-toggle-size: 30px; /* New */
    --lazybnb-separator-button-border-width: 2px;
    --lazybnb-nav-link-underline-height: 2px;
    --lazybnb-nav-link-underline-hover-width: 80%;
    --lazybnb-menu-icon-width: 25px;
    --lazybnb-menu-icon-height: 3px;
    --lazybnb-menu-icon-bar-offset: 8px;
    --lazybnb-menu-icon-bar-offset-neg: -0.5rem; /* -8px - New - For hamburger animation */
    --lazybnb-hamburger-button-size: 70px; /* 70px - New - For fixed button in menu-above-hero */
    --lazybnb-top-bar-container-max-width: 90%; /* New */
    --lazybnb-top-bar-container-width: 50%; /* New */
    --lazybnb-header-container-max-width: 85%; /* New */
    --lazybnb-header-container-width: 50%; /* New */
    --lazybnb-header-logo-link-max-width: 200px; /* New */
    --lazybnb-header-logo-max-height: 80px; /* New */
    --lazybnb-tabs-nav-offset-top: 10px; /* New */
    --lazybnb-tabs-nav-offset-bottom: 10px; /* New */
    --lazybnb-tabs-scrollbar-height: 4px; /* New */
    --lazybnb-tabs-button-active-margin-bottom: -1px; /* New */
    --lazybnb-tabs-button-active-after-bottom: -1px; /* New */
    --lazybnb-tabs-button-active-after-height: 3px; /* New */

    /* Transitions */
    --lazybnb-transition-duration-base: 0.4s;
    --lazybnb-transition-duration-fast: 0.3s;
    --lazybnb-transition-duration-medium: 0.5s; /* New */
    --lazybnb-transition-timing-ease: ease;
    --lazybnb-transition-timing-ease-in-out: ease-in-out;
    --lazybnb-animation-timing-fade: ease-in-out; /* New */

    /* Shadows & Effects */
    --lazybnb-shadow-standard: 0 4px 15px rgba(0, 0, 0, 0.1);
    --lazybnb-overlay-color-dark: rgba(0, 0, 0, 0.5); /* For slider overlay, nav buttons */
    --lazybnb-overlay-color-lighter: rgba(0, 0, 0, 0.3); /* For slider content bg, text/logo shadow */
    --lazybnb-overlay-color-light: rgba(255, 255, 255, 0.2); /* For slider btn-outline hover */
    --lazybnb-shadow-hover: 0 8px 25px rgba(0, 0, 0, 0.15);
    --lazybnb-mobile-menu-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); /* New */
    --lazybnb-top-bar-shadow-offset-y: 1px; /* New */
    --lazybnb-top-bar-shadow-blur: 3px; /* New */
    --lazybnb-header-shadow-offset-y: 2px; /* New */
    --lazybnb-header-shadow-blur: 10px; /* New */
    --lazybnb-item-hover-translateY: -5px;
    --lazybnb-image-hover-scale: 1.05;
    --lazybnb-hover-opacity: 0.9;
    --lazybnb-button-hover-translateY: -2px; /* New */
    --lazybnb-button-disabled-opacity: 0.6; /* New */
    --lazybnb-menu-icon-toggled-rotate: 45deg;
    --lazybnb-card-shadow-offset-y: 4px; /* New */
    --lazybnb-card-shadow-blur: 6px; /* New */
    --lazybnb-card-hover-shadow-offset-y: 10px; /* New */
    --lazybnb-card-hover-shadow-blur: 15px; /* New */

    /* Letter Spacing */
    --lazybnb-button-book-now-letter-spacing: 0.5px; /* New */

    /* Z-indexes */
    --lazybnb-z-index-low: 3; /* New - General low stacking */
    --lazybnb-z-index-hero-overlay: 5; /* New - For hero gradient overlays */
    --lazybnb-z-index-back-to-top: 999;
    --lazybnb-z-index-mobile-menu: 1000; /* New */
    --lazybnb-z-index-mobile-menu-toggle: 1001; /* New */
    --lazybnb-z-index-mobile-header: 100; /* New */
    --lazybnb-z-index-map-overlay: 1; /* New */
    --lazybnb-z-index-content-layer: 1; /* New */
    --lazybnb-z-index-top-bar: 10; /* New */
    --lazybnb-z-index-header: 5; /* New */
    --lazybnb-z-index-gtranslate: 999999; /* New */

    /* Border Radius */
    --lazybnb-border-radius-none: 0; /* Re-added */
    --lazybnb-border-radius-xs: 5px;
    --lazybnb-border-radius-sm: 4px;
    --lazybnb-border-radius-md: 8px;
    --lazybnb-border-radius-lg: 12px;
    --lazybnb-border-radius-xl: 16px;
    --lazybnb-border-radius-circle: 50%; /* Re-added */
    --lazybnb-border-radius-pill: 2rem; /* New */
    --lazybnb-border-radius-base: var(--lazybnb-border-radius-sm);

    /* Font Families */
    --lazybnb-font-family-primary: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    --lazybnb-font-family-secondary: Arial, sans-serif;

    /* Mobile Menu Max Height Offset */
    --lazybnb-mobile-menu-max-height-offset: 100px; /* New */
    --lazybnb-tabs-nav-border-offset: 1px; /* New */
}

/* Higher specificity selector to override plugin variables */
html body {
    /* Primary Colors - Can be customized via theme settings */
    --lazybnb-primary-color: #ffffff;
    --lazybnb-secondary-color: #3d3b3b;
    --lazybnb-accent-color: #e63946;
    --lazybnb-menu-bg-color: #333333;
    --lazybnb-text-color: #ffffff;
    --lazybnb-light-text-color: #777777;
    --lazybnb-link-color: #e63946;
    --lazybnb-link-hover-color: #c1121f;
    
    /* Additional Colors - Added during refactoring */
    --lazybnb-light-text-color-bright: #ffffff;
    --lazybnb-content-bg-color: #ffffff;
    --lazybnb-overlay-bg-color: rgba(0, 0, 0, 0.9);
    --lazybnb-content-overlay-bg-color: rgba(0, 0, 0, 0.5);
    --lazybnb-border-light-color: #ffffff;
    --lazybnb-shadow-color-light: rgba(0, 0, 0, 0.1);
    --lazybnb-shadow-color-subtle: rgba(0, 0, 0, 0.05);
}
