:root {
    --h1: clamp(3.125rem, 1.6827rem + 6.4103vw, 9.375rem); /* 50px to 150px */;
    --h2: clamp(1.625rem, 1.1346rem + 2.1795vw, 3.75rem); /* 26px to 60px */;
    --h3: clamp(1.5rem, 1.2692rem + 1.0256vw, 2.5rem); /* 24px to 40px */;
    --h4: clamp(1rem, 0.7692rem + 1.0256vw, 2rem); /* 16px to 32px */;
    --h5: clamp(1.25rem, 1.1635rem + 0.3846vw, 1.625rem); /* 20px to 26px */;
    --h6: clamp(1.125rem, 1.0673rem + 0.2564vw, 1.375rem); /* 18px to 22px */;
    --p: clamp(1rem, 0.9423rem + 0.2564vw, 1.25rem); /* 16px to 20px */;
}

/* Back to Top Button */
#back-to-top { display: flex; position: fixed; bottom: 30px; right: 30px; z-index: 9999; background-image: linear-gradient(90deg, rgba(var(--secondaryrgb), 1) 0%, rgba(var(--primaryrgb), 1) 100%); color: var(--accent-text); border: none; border-radius: 50%; width: 50px; height: 50px; cursor: pointer; align-items: center; justify-content: center; opacity: 0; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); -webkit-transform: translateY(100%); transform: translateY(100%); -webkit-transition: transform 0.3s ease-out, opacity 0.1s ease-out; transition: transform 0.3s ease-out, opacity 0.1s ease-out; }
#back-to-top.show { opacity: 1; -webkit-transform: translateY(0px); transform: translateY(0px); }
#back-to-top:hover { -webkit-transform: translateY(-3px); transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2); }
#back-to-top svg { width: 20px; height: 20px; stroke: currentColor; fill: none; color: var(--accent-text); }

/* Responsive */
@media (max-width: 768px) { #back-to-top { bottom: 20px; right: 20px; width: 45px; height: 45px; } }

/* sticky style */
.wpl-sticky { position: sticky !important; top: 0 !important; }

/* higlight effect (mobile) */
* {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
  -webkit-focus-ring-color: rgba(255, 255, 255, 0) !important;
  outline: none !important;
}

/* Common Styles */
h1.wpl-heading { font-size: clamp(3.125rem, 1.6827rem + 6.4103vw, 9.375rem); /* 50px to 150px */ line-height: 1.1; font-weight: 500; pointer-events: none;}
h2.wpl-heading { font-size: clamp(1.625rem, 1.1346rem + 2.1795vw, 3.75rem); /* 26px to 60px */ line-height: 1.2; font-weight: 500; pointer-events: none;}
h3.wpl-heading { font-size: clamp(1.5rem, 1.2692rem + 1.0256vw, 2.5rem); /* 24px to 40px */ line-height: 1.1; font-weight: 500; pointer-events: none;}
h4.wpl-heading { font-size: clamp(1rem, 0.7692rem + 1.0256vw, 2rem); /* 16px to 32px */ line-height: 1.1; font-weight: 500; pointer-events: none;}
h5.wpl-heading { font-size: clamp(1.25rem, 1.1635rem + 0.3846vw, 1.625rem); /* 20px to 26px */ line-height: 1.1; font-weight: 500; pointer-events: none;}
h6.wpl-heading { font-size: clamp(1.125rem, 1.0673rem + 0.2564vw, 1.375rem); /* 18px to 22px */ line-height: 1.1; font-weight: 500; pointer-events: none;}
p.wpl-heading { font-size: clamp(1rem, 0.9423rem + 0.2564vw, 1.25rem); /* 16px to 20px */ line-height: 1.6; pointer-events: none;}

/* breadcrumb style */
.webpixlab-breadcrumb { text-align: center; padding: 50px 20px 80px; }
.webpixlab-breadcrumb .webpixlab-page-title h1.entry-title { font-size: var(--h2); margin: 0; line-height: 1; }
.webpixlab-breadcrumb .webpixlab-page-title { padding-bottom: 20px; }
.webpixlab-breadcrumb .webpixlab-nav-link { display: flex; align-items: center; justify-content: center; gap: 10px; }
.webpixlab-breadcrumb .webpixlab-nav-link,
.webpixlab-breadcrumb .webpixlab-nav-link a,
.webpixlab-breadcrumb .webpixlab-page-title h1.entry-title { color: var(--accent-text); }

/* footer styles */
.wpl-footer .wpl-toggle-accordion__item { border: 0; }
.wpl-footer .wpl-toggle-accordion__item .wpl-toggle-accordion__title { font-size: clamp(1.125rem, 0.9519rem + 0.7692vw, 1.875rem); /* 18px to 30px */ padding: 0; }
.wpl-toggle-accordion__item .wpl-toggle-accordion__title .wpl-toggle-accordion__icon { line-height: 0; }
.wpl-footer .wpl-toggle-accordion__content { padding: 0 !important; }
.wpl-toggle-accordion__item ul { padding: 0; margin: 0; }
.wpl-toggle-accordion__item li { list-style: none; }
.wpl-footer .wpl-toggle-accordion__icon { display: none; }
.wpl-footer .wpl-toggle-accordion__title { justify-content: start; }
.wpl-footer .wpl-toggle-accordion__content .wpl-toggle-accordion__sub-item { font-size: clamp(1rem, 0.7143rem + 0.4464vw, 1.25rem); /* 16px to 20px */ color: var(--accent-text); }
.wpl-footer .wpl-toggle-accordion__content .wpl-toggle-accordion__sub-item a { color: var(--accent-text); }
.wpl-footer .wpl-toggle-accordion__item ul { display: flex; flex-direction: column; gap: 10px; }
.site-footer a.elementor-button { padding: 0; border-radius: 50%; width: 150px; height: 150px; display: flex; align-items: center; justify-content: center; font-size: clamp(1rem, 0.7143rem + 0.4464vw, 1.25rem); /* 16px to 20px */ }
.site-footer a.elementor-button:before { border-radius: 50%; }
@media screen and (min-width:1024px) { .wpl-footer .wpl-toggle-accordion__content { max-height: 100% !important; opacity: 1 !important; visibility: visible !important; min-height: 100% !important; padding-top: 20px !important; } }
.site-footer ul { padding: 0; margin: 0; }
@media screen and (max-width:1024px) {
    .wpl-footer .wpl-toggle-accordion__item { -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }
    .wpl-footer .wpl-toggle-accordion__item.active .wpl-toggle-accordion__title {
        padding: 0 0 20px;
    }
    .wpl-footer .wpl-toggle-accordion__item .wpl-toggle-accordion__title {
        justify-content: center;
    }
    .wpl-footer .wpl-toggle-accordion__content {
        text-align: center;
    }
}

/* blog style */
.wpl-blog-post { padding: clamp(1.875rem, 1.5865rem + 1.2821vw, 3.125rem) clamp(1.25rem, 0.8173rem + 1.9231vw, 3.125rem); /* 20px to 50px */ border-radius: clamp(1.25rem, 1.1058rem + 0.641vw, 1.875rem); /* 30px */ border: 2px solid rgba(var(--borderrgb),0.8); background-image: linear-gradient(120deg, rgba(var(--primaryrgb), 0.5) 0%, rgba(var(--secondaryrgb), 0.5) 100%); backdrop-filter: blur(2px); pointer-events: none; }
.wpl-blog-post .thumbnail img { border: 2px solid var(--border); border-radius: clamp(0.625rem, 0.4808rem + 0.641vw, 1.25rem); }
.wpl-blog-post .excerpt,
.wpl-blog-post .title { margin: 0px; }
.wpl-blog-post .title { font-size: var(--h3); padding-bottom: 10px; line-height: 1.2; }
.wpl-blog-post .excerpt { font-size: var(--p); }
.wpl-blog-post .thumbnail { padding-bottom: 25px; line-height: 0; }