:root {
    /* ═══════════════════════════════════════════════════════════════════ */
    /* PLANVIGO DESIGN SYSTEM - COLOR PALETTE */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-color-accent: #FF785F;
    --pv-color-accent-hover: #D95D39;
    --pv-color-text-primary: #1C1C1E;
    --pv-color-text-secondary: #FF785F;
    --pv-color-text-light: #f1f1f1;
    --pv-color-text-disabled: #D1D1D1;
    --pv-color-bg: #f8f8f8;
    --pv-color-bg-secondary: #F4F4F4;
    --pv-color-border: #D1D1D1;
    --pv-color-border-hover: #FF785F;
    --pv-color-lightbox-bg: #1C1C1E;
    --pv-color-lightbox-ui: #D1D1D1;
    
    --pv-color-success: #00c42a;
    --pv-color-warning: #FBBF24;
    --pv-color-error: #EF4444;
    --pv-color-info: #FF785F;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - FONT FAMILIES */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-family-primary: "Poppins", sans-serif;
    --pv-font-family-secondary: "Inter", sans-serif;
    --pv-font-family-accent: "Mulish", sans-serif;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - H1 HEADLINES */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-h1-size: 48px;
    --pv-font-h1-weight: 700;
    --pv-font-h1-family: var(--pv-font-family-primary);
    --pv-font-h1-line-height: 1.3;
    --pv-font-h1-color: var(--pv-color-text-primary);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - H2 SUB-HEADLINES */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-h2-size: 36px;
    --pv-font-h2-weight: 600;
    --pv-font-h2-family: var(--pv-font-family-primary);
    --pv-font-h2-line-height: 1.4;
    --pv-font-h2-color: var(--pv-color-text-primary);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - H3 SECTION TITLES */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-h3-size: 28px;
    --pv-font-h3-weight: 600;
    --pv-font-h3-family: var(--pv-font-family-secondary);
    --pv-font-h3-line-height: 1.4;
    --pv-font-h3-color: var(--pv-color-text-primary);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - H4 SMALLER HEADINGS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-h4-size: 24px;
    --pv-font-h4-weight: 600;
    --pv-font-h4-family: var(--pv-font-family-secondary);
    --pv-font-h4-line-height: 1.4;
    --pv-font-h4-color: var(--pv-color-text-primary);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - H5 MINI HEADINGS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-h5-size: 20px;
    --pv-font-h5-weight: 500;
    --pv-font-h5-family: var(--pv-font-family-secondary);
    --pv-font-h5-line-height: 1.5;
    --pv-font-h5-color: var(--pv-color-text-primary);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - BODY TEXT */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-body-size: 16px;
    --pv-font-body-weight: 400;
    --pv-font-body-family: var(--pv-font-family-secondary);
    --pv-font-body-line-height: 1.6;
    --pv-font-body-color: var(--pv-color-text-primary);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - SMALL TEXT */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-small-size: 14px;
    --pv-font-small-weight: 400;
    --pv-font-small-family: var(--pv-font-family-secondary);
    --pv-font-small-line-height: 1.5;
    --pv-font-small-color: var(--pv-color-text-primary);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - HINT TEXT */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-hint-size: 12px;
    --pv-font-hint-weight: 300;
    --pv-font-hint-family: var(--pv-font-family-secondary);
    --pv-font-hint-line-height: 1.4;
    --pv-font-hint-color: var(--pv-color-text-disabled);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - BUTTON TEXT */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-button-size: 16px;
    --pv-font-button-weight: 600;
    --pv-font-button-family: var(--pv-font-family-primary);
    --pv-font-button-color: #FFFFFF;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TYPOGRAPHY - LABEL TEXT */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-font-label-size: 14px;
    --pv-font-label-weight: 500;
    --pv-font-label-family: var(--pv-font-family-secondary);
    --pv-font-label-color: var(--pv-color-text-primary);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* BUTTON - STYLING */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-button-padding-vertical: 12px;
    --pv-button-padding-horizontal: 24px;
    --pv-button-border-radius: 10px;
    --pv-button-border-width-normal: 0px;
    --pv-button-border-width-hover: 1px;
    --pv-button-font-size: var(--pv-font-button-size);
    --pv-button-font-weight: var(--pv-font-button-weight);
    --pv-button-text-color: var(--pv-font-button-color);
    --pv-button-bg-color: var(--pv-color-accent);
    --pv-button-border-color-normal: transparent;
    --pv-button-border-color-hover: var(--pv-color-accent-hover);
    --pv-button-shadow-normal: rgba(255, 120, 95, 0.3) 0px 2px 4px 0px;
    --pv-button-shadow-hover: rgba(217, 93, 57, 0.4) 0px 4px 8px 0px;
    --pv-button-bg-color-hover: var(--pv-color-accent-hover);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* IMAGE - STYLING */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-image-border-radius: 8px;
    --pv-image-border-width-normal: 0px;
    --pv-image-border-width-hover: 1px;
    --pv-image-border-color-normal: transparent;
    --pv-image-border-color-hover: var(--pv-color-accent);
    --pv-image-shadow-normal: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px;
    --pv-image-shadow-hover: rgba(255, 120, 95, 0.2) 0px 4px 12px 0px;
    --pv-image-opacity-normal: 1;
    --pv-image-opacity-hover: 0.95;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* INPUT FIELD - STYLING */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-input-padding-vertical: 12px;
    --pv-input-padding-horizontal: 16px;
    --pv-input-border-radius: 6px;
    --pv-input-border-width: 1px;
    --pv-input-border-color-normal: var(--pv-color-border);
    --pv-input-border-color-focus: var(--pv-color-accent);
    --pv-input-bg-color: #FFFFFF;
    --pv-input-text-color: var(--pv-color-text-primary);
    --pv-input-placeholder-color: var(--pv-color-text-light);
    --pv-input-shadow-normal: none;
    --pv-input-shadow-focus: rgba(255, 120, 95, 0.2) 0px 2px 6px 0px;
    --pv-input-font-size: var(--pv-font-body-size);
    --pv-input-font-family: var(--pv-font-family-secondary);
    --pv-input-font-weight: var(--pv-font-body-weight);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* TABLE - STYLING */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-table-font-size: 14px;
    --pv-table-font-family: var(--pv-font-family-secondary);
    --pv-table-font-weight: 400;
    
    --pv-table-header-bg: var(--pv-color-bg-secondary);
    --pv-table-header-text-color: var(--pv-color-text-primary);
    --pv-table-header-font-weight: 600;
    --pv-table-header-padding-vertical: 12px;
    --pv-table-header-padding-horizontal: 16px;
    
    --pv-table-body-border: 1px solid var(--pv-color-border);
    --pv-table-body-padding-vertical: 12px;
    --pv-table-body-padding-horizontal: 16px;
    --pv-table-body-min-height: 48px;
    --pv-table-body-text-color: var(--pv-color-text-primary);
    
    --pv-table-zebra-bg: #FAFAFA;
    --pv-table-hover-bg: #FFF1ED;
    
    --pv-table-sort-icon-color: var(--pv-color-text-light);
    --pv-table-sort-icon-active-color: var(--pv-color-accent);
    --pv-table-sort-icon-size: 12px;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* PAGE TRANSITION - STYLING */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-transition-bg-color: var(--pv-color-accent);
    --pv-transition-animation: fade-in;
    --pv-transition-duration: 400ms;
    --pv-transition-timing: ease-in-out;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* LIGHTBOX - STYLING */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-lightbox-bg-color: var(--pv-color-lightbox-bg);
    --pv-lightbox-text-color: #FFFFFF;
    --pv-lightbox-title-size: 16px;
    --pv-lightbox-title-weight: 600;
    --pv-lightbox-description-size: 14px;
    --pv-lightbox-description-weight: 400;
    
    --pv-lightbox-ui-color: var(--pv-color-lightbox-ui);
    --pv-lightbox-ui-hover-color: var(--pv-color-accent);
    --pv-lightbox-icon-size: 20px;
    --pv-lightbox-toolbar-icon-size: 18px;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* SPACING - DIMENSIONS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-spacing-xs: 4px;
    --pv-spacing-sm: 8px;
    --pv-spacing-md: 16px;
    --pv-spacing-lg: 24px;
    --pv-spacing-xl: 32px;
    --pv-spacing-2xl: 48px;
    --pv-spacing-3xl: 64px;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* BORDER RADIUS - DEFINITIONS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-border-radius-small: 4px;
    --pv-border-radius-medium: 6px;
    --pv-border-radius-large: 8px;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* SHADOWS - DEFINITIONS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-shadow-subtle: 0px 1px 2px rgba(0, 0, 0, 0.04);
    --pv-shadow-small: 0px 2px 4px rgba(0, 0, 0, 0.06);
    --pv-shadow-medium: 0px 4px 8px rgba(0, 0, 0, 0.1);
    --pv-shadow-large: 0px 8px 16px rgba(0, 0, 0, 0.15);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* GRADIENTS - EXTENDED COLORS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-color-black: #000000;
    --pv-color-white: #FFFFFF;
    --pv-color-cyan-bluish-gray: #abb8c3;
    --pv-color-pale-pink: #f78da7;
    --pv-color-vivid-red: #cf2e2e;
    --pv-color-luminous-orange: #ff6900;
    --pv-color-luminous-amber: #fcb900;
    --pv-color-light-green-cyan: #7bdcb5;
    --pv-color-vivid-green-cyan: #00d084;
    --pv-color-pale-cyan-blue: #8ed1fc;
    --pv-color-vivid-cyan-blue: #0693e3;
    --pv-color-vivid-purple: #9b51e0;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* GRADIENTS - PRESETS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-gradient-cyan-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, rgb(155, 81, 224) 100%);
    --pv-gradient-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
    --pv-gradient-amber-orange: linear-gradient(135deg, rgba(252, 185, 0, 1) 0%, rgba(255, 105, 0, 1) 100%);
    --pv-gradient-orange-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgb(207, 46, 46) 100%);
    --pv-gradient-gray-cyan: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
    --pv-gradient-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
    --pv-gradient-blush-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
    --pv-gradient-blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
    --pv-gradient-luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
    --pv-gradient-pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
    --pv-gradient-electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
    --pv-gradient-midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);

    /* ═══════════════════════════════════════════════════════════════════ */
    /* FONT AWESOME - ICON FONTS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-fa-classic: "Font Awesome 6 Free";
    --pv-fa-solid: normal 900 1em / 1 "Font Awesome 6 Free";
    --pv-fa-regular: normal 400 1em / 1 "Font Awesome 6 Free";
    --pv-fa-brands-family: "Font Awesome 6 Brands";
    --pv-fa-brands: normal 400 1em / 1 "Font Awesome 6 Brands";

    /* ═══════════════════════════════════════════════════════════════════ */
    /* ASPECT RATIOS - PRESETS */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-aspect-square: 1;
    --pv-aspect-4-3: 4 / 3;
    --pv-aspect-3-4: 3 / 4;
    --pv-aspect-3-2: 3 / 2;
    --pv-aspect-2-3: 2 / 3;
    --pv-aspect-16-9: 16 / 9;
    --pv-aspect-9-16: 9 / 16;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* CONTAINER / LAYOUT - ELEMENTOR COMPAT */
    /* ═══════════════════════════════════════════════════════════════════ */
    
    --pv-container-border-radius: 8px;
    --pv-container-border-width-top: 0px;
    --pv-container-border-width-right: 0px;
    --pv-container-border-width-bottom: 0px;
    --pv-container-border-width-left: 0px;
    --pv-container-border-style: solid;
    --pv-container-border-color: var(--pv-color-border);
    
    --pv-container-widget-width: 100%;
    --pv-container-widget-height: auto;
    --pv-container-widget-flex-grow: 1;
    --pv-container-widget-align-self: auto;
    
    --pv-container-content-width: min(100%, 1140px);
    --pv-container-width: 100%;
    --pv-container-min-height: auto;
    --pv-container-height: auto;
    --pv-container-text-align: left;
    
    --pv-container-margin-top: 0px;
    --pv-container-margin-right: 0px;
    --pv-container-margin-bottom: 0px;
    --pv-container-margin-left: 0px;
    
    --pv-container-padding-top: 16px;
    --pv-container-padding-right: 16px;
    --pv-container-padding-bottom: 16px;
    --pv-container-padding-left: 16px;
    
    --pv-container-position: relative;
    --pv-container-z-index: 0;
    --pv-container-overflow: visible;
    
    --pv-container-gap: 16px;
    --pv-container-row-gap: 16px;
    --pv-container-column-gap: 16px;
    
    --pv-container-overlay-mix-blend-mode: initial;
    --pv-container-overlay-opacity: 1;
    --pv-container-overlay-transition: 0.3s;
    
    --pv-container-grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    --pv-container-grid-template-rows: auto;
    --pv-container-flex-wrap-mobile: wrap;

    /* ═══════════════════════════════════════════════════════════════════ */
    /* LEGACY VARIABLES - BACKWARD COMPATIBILITY */
    /* ═══════════════════════════════════════════════════════════════════ */

    --pv-primary: #FF785F;
    --pv-accent: #FF785F;
    --pv-text-primary: #1C1C1E;
    --pv-text-secondary: #FF785F;
    --pv-background: #FFFFFF;
    --pv-secondary-background: #D1D1D1;
    --pv-border: #D1D1D1;
    --pv-success: #34D399;
    --pv-warning: #FBBF24;
    --pv-error: #EF4444;
    --pv-info: #FF785F;
    --pv-hover: #D95D39;
    --pv-focus: rgba(255, 120, 95, 0.5);
    --pv-primary-font-family: "Poppins", sans-serif;
    --pv-primary-font-size: 48px;
    --pv-primary-font-weight: 700;
    --pv-primary-line-height: 1.3;
    --pv-secondary-font-family: "Inter", sans-serif;
    --pv-secondary-font-size: 20px;
    --pv-secondary-font-weight: 600;
    --pv-secondary-line-height: 1.5;
    --pv-text-font-family: "Inter", sans-serif;
    --pv-text-font-size: 16px;
    --pv-text-font-weight: 400;
    --pv-text-line-height: 1.6;
    --pv-accent-font-family: "Mulish", sans-serif;
    --pv-accent-font-size: 24px;
    --pv-accent-font-weight: 600;
    --pv-page-transition-animation: fade-in;
    --pv-page-transition-duration: 400ms;
    --pv-page-title-display: block;
    --pv-font-small: 14px;
    --pv-font-medium: 20px;
    --pv-font-large: 36px;
    --pv-font-x-large: 42px;
    --pv-spacing-xs: 4px;
    --pv-spacing-sm: 8px;
    --pv-spacing-md: 16px;
    --pv-spacing-lg: 24px;
    --pv-spacing-xl: 32px;
    --pv-spacing-2xl: 48px;
    --pv-spacing-3xl: 64px;
    --pv-shadow-natural: 0px 4px 8px rgba(0, 0, 0, 0.1);
    --pv-shadow-deep: 0px 8px 16px rgba(0, 0, 0, 0.15);
    --pv-shadow-sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
    --pv-shadow-outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
    --pv-shadow-crisp: 6px 6px 0px rgba(0, 0, 0, 1);
    --pv-black: #000000;
    --pv-white: #FFFFFF;
    --pv-cyan-bluish-gray: #abb8c3;
    --pv-pale-pink: #f78da7;
    --pv-vivid-red: #cf2e2e;
    --pv-luminous-orange: #ff6900;
    --pv-luminous-amber: #fcb900;
    --pv-light-green-cyan: #7bdcb5;
    --pv-vivid-green-cyan: #00d084;
    --pv-pale-cyan-blue: #8ed1fc;
    --pv-vivid-cyan-blue: #0693e3;
    --pv-vivid-purple: #9b51e0;
    --pv-gradient-cyan-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, rgb(155, 81, 224) 100%);
    --pv-gradient-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
    --pv-gradient-amber-orange: linear-gradient(135deg, rgba(252, 185, 0, 1) 0%, rgba(255, 105, 0, 1) 100%);
    --pv-gradient-orange-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgb(207, 46, 46) 100%);
    --pv-gradient-gray-cyan: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
    --pv-gradient-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
    --pv-gradient-blush-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
    --pv-gradient-blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
    --pv-gradient-luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
    --pv-gradient-pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
    --pv-gradient-electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
    --pv-gradient-midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);

    /* Elementor Container Defaults */
    --border-radius: 8px;
    --border-top-width: 0px;
    --border-right-width: 0px;
    --border-bottom-width: 0px;
    --border-left-width: 0px;
    --border-style: solid;
    --border-color: #D1D1D1;
    --container-widget-width: 100%;
    --container-widget-height: auto;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: auto;
    --content-width: min(100%, 1140px);
    --width: 100%;
    --min-height: auto;
    --height: auto;
    --text-align: left;
    --margin-top: 0px;
    --margin-right: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --padding-top: 16px;
    --padding-right: 16px;
    --padding-bottom: 16px;
    --padding-left: 16px;
    --position: relative;
    --z-index: 0;
    --overflow: visible;
    --gap: 16px;
    --row-gap: 16px;
    --column-gap: 16px;
    --overlay-mix-blend-mode: initial;
    --overlay-opacity: 1;
    --overlay-transition: 0.3s;
    --e-con-grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    --e-con-grid-template-rows: auto;
    --flex-wrap-mobile: wrap;
    margin-block-end: 0;
    margin-block-start: 0;
    margin-inline-end: 0;
    margin-inline-start: 0;
    padding-inline-end: 0;
    padding-inline-start: 0;
}
