:root {
    --dark-olive: #1A201B;
    --sage-dark: #546D57;
    --sage-medium: #7E9A81;
    --sage-light: #ADBE94;
    --sage-pale: #C1C9BA;
    --mauve-accent: #6D546A;
    --bg-neutral: #F0F0F0;
}

@font-face {
    font-family: 'Peyda';
    src: url('../font/PeydaWeb-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Peyda';
    src: url('../font/PeydaWeb-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Peyda';
    src: url('../font/PeydaWeb-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Peyda';
    src: url('../font/PeydaWeb-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'YekanBakhFaNum';
    src: url('../font/YekanBakhFaNum-SemiBold.woff2') format('woff2'),
    url('../font/YekanBakhFaNum-SemiBold.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

body {background: #F9F9F9; font-family: 'Peyda', 'YekanBakhFaNum', Tahoma, sans-serif; height:100vh; overflow-x: hidden; overflow-y: auto;}

h1{font-size: 3.125rem !important; font-weight: bold; color: var(--dark-olive) !important;}
h2{font-size: 1.875rem !important; font-weight: bold; color: var(--dark-olive) !important;}
h3{font-size: 1rem !important; font-weight: bold; color: var(--dark-olive) !important;}

.fa-num {font-family: 'YekanBakhFaNum', 'Peyda', sans-serif !important;}

header{padding-top: 1.5rem;}
header .header-bg{background: #ffffff; border-radius: 8px !important; box-shadow: 0 5px 10px rgb(193 201 186 / 10%);}
header .title{color: var(--dark-olive); font-weight: 700;}
header .subtitle{color: #998285; position: relative; top: 2px;}
header .logo{margin-left: 10px;}
header .menu .nav-link{color: var(--dark-olive) !important; font-size: 0.875rem;}
header .cta{background: var(--sage-medium); color: #ffffff; border-radius: 8px; font-size: 1rem; padding: 0.5rem; transition: background-color 0.3s ease, transform 0.25s ease, box-shadow 0.3s ease;}
header .cta:active{background: var(--sage-dark); color: #ffffff; border: none;}
header .cta:hover{background: var(--sage-dark); color: #ffffff;  border: none;}

.hero-section{position: relative; padding: 5.313rem 0 3.125rem;}
.hero-section:before{position: absolute; content: ''; border-bottom: 2px solid #ffffff; background: var(--sage-pale); height: 9.063rem; right: 0; left: 0; bottom: 0; z-index: -1;}
.hero-section .altar{background: var(--sage-light); border: 1px solid #fff; border-radius: 500px 500px 0 0; position: relative; width: 20.5rem; height: 25.938rem; text-align: center; z-index: 1;}
.hero-section .altar .main-img{position: absolute; right: 1.563rem; bottom: 0;}
.hero-section .shine img{position: absolute; right: -120px; bottom: -29%;}
.hero-section .information{padding: 0 12rem;}
.hero-section .information .stat-badge{position: relative; width: 10.75rem; height: 13rem; padding: 1rem;}
.hero-section .information .stat-badge:before{position: absolute; content: ''; top: 0; bottom: 0; right: 2.8rem; left: 0px; border-radius: 500px; transform: rotate(25deg); z-index: -1;}
.hero-section .information .stat-badge-1:before{background: linear-gradient(180deg, #7E9A81 0%, #C1C9BA 100%);}
.hero-section .information .stat-badge-2:before{background: linear-gradient(180deg, #C1C9BA 0%, #7E9A81 100%);}
.hero-section .information .stat-badge-3:before{background: linear-gradient(180deg, #7E9A81 0%, #C1C9BA 100%);}
.hero-section .stat-icon{display: flex; align-items: center; justify-content: center; background: #ffffff; width: 4.688rem; height: 4.688rem; border-radius: 100%; margin: 0 auto 1.875rem;}
.hero-section .stat-icon svg{color: var(--mauve-accent); width: 2rem;}
.hero-section .stat-content{position: relative; left: -2.5rem; color: #ffffff;}
.hero-section .stat-content .stat-number{font-size: 1.875rem;}
.hero-section .stat-content .stat-text{font-size: 0.75rem;}
.hero-section .hero-left{background-image: url(../image/hero-left.png); width: 16.75rem; height: 22.875rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: 0; left: 0;}
.hero-section .hero-right{background-image: url(../image/hero-right.png); width: 9rem; height: 16.75rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: 25%; right: 0;}

.services-section{position: relative; padding: 3.125rem 0;}
.services-section:before{position: absolute; content: ''; background: var(--sage-pale); top: 0; bottom: 0; right: 0; left: 0; z-index: -1;}
.services-section .services-wrap { margin: 0 auto; background: #F0F0F0; border-radius: 8px; padding: 50px; }
.services-section .services-title { margin: 0 0 34px; text-align: center;}
.services-section .services-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.services-section .service-item { min-height: 170px; padding: 26px 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; border-left: 1px solid var(--sage-pale); border-bottom: 1px solid var(--sage-pale); }
.services-section .service-item:nth-child(4n) {border-left: 0;}
.services-section .service-item:nth-last-child(-n + 4) {border-bottom: 0;}
.services-section .service-icon {width: 71px;height: 71px;}
.services-section .service-name { margin: 0; color: var(--dark-olive) !important; line-height: 1.5; }
.services-section .service-en { margin: 0; color: var(--mauve-accent); font-size: 0.875rem; font-weight: 400; line-height: 1.4; position: relative; top: -10%;}

.before-after-section{padding: 3.125rem 0;}
.before-after-section .sub-title {font-size: 1.875rem; color: var(--dark-olive) !important; font-weight: 500; margin-bottom: 30px;}
.before-after-section .section-title { display: flex; align-items: center; justify-content: center; gap: 20px; max-width: 750px; margin: 25px auto 30px auto; width: 100%; padding: 0 5.3rem;}
.before-after-section .section-title .line { flex: 1; height: 1px; background: var(--sage-pale); opacity: 0.8; }
.before-after-section .section-title h2 { margin: 0; color: var(--mauve-accent) !important; white-space: nowrap; }
.before-after-section{position:relative; background:#ffffff;}
.before-after-section:before{position: absolute; content: ''; background: #F9F9F9; right: 0; left: 0; bottom: 0; height: 30%;}
.before-after-section .nav-link{width: 8.7rem; border: 1px solid var(--sage-pale); border-radius: 8px; font-size: 1rem; font-weight: 400; color: var(--sage-dark) !important;}
.before-after-section .nav-link.active{background: #c1c9ba !important; color: var(--dark-olive) !important;}
.before-after-slider-wrap{ position:relative; min-height: 13rem;}
.before-after-section .swiper-wrapper{padding: 5px 0 15px;}
.before-after-section .ba-card{ display:flex; gap:12px; padding:14px; background:#fff; box-shadow:0 5px 10px rgb(193 201 186 / 10%); border-radius:18px; }
.before-after-section .ba-image-box{position: relative; overflow: hidden; border-radius: 9px; flex: 1; aspect-ratio: 1 / 1;}
.before-after-section .ba-image-box img{width: 100%; height: 100%; object-fit: cover; display: block;}
.before-after-section .ba-badge{position: absolute; right: 10px; bottom: 10px; color: var(--dark-olive); background: rgb(255 255 255 / 70%); padding: 4px 10px; border-radius: 30px; font-size: 0.8rem;}
.before-after-section .swiper-button-next, .swiper-button-prev{background: #fff; box-shadow: 0 5px 10px rgb(193 201 186 / 50%); width: 2.813rem !important; height: 2.813rem !important; border-radius: 100%; border: none;}
.before-after-section .swiper-button-next svg, .swiper-button-prev svg{width: 20px !important; color: var(--dark-olive);}
.before-after-section .swiper-button-next:after, .swiper-button-prev:after{display: none;}
.before-after-section .before-after-prev{ left:-1% !important; }
.before-after-section .before-after-next{ right:-1% !important; }

.about-clinic-section {padding: 3.125rem 0; background-color: #F9F9F9; direction: rtl; }
.about-clinic-section .clinic-wrapper {position: relative; display: flex; align-items: center; overflow: hidden; border-radius: 8px;  min-height: 38.625rem; }
.about-clinic-section .clinic-wrapper:before{position: absolute; content: ''; background: linear-gradient(90deg, #C1C9BA 0%, #ADBE94 100%); top: 0; bottom: 0; right: 0; left: 10rem; border-radius: 8px; z-index: 0;}
.about-clinic-section .pattern {background-image: url(../image/about-pattern.png); width: 7.063rem; height: 10.875rem; background-size: contain; background-repeat: no-repeat; position: absolute; bottom: 0; right: 0;}
.about-clinic-section .clinic-content { flex: 1; padding: 5rem; color: #1a1a1a; z-index: 0; }
.about-clinic-section .clinic-subtitle { font-size: 1.875rem !important; font-weight: 800; margin-bottom: 15px; color: var(--dark-olive) !important; }
.about-clinic-section .clinic-title {font-size: 1.438rem!important; font-weight: bold; margin-bottom: 25px; color: var(--dark-olive) !important; }
.about-clinic-section .clinic-description { font-size: 0.875rem; line-height: 29px; color: var(--dark-olive); margin-bottom: 35px; text-align: justify; }
.about-clinic-section .clinic-btn { display: inline-block; background-color: #fff; color: var(--dark-olive); padding: 1rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; }
.about-clinic-section .clinic-image-side{min-width: 36.688rem; z-index: 0;}
.about-clinic-section .clinic-image-mask { width: 100%; height: 100%; border: 5px solid #fff; border-radius: 0 300px 300px 0; overflow: hidden; }
.about-clinic-section .clinic-image-mask img { width: 100%; height: 100%; object-fit: cover; min-width: 36.688rem; min-height: 31rem; background: var(--sage-medium);}

.testimonials-section { position: relative; background-color: #F9F9F9; padding: 3rem 0 0;}
.testimonials-section:before{position: absolute; content: ''; background: #ffffff; bottom: 0; right: 0; left: 0; height: 50%;}
.testimonials-section .testimonials-swiper { margin: 0 auto; padding-bottom: 50px; }
.testimonials-section .testimonial-card { background: #F0F0F0; border-radius: 8px; padding: 40px; display: flex; align-items: center; justify-content: space-between; gap: 30px; direction: rtl; }
.testimonials-section .testimonial-content { flex: 1; position: relative; text-align: right; }
.testimonials-section .testimonial-quote {background-image: url(../image/quoted.png); width: 5rem; height: 5rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: 0; left: 0;}
.testimonials-section .testimonial-content p {font-size: 1rem; color: #1c1c1c; line-height: 29px; margin-bottom: 3rem; padding-left: 15%;}
.testimonials-section .testimonial-content .name { font-size: 1.4rem; font-weight: bold; margin-bottom: 5px; color: #1c1c1c; }
.testimonials-section .testimonial-content span { color: #1c1c1c; font-size: 0.95rem; }
.testimonials-section .testimonial-avatar { width: 11.563rem; height: 11.563rem; border-radius: 100%; object-fit: none; background-color: var(--mauve-accent); }
.testimonials-section .testimonials-pagination { bottom: 0 !important; }
.testimonials-section .testimonials-pagination .swiper-pagination-bullet { width: 12px; height: 12px; border-radius: 3px; background: #ccc; opacity: 1; margin: 0 5px !important; transition: all 0.3s; }
.testimonials-section .testimonials-pagination .swiper-pagination-bullet-active { background: var(--mauve-accent); width: 25px; }
.testimonials-swiper { padding-bottom: 50px !important; position: relative; }
.testimonials-section .testimonials-pagination { position: absolute; bottom: 20% !important; left: 0; right: 0; text-align: center; z-index: 10; }
.testimonials-section .testimonials-pagination .swiper-pagination-bullet { width: 12px; height: 12px; background: #ccc; opacity: 1; border-radius: 3px; margin: 0 5px !important; display: inline-block; transition: all 0.3s ease; }
.testimonials-section .testimonials-pagination .swiper-pagination-bullet-active { background: #6d4c7d; width: 25px; }

.cta-banner-section {position:relative; background: #ffffff; padding: 3rem 0;}
.cta-card {position: relative; border-radius: 8px; display: flex; align-items: center; justify-content: space-between; padding: 0 60px; margin: 0 6rem; position: relative; min-height: 14.25rem; z-index: 1;}
.cta-card:before{position: absolute; content: ''; background: #F7F8F3; border-radius: 8px; right: 0; left: 0; bottom: 0; height: 85%;}
.cta-image-wrapper { position: relative; width: 280px; display: flex; justify-content: center; align-items: flex-end; margin-top: -60px; align-self: flex-end; }
.cta-arch-bg { position: absolute; bottom: 0; width: 220px; height: 230px; background-color: var(--sage-light); border-radius: 150px 150px 0 0; z-index: 1; }
.cta-person-img { position: relative; z-index: 2; width: 100%; height: auto; max-height: 280px; object-fit: contain; display: block; }
.cta-content { text-align: right; padding: 30px 0 0; z-index: 2; }
.cta-title { font-size: 1.5rem; font-weight: bold; color: var(--dark-olive); margin-bottom: 10px; }
.cta-subtitle { font-size: 0.875rem; color: var(--dark-olive); margin-bottom: 24px; }
.cta-btn { display: inline-block; background-color: var(--sage-dark); color: #ffffff; padding: 10px 28px; border-radius: 10px; font-size: 0.875rem; font-weight: 600; text-decoration: none; }
.cta-banner-section .cta-left{background-image: url(../image/cta-left.png); width: 12.563rem; height: 16.75rem; background-size: contain; background-repeat: no-repeat; position: absolute; bottom: 0; left: 0;}
.cta-banner-section .cta-right{background-image: url(../image/cta-right.png); width: 17.5rem; height: 23.625rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: -50%; right: 0;}

.blog-section {direction: rtl; position: relative; padding: 3.125rem 0 5rem; background: #ffffff}
.blog-section .blog-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; }
.blog-section .view-all-btn {background-color: #F0F0F0; color: var(--dark-olive); padding: 10px 25px; border-radius: 8px; text-decoration: none; font-size: 0.875rem;}
.blog-section .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.blog-section .blog-card { background: #fff; border-radius: 8px; overflow: hidden; border: 1px solid #F0F0F0; }
.blog-section .blog-image-wrap { position: relative; padding: 15px; }
.blog-section .blog-image-wrap img { width: 100%; height: 200px; object-fit: cover; border-radius: 8px; margin-bottom: 15px; }
.blog-section .blog-category { background-color: var(--mauve-accent); color: #fff; padding: 5px 15px; border-radius: 8px; font-size: 0.75rem; }
.blog-section .blog-info { padding: 0 20px 25px 20px; }
.blog-section .blog-card-title { margin-bottom: 12px; line-height: 1.5; text-decoration: none; }
.blog-section .blog-card-title h3{font-size: 1.125rem !important;}
.blog-section .blog-excerpt { font-size: 14px; color: #777; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.auth-section{padding: 0 0 5rem; background: linear-gradient(0deg, #ffffff 0%, #f9f9f9 100%);}
.auth-section .card{background: #fff; box-shadow: 0 5px 10px rgb(193 201 186 / 20%); border: none; border-radius: 8px; padding: 14px;}
.auth-section .form-control:focus{box-shadow: none; border-color:var(--sage-light);}
.auth-section button{background: var(--sage-medium); color: #ffffff; border: none; transition: background-color 0.3s ease, transform 0.25s ease, box-shadow 0.3s ease;}
.auth-section button:hover{background: var(--sage-dark);}

.page-header {margin: 3rem auto;}
.page-header h1{font-size: 2rem !important;}
.page-header .page-breadcrumb {display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 0.5rem; padding: 10px 16px; font-size: 0.75rem; color: var(--sage-medium);}
.page-header .page-breadcrumb a{color: var(--sage-medium); text-decoration: none;}
.page-header .page-breadcrumb .home{margin-left: 5px; position: relative; top: -2px;}
.page-header .active{color: var(--sage-dark);}

.blog-page {padding: 0 0 5rem; background: linear-gradient(0deg, #ffffff 0%, #f9f9f9 100%);}
.blog-page .blog-page-hero {text-align: center;}
.blog-page .blog-page-subtitle { margin: 0 auto 24px; max-width: 760px; font-size: 1rem; line-height: 2; color: var(--sage-dark); }
.blog-page .blog-search-form { display: flex; align-items: center; gap: 12px; max-width: 48rem; margin: 0 auto; padding: 15px; border-radius: 8px; background: #fff; box-shadow: 0 5px 10px rgb(193 201 186 / 10%); }
.blog-page .blog-search-input { flex: 1; width: 100%; height: 56px; border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 16px; padding: 0 18px; background: #fff; color: #1f2937; font-size: 0.98rem; outline: none; transition: 0.2s ease; }
.blog-page .blog-search-input::placeholder { color: #9ca3af; }
.blog-page .blog-search-input:focus { border-color: rgba(140, 167, 136, 0.45); box-shadow: 0 0 0 4px rgba(140, 167, 136, 0.12); }
.blog-page .blog-search-btn { height: 56px; border: none; border-radius: 16px; padding: 0 24px; background: var(--sage-medium); color: #fff; font-weight: 600; font-size: 0.95rem; cursor: pointer; white-space: nowrap; transition: 0.2s ease; }
.blog-page .blog-search-btn:hover {background: var(--sage-dark); color: #ffffff;  border: none;}
.blog-page .blog-section{background: unset; padding-bottom: 0;}

.services-archive {padding: 0 0 5rem; background: linear-gradient(0deg, #ffffff 0%, #f9f9f9 100%);}
.services-archive .categories-swiper-wrapper { position: relative; padding: 0 45px; margin-top: 1.75rem; min-height: 112px; }
.services-archive .categories-swiper { width: 100%; overflow: hidden; }
.services-archive .categories-swiper .swiper-wrapper { align-items: stretch; }
.services-archive .categories-swiper .swiper-slide { height: auto; }
.services-archive .categories-swiper.pre-init .swiper-wrapper { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; transform: none !important; }
.services-archive .categories-swiper.pre-init .swiper-slide { width: auto !important; margin: 0 !important; height: auto; }
.services-archive .categories-swiper.is-ready .swiper-wrapper {display: flex !important; padding-bottom: 1rem;}
.services-archive .category-item { height: 100%; display: flex; align-items: center; gap: 12px; background: #ffffff; border-radius: 8px !important; box-shadow: 0 5px 10px rgb(193 201 186 / 10%); border-radius: 8px; padding: 12px 14px; cursor: pointer; min-height: 88px; user-select: none; -webkit-user-select: none; }
.services-archive .category-item.active {}
.services-archive .cat-icon-box { width: 56px; height: 56px; min-width: 56px; flex: 0 0 56px; border-radius: 8px; background: #fff; border: 1px solid #7e9a8138; display: flex; align-items: center; justify-content: center; padding: 10px; overflow: hidden; }
.services-archive .cat-icon-box img { width: 100%; height: 100%; object-fit: contain; display: block; }
.services-archive .cat-info { display: flex; flex-direction: column; justify-content: center; text-align: right; min-width: 0; }
.services-archive .cat-info span { font-size: 1rem !important; font-weight: bold; color: var(--dark-olive) !important; }
.services-archive .cat-info small { color: var(--mauve-accent); font-size: 0.875rem; font-weight: 400; line-height: 1.8; }
.services-archive .services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 2rem; }
.services-archive .service-item { display: none; }
.services-archive .service-item.is-visible { display: block; animation: fadeUp 0.35s ease; }
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.services-archive .service-card { position: relative; padding: 15px; display: flex; flex-direction: column; text-decoration: none; background: #fff; border-radius: 8px; overflow: hidden; border: 1px solid #F0F0F0; z-index: 1;}
.services-archive .service-card-thumb {overflow: hidden; background: #f1f1f1; width: 100%; min-height: 11rem; border-radius: 8px; margin-bottom: 15px;}
.services-archive .service-card-thumb img {width: 100%; object-fit: cover; display: block;}
.services-archive .service-card-body { display: flex; flex-direction: column; flex-grow: 1; padding: 1rem 1rem 0; text-align: center; }
.services-archive .service-card-title {font-size: 1.125rem !important; font-weight: bold; color: var(--dark-olive) !important;}
.services-archive .service-card-text { font-size: 14px; color: #777; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.services-archive .services-empty { display: none; text-align: center; padding: 2rem 1rem; border: 1px dashed var(--mauve-accent); border-radius: 8px; background: #fff; color: var(--dark-olive) !important; margin-top: 2rem; }
.services-archive .services-empty.show { display: block; }
.services-archive .hero-left{background-image: url(../image/hero-left.png); width: 16.75rem; height: 22.875rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: 0; left: 0;}
.services-archive .hero-right{background-image: url(../image/cta-right.png); width: 17.5rem; height: 23.625rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: 35%; right: 0;}

.festival-section {position:relative; padding: 0 0 5rem; background: linear-gradient(0deg, #ffffff 0%, #f9f9f9 100%);}
.festival-section .festival-layout { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; align-items: start; direction: ltr; }
.festival-section .festival-offers { direction: rtl; display: grid; gap: 20px;}
.festival-section .festival-sidebar{ direction: rtl; }
.festival-section .festival-sidebar { text-align: center; position: sticky; top: 24px; background: linear-gradient(180deg, #f7effb 0%, #fff8fc 100%); border: 1px solid #ecdef2; border-radius: 8px; padding: 24px; box-shadow: 0 5px 10px rgb(193 201 186 / 10%); z-index: 1;}
.festival-section .festival-sidebar-badge { display: inline-flex; align-items: center; padding: 5px 15px; border-radius: 15px; background: #efe1f8; color: var(--mauve-accent); font-size: 1rem; font-weight: 500; margin-bottom: 14px; }
.festival-section .festival-sidebar-title { margin: 0 0 10px; font-size: 1.5rem; font-weight: bold; line-height: 1.5; color: var(--dark-olive) !important; }
.festival-section .festival-sidebar-title span{display: block;}
.festival-section .festival-sidebar-text { margin: 0 0 20px; color: #6f6576; line-height: 1.95; font-size: 14px; }
.festival-section .festival-timer { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.festival-section .festival-timer-item { background: #ffffff; border: 1px solid #eee4f3; border-radius: 18px; padding: 14px 8px; text-align: center; }
.festival-section .festival-timer-item strong { display: block; font-size: 26px; line-height: 1.2; color: var(--dark-olive); }
.festival-section .festival-timer-item span { display: block; margin-top: 4px; font-size: 12px; color: #84798b; }
.festival-section .festival-sidebar-status { margin: 0 0 20px; font-size: 13px; color: var(--mauve-accent); }
.festival-section .festival-card { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 1.5rem; padding: 1rem; background: #ffffff; border-radius: 8px !important; box-shadow: 0 5px 10px rgb(193 201 186 / 10%); z-index: 1;}
.festival-section .festival-card-media { position: relative; display: block; width: fit-content; min-height: 240px; border-radius: 8px; overflow: hidden; }
.festival-section .festival-card-discount { position: absolute; right: 15px; bottom: 15px; display: inline-flex; align-items: center; padding: 8px 12px 5px; border-radius: 999px; background: var(--mauve-accent); color: #ffffff; font-size: 0.75rem; font-weight: 400; }
.festival-section .festival-card-body { display: flex; flex-direction: column; }
.festival-section .festival-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.festival-section .festival-card-title { margin: 0 0 8px; font-size: 1.5rem !important; line-height: 1.5; }
.festival-section .festival-card-subtitle { margin: 0; color: var(--sage-medium); font-size: 0.875rem; font-weight: 600; }
.festival-section .festival-card-price { min-width: 170px; text-align: left; }
.festival-section .festival-card-price strong { display: block; font-size: 1.75rem; line-height: 1.3; color: var(--dark-olive) !important; font-weight: 800; }
.festival-section .festival-card-price del { display: block; margin-top: 4px; color: #a3a3a3; font-size: 1rem; }
.festival-section .festival-card-desc { margin: 0 0 14px; color: var(--dark-olive) !important; line-height: 2; font-size: 1rem; }
.festival-section .festival-card-features { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0 0 18px; list-style: none; }
.festival-section .festival-card-features li{ padding: 9px 14px; border-radius: 15px; background: #f8f1fb; color: var(--mauve-accent); font-size: 0.875rem; font-weight: 400; }
.festival-section .festival-card-actions { margin-top: auto; display: flex; align-items: center; gap: 12px; }
.festival-section .festival-card-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; background: var(--sage-medium); color: #ffffff; border-radius: 8px; font-size: 1rem; padding: 0.5rem 1rem; }
.festival-section  .hero-left{background-image: url(../image/hero-left.png); width: 16.75rem; height: 22.875rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: 0; left: 0;}
.festival-section  .hero-right{background-image: url(../image/cta-right.png); width: 17.5rem; height: 23.625rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: 20%; right: 0;}

.contact-section {padding: 0 0 5rem; background: linear-gradient(0deg, #ffffff 0%, #f9f9f9 100%);}
.contact-section .contact-wrapper .card{display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 28px; align-items: stretch; background: #fff; box-shadow: 0 5px 10px rgb(193 201 186 / 20%); border: none; border-radius: 8px; z-index: 1;}
.contact-section .contact-info-card { padding: 1.5rem !important; display: flex; flex-direction: column; gap: 25px; border-left: 1px solid #f7f8f3;}
.contact-section .contact-info-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.contact-section .contact-info-item { display: flex; align-items: center; gap: 15px; padding: 15px; border-radius: 8px; background: #F7F8F3; }
.contact-section .social-item { grid-column: 1 / -1; background: none !important;}
.contact-section .contact-icon { width: 50px; height: 50px; min-width: 54px; border-radius: 15px; background: linear-gradient(135deg, #C1C9BA, #ADBE94); display: flex; align-items: center; justify-content: center; color: var(--dark-olive); }
.contact-section .contact-icon svg{transform: scaleX(-1);}
.contact-section .contact-text h4 { margin: 0 0 4px; font-size: 1rem; font-weight: 800; color: var(--dark-olive); }
.contact-section .contact-text p { margin: 0 0 6px; font-size: 0.85rem; color: var(--sage-dark); }
.contact-section .contact-text a { color: var(--dark-olive); font-weight: 700; text-decoration: none; }
.contact-section .contact-socials { display: flex; gap: 10px; margin-top: 10px; }
.contact-section .contact-socials a { width: 40px; height: 40px; border-radius: 12px; background: #f1f4ec; color: var(--dark-olive); display: flex; align-items: center; justify-content: center; text-decoration: none; transition: all 0.3s ease; }
.contact-section .contact-map { height: 220px; border-radius: 8px; overflow: hidden; border: none; background: #F7F8F3;}
.contact-section .contact-form-card {padding: 1.75rem 0 0 1.75rem;}
.contact-section .contact-form-card form { display: flex; flex-direction: column; gap: 18px; }
.contact-section .form-group label { display: block; font-size: 1rem; font-weight: 700; color: var(--dark-olive); margin-bottom: 10px; }
.contact-section .form-group input, .form-group textarea {width: 100%; border: 1px solid #e8e8e3; background: none; border-radius: 8px; padding: 14px 16px; font-size: 0.9rem;}
.contact-section .form-group textarea {resize: none;}
.contact-section .contact-submit-btn {padding: 1rem; background: var(--sage-medium); color: #ffffff; border: none; border-radius: 8px; transition: background-color 0.3s ease, transform 0.25s ease, box-shadow 0.3s ease;}
.contact-section .contact-submit-btn:hover{background: var(--sage-dark);}
.contact-section .hero-left{background-image: url(../image/hero-left.png); width: 16.75rem; height: 22.875rem; background-size: contain; background-repeat: no-repeat; position: absolute; top: 0; left: 0;}

footer{background: #ffffff;}
footer .footer-bg{background: var(--bg-neutral); color: var(--dark-olive); border-radius: 8px; position: relative;}
footer .footer-title{color: var(--dark-olive) !important; font-size: 1rem; font-weight: 700!important;}
footer .footer-paragraph{color: var(--dark-olive) !important; font-size: 0.875rem;line-height: 1.8125rem !important; margin-top: 2%; padding-left: 25%;}
footer h4{color: var(--dark-olive) !important; font-size: 1rem; font-weight: 700!important;}
footer .link-secondary{color: var(--dark-olive) !important; font-size: 0.875rem;}
footer address svg{color: var(--mauve-accent) !important; margin-left: 2%;}
footer address .bi-telephone-fill{transform: scaleX(-1);}
footer .copyright{background: var(--mauve-accent); color: #ffffff; font-size: 0.875rem; border-radius: 8px;}
footer .copyright .social a{border-radius: 8px !important; background: #ffffff;}
footer .copyright svg{color: var(--mauve-accent); position: relative; top: 1px;}
footer .footer-logo {background-image: url(../image/footer-logo.png); width: 150px; height: 150px; background-size: contain; background-repeat: no-repeat; position: absolute; bottom: 1%; left: 2%;}

@media (min-width:992px){}

@media (max-width: 576px) {

    header {padding: 0.5rem;}
    header{box-shadow: 0 5px 10px rgb(193 201 186 / 10%);}
    header .btn-list{box-shadow: 0 5px 10px rgb(193 201 186 / 50%);}

    .hero-section {padding: 3rem 0 0;}
    .hero-section .altar{margin: 0 auto;}
    .hero-section .information{padding: unset;}
    .hero-section .stats-container{display: none !important;}
    .hero-section .hero-left{display: none;}
    .hero-section .hero-right{display: none;}

    .auth-section{padding: 0;}

    .services-section{padding: 3rem 0.5rem;}
    .services-section .services-wrap{padding: 2rem;}
    .services-section .services-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .services-section .service-item { border-left: 1px solid var(--sage-pale) !important; border-bottom: 1px solid var(--sage-pale) !important; }
    .services-section .service-item:nth-child(2n) { border-left: 0 !important; }
    .services-section .service-item:nth-last-child(-n + 2) { border-bottom: 0 !important; }

    .before-after-section{padding: 3rem 0.5rem 0;}
    .before-after-section .sub-title{font-size: 1rem;}
    .before-after-section .section-title{margin-top: 25px;}
    .before-after-section .before-after-tabs{position: sticky; background-color: #ffffff; top: 0; z-index: 1000; padding-top: 15px; padding-bottom: 15px; margin-top: -5px; flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; overflow-y: hidden; white-space: nowrap; -webkit-overflow-scrolling: touch; scrollbar-width: none;}
    .before-after-section .before-after-tabs::-webkit-scrollbar{ display:none; }
    .before-after-section .before-after-tabs .nav-item{ flex:0 0 auto; }
    .before-after-section .before-after-tabs .nav-link{ white-space:nowrap; }
    .before-after-section .before-after-slider-wrap{ padding:0; }
    .before-after-section .beforeAfterSwiper{ overflow:visible; }
    .before-after-section .beforeAfterSwiper .swiper-wrapper{ display:block !important; transform:none !important; }
    .before-after-section .beforeAfterSwiper .swiper-slide{width:100% !important; margin-bottom:20px;}
    .before-after-section .ba-card{width:100%;}
    .before-after-section .ba-image-box{flex:1;height:190px;}
    .before-after-section .before-after-prev, .before-after-next{display:none !important;}

    .about-clinic-section {padding: 1.5rem 0 0;}
    .about-clinic-section .clinic-wrapper { flex-direction: column; min-height: auto; }
    .about-clinic-section .clinic-wrapper:before{left: 0; background: linear-gradient(360deg, #C1C9BA 0%, #ADBE94 100%);}
    .about-clinic-section .clinic-content { order: 1; width: 100%; padding: 2rem 1.25rem; text-align: center;}
    .about-clinic-section .clinic-description{text-align: justify; text-align-last: center;}
    .about-clinic-section .clinic-btn{padding: 0.5rem 1rem;}
    .about-clinic-section .clinic-image-side { order: 2; width: 100%; min-width: 0; }
    .about-clinic-section .clinic-image-mask { height: 18rem; border-radius: 120px 120px 8px 8px; border: 3px solid #fff; border-bottom: none;}
    .about-clinic-section .clinic-image-mask img { width: 100%; height: 100%; object-fit: cover; }
    .about-clinic-section .pattern{display: none;}

    .testimonials-section{padding: 3rem 0 0;}
    .testimonials-section .testimonial-card { flex-direction: column; align-items: center; text-align: center; padding: 20px; }
    .testimonials-section .testimonial-avatar { order: 1; margin-bottom: 16px; }
    .testimonials-section .testimonial-content { order: 2; display: flex; flex-direction: column; align-items: center; width: 100%; text-align: center; }
    .testimonials-section .testimonial-content .name { order: 1; margin-bottom: 4px; }
    .testimonials-section .testimonial-content span { order: 2; margin-bottom: 16px; }
    .testimonials-section .testimonial-content p { order: 3; padding: 0; margin: 0 0 1rem; text-align: justify; text-align-last: center; }
    .testimonials-section .testimonial-quote { display: none; }
    .testimonials-section .testimonials-pagination { bottom: 10px !important; }

    .cta-banner-section {display: none;}

    .blog-section .blog-grid{grid-template-columns:none;}

    .page-header { margin: 2rem auto;}

    .blog-page{padding: 0;}
    .blog-page .blog-search-form{padding: 0; background: unset;}
    .blog-page .blog-section{padding: 0;}

    .services-archive{position: relative; padding: 0;}
    .services-archive .hero-left{display: none;}
    .services-archive .hero-right{display: none;}
    .services-archive .categories-swiper-wrapper{padding: 0; margin: 0;}
    .services-archive .services-grid { grid-template-columns: none; margin-top: 0;}

    .festival-section{padding: 0;}
    .festival-section .festival-layout { grid-template-columns: 1fr; gap: 20px; }
    .festival-section .festival-sidebar { position: relative; top: 0;}
    .festival-section .festival-card { grid-template-columns: 1fr; gap: 15px; padding: 15px; margin-top: 15px; text-align: center;}
    .festival-section .festival-card-body{display: block;}
    .festival-section .festival-card-media {margin: 0 auto;}
    .festival-section .festival-card-head {display: block;}
    .festival-section .festival-card-price { min-width: 100%; text-align: center; background: #F7F8F3; border-radius: 8px; padding: 15px 0 10px; margin: 15px 0 0; }
    .festival-section .festival-card-price strong { font-size: 1.5rem; }
    .festival-card-btn { width: 100%; }
    .festival-section .festival-card-features { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 5px; padding: 0; margin: 0 0 18px; list-style: none; width: 100%; }
    .festival-section .festival-card-features li {text-align: center; padding: 5px 10px; font-size: 0.8rem;}
    .festival-section  .hero-left{display: none;}
    .festival-section  .hero-right{display: none;}

    .contact-section{padding: 0;}
    .contact-section .contact-wrapper .card { grid-template-columns: 1fr;}
    .contact-section .contact-info-list { grid-template-columns: 1fr; gap: 12px; }
    .contact-section .contact-info-card{border: none;}
    .contact-section .contact-form-card { padding: 1.75rem; }
    .contact-section .social-item { grid-column: 1 / -1; background: none !important; padding: 10px 0 0 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
    .contact-section .social-item .contact-text { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; }
    .contact-section .contact-socials { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 10px; width: 100%; }
    .contact-section .hero-left{display: none;}

    footer{padding-top: 3rem;}
    footer .footer-bg{background: var(--bg-neutral); color: var(--dark-olive); border-radius: 8px; position: relative; text-align: center;}
    footer .footer-about{text-align: center;}
    footer .footer-about img{display: block; margin: 10px auto 15px;}
    footer .address{background: none; border-radius: 8px 8px 0 0; border-bottom: 1px solid #6d546a4d;}
    footer .accordion .accordion-button{border-radius: 8px !important; padding: 15px; margin-bottom: 5px;}
    footer address ul li { padding: 10px 12px; border-radius: 8px; background: rgba(255,255,255,.65); border: 1px solid rgba(0,0,0,.04); }
    footer .accordion-item { border: 0 !important; }
    footer .accordion-button { background: transparent !important; box-shadow: none !important; padding: 14px 0 !important; font-weight: 700; color: rgba(0,0,0,.75); }
    footer .accordion-button::after { transform: scale(.9); opacity: .7; }
    footer .accordion-body{text-align: right;}
    footer .accordion-body a { display: block; padding: 10px 0; color: rgba(0,0,0,.55); }

    .sticky {background: var(--mauve-accent); color: #fff; padding: 10px 5px;}
    .sticky  svg{transform: scaleX(-1); margin-left: 1%;}

}
