@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&display=swap');

@font-face {
    font-family: 'Kalice';
    src: url('../fonts/Kalice-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* variable */
:root {
    --alt-font: 'Kalice', sans-serif;
    --primary-font: 'Atkinson Hyperlegible', sans-serif;
    --base-color: #4c46c0;
    --dark-gray: #2a2b3f;
    --medium-gray: #797a8c;
}   
/* reset */
body{
    font-size: 17px;
    line-height: 30px;
    overflow-x: hidden; /* Prevent horizontal scroll */
}

html {
    overflow-x: hidden; /* Prevent horizontal scroll on html element */
}
.placeholder-medium-gray::-webkit-input-placeholder {
    color: var(--white) !important;
    text-overflow: ellipsis;
    opacity:0.3;
}
.placeholder-medium-gray::-moz-placeholder {
    color: var(--white) !important;
    text-overflow: ellipsis;
    opacity:0.3;
}
.placeholder-medium-gray:-ms-input-placeholder {
    color: var(--white) !important;
    text-overflow: ellipsis;
    opacity:0.3;
}
/* bg color */
.bg-sea-buckthorn {
    background-color: #ec954d;
}
/* bg transparent color */
.bg-dark-gray-transparent {
    background-color: rgba(42, 43, 63,.8);
}
/* bg gradient color */
.bg-gradient-chablis-red-quartz-white {
    background-image: linear-gradient(135deg, rgba(243, 107, 74, 0.08) 0%, rgba(98, 86, 200, 0.08) 100%);
    border: 1px solid rgba(243, 107, 74, 0.15);
}
.bg-gradient-top-very-light-gray {
    background-image: linear-gradient(to top, #f4f7fd, #f4f7fd, #f9fbff, #f9fbff, #ffffff);
}
/* text gradient color */
.text-gradient-orange-sky-blue {
    background-image: linear-gradient(to right, #f36b4a, #c26772, #6256c8, #6256c8, #6256c8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* btn */
.btn {
    font-weight: 600;
}
.btn-gradient-orange-sky-blue {
    background-image: linear-gradient(to right, #f36b4a, #584ccb, #f36b4a);
    background-size: 200% auto;
    color: var(--white);
}
/* heading */
h1 {
    line-height: 4.375rem;
}
h2 {
    line-height: 3.438rem;
}
h3 {
    line-height: 2.813rem;
}
h4 {
    line-height: 2.375rem;
}
h5 {
    line-height: 2rem;
}
h6 {
    line-height: 1.75rem;
}
/* opacity */
.opacity-05 {
    opacity: .05;
}
/* header */
header .navbar-brand img {
    max-height: 27px;
}
header .btn.btn-rounded.btn-very-small{
    font-size: 12px;
    font-weight: 600;
    padding: 8px 25px;
}
.navbar .navbar-nav .nav-link {
    font-weight: 600;
    font-size: 18px;
}
header .left-nav .navbar-nav:before {
    background: rgba(0,0,0,.3); 
}
/* footer */
footer .nav-link {
    color: var(--dark-gray);  
}
.nav-link {
    padding: 0.5rem 1.5rem;
}
footer.half-footer {
    padding: 40px 0 40px 0;
}
footer .elements-social ul li:last-child {
    margin-right: 0;
}
/* page title */
.page-title-large h1 {
    font-size: 3.8rem;
    line-height: 4.2rem;
}
.page-title-large h2 {
    font-size: 20px;
    line-height: 30px;
}
/* media query responsive */
@media (max-width: 991px) {
    .tab-style-04 .nav-tabs .nav-item {
        padding: 0 20px;
    }
    .process-step-style-02 .progress-step-separator {
        display: block;
    }
    footer .nav-link {
        padding: 0.5rem 1rem; 
    }
}
@media (max-width: 768px) {
    .tab-style-04 .nav-tabs .nav-item {
        padding: 0 10px;
    }
}
@media (max-width: 575px) {
    .process-step-style-02 .progress-step-separator {
        display: none;
    }
    .background-position-center-bottom {
        background-position: center bottom -1px !important;
    }
}
/* Logo sizing */
header .navbar-brand .default-logo {
  width: 120px;
  height: auto;
  visibility: visible;
  opacity: 1;
}

header .navbar-brand .alt-logo,
header .navbar-brand .mobile-logo {
  visibility: hidden;
  opacity: 0;
  width: 0;
  height: auto;
}

/* Mobile header adjustments */
@media (max-width: 991px) {
  header .navbar-brand .default-logo,
  header .navbar-brand .alt-logo {
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
  }

  header .navbar-brand .mobile-logo {
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-height: 21px;
  }

  header .header-button .btn {
    font-size: 10px !important;
    padding: 8px 16px !important;
    line-height: 16px !important;
  }

  header nav {
    padding: 10px 0 !important;
  }
}


.clients-style-08 .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(100%) contrast(1.5);
}

/* Floating WhatsApp Button */
.bottom-50px {
    bottom: 50px;
}
.right-50px {
    right: 50px;
}
.z-index-999 {
    z-index: 999;
}

/* WhatsApp brand color button */
.btn-whatsapp {
    background-color: #25D366 !important;
    color: white !important;
}

.btn-whatsapp:hover {
    background-color: #128C7E !important;
    color: white !important;
}

/* Mobile responsive positioning */
@media (max-width: 991px) {
    .bottom-50px {
        bottom: 30px;
    }
    .right-50px {
        right: 20px;
    }
}

/* Subtle gradient background */
.pointer-events-none {
    pointer-events: none;
}

/* Ensure gradient doesn't interfere with content */
section.position-relative {
    z-index: 1;
}

section.position-relative > .container.position-relative {
    z-index: 2;
}

/* Primary font utility class for better number readability */
.primary-font {
    font-family: var(--primary-font) !important;
}

/* Highlight color for hero numbers */
.text-highlight-orange {
    color: #f36b4a !important;
}

/* Header spacing classes - compensates for fixed header height */
.top-space-margin {
    margin-top: 96px;
}

.ipad-top-space-margin {
    margin-top: 76px;
}

.full-screen.top-space-margin {
    height: calc(100vh - 96px);
}

/* Responsive adjustments for header spacing */
@media (max-width: 991px) {
    .top-space-margin,
    .ipad-top-space-margin {
        margin-top: 76px;
    }

    .full-screen.top-space-margin,
    .full-screen.ipad-top-space-margin {
        height: calc(100vh - 76px);
    }
}

/* Modern Pricing Cards */
.pricing-modern {
    background: #fff;
    border-radius: 20px;
    padding: 40px 32px;
    border: 1px solid rgba(0,0,0,0.06);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.pricing-modern:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 48px rgba(0,0,0,0.08);
}

.pricing-modern.pricing-featured {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d1f3d 100%);
    color: #fff;
    border: none;
    position: relative;
}

.pricing-modern.pricing-featured::before {
    content: '';
    position: absolute;
    inset: -2px;
    background: linear-gradient(135deg, #f26b4a, #6256c8);
    border-radius: 22px;
    z-index: -1;
}

.pricing-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #f26b4a 0%, #e05a3a 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 8px 20px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.pricing-name {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 4px;
}

.pricing-tagline {
    font-size: 14px;
    opacity: 0.7;
    margin-bottom: 24px;
}

.pricing-amount {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
}

.pricing-period {
    font-size: 14px;
    opacity: 0.6;
    margin-top: 8px;
}

.pricing-features {
    list-style: none;
    padding: 0;
    margin: 32px 0;
    flex-grow: 1;
    text-align: left;
}

.pricing-features li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    font-size: 15px;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.pricing-modern.pricing-featured .pricing-features li {
    border-bottom-color: rgba(255,255,255,0.1);
}

.pricing-features li:last-child {
    border-bottom: none;
}

.pricing-check {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(16, 185, 129, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.pricing-check svg {
    width: 12px;
    height: 12px;
    color: #10b981;
}

.pricing-modern.pricing-featured .pricing-check {
    background: rgba(16, 185, 129, 0.2);
}