@import url('https://fonts.googleapis.com/css2?family=Roboto:ital@0;1&family=Rubik:ital,wght@0,600;1,600&display=swap');
:root { --pink: #d95ca8; --pink-light: #ffd4ee; --pink-soft: #fff4fa; --text: #1f1f28; --muted: #66616a; }
html{scroll-behavior: smooth;}
body { color: var(--text); font-family: "Roboto", sans-serif; line-height: 1.6; background: #fff; }
h1, h2, h3, h4 { font-family: "Rubik", sans-serif; }
.top-bar{padding: 0.75rem 0;}
.top-bar, .feature-strip, .footer { background: var(--pink-light); }
.btn-pink { background: var(--pink) !important; border-color: var(--pink);color: #fff !important; padding: .75rem 1.35rem; border-radius: .6rem; }
.btn-pink:hover, .btn-pink:focus { background: #c84c98 !important; border-color: #c84c98 !important; color: #fff !important; }
.btn-outline-pink { border-color: var(--pink); color: var(--pink); padding: .75rem 1.35rem; border-radius: .6rem; }
.btn-outline-pink:hover, .btn-outline-pink:focus { background: var(--pink); color: #fff; }
nav .navbar-brand img { width: 160px; transition: 0.3s; }
.navbar-expand-lg .navbar-nav .nav-item { margin: 0 1rem; }
.navbar-expand-lg .navbar-nav .nav-link { font-size: 1rem; }
.top-contact { margin-bottom: 0; position: relative; }
/* .site-navigation { padding: 0 !important; } */
.site-navbar { margin: auto; z-index: 99; }
.sticky-wrapper { height: auto !important; }
.sticky-wrapper.is-sticky .site-navbar { background: var(--pink-light); z-index: 999 !important; width: 100% !important; padding: 0; box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); }
.sticky-wrapper.is-sticky .site-navbar .navbar { padding: 0; }
.sticky-wrapper.is-sticky .site-navbar .navbar .navbar-brand img { width: 120px; transition: 0.3s; }
.sticky-wrapper.is-sticky .top-contact a { top: 0.7rem; }
.site-navbar .site-navigation .site-menu > li { position: relative; padding: 0 0.9rem; margin: 0 0.5rem; }
.site-navbar .site-navigation .site-menu > li.active > a::before, .site-navbar .site-navigation .site-menu > li > a:hover::before { content: ''; position: absolute; left: 0; bottom: -10px; width: 100%; height: 2px; background: var(--pink); }
.site-navbar .site-navigation .site-menu > li:last-child { padding-right: 0; margin-right: 3rem }
.site-navbar .site-navigation .site-menu > li > a { color: #000; padding: 0 0 6px; }

/* .sticky-wrapper .site-navbar ul li.active a, .sticky-wrapper .site-navbar ul li a:hover{border-bottom: 3px solid #000; color: var(--pink);} */

/* .site-navbar .site-navigation .site-menu > li > a{font-size: 1rem; padding: 6px 0; text-transform: uppercase;} */
.site-navbar .site-navigation .site-menu .has-children:hover > .dropdown-menu, .site-navbar .site-navigation .site-menu .has-children:focus > .dropdown-menu, .site-navbar .site-navigation .site-menu .has-children:active > .dropdown-menu { display: block; }
.site-mobile-menu .site-nav-wrap li.active > a, .site-navbar .site-navigation .site-menu .has-children .dropdown-menu a.active { color: #111111; }
.site-navbar .site-navigation .site-menu .has-children .dropdown-menu { border-radius: 0; border: 0; min-width: 20rem; }
.site-navbar .site-navigation .site-menu .has-children .dropdown-menu > li > a { border-radius: 0 !important; padding: 8px 12px; text-decoration: none; }
.site-navbar .site-navigation .site-menu .has-children .dropdown-menu a { font-size: 1rem; }
.site-navbar .site-navigation .site-menu .has-children .dropdown-menu > li > a:hover { color: #ffffff; background: var(--pink); }
.side-toggle { position: absolute; right: 0; top: 25px; margin: auto; color: #0d6efd; font-size: 1.25rem; }
.section-pad { padding: 5.5rem 0; }
.eyebrow { color: var(--pink); margin-bottom: .5rem; }
.lead-copy, .service-card p, .footer p, .footer li { color: var(--muted); }
.service-card p{margin-bottom: 5px;}
.service-card strong{color: #000;}
.service-card .card-body span{position: absolute; top: 0.6rem; right: 0.5rem; padding:3px 10px; border-radius:5px; background:rgba(217,92,168, 0.9); color:#fff;}
.service-card .card-body ul{padding: 0; margin-bottom:0; position:absolute; top:0.6rem; right:0.5rem; border-radius:5px; background:rgba(217,92,168, 0.9); color:#fff;}
.service-card .card-body ul li{display: block; display: flex; justify-content:space-between; padding:3px 10px; }
.service-card .card-body ul li:first-child{border-bottom: 1px solid rgba(255, 255, 255, 0.3);}
.service-card .card-body ul li b, .service-card .card-body span b{margin-left: 6px;}
.hero { padding-bottom: 3rem; position: relative; background: url('../images/leaf-shape-1.png') 0 55px; background-repeat: no-repeat; background-position: left; }
.hero-image-wrap, .video-card { position: relative; }
.hero-image-wrap::before { content: ''; position: absolute; right: -70px; bottom: -40px; z-index: 9; height: 200px; width: 200px; background: url('../images/shape-1.png'); background-size: 100%; background-repeat: no-repeat; }
.hero-image-inner::before { content: none; }
.hero-image-inner h1 { text-align: center; color: #fff; background: rgba(0, 0, 0, 0.8); position: absolute; bottom: 0; left: 0; width: 100%; margin-bottom: 0; padding: 7px 0; border-radius: 0 0 1rem 1rem; }
.hero-img { width: 100%; min-height: 420px; object-fit: cover; border-radius: 1rem; }
.play-btn { position: absolute; inset: 50% auto auto 0; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50%; border: 7px solid #fff; background: var(--pink); color: #fff; box-shadow: 0 12px 30px rgba(217, 92, 168, .35); font-size: 1.6rem; display: flex; justify-content:center; align-items: center; text-decoration: none;}
#videoCard{scroll-margin-top:150px}

/* hover effect */
.play-btn:hover { opacity: 0.9; }

/* fade out class */
.play-btn.hide { opacity: 0; pointer-events: none; transition: opacity 0.3s ease; }
.controls { display: flex; align-items: center; justify-content: center; gap: 10px; position: absolute; left: 0; right: 0; bottom: 1rem; width: 80%; margin: auto; opacity: 0; }
.video-card:hover .controls { opacity: 1; }
.controls button { border: 0; background: transparent; }
.controls button img { filter: invert(1); width: 35px }
#progressBar { flex: 1; }
.video-card { max-width: 790px; margin-inline: auto; }
.video-card .play-btn { left: 50%; }
.hero-features span{position: relative;}
.hero-features span::before{content: ''; position: absolute; left:-13px; top: 9px; width:5px; height: 5px; border-radius:50%; background:#aaaaaa;}
.hero-features span:nth-of-type(1)::before{content: none;}
.mini-feature { display: grid; grid-template-columns: 70px 1fr; gap: 1rem; align-items: center; }
.mini-feature span { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; background: var(--pink); color: #fff; font-size: 1.8rem; }
.mini-feature span img { max-height: 50px; max-width: 40px; padding: 2px }
.mini-feature strong { display: block; line-height: 1.2; }
.mini-feature p { margin: .15rem 0 0; font-size: .85rem; }
.quote-card { position: relative; background: var(--pink-light); border-radius: 1rem; padding: 1.2rem 1.25rem; font-size: .95rem; color: var(--text); }
.quote-card i { color: var(--pink); font-size: 2rem }
.quote-card img { width: 20px; filter: invert(1); position: absolute; right: 1.5rem; bottom: 1.5rem; transform: rotate(20deg); }
.services-bg { position: relative; }
.services-bg::before { content: ""; position: absolute; inset: 0; background-image: url("../images/leaf-shape-1.png"); background-position: left top; background-repeat: no-repeat; transform: scaleX(-1); /* or scaleY(-1) */ z-index: -1; }
.bg-soft, .testimonial { position: relative; }
.testimonial::before { content: ""; position: absolute; left: -100px; width: 100%; height: 100%; background-image: url("../images/leaf-shape-2.png"); background-position: left top; background-repeat: no-repeat; }
.testimonial::after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: #FAF2F7; background-image: url("../images/leaf-shape-2.png"); background-position: -80px bottom; background-repeat: no-repeat; transform: scaleX(-1); z-index: -1; }
.service-card { border: 0; text-decoration: none; border-radius: .9rem; overflow: hidden; box-shadow: 0 14px 30px rgba(31, 31, 40, .12); }
.service-card:hover { background-color: var(--pink-soft); }
.service-card .card-img { object-fit: cover; transition: 0.3s; overflow: hidden; border-bottom-right-radius: 0; border-bottom-left-radius: 0; }
.service-card img { transition: 0.3s; }
.service-card:hover img { transform: scale(1.1); transition: 0.3s; }
.service-card h3 { color: var(--pink); font-size: 1.4rem; font-weight: 800; }
.review-copy { max-width: 620px; }
.cta { background: var(--pink-light); padding: 2rem 2.5rem; border-radius: .85rem; }
.cta img { width: 70px; margin: auto; display: block; }
.map-section { min-height: 420px; overflow: hidden; }
.map-img { width: 100%; height: 500px; float: left; }
.contact-card { position: absolute; right: max(2rem, calc((100vw - 1300px) / 2)); top: 50%; transform: translateY(-50%); max-width: 450px; background: rgba(217, 92, 168, 0.8); color: #fff; padding: 2rem; border-radius: 1rem; box-shadow: 0 20px 40px rgba(31, 31, 40, .18); }
.contact-card ul { padding-left: 0; margin: 0; }
.contact-card ul li { display: block; }
.contact-card a { display: flex; align-items: start; color: #fff; text-decoration: none; word-break: break-word;}
.contact-card a img { margin-right: 1rem; max-height: 40px; }
.contact-card-page { position: inherit; transform: translateY(0); }
.footer a { color: inherit; text-decoration: none; }
.footer-links li { margin-bottom: .35rem; }
.socials a { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-right: .5rem; border-radius: 50%; background: var(--pink); color: #fff; font-weight: 700; }
.copyright { background: var(--pink); color: #fff; }
.content-feature { text-align: center; background-color: var(--pink-light); border-radius: 0.8rem; padding: 1rem 1.5rem }
.content-feature span img { max-height: 50px; filter: brightness(0) saturate(100%)
  invert(63%)
  sepia(20%)
  saturate(2000%)
  hue-rotate(300deg)
  brightness(95%)
contrast(90%); }
.content-feature strong { display: block; margin: 0.5rem 0 0.4rem }
.content-feature p { margin-bottom: 0; }
.services-block { background-color: var(--pink-light); border-radius: 1rem; padding: 1.5rem }
.services-block ul { padding-left: 0; margin: 0 }
.inner-section { margin-bottom: 4rem; }
.inner-section h2 { color: var(--pink); }
.inner-section .services-block ul li { display: block; position: relative; margin: 2px 0; }
.inner-section .services-block ul li::before { content: '\f105'; font-family: 'Font Awesome 7 Free'; font-weight: 900; position: absolute; left: auto; right: 0.8rem; top: 0.5rem }
.inner-section .services-block ul li a { display: block; color: #000; text-decoration: none; padding: 0.5rem 1rem; border-radius: 0.5rem }
.inner-section .services-block ul li:hover a, .inner-section .services-block ul li.active a { background: var(--pink); color: var(--bs-white); }
.inner-section .services-block ul li:hover::before, .inner-section .services-block ul li.active::before { filter: invert(1); }
.gallery-block a { text-decoration: none; color: var(--pink); }
.gallery-block-img { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
.gallery-block-img img { border-radius: 1rem; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1) }
.ketty-block { padding-left: 2rem; display: flex; gap: 3rem; align-items: center; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2); border-radius: 1rem; }
.ketty-block img { border-radius: 0 1rem 1rem 0; }
.ketty-block span { display: inline-block; margin-bottom: 1rem; border-radius: 30px; padding: 7px 15px; background: var(--pink-light); }
.inner-testimonials::after { height: 100%; }
.section-title { font-size: 36px; font-weight: 700; color: #1d1d1d; }
.stylist-card { border-radius: 16px; overflow: hidden; box-shadow: 0 2px 25px rgba(0, 0, 0, .1); height: 100%; }
.role { display: block; font-size: 11px; letter-spacing: 1px; color: var(--pink); margin-bottom: 10px; text-transform: uppercase; }
.section-label { display: block; font-size: 12px; letter-spacing: 2px; color: #b27b94; margin-bottom: 8px; }
/* .section-title { font-size: 48px; font-weight: 700; color: #111827; margin-bottom: 15px; } */
.section-desc { max-width: 650px; margin: auto; color: #666; line-height: 1.8; }

/* Cards */
.offer-card { background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 5px 20px rgba(0, 0, 0, .06); transition: .3s; }
.offer-card:hover { transform: translateY(-5px); }
.featured-card { min-height: 380px; }
.offer-content { padding: 40px; }
.offer-badge { background: #f6dce8; color: #b05c82; padding: 6px 12px; border-radius: 30px; font-size: 11px; font-weight: 600; }
.offer-content h3 { margin: 20px 0; font-size: 2.5rem; font-weight: 700; line-height: 1.15; }
.offer-content p { color: #666; line-height: 1.8; }
.price-row { margin-top: 25px; display: flex; justify-content: space-between; align-items: center; }
.old-price { text-decoration: line-through; color: #999; display: block; }
.price-row h4 { color: #a34473; font-weight: 700; margin: 0; }

/* Side Card */
.side-card img { height: 250px; object-fit: cover; }
.favorite-icon { position: absolute; right: 15px; top: 15px; width: 32px; height: 32px; border-radius: 50%; background: #a34473; color: #fff; display: flex; align-items: center; justify-content: center; }
.offer-footer { display: flex; justify-content: space-between; margin-top: 20px; }
.offer-footer span { color: #a34473; font-weight: 700; }
.offer-footer a { text-decoration: none; color: #a34473; font-weight: 600; }

/* Bottom Cards */
.mini-card { height: 100%; }
.mini-card img { min-height: 220px; object-fit: cover; }
.mini-price { margin-top: 15px; color: #a34473; }
.mini-price span { margin-left: 10px; color: #999; font-size: 14px; }
.gallery-page { display: flex; flex-wrap: wrap; margin-bottom: 2rem; }
.bg { width: 100%; height: 300px; background-size: cover; transform: scale(1, 1); transition: all 300ms ease; border-radius: 0; position: relative; }
.gallery-page a { display: block; text-decoration: none; width: 23.5%; overflow: hidden; outline: none; margin: 0.5rem; box-shadow: 0 0px 10px rgb(0, 0, 0, .3); padding: 0; border-radius: 0; position: relative; }
.contact-form{padding: 2.5rem; border-radius:1rem; box-shadow: 0 5px 30px rgba(0, 0, 0, 0.1);}
.contact-form .form-control{padding: 0.75rem 1rem;}

.contact-map{width: 100%; height:400px; margin-top: 3.5rem; border-radius:1.5rem}
.review-col{column-count: 3; column-gap:1.5rem}
.testimonial-content{display: inline-block; padding: 1rem; margin-bottom: 1.5rem; border-radius: 1rem; box-shadow:0 10px 30px rgba(0, 0, 0, 0.2);}
.faq-section .accordion-button {text-decoration: none; font-size: 1.1rem; font-weight: 600; border-radius:0.8rem 0.8rem 0 0;}
.faq-section .accordion-button:not(.collapsed) {background: var(--pink-light); color: #000;}
.faq-section .accordion-item {margin-bottom: 1rem; border:0; border-radius: 0.8rem !important; box-shadow:0 4px 20px rgba(0, 0, 0, 0.1)}
.pricing{}
.pricing li{position: relative; display: block;margin-bottom: 5px;}
.pricing li::before{content: "\f0c4"; font-family:'Font Awesome 7 Free'; font-weight: 900; position:absolute; left:-1.8rem; top:3px; font-size: 0.8rem; color: var(--pink);}

.pink-text{color: var(--pink);}
.inner-section .custom-color{color: #dc0085;text-decoration: none;}
.inner-section .custom-color:hover{text-decoration: underline;}

@media (max-width:1200px) {
  nav .navbar-brand img { width: 120px; }
  .site-navbar .site-navigation .site-menu > li { margin: 0; }
  .hero-image-wrap::before { right: -40px; bottom: -90px; }
  .site-navbar .site-navigation .site-menu .has-children > .dropdown-arrow {
        position: absolute;
        right: -9px;
        top: 5px;
        background: url('../images/right-arrow-icon.png');
        background-position-x: 0%;
        background-position-y: 0%;
        background-repeat: repeat;
        background-size: auto;
        background-size: 8px;
        width: 20px;
        height: 16px;
        background-repeat: no-repeat;
        transform: rotate(90deg);
        background-position: center;
        z-index: 9;
      }
      .ketty-block{gap: 1rem;}
      .ketty-block span{margin-bottom: 0;}
      .testimonial-content{margin-bottom: 1.5rem;}
}
@media (max-width:991.98px) {
  .site-menu-toggle { padding: 0.5rem 1rem; background: #212529; color: #fff; border-radius: 0.4rem; display: block; }
  .site-menu-toggle span { display: block; height: 1px; width: 20px; background: #fff; margin: 6px 0; }
  .site-mobile-menu .site-nav-wrap > li > ul > li > a { text-decoration: none; }
  .section-pad { padding: 4rem 0; }
  .hero-img { min-height: 320px; }
  .play-btn { left: 50%; }
  .contact-card { position: static; transform: none; max-width: none; margin: -5rem 1rem 2rem; }
  .testimonial::after { background-image: none; }
  .hero-image-wrap::before { width: 150px; height: 120px; right: -40px; bottom: -20px }
  .map-img { float: none; height: 300px; }
  .contact-card { margin: 1rem 0; }
  .gallery-page a{width: 30.5%;}
  .bg{height: 250px;}
  .testimonial::before{left:-60px; top: 110px; background-size:200px}
  .review-col{column-count: 2; column-gap:1.5rem}  
  .ketty-block{flex-direction: column; padding:0; gap:1rem;}
  .ketty-block .ketty-body{order:2; padding:1rem}
  .ketty-block img{order:1; border-radius:1rem 1rem 0 0; width: 100%;}
  .top-bar-links{text-align: right;}
  .top-bar-links a{margin-right: 0 !important;}
}
@media (max-width:650px) {
  .navbar-brand{margin-right: 0;}
  nav .navbar-brand img{width: 90px;}
  .top-bar { text-align: center; }
  .brand-main { font-size: 1.8rem; }
  .hero h1 { font-size: 2.25rem; }
  .mini-feature { grid-template-columns: 1fr; text-align: center; }
  .mini-feature span { margin-inline: auto; }
  .cta { padding: 1.5rem; text-align: center; }
  .hero-image-wrap::before { width: 100px; height: 80px; right: -10px; bottom: -10px }
  .gallery-page a{width: 44.5%;}
  .bg{height: 200px;}
  .top-contact .btn{padding: 0.55rem 0.75rem;}
  .ketty-block{flex-direction: column; padding:0; gap:1rem;}
  .ketty-block .ketty-body{order:2; padding:1rem}
  .ketty-block img{order:1; border-radius:1rem 1rem 0 0}
  .section-pad.testimonial{padding: 3rem 0 0;}
  .review-col{column-count: 1;}
  .testimonial-content{margin-bottom: 1.5rem;}
  .top-bar-links{text-align: center;}
}
.review-slider { max-width: 880px; min-height: 170px; }
.review-slider .carousel-control-prev, .review-slider .carousel-control-next { width: 52px; opacity: .85; }
.review-slider .carousel-control-prev-icon, .review-slider .carousel-control-next-icon { filter: invert(45%) sepia(30%) saturate(900%) hue-rotate(280deg); width: 2.25rem; height: 2.25rem; }
.review-slider .carousel-indicators [data-bs-target] { width: 10px; height: 10px; border-radius: 50%; background-color: var(--pink); }
.map-carousel, .map-carousel .carousel-inner, .map-carousel .carousel-item { height: 420px; }
.map-carousel { position: absolute; inset: 0; }
