/*
Theme Name: Inusti Child
Theme URI: https://gavias-theme.com/wp/inusti/
Author URI: http://gaviasthemes.com/
Author: Gaviasthemes Team
Description: Child theme for the Inusti theme.
Template: inusti
*/

:root{
	--LAYOUT-WIDTH: 1100px;
    --LAYOUT-GUTTER: 20px;
    --LAYOUT-GUTTER-OFFSET: -11px;
    --NAV-GUTTER: 11px;
    --LAYOUT-OUTER: 11px;
    --COLOR-VIDEO-BG: #f2f2f2;
    --COLOR-BG: #ffffff;
    --COLOR-BG-ACCENT: #ffffff;
    --COLOR-TEXT-DARK: #000000;
    --COLOR-TEXT: #000000;
    --COLOR-TEXT-LIGHT: #4d4d4d;
    --COLOR-PRIMARY: #6a7c8a;
    --COLOR-PRIMARY-HOVER: #3c566b;
    --COLOR-PRIMARY-FADE: rgba(106, 124, 138, 0.05);
    --COLOR-PRIMARY-FADE-HOVER: rgba(106, 124, 138, 0.1);
    --COLOR-PRIMARY-OPPOSITE: #ffffff;
    --COLOR-SECONDARY: #b0b7c0;
    --COLOR-SECONDARY-HOVER: #758faf;
    --COLOR-SECONDARY-FADE: rgba(176, 183, 192, 0.05);
    --COLOR-SECONDARY-FADE-HOVER: rgba(176, 183, 192, 0.1);
    --COLOR-SECONDARY-OPPOSITE: #000000;
    --COLOR-A5: rgba(0, 0, 0, 0.05);
    --COLOR-A10: rgba(0, 0, 0, 0.1);
    --COLOR-A20: rgba(0, 0, 0, 0.2);
    --COLOR-A35: rgba(0, 0, 0, 0.35);
    --COLOR-A50: rgba(0, 0, 0, 0.5);
    --COLOR-A80: rgba(0, 0, 0, 0.8);
    --COLOR-A90: rgba(0, 0, 0, 0.9);
    --COLOR-A95: rgba(0, 0, 0, 0.95);
    --INVERSE-BG: #6a7c8a;
    --INVERSE-BG-ACCENT: #b0b7c0;
    --INVERSE-TEXT-DARK: #ffffff;
    --INVERSE-TEXT: #ffffff;
    --INVERSE-TEXT-LIGHT: #d2d8dc;
    --INVERSE-PRIMARY: #7a2c52;
    --INVERSE-PRIMARY-HOVER: #48112c;
    --INVERSE-PRIMARY-FADE: rgba(122, 44, 82, 0.05);
    --INVERSE-PRIMARY-FADE-HOVER: rgba(122, 44, 82, 0.1);
    --INVERSE-PRIMARY-OPPOSITE: #ffffff;
    --INVERSE-SECONDARY: #ffffff;
    --INVERSE-SECONDARY-HOVER: #d9d9d9;
    --INVERSE-SECONDARY-FADE: rgba(255, 255, 255, 0.05);
    --INVERSE-SECONDARY-FADE-HOVER: rgba(255, 255, 255, 0.1);
    --INVERSE-SECONDARY-OPPOSITE: #0d0d0d;
    --INVERSE-A5: rgba(255, 255, 255, 0.05);
    --INVERSE-A10: rgba(255, 255, 255, 0.1);
    --INVERSE-A20: rgba(255, 255, 255, 0.2);
    --INVERSE-A35: rgba(255, 255, 255, 0.3);
    --INVERSE-A80: rgba(255, 255, 255, 0.8);
    --INVERSE-A90: rgba(255, 255, 255, 0.9);
    --INVERSE-A95: rgba(255, 255, 255, 0.95);
    --BRIGHT-BG: #6a7c8a;
    --BRIGHT-BG-ACCENT: #7a2c52;
    --BRIGHT-TEXT-DARK: #404040;
    --BRIGHT-TEXT: #000000;
    --BRIGHT-TEXT-LIGHT: #202529;
    --BRIGHT-PRIMARY: #fff;
    --BRIGHT-PRIMARY-HOVER: #d9d9d9;
    --BRIGHT-PRIMARY-FADE: rgba(255, 255, 255, 0.05);
    --BRIGHT-PRIMARY-FADE-HOVER: rgba(255, 255, 255, 0.1);
    --BRIGHT-PRIMARY-OPPOSITE: #0d0d0d;
    --BRIGHT-SECONDARY: #b0b7c0;
    --BRIGHT-SECONDARY-HOVER: #758faf;
    --BRIGHT-SECONDARY-FADE: rgba(176, 183, 192, 0.05);
    --BRIGHT-SECONDARY-FADE-HOVER: rgba(176, 183, 192, 0.1);
    --BRIGHT-SECONDARY-OPPOSITE: #000000;
    --BRIGHT-A5: rgba(0, 0, 0, 0.05);
    --BRIGHT-A10: rgba(0, 0, 0, 0.1);
    --BRIGHT-A20: rgba(0, 0, 0, 0.2);
    --BRIGHT-A35: rgba(0, 0, 0, 0.3);
    --BRIGHT-A80: rgba(0, 0, 0, 0.8);
    --BRIGHT-A90: rgba(0, 0, 0, 0.9);
    --BRIGHT-A95: rgba(0, 0, 0, 0.95);
    --COLOR-ANNOUNCEMENT-BG: #6a7c8a;
    --COLOR-ANNOUNCEMENT-TEXT: #ffffff;
    --COLOR-NAV: #ffffff;
	--COLOR-PINK: #6E2655;
    --COLOR-NAV-TEXT: #000000;
    --COLOR-NAV-TEXT-DARK: #000000;
    --COLOR-NAV-TEXT-LIGHT: #4d4d4d;
    --COLOR-NAV-BORDER: #6a7c8a;
    --COLOR-NAV-A10: rgba(0, 0, 0, 0.1);
    --COLOR-NAV-A50: rgba(0, 0, 0, 0.5);
    --COLOR-HIGHLIGHT-LINK: #000000;
    --COLOR-FOOTER-BG: #7a2c52;
    --COLOR-FOOTER-TEXT: #ffffff;
    --COLOR-FOOTER-A5: rgba(255, 255, 255, 0.05);
    --COLOR-FOOTER-A15: rgba(255, 255, 255, 0.15);
    --COLOR-FOOTER-A90: rgba(255, 255, 255, 0.9);
    --COLOR-SUB-FOOTER-BG: #000000;
    --COLOR-SUB-FOOTER-TEXT: #ffffff;
    --COLOR-SUB-FOOTER-A5: rgba(255, 255, 255, 0.05);
    --COLOR-SUB-FOOTER-A15: rgba(255, 255, 255, 0.15);
    --COLOR-SUB-FOOTER-A90: rgba(255, 255, 255, 0.9);
    --PRODUCT-GRID-ASPECT-RATIO: 90.0%;
    --COLOR-BADGE: #ffffff;
    --COLOR-BADGE-TEXT: #656565;
    --COLOR-BADGE-TEXT-DARK: #453939;
    --COLOR-BADGE-TEXT-HOVER: #8b8b8b;
    --COLOR-BADGE-HAIRLINE: #f7f7f7;
    --COLOR-PRODUCT-SLIDER: #ffffff;
    --COLOR-PRODUCT-SLIDER-OPPOSITE: rgba(13, 13, 13, 0.06);
    --COLOR-DISABLED-BG: #e6e6e6;
    --COLOR-DISABLED-TEXT: #a6a6a6;
    --INVERSE-DISABLED-BG: #798996;
    --INVERSE-DISABLED-TEXT: #9eaab3;
    --RGB-CANVAS: 255 255 255;
    --RGB-CONTENT: 0 0 0;
    --RGB-PRIMARY: 106 124 138;
    --RGB-SECONDARY: 176 183 192;
    --RGB-DARK-CANVAS: 106 124 138;
    --RGB-DARK-CONTENT: 255 255 255;
    --RGB-DARK-PRIMARY: 122 44 82;
    --RGB-DARK-SECONDARY: 255 255 255;
    --RGB-BRIGHT-CANVAS: 106 124 138;
    --RGB-BRIGHT-CONTENT: 0 0 0;
    --RGB-BRIGHT-PRIMARY: 255 255 255;
    --RGB-BRIGHT-SECONDARY: 176 183 192;
    --RGB-PRIMARY-CONTRAST: 255 255 255;
    --RGB-SECONDARY-CONTRAST: 0 0 0;
    --RGB-DARK-PRIMARY-CONTRAST: 255 255 255;
    --RGB-DARK-SECONDARY-CONTRAST: 13 13 13;
    --RGB-BRIGHT-PRIMARY-CONTRAST: 13 13 13;
    --RGB-BRIGHT-SECONDARY-CONTRAST: 0 0 0;
    --BUTTON-RADIUS: 0px;
    --ICON-STROKE-WIDTH: 2px;
    --FONT-STACK-BODY: "Trebuchet MS", sans-serif;
    --FONT-STYLE-BODY: normal;
    --FONT-WEIGHT-BODY: 400;
    --FONT-WEIGHT-BODY-BOLD: 700;
    --FONT-ADJUST-BODY: 1.0;
    --FONT-BODY-TRANSFORM: none;
    --FONT-BODY-LETTER-SPACING: normal;
    --FONT-STACK-HEADING: "Trebuchet MS", sans-serif;
    --FONT-STYLE-HEADING: normal;
    --FONT-WEIGHT-HEADING: 700;
    --FONT-WEIGHT-HEADING-BOLD: 700;
    --FONT-ADJUST-HEADING: 1.0;
    --FONT-HEADING-TRANSFORM: none;
    --FONT-HEADING-LETTER-SPACING: normal;
    --FONT-STACK-ACCENT: "Courier New", sans-serif;
    --FONT-STYLE-ACCENT: normal;
    --FONT-WEIGHT-ACCENT: 400;
    --FONT-WEIGHT-ACCENT-BOLD: 700;
    --FONT-ADJUST-ACCENT: 1.0;
    --FONT-ACCENT-TRANSFORM: uppercase;
    --FONT-ACCENT-LETTER-SPACING: 0.09em;
    --TYPE-STACK-NAV: jetBrains_Mono_medium;
    --TYPE-ADJUST-NAV: 1.0;
    --FONT-NAV-TRANSFORM: none;
    --FONT-NAV-LETTER-SPACING: normal;
    --TYPE-STACK-BUTTON: jetBrains_Mono_medium;
    --TYPE-ADJUST-BUTTON: 1.0;
    --FONT-BUTTON-TRANSFORM: none;
    --FONT-BUTTON-LETTER-SPACING: normal;
    --TYPE-STACK-KICKER: jetBrains_Mono_extrabold;
    --TYPE-ADJUST-KICKER: 1.0;
    --FONT-KICKER-TRANSFORM: none;
    --FONT-KICKER-LETTER-SPACING: normal;
    --ICO-SELECT: url(//wiqo.us/cdn/shop/t/62/assets/ico-select.svg?v=1504105…);
    --PHOTO-CORRECTION: 100%;
}

.gsc-heading .sub-title > span:after{
	background: var(--INVERSE-BG)
}
.btn-theme, .btn, .btn-white, .btn-theme-2, .btn-black, input[type*="submit"]:not(.fa):not(.btn-theme), #tribe-events .tribe-events-button, .tribe-events-button, .return-top{
	background: var(--COLOR-PINK);
}

.gsc-heading .sub-title > span:after{
	display: none;
}
.gva-brand-carousel .brand-item-content img{
	max-height: 130px;
}
ul.gva-nav-menu > li > a:before{
	background: var(--COLOR-PINK)
}

/* Import beautiful fonts */
@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@300;400;600&family=DM+Sans:wght@400;500;700&display=swap');

/* CSS Variables */
:root {
    --purple-primary: #7C3AED;
    --purple-light: #A78BFA;
    --purple-dark: #5B21B6;
    --cream: #FFFBF5;
    --charcoal: #2C2C2C;
    --gray-light: #F5F5F7;
    --gray-medium: #8E8E93;
    --shadow-soft: 0 10px 40px rgba(124, 58, 237, 0.08);
    --shadow-medium: 0 20px 60px rgba(124, 58, 237, 0.12);
}
.custom-breadcrumb{
	background-position-y: bottom;
}
body.page .content-page-inner h1.title{
	display: none;
}
/* Contact Form Container */
.wpcf7 {
    background: white;
    border-radius: 24px;
    box-shadow: var(--shadow-medium);
    max-width: 1200px;
    margin: 0px auto;
    padding: 80px 10px 40px;
    position: relative;
    animation: slideUp 0.6s ease-out;
    border: 1px solid rgba(124, 58, 237, 0.08);
}

/* Two Column Layout */
.prx-two-column-layout {
    display: grid;
/*     grid-template-columns: auto auto; */
    gap: 20px;
    align-items: center;
}

.prx-left-column {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 20px;
    position: sticky;
    top: 40px;
}

.prx-right-column {
    display: flex;
    flex-direction: column;
	position: relative;
/*     gap: 24px; */
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Form Header */
.prx-form-header {
    margin-bottom: 0;
    text-align: left;
    position: relative;
    padding: 5px;
}

.prx-form-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #eef0f4, #a5acbb);
    border-radius: 2px;
}

.prx-form-header h1 {
    font-family: 'Poppins', serif;
    font-size: 2.75rem;
    font-weight: 600;
    color: var(--charcoal);
    margin-bottom: 12px;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.prx-form-header h4 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--purple-primary);
    margin-bottom: 16px;
    letter-spacing: 0.01em;
}

.prx-intro-text {
    font-size: 0.95rem;
    color: var(--gray-medium);
    margin-bottom: 36px;
    line-height: 1.6;
}

/* Form Fields */
.wpcf7-form {
    font-family: 'Poppins', sans-serif;
}

.prx-form-label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--charcoal);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    opacity: 0;
    animation: fadeIn 0.5s ease-out forwards;
	margin-bottom: 0;
	position: relative;
}
.prx-right-column .prx-form-label span.label{
	position: absolute;
    top: 20px;
    left: 20px;
    color: gray;
    z-index: 99;
	text-transform: none;
}
.wpcf7-form .wpcf7-form-control-wrap{
	margin-bottom: 10px;
}
.prx-form-label:nth-of-type(1) { animation-delay: 0.1s; }
.prx-form-label:nth-of-type(2) { animation-delay: 0.2s; }
.prx-form-label:nth-of-type(3) { animation-delay: 0.3s; }
.prx-form-label:nth-of-type(4) { animation-delay: 0.4s; }
.prx-form-label:nth-of-type(5) { animation-delay: 0.5s; }

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Input Fields */
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"] {
    width: 100%;
    padding: 16px 20px 0px;
    border: 2px solid #E8E8ED;
    border-radius: 12px;
    font-family: "Poppins", sans-serif;
    font-size: 1rem;
    color: var(--charcoal);
    background: white;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    outline: none;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="email"]:focus {
    border-color: var(--purple-primary);
    background: #FAFBFF;
    box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.08);
    transform: translateY(-2px);
}

/* Nuclear option - force all inputs to be identical */
.wpcf7 input[type="tel"] {
    all: unset;
    width: 100%;
    padding: 16px 20px;
    border: 2px solid #E8E8ED;
    border-radius: 12px;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1rem !important;
    background: white !important;
    box-sizing: border-box;
    display: block;
	text-transform: none;
	font-weight: 400;
	color: #2c2c2c !important;
}

/* Submit Button */
.wpcf7 .prx-submit {
    width: 100%;
    padding: 18px 32px;
    background: linear-gradient(135deg, var(--purple-primary) 0%, var(--purple-dark) 100%);
    color: white;
    border: none;
    border-radius: 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.25);
    margin-top: 12px;
    position: relative;
    overflow: hidden;
}

.wpcf7 .prx-submit::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.wpcf7 .prx-submit:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(124, 58, 237, 0.35);
}

.wpcf7 .prx-submit:hover::before {
    width: 300px;
    height: 300px;
}

.wpcf7 .prx-submit:active {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(124, 58, 237, 0.3);
}

.btn-theme:hover, .btn:hover, .btn-white:hover, .btn-theme-2:hover, .btn-black:hover, input[type*="submit"]:not(.fa):not(.btn-theme):hover, #tribe-events .tribe-events-button:hover, .tribe-events-button:hover{
	background: #6a7c8a;
	color: #fff;
	font-size: 1.4em;
}
/* Loading State */
.wpcf7 form.submitting .prx-submit {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Validation & Messages */
.wpcf7-not-valid-tip {
    color: #DC2626;
    font-size: 0.8rem;
    margin-top: 6px;
    display: block;
}

.wpcf7-validation-errors,
.wpcf7-mail-sent-ok {
    padding: 16px 20px;
    border-radius: 12px;
    margin-top: 20px;
    font-size: 0.9rem;
    animation: slideDown 0.4s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wpcf7-validation-errors {
    background: #FEE2E2;
    border: 2px solid #FCA5A5;
    color: #991B1B;
}

.wpcf7-mail-sent-ok {
    background: #D1FAE5;
    border: 2px solid #6EE7B7;
    color: #065F46;
}

/* Brand Badge */
.prx-brand-badge {
    text-align: left;
    margin-top: auto;
    padding-top: 32px;
    border-top: 1px solid #E8E8ED;
}

.prx-brand-badge p {
    font-size: 0.8rem;
    color: var(--gray-medium);
    letter-spacing: 0.05em;
}

.prx-brand-badge strong {
    color: var(--purple-primary);
    font-weight: 600;
}

/* Responsive Design */
@media (max-width: 968px) {
    .prx-two-column-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .prx-left-column {
        position: relative;
        top: 0;
        text-align: center;
    }

    .prx-form-header {
        text-align: center;
        padding-right: 0;
    }

    .prx-form-header::before {
        left: 50%;
        transform: translateX(-50%);
    }

    .prx-brand-badge {
        text-align: center;
        border-top: none;
        padding-top: 0;
    }

    .prx-form-header h1 {
        font-size: 2rem;
    }

    .prx-form-header h4 {
        font-size: 1rem;
    }

    .prx-intro-text {
        font-size: 0.9rem;
    }

    .wpcf7 {
        padding: 40px 30px;
    }
}

@media (max-width: 768px) {
    .wpcf7 {
        border-radius: 20px;
    }

    .prx-form-label {
        font-size: 0.8rem;
    }

    .wpcf7 input[type="text"],
    .wpcf7 input[type="tel"],
    .wpcf7 input[type="email"] {
        padding: 14px 16px;
        font-size: 0.95rem;
    }

    .wpcf7 .prx-submit {
        padding: 16px 28px;
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .wpcf7 {
        padding: 32px 24px;
        margin: 20px 15px;
    }

    .prx-form-header h1 {
        font-size: 1.75rem;
    }
}

/* Selection & Scrollbar */
::selection {
    background: var(--purple-light);
    color: white;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--gray-light);
}

::-webkit-scrollbar-thumb {
    background: var(--purple-light);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--purple-primary);
}

/* Enhanced page background for contact form page */
.page-template-contact body,
.page-id-610 body { 
    background: linear-gradient(135deg, #FFFBF5 0%, #F8F5FF 100%);
    min-height: 100vh;
    position: relative;
}

.page-template-contact body::before,
.page-id-610 body::before {
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(124, 58, 237, 0.06) 0%, transparent 70%);
    border-radius: 50%;
    top: -200px;
    right: -200px;
    z-index: 0;
    animation: float 20s ease-in-out infinite;
    pointer-events: none;
}

.page-template-contact body::after,
.page-id-610 body::after {
    content: '';
    position: absolute;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(167, 139, 250, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    bottom: -150px;
    left: -150px;
    z-index: 0;
    animation: float 25s ease-in-out infinite reverse;
    pointer-events: none;
}

@keyframes float {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    33% { transform: translate(30px, -30px) rotate(5deg); }
    66% { transform: translate(-20px, 20px) rotate(-5deg); }
}

/* PRX Plus page */

.multilayer-para span, li.pink-bold{
	color: var(--COLOR-PINK);
	font-weight: 600;
}

.leaflet-tile { max-width: none !important; }
.leaflet-container img { max-width: none !important; }

.custom-breadcrumb .breadcrumb{
	color: var(--COLOR-PINK);
}



/* Find A Clinic Page */
#naos-locator * { box-sizing: border-box; margin: 0; padding: 0; }

#naos-locator {
  font-family: 'Poppins', sans-serif;
  background: #F7F3EE;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.leaflet-popup-content-wrapper { padding: 10px !important; }

/* ── TOP BAR ── */
#naos-locator .nloc-bar {
  background: #6E2655;
  color: #F7F3EE;
  padding: 1.2rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.8rem;
}

#naos-locator .nloc-title {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

#naos-locator .nloc-title span {
  color: #C9A96E;
  font-weight: 300;
}

#naos-locator .nloc-locate-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #C9A96E;
  color: #fff;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.2s;
  white-space: nowrap;
}

#naos-locator .nloc-locate-btn:hover { opacity: 0.85; }

#naos-locator .nloc-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #fff;
  animation: nlocPulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
  display: inline-block;
}

@keyframes nlocPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.4; transform: scale(0.6); }
}

/* ── FILTERS ── */
#naos-locator .nloc-filters {
  display: flex;
  padding: 1rem 1.5rem 0;
}

#naos-locator .nloc-filter {
  flex: none;
  background: transparent;
  border: 1px solid #D4B896;
  padding: 0.4rem 1.1rem;
  font-family: 'Poppins', sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
  color: #7A6E65;
  cursor: pointer;
  transition: all 0.2s;
}

#naos-locator .nloc-filter:first-child { border-radius: 3px 0 0 3px; }
#naos-locator .nloc-filter:last-child  { border-radius: 0 3px 3px 0; border-left: none; }
#naos-locator .nloc-filter:not(:first-child):not(:last-child) { border-left: none; }

#naos-locator .nloc-filter.active {
  background: #6E2655;
  color: #F7F3EE;
  border-color: #6E2655;
}

#naos-locator .nloc-filter:not(.active):hover {
  background: #f0e8ec;
  color: #6E2655;
}

/* ── BODY ── */
#naos-locator .nloc-body {
  display: flex;
  height: 480px;
}

#naos-locator .nloc-map {
  flex: 1;
  position: relative;
}

#naos-locator .nloc-map-el {
  width: 100%;
  height: 100%;
}

/* ── CARD LIST ── */
#naos-locator .nloc-list {
  width: 300px;
  flex-shrink: 0;
  overflow-y: auto;
  background: #fff;
  border-left: 1px solid #E8DDD0;
  scrollbar-width: thin;
  scrollbar-color: #E8DDD0 transparent;
  padding: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

#naos-locator .nloc-card {
  border: 1px solid #E8DDD0;
  border-radius: 4px;
  padding: 1rem;
  cursor: pointer;
  transition: all 0.18s;
  background: #fff;
}

#naos-locator .nloc-card:hover,
#naos-locator .nloc-card.active {
  border-color: #6E2655;
  box-shadow: 0 2px 12px rgba(110,38,85,0.1);
}

#naos-locator .nloc-card-country {
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #6E2655;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

#naos-locator .nloc-card-name {
  font-size: 0.88rem;
  font-weight: 600;
  color: #1C1814;
  margin-bottom: 0.15rem;
  line-height: 1.3;
}

#naos-locator .nloc-card-brand {
  font-size: 0.68rem;
  color: #7A6E65;
  font-style: italic;
  margin-bottom: 0.6rem;
}

#naos-locator .nloc-card-addr {
  font-size: 0.71rem;
  color: #7A6E65;
  line-height: 1.6;
  margin-bottom: 0.75rem;
}

#naos-locator .nloc-card-dist {
  font-size: 0.66rem;
  color: #6E2655;
  background: #f8f0f5;
  display: inline-block;
  padding: 0.15rem 0.55rem;
  border-radius: 20px;
  margin-bottom: 0.65rem;
  font-weight: 500;
}

#naos-locator .nloc-card-actions {
  display: flex;
  gap: 0.5rem;
}

#naos-locator .nloc-btn-dir {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: #6E2655;
  color: #F7F3EE;
  text-decoration: none;
  padding: 0.42rem 0.85rem;
  border-radius: 3px;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: 'Poppins', sans-serif;
  transition: opacity 0.2s;
  white-space: nowrap;
}

#naos-locator .nloc-btn-dir:hover { opacity: 0.82; }

#naos-locator .nloc-btn-zoom {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: transparent;
  color: #7A6E65;
  border: 1px solid #E8DDD0;
  padding: 0.42rem 0.7rem;
  border-radius: 3px;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

#naos-locator .nloc-btn-zoom:hover { border-color: #6E2655; color: #6E2655; }

/* ── GEO MODAL ── */
#naos-locator .nloc-modal {
  display: none;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 800;
  background: #fff;
  border: 1px solid #E8DDD0;
  border-radius: 6px;
  padding: 1.8rem 2rem;
  text-align: center;
  box-shadow: 0 16px 48px rgba(110,38,85,0.15);
  width: 280px;
}

#naos-locator .nloc-modal.show { display: block; }

#naos-locator .nloc-modal h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #1C1814;
  margin-bottom: 0.5rem;
  font-family: 'Poppins', sans-serif;
}

#naos-locator .nloc-modal p {
  font-size: 0.74rem;
  color: #7A6E65;
  margin-bottom: 1.2rem;
  line-height: 1.6;
}

#naos-locator .nloc-modal-btn {
  background: #6E2655;
  color: #F7F3EE;
  border: none;
  padding: 0.6rem 1.5rem;
  border-radius: 3px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
  display: block;
  width: 100%;
  margin-bottom: 0.5rem;
}

#naos-locator .nloc-modal-btn:hover { opacity: 0.82; }

#naos-locator .nloc-modal-skip {
  font-size: 0.7rem;
  color: #7A6E65;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  text-decoration: underline;
}

/* ── TOAST ── */
#naos-locator .nloc-toast {
  position: absolute;
  bottom: 1rem; left: 50%;
  transform: translateX(-50%) translateY(60px);
  z-index: 900;
  background: #6E2655;
  color: #F7F3EE;
  padding: 0.55rem 1.2rem;
  border-radius: 3px;
  font-size: 0.74rem;
  letter-spacing: 0.04em;
  transition: transform 0.3s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
  white-space: nowrap;
}

#naos-locator .nloc-toast.show { transform: translateX(-50%) translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 640px) {
  #naos-locator .nloc-body   { flex-direction: column; height: auto; }
  #naos-locator .nloc-map    { height: 280px; }
  #naos-locator .nloc-list   { width: 100%; border-left: none; border-top: 1px solid #E8DDD0; max-height: 360px; }
  #naos-locator .nloc-bar    { padding: 1rem; }
  #naos-locator .nloc-filters{ padding: 0.8rem 1rem 0; }
}
.leaflet-popup-tip {
    width: 25px !important;
    height: 14px !important;
	-moz-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    transform: rotate(40deg);
    margin-top: -10px !important;
}

.leaflet-popup-tip-container{
	left: calc(50% - 17px) !important;
}
.leaflet-bottom{
	display: none !important;
}


/* shop page */
/* ── PRX Package Deals Section ── */
/* ── PRX Package Deals Section ── */
.prx-deals-section {
  width: 100%;
  padding: 0 0 2rem;
}

.prx-deals-row {
  --bs-gutter-x: 12px;
  --bs-gutter-y: 12px;
	row-gap: 20px;
}

.prx-deals-eyebrow {
  text-align: center;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 0.4rem;
}

.prx-deals-heading {
  text-align: center;
  font-size: 26px;
  font-weight: 600;
  margin: 0 0 1.5rem;
}

.prx-deal-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 1.1rem;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.prx-deal-card:hover {
  border-color: #bbb;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

.prx-deal-card.prx-featured {
  border: 2px solid #1D9E75;
}

.prx-deal-card.prx-holiday {
  border: 1px solid #D85A30;
}

.prx-badge-row {
  min-height: 26px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.prx-badge-popular {
  display: inline-block;
  background: #E1F5EE;
  color: #0F6E56;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
}

.prx-badge-holiday {
  display: inline-block;
  background: #FAECE7;
  color: #993C1D;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
}

.prx-holiday-label {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #993C1D;
  font-weight: 600;
  margin: 0 0 3px;
}

.prx-deal-name {
  font-size: 14px;
  font-weight: 600;
  color: #111;
  margin: 0 0 3px;
  line-height: 1.3;
}

.prx-deal-sub {
  font-size: 12px;
	line-height: 16px;
  color: #888;
  margin: 0 0 10px;
}

.prx-divider {
  border: none;
  border-top: 1px solid #f0f0f0;
  margin: 0 0 10px;
}

.prx-discount {
  font-size: 26px;
  font-weight: 700;
  color: #111;
  margin: 0 0 6px;
  line-height: 1;
}

.prx-discount span {
  font-size: 13px;
  color: #888;
  font-weight: 400;
}

.prx-perks {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.prx-perks li {
  font-size: 12px;
  color: #555;
  padding-left: 18px;
  position: relative;
  line-height: 1.4;
}

.prx-perks li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #1D9E75;
  font-weight: 700;
}

.prx-holiday .prx-perks li::before {
  color: #D85A30;
}

.prx-cta {
  display: block;
  text-align: center;
  padding: 9px 0;
  border-radius: 8px;
  border: 1px solid #ddd;
  font-size: 13px;
  font-weight: 600;
  color: #111;
  text-decoration: none;
  background: #f5f5f5;
  transition: background 0.15s;
}

.prx-cta:hover {
  background: #e8e8e8;
  color: #111;
  text-decoration: none;
}

.prx-cta.prx-cta-featured {
  background: #1D9E75;
  color: #fff;
  border-color: #1D9E75;
}

.prx-cta.prx-cta-featured:hover {
  background: #0F6E56;
  color: #fff;
}
/* deal notice to add the gift notes to the order process */
.prx-deal-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #E1F5EE;
    border-left: 4px solid #fe00db;
    color: #0F6E56;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 14px;
    margin-bottom: 1.25rem;
}

.prx-deal-notice::before {
    display: none; /* override WooCommerce default message icon */
}

.prx-deal-notice-icon {
    font-size: 16px;
    color: #fe00db;
    flex-shrink: 0;
}

.prx-deal-notice strong {
    color: #fe00db;
}
.prx-empty-cart-wrap {
	margin: 10px 0 1rem;
	text-align: right;
}
.prx-empty-cart-btn {
	display: inline-block;
	padding: 8px 18px;
	border: 1px solid #6e2656;
	border-radius: 6px;
	color: #6e2656;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	background: #ff8f27;
	transition: background 0.15s, color 0.15s;
}
.prx-empty-cart-btn:hover {
	background: #6e2656;
	color: #fff;
	text-decoration: none;
}
.prx-empty-cart-btn.loading {
	opacity: 0.5;
	pointer-events: none;
}
/* end deals style */
.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-info, .woocommerce-notices-wrapper .woocommerce-error {
    background: #6e2656 !important;
    padding: 5px 20px !important;
    margin: 0 0 5px !important;
    border-right: 4px solid #ee02a3;
    border-radius: 10px;
	color: #fff !important;
}
.woocommerce-page .content-page-inner input.button, .woocommerce-page .content-page-inner a.button{
	border-radius: 10px;
	margin-left: 20px !important;
}

body.woocommerce-page .shop-loop-container{
	padding-top: 0 !important;
}
body.post-type-archive-product .main-page-content {
    padding-top: 0 !important;
}

.shop-professional-notice{
	background: #6e2656;
    color: #fff;
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    width: fit-content;
    margin: 0 auto 30px;
    max-width: 100%;
}

.woocommerce-cart-form__contents .product-quantity .quantity .prx-qty-btn{
	display: none;
}
.product-block .product-thumbnail{
	overflow: visible !important;
}
.product-block .product-thumbnail .shop-loop-actions{
	width: 100% !important;
	bottom: -30px !important;
}
.shop-loop-actions .quickview, .shop-loop-actions .yith-wcwl-add-to-wishlist, .shop-loop-actions .yith-compare, .shop-loop-actions .add-to-cart{
	margin: 2px auto !important;
	background: #6e265699 !important;
	width: 100% !important;
}
.shop-loop-actions .quickview a, .shop-loop-actions .yith-wcwl-add-to-wishlist a, .shop-loop-actions .yith-compare a, .shop-loop-actions .add-to-cart a{
	color: #fff !important;
	width: 100% !important;
}
/* End of Find A Clinic page */



















