:root {
    --pp-magenta: #8f1f66;
    --pp-pink: #b73587;
    --pp-pink-soft: #edd1e2;
    --pp-purple: #58335d;
    --pp-purple-dark: #241029;
    --pp-plum: #684868;
    --pp-lime: #b9d424;
    --pp-ink: #211426;
    --pp-muted: #5f4b63;
    --pp-surface: #fbf3f9;
    --pp-gradient: linear-gradient(135deg, #b73587 0%, #74427a 48%, #3d2445 100%);
}

body {
    color: var(--pp-ink);
}

a,
.link-danger,
.text-danger,
.text-primary,
.breadcrumb-item a,
.login-header h3 span,
.footer-one .footer-top .footer-widget.footer-menu ul li a:hover,
.footer-one .footer-top .footer-widget .footer-contact-info .footer-address p a:hover,
.main-nav > li.active > a,
.main-nav > li > a:hover,
.main-nav .has-submenu.active > a {
    color: var(--pp-magenta) !important;
}

.btn-primary,
.btn-danger,
.btn-warning,
.btn-success,
.btn-dark,
.submit-btn,
.login-btn,
.header-one .main-menu-wrapper .main-nav li .btn.log-btn,
.header-one .main-menu-wrapper .main-nav li .btn.reg-btn,
.header-one .main-menu-wrapper .main-nav .register-btn .btn,
.booking-btn .btn,
.booking-range .btn,
.doctor-search-section.doctor-search-eleven .banner-header .btn,
.specialities-section-one .specialities-btn .btn,
.success-dashboard-link a {
    background: var(--pp-gradient) !important;
    border-color: var(--pp-magenta) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(92, 30, 85, 0.2);
}

.btn-primary:hover,
.btn-danger:hover,
.btn-warning:hover,
.btn-success:hover,
.btn-dark:hover,
.submit-btn:hover,
.login-btn:hover,
.booking-btn .btn:hover,
.booking-range .btn:hover {
    background: linear-gradient(135deg, #9d2b74 0%, #65386b 46%, #321d39 100%) !important;
    border-color: #65386b !important;
    color: #fff !important;
}

.btn-outline-primary,
.btn-outline-danger,
.btn-outline-success,
.btn-outline-warning {
    border-color: var(--pp-magenta) !important;
    color: var(--pp-magenta) !important;
}

.btn-outline-primary:hover,
.btn-outline-danger:hover,
.btn-outline-success:hover,
.btn-outline-warning:hover {
    background: var(--pp-magenta) !important;
    color: #fff !important;
}

.bg-primary,
.bg-danger,
.bg-warning,
.bg-success,
.badge-primary,
.badge-danger,
.badge-warning,
.badge-success,
.text-bg-primary,
.text-bg-danger,
.text-bg-warning,
.text-bg-success,
.alert-success,
.primary {
    background: var(--pp-gradient) !important;
    border-color: var(--pp-magenta) !important;
    color: #fff !important;
}

.alert-danger {
    background: #fff0f8 !important;
    border-color: #ef9ad3 !important;
    color: #8d1f66 !important;
}

.header.header-fixed,
.header-one,
.header .header-nav,
.header-one .header-nav {
    background: rgba(255, 247, 252, 0.96) !important;
    border-bottom: 1px solid rgba(92, 30, 85, 0.14);
    box-shadow: 0 8px 26px rgba(111, 60, 115, 0.08);
}

.header .header-nav .main-nav > li > a,
.header-one .main-menu-wrapper .main-nav > li > a {
    color: var(--pp-purple-dark) !important;
}

.header .header-nav .main-nav > li.active > a,
.header-one .main-menu-wrapper .main-nav > li.active > a {
    color: var(--pp-magenta) !important;
}

.bar-icon span,
.menu-close,
.header .header-nav .header-navbar-rht .has-arrow.logged-item .nav-link,
.header .header-nav .header-navbar-rht .has-arrow .logged-item .nav-link {
    color: var(--pp-purple-dark) !important;
}

.banner-section,
.section-search,
.breadcrumb-bar,
.breadcrumb-bar-two,
.login-right,
.account-content,
.content-wrapper,
.main-sidebar,
.brand-link {
    background-color: var(--pp-surface);
}

.banner-section {
    background:
        radial-gradient(circle at 20% 15%, rgba(183, 53, 135, 0.1), transparent 34%),
        radial-gradient(circle at 84% 18%, rgba(88, 51, 93, 0.1), transparent 30%),
        linear-gradient(180deg, #fcf6fa 0%, #f4e6f0 100%) !important;
}

.banner-content h1 span,
.banner-content h1,
.section-header h2,
.section-header-one h2,
.section-title,
.card-title,
.profile-widget .doc-name,
.doctor-widget-one .doc-name,
.login-header h3 {
    color: var(--pp-purple-dark) !important;
}

.banner-content p,
.section-header p,
.section-header-one p,
.profile-widget p,
.footer-one .footer-top .footer-widget p {
    color: var(--pp-muted) !important;
}

.category-sec .set-category,
.specialities-section-one .specialities-item,
.profile-widget,
.doctor-widget,
.doctor-widget-one,
.card,
.blog-card,
.articles-grid,
.booking-list,
.booking-date,
.appointment-list {
    border-color: rgba(92, 30, 85, 0.14) !important;
    box-shadow: 0 12px 30px rgba(111, 60, 115, 0.08) !important;
}

.specialities-section-one .specialities-img span,
.section-specialities .specialities-slider .speicality-item .speicality-img span,
.work-info .work-icon span,
.count-box .count-icon,
.footer-contacts .footer-wrap .footer-icon,
.faq-wrap ul li a span,
.center-img .center-service span,
.success-cont i {
    background: var(--pp-pink-soft) !important;
    color: var(--pp-magenta) !important;
}

.time-slot li .timing,
.time-slot.time-slot-blk li .timing,
.consultation-types a {
    border-color: rgba(92, 30, 85, 0.22) !important;
    color: var(--pp-purple-dark) !important;
}

.time-slot li .timing:hover,
.time-slot li .timing.selected,
.time-slot.time-slot-blk li .timing:hover,
.consultation-types a:hover,
.consultation-types a.active {
    background: var(--pp-gradient) !important;
    border-color: var(--pp-magenta) !important;
    color: #fff !important;
}

.footer.footer-one,
.footer-one .footer-top,
.main-footer {
    background: var(--pp-purple-dark) !important;
    color: #fce8f6 !important;
}

.footer-one .footer-title,
.footer-one .footer-top .footer-widget h2,
.footer-one .footer-top .footer-widget.footer-menu ul li a,
.footer-one .footer-top .footer-widget .footer-contact-info .footer-address p,
.main-footer a,
.main-footer strong {
    color: #fce8f6 !important;
}

.footer-one .social-icon ul li a {
    background: rgba(183, 53, 135, 0.12) !important;
    color: #fff !important;
    border-color: rgba(183, 53, 135, 0.22) !important;
}

.footer-one .social-icon ul li a:hover {
    background: var(--pp-pink) !important;
}

.main-sidebar,
.sidebar-dark-primary,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item.menu-open > .nav-link {
    background: var(--pp-purple-dark) !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover {
    background: var(--pp-gradient) !important;
    color: #fff !important;
}

.navbar-white,
.main-header,
.content-header {
    background: var(--pp-surface) !important;
}

.page-item.active .page-link,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.select2-container--bootstrap4 .select2-results__option--highlighted,
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
    background: var(--pp-magenta) !important;
    border-color: var(--pp-magenta) !important;
    color: #fff !important;
}

.form-control:focus,
.select2-container--bootstrap4.select2-container--focus .select2-selection {
    border-color: var(--pp-pink) !important;
    box-shadow: 0 0 0 0.2rem rgba(183, 53, 135, 0.13) !important;
}

.table thead th,
table.dataTable thead th {
    color: var(--pp-purple-dark) !important;
    border-bottom-color: rgba(92, 30, 85, 0.18) !important;
}

.swal2-confirm {
    background: var(--pp-magenta) !important;
}

.court-accent,
.planet-padel-accent {
    color: var(--pp-lime) !important;
}

/* Legacy template red cleanup */
.banner-section::after {
    opacity: 0.24;
    filter: hue-rotate(292deg) saturate(0.92) brightness(1.02);
}

.banner-content h1 span,
.banner-content .btn:hover,
.form-search-btn .btn:hover,
.search-input i,
.search-input .current-loc-icon,
.search-input input::placeholder,
.form-select:focus,
.form-control:focus {
    color: var(--pp-magenta) !important;
}

.banner-content .btn,
.form-search-btn .btn,
.search-box-one .form-search-btn .btn,
.banner-section .btn,
.banner-section .btn-primary,
.banner-section .btn-danger {
    background: var(--pp-pink) !important;
    border-color: var(--pp-pink) !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow:
        inset 0 0 0 0 rgba(255, 255, 255, 0),
        0 10px 24px rgba(92, 30, 85, 0.22) !important;
}

.banner-content .btn:hover,
.form-search-btn .btn:hover,
.search-box-one .form-search-btn .btn:hover,
.banner-section .btn:hover,
.banner-section .btn-primary:hover,
.banner-section .btn-danger:hover {
    background: #fff !important;
    border-color: var(--pp-magenta) !important;
    color: var(--pp-magenta) !important;
    box-shadow:
        inset 0 0 0 2px rgba(92, 30, 85, 0.14),
        0 10px 24px rgba(92, 30, 85, 0.16) !important;
}

.search-box-one {
    border-color: rgba(92, 30, 85, 0.14) !important;
    box-shadow: 0 18px 45px rgba(111, 60, 115, 0.12) !important;
}

.search-input.search-line::before,
.search-input.search-map-line::before {
    background: rgba(92, 30, 85, 0.14) !important;
}

.banner-content .header-icon,
.banner-arrow-img img,
img[src*="header-icon"],
img[src*="down-arrow-img"] {
    filter: hue-rotate(292deg) saturate(1.05) brightness(0.96) contrast(1.02);
}

.section-header-one .section-title::before {
    background: var(--pp-pink) !important;
    background-image: none !important;
    -webkit-mask: url("../assets/img/icons/header-icon.svg") center / contain no-repeat;
    mask: url("../assets/img/icons/header-icon.svg") center / contain no-repeat;
    opacity: 1 !important;
    filter: none !important;
}

.articles-content h4 a,
.articles-content h4 a:hover,
.articles-content .articles-list li i,
.blog-info i,
.blog-info a:hover,
.category-widget .categories li a:hover {
    color: var(--pp-magenta) !important;
}

.articles-content .btn,
.articles-content .btn:focus,
.articles-content .btn:active {
    background: #fff !important;
    border: 2px solid var(--pp-pink) !important;
    color: var(--pp-magenta) !important;
    box-shadow: inset 0 0 0 0 var(--pp-pink) !important;
}

.articles-content .btn:hover {
    background: var(--pp-pink) !important;
    border-color: var(--pp-pink) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 50px var(--pp-pink) !important;
}

.banner-img .banner-img1 img,
.banner-img .banner-img2 img,
.banner-img .banner-img3 img,
.banner-img > img {
    filter: hue-rotate(292deg) saturate(0.9) brightness(1);
}

.banner-img .banner-img1 {
    top: 330px !important;
    left: auto !important;
    right: -18px !important;
    width: clamp(230px, 26vw, 330px);
    z-index: 2;
}

.banner-img .banner-img1 img {
    width: 100%;
    height: auto;
}

.banner-img .banner-img2 {
    top: 72px !important;
    right: 108px !important;
    width: clamp(72px, 8vw, 112px);
    z-index: 3;
    animation: float 2.4s ease-in-out infinite !important;
}

.banner-img .banner-img2::after {
    content: "Planet\A ~Padel~";
    position: absolute;
    left: 37%;
    top: 43%;
    white-space: pre;
    color: #111;
    font-size: clamp(11px, 1.15vw, 16px);
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: 0;
    text-align: center;
    text-transform: none;
    transform: rotate(-5deg) skewX(-9deg);
    transform-origin: center;
    pointer-events: none;
    z-index: 2;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.18);
}

.banner-img .banner-img2 img {
    width: 100%;
    height: auto;
    display: block;
    filter: none !important;
}

@media (max-width: 991.98px) {
    .banner-img .banner-img1 {
        top: 292px !important;
        right: 8px !important;
        width: 230px;
    }

    .banner-img .banner-img2 {
        top: 54px !important;
        right: 32% !important;
        width: 82px;
    }

    .banner-img .banner-img2::after {
        font-size: 11px;
    }
}

.btn[style*="red"],
.btn[style*="#fd0e0edb"],
.btn[style*="#DA3831"],
.btn[style*="#FF3535"],
.btn[style*="#ff0100"] {
    background: var(--pp-pink) !important;
    border-color: var(--pp-pink) !important;
    color: #fff !important;
}

.text-danger,
.border-danger,
.badge-danger,
.bg-danger,
.alert-danger,
.btn-danger,
.invalid-feedback,
.is-invalid,
[class*="danger"] {
    border-color: var(--pp-magenta) !important;
}

input,
select,
textarea {
    accent-color: var(--pp-magenta);
    caret-color: var(--pp-magenta);
}

.mouse-cursor.cursor-inner,
.cursor-inner {
    background: var(--pp-pink) !important;
}

.mouse-cursor.cursor-inner.cursor-hover,
.cursor-inner.cursor-hover {
    background: var(--pp-magenta) !important;
}

.mouse-cursor.cursor-outer,
.cursor-outer {
    border-color: var(--pp-magenta) !important;
}

.mouse-cursor.cursor-outer.cursor-hover,
.cursor-outer.cursor-hover {
    border-color: var(--pp-pink) !important;
}

::selection {
    background: var(--pp-pink);
    color: #fff;
}

::-moz-selection {
    background: var(--pp-pink);
    color: #fff;
}

/* Stronger overrides for old red template components */
.faq-section .section-header-one h5,
.section-header-one h5,
.doc-department,
.doc-name a,
.doc-name a:hover,
.doc-location a,
.doctor-widget a,
.clinic-details a,
.filter-title,
.filter-grid h4 a:hover,
.filter-collapse .more-view,
.clini-infos ul li i,
.doctor-filter-sort .filter-today i,
.doctor-filter-sort .nav li a:hover,
.doctor-filter-sort .nav li a.active,
.text-bg-warning,
.bg-warning,
.text-warning {
    color: var(--pp-magenta) !important;
}

.faq-info .accordion-button,
.faq-info .accordion-button:hover,
.faq-info .accordion-button:not(.collapsed) {
    color: var(--pp-magenta) !important;
}

.faq-info .accordion-button::after {
    background: #fff !important;
    color: var(--pp-pink) !important;
    border: 1px solid rgba(183, 53, 135, 0.24) !important;
}

.faq-info .accordion-button:not(.collapsed)::after {
    background: var(--pp-pink) !important;
    color: #fff !important;
    border-color: var(--pp-pink) !important;
}

.faq-section {
    padding: 56px 0 72px !important;
}

.faq-section .section-header-one {
    margin-bottom: 34px !important;
}

.faq-section .row.align-items-center {
    align-items: center !important;
}

@media (min-width: 992px) {
    .faq-section .row.align-items-center > .col-lg-6:first-child {
        flex: 0 0 34%;
        max-width: 34%;
    }

    .faq-section .row.align-items-center > .col-lg-6:last-child {
        flex: 0 0 66%;
        max-width: 66%;
    }
}

.faq-img {
    max-width: 250px;
    margin: 0 auto 0 0;
    text-align: center;
}

.faq-img > img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    max-height: 430px;
    margin: 0 auto;
    object-fit: contain;
}

.faq-patients-count {
    min-width: 156px !important;
    padding: 10px 12px !important;
    bottom: -24px !important;
    border: 1px solid rgba(183, 53, 135, 0.16);
    box-shadow: 0 14px 30px rgba(111, 60, 115, 0.14) !important;
}

.faq-smile-img {
    margin-right: 8px !important;
}

.faq-smile-img img {
    width: 24px;
    height: 24px;
}

.faq-patients-content h4 {
    font-size: 16px !important;
    margin-bottom: 1px !important;
}

.faq-patients-content p {
    font-size: 11px !important;
    line-height: 1.25;
}

.faq-info {
    max-width: 540px;
    margin-left: 0;
}

.faq-info .accordion-item {
    border-radius: 6px !important;
    margin-bottom: 14px !important;
    padding: 13px 15px !important;
}

.faq-info .accordion-button {
    font-size: 14px !important;
    line-height: 1.45;
}

.faq-info .accordion-content p {
    font-size: 13px;
    line-height: 1.55;
}

@media (max-width: 991.98px) {
    .faq-section {
        padding: 48px 0 56px !important;
    }

    .faq-img {
        max-width: 220px;
        margin-bottom: 54px !important;
    }

    .faq-img > img {
        max-height: 390px;
    }

    .faq-info {
        max-width: 100%;
        margin-left: 0;
    }
}

@media (max-width: 575.98px) {
    .faq-img {
        max-width: 190px;
    }

    .faq-img > img {
        max-height: 340px;
    }
}

.progress-wrap {
    box-shadow: inset 0 0 0 2px rgba(183, 53, 135, 0.22) !important;
}

.progress-wrap::after {
    color: var(--pp-magenta) !important;
}

.progress-wrap svg.progress-circle path {
    stroke: var(--pp-pink) !important;
}

.btn-search .btn,
.filter-btn .btn,
.clinic-booking a.apt-btn,
.clinic-booking a.view-pro-btn:hover,
.clinic-booking a.view-pro-btn:focus,
.doctor-filter-sort .nav li a.active,
.doctor-search-section.doctor-search-eleven .banner-header .btn,
.togglesearch button,
.search-btn,
button.btn,
a.btn.submit-btn,
.submit-btn,
.btn.btn-danger,
.btn.btn-primary {
    background: var(--pp-pink) !important;
    background-color: var(--pp-pink) !important;
    border-color: var(--pp-pink) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(92, 30, 85, 0.18) !important;
}

.btn-search .btn:hover,
.filter-btn .btn:hover,
.clinic-booking a.apt-btn:hover,
.clinic-booking a.apt-btn:focus,
.clinic-booking a.view-pro-btn,
.doctor-filter-sort .nav li a,
button.btn:hover,
a.btn.submit-btn:hover,
.submit-btn:hover,
.btn.btn-danger:hover,
.btn.btn-primary:hover {
    background: #fff !important;
    background-color: #fff !important;
    border-color: var(--pp-magenta) !important;
    color: var(--pp-magenta) !important;
    box-shadow: inset 0 0 0 2px rgba(92, 30, 85, 0.1) !important;
}

.clinic-booking a,
.doctor-filter-sort .nav li a,
.filter-collapse ul li .custom_check input:checked ~ .checkmark,
.slider-wrapper .ui-slider-handle,
.articles-grid,
.search-filter,
.doctor-widget,
.card {
    border-color: rgba(183, 53, 135, 0.24) !important;
}

.filter-collapse ul li .custom_check .checkmark::after,
.ui-widget-header,
.loader span,
.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover,
.datepicker table tr td.active,
.datepicker table tr td.active:hover {
    background: var(--pp-pink) !important;
    background-color: var(--pp-pink) !important;
}

.slider-wrapper .ui-slider-handle {
    box-shadow: 0 0 0 4px rgba(183, 53, 135, 0.22) !important;
}

.card-header.text-bg-secondary,
.text-bg-secondary,
.bg-secondary {
    background: var(--pp-purple) !important;
    background-color: var(--pp-purple) !important;
    border-color: var(--pp-purple) !important;
    color: #fff !important;
}

.text-bg-warning {
    background: var(--pp-pink) !important;
    background-color: var(--pp-pink) !important;
    color: #fff !important;
}

.work-section {
    overflow: hidden;
    padding: 70px 0 56px !important;
}

.work-img-info {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 420px;
}

.work-img-info .work-img {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-8px);
}

.work-img-info .work-img img {
    width: auto !important;
    max-width: 72% !important;
    max-height: 360px;
    object-fit: contain;
    object-position: center;
}

.work-details {
    padding-top: 4px;
}

.work-details .section-header-one {
    margin-bottom: 36px;
}

.work-details .row {
    row-gap: 18px;
}

.work-info {
    align-items: center;
}

@media (max-width: 1199.98px) {
    .work-img-info {
        min-height: 390px;
    }

    .work-img-info .work-img img {
        max-height: 330px;
        max-width: 78% !important;
    }
}

a[style*="color: red"],
[style*="color:red"] {
    color: var(--pp-magenta) !important;
}
