﻿/* ==========================================================================
   Roladex v2 — dist/style.css
   SOURCE OF TRUTH. Edit this file directly.

   SCSS compilation is DISABLED (main.scss renamed to main.scss.DISABLED).
   The src/scss/ tree is legacy reference only — do NOT re-enable the Live
   Sass Compiler, it will overwrite this file and destroy ~1,000 lines of
   hand-written styles that were never ported back into SCSS partials.
   ========================================================================== */

@font-face {
    font-display: swap;
    font-family: Carla;
    font-style: normal;
    font-weight: 400;
    src: url('fonts/CarlaSans/CarlaSansRegular.woff2') format('woff2'),
         url('fonts/CarlaSans/CarlaSansRegular.woff')  format('woff'),
         url('fonts/CarlaSans/CarlaSansRegular.ttf')   format('truetype');
}

/* ==========================================================================
   1. WEB FONTS
   ========================================================================== */

@font-face {
    font-family: 'HelveticaNow';
    src: url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-Light.woff2') format('woff2'),
         url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-Light.woff')  format('woff');
    font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'HelveticaNow';
    src: url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-Regular.woff2') format('woff2'),
         url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-Regular.woff')  format('woff');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'HelveticaNow';
    src: url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-Md.woff2') format('woff2'),
         url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-Md.woff')  format('woff');
    font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'HelveticaNow';
    src: url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-Bold.woff2') format('woff2'),
         url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-Bold.woff')  format('woff');
    font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'HelveticaNow';
    src: url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-ExtraBold.woff2') format('woff2'),
         url('../assets/fonts/HelveticaNow/HelveticaNowDisplay-ExtraBold.woff')  format('woff');
    font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Carla';
    src: url('../assets/fonts/CarlaSans/CarlaSansRegular.woff2') format('woff2'),
         url('../assets/fonts/CarlaSans/CarlaSansRegular.woff')  format('woff'),
         url('../assets/fonts/CarlaSans/CarlaSansRegular.ttf')   format('truetype');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'RoladexIcons';
    src: url('../assets/fonts/RoladexIcons/fontello.woff2') format('woff2'),
         url('../assets/fonts/RoladexIcons/fontello.woff')  format('woff'),
         url('../assets/fonts/RoladexIcons/fontello.ttf')   format('truetype');
    font-weight: normal; font-style: normal; font-display: optional;
}

/* ==========================================================================
   2. CSS CUSTOM PROPERTIES
   ========================================================================== */

:root {
    --rdx-primary:      #000000;
    --rdx-secondary:    #192b45;
    --rdx-tertiary:     #dad9da;
    --rdx-light-blue:   #3b5f93;
    --rdx-pale-blue:    #b0d1ff;
    --rdx-platinum:     #dbdbda;
    --rdx-border:       #b8d8eb;
    --rdx-body-bg:      #000000;
    --rdx-white:        #ffffff;
    --rdx-success:      #28a745;
    --rdx-warning:      #ffc107;
    --rdx-danger:       #dc3545;
    --rdx-shadow-sm:    0 1px 4px rgba(0,0,0,.08);
    --rdx-shadow-base:  0 2px 12px rgba(0,0,0,.10);
    --rdx-shadow-lg:    0 8px 32px rgba(0,0,0,.14);
    --rdx-transition-fast: 150ms ease;
    --rdx-transition-base: 250ms ease;
    --rdx-transition-slow: 400ms ease;
    --rdx-radius-sm:   0.25rem;
    --rdx-radius:      0.5rem;
    --rdx-radius-lg:   1rem;
    --rdx-radius-pill: 50rem;
    --rdx-font-base:   'HelveticaNow', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    --rdx-font-size-sm: 0.875rem;
    --rdx-font-size-xs: 0.75rem;
    --rdx-z-raised:    10;
    --rdx-z-dropdown:  100;
    --rdx-z-sticky:    200;
    --rdx-z-overlay:   300;
    --rdx-z-modal:     400;
    --rdx-z-toast:     500;
}

/* ==========================================================================
   3. BASE / RESET
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
    font-family: var(--rdx-font-base);
    background-color: var(--rdx-body-bg);
    background-image: url('assets/images/dark-mode-tile-roladex.png');
    background-repeat: repeat;
    color: var(--rdx-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

:focus-visible {
    outline: 2px solid var(--rdx-light-blue);
    outline-offset: 2px;
    border-radius: var(--rdx-radius-sm);
}
:focus:not(:focus-visible) { outline: none; }

img, video { max-width: 100%; height: auto; }

p, li, td, th { overflow-wrap: break-word; word-break: break-word; }

a {
    color: var(--rdx-secondary);
    text-decoration: none;
    transition: color var(--rdx-transition-fast);
}
a:hover { color: var(--rdx-light-blue); }

nav ul, nav ol { list-style: none; margin: 0; padding: 0; }

@media (min-width: 783px)                      { .admin-bar .site-header { top: 32px; } }
@media (min-width: 601px) and (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* ==========================================================================
   4. ANIMATIONS
   ========================================================================== */

@keyframes rdx-fade-in  { from { opacity: 0; } to { opacity: 1; } }
@keyframes rdx-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes rdx-pop-in   { 0% { opacity:0; transform:scale(.85); } 70% { opacity:1; transform:scale(1.03); } 100% { transform:scale(1); } }
@keyframes rdx-slide-up { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes rdx-pulse    { 0%,100% { transform:scale(1);    opacity:1;    } 50% { transform:scale(1.12); opacity:.75; } }
@keyframes rdx-spin     { to { transform: rotate(360deg); } }
@keyframes rdx-heartbeat { 0%,100% { transform:scale(1); } 14%,42% { transform:scale(1.2); } 28%,56% { transform:scale(1); } }

.rdx-animate-fade-in  { animation: rdx-fade-in  var(--rdx-transition-base) both; }
.rdx-animate-pop-in   { animation: rdx-pop-in   var(--rdx-transition-base) both; }
.rdx-animate-slide-up { animation: rdx-slide-up var(--rdx-transition-base) both; }
.rdx-animate-pulse    { animation: rdx-pulse 2s ease-in-out infinite; }
[data-rdx-stagger]    { animation-delay: var(--rdx-stagger-delay, 0ms); }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ==========================================================================
   5. UTILITIES
   ========================================================================== */

.rdx-z-below    { z-index: -1;  }
.rdx-z-raised   { z-index: 10;  }
.rdx-z-overlay  { z-index: 300; }
.rdx-z-modal    { z-index: 400; }

.rdx-bg-primary   { background-color: var(--rdx-primary)   !important; color: #fff; }
.rdx-bg-secondary { background-color: var(--rdx-secondary) !important; color: #fff; }
.rdx-bg-tertiary  { background-color: var(--rdx-tertiary)  !important; }
.rdx-bg-white     { background-color: var(--rdx-white)     !important; }

.rdx-text-primary   { color: var(--rdx-primary)   !important; }
.rdx-text-secondary { color: var(--rdx-secondary) !important; }
.rdx-text-white     { color: var(--rdx-white)      !important; }
.rdx-text-muted     { color: rgba(28,28,29,.55)    !important; }

.rdx-ratio-portrait  { aspect-ratio: 2/3; }
.rdx-ratio-square    { aspect-ratio: 1/1; }
.rdx-ratio-landscape { aspect-ratio: 3/2; }
.rdx-ratio-wide      { aspect-ratio: 16/9; }

.rdx-cover   { object-fit: cover;   width: 100%; height: 100%; }
.rdx-contain { object-fit: contain; width: 100%; height: 100%; }

.rdx-hidden  { display: none  !important; }
.rdx-visible { display: block !important; }

.rdx-truncate { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

.rdx-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rdx-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.rdx-scrollbar-thin { scrollbar-width: thin; scrollbar-color: var(--rdx-tertiary) transparent; }
.rdx-scrollbar-thin::-webkit-scrollbar { width: 6px; height: 6px; }
.rdx-scrollbar-thin::-webkit-scrollbar-thumb { background-color: var(--rdx-tertiary); border-radius: var(--rdx-radius-pill); }

.rdx-divider { border: none; border-top: 1px solid var(--rdx-tertiary); margin-block: 1.5rem; }

.rdx-available-dot {
    display: inline-block;
    width: 10px; height: 10px;
    border-radius: 50%;
    background-color: var(--rdx-success);
    flex-shrink: 0;
}
.rdx-available-dot--pulse { animation: rdx-pulse 2s ease-in-out infinite; }

.rdx-icon {
    font-family: 'RoladexIcons', sans-serif;
    font-style: normal; font-weight: normal;
    font-variant: normal; text-transform: none;
    line-height: 1; speak: never;
    -webkit-font-smoothing: antialiased;
}

/* ==========================================================================
   6. BUTTONS
   ========================================================================== */

.btn {
    font-weight: 500;
    letter-spacing: 0.01em;
    transition: background-color var(--rdx-transition-fast),
                border-color var(--rdx-transition-fast),
                color var(--rdx-transition-fast),
                box-shadow var(--rdx-transition-fast);
}
.btn:focus-visible { box-shadow: 0 0 0 3px rgba(59,95,147,.35); }

.btn-rdx-primary {
    background-color: var(--rdx-primary); color: #fff; border-color: var(--rdx-primary);
}
.btn-rdx-primary:hover, .btn-rdx-primary:focus-visible {
    background-color: #2e2e30; border-color: #2e2e30; color: #fff;
}

.btn-rdx-secondary {
    background-color: var(--rdx-secondary); color: #fff; border-color: var(--rdx-secondary);
}
.btn-rdx-secondary:hover, .btn-rdx-secondary:focus-visible {
    background-color: #213a5e; border-color: #213a5e; color: #fff;
}

.btn-rdx-tertiary {
    background-color: var(--rdx-tertiary); color: var(--rdx-primary); border-color: var(--rdx-tertiary);
}
.btn-rdx-tertiary:hover { background-color: #c8c7c8; border-color: #c8c7c8; color: var(--rdx-primary); }

.btn-rdx-danger {
    background-color: var(--rdx-danger); color: #fff; border-color: var(--rdx-danger);
}
.btn-rdx-danger:hover, .btn-rdx-danger:focus-visible {
    background-color: #b52a37; border-color: #b52a37; color: #fff;
}

.btn-rdx-white {
    background-color: #fff; color: var(--rdx-primary); border-color: #fff;
}
.btn-rdx-white:hover { background-color: var(--rdx-tertiary); border-color: var(--rdx-tertiary); color: var(--rdx-primary); }

.btn-rdx-outline { background-color: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); }
.btn-rdx-outline:hover { background-color: rgba(255,255,255,.1); color: #fff; }

.btn-outline-rdx-primary { background-color: transparent; color: var(--rdx-primary); border-color: var(--rdx-primary); }
.btn-outline-rdx-primary:hover { background-color: var(--rdx-primary); color: #fff; }

.btn-outline-rdx-white { background-color: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.btn-outline-rdx-white:hover { background-color: rgba(255,255,255,.1); color: #fff; }

.btn-rdx-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.5rem; height: 2.5rem; padding: 0; border-radius: var(--rdx-radius); flex-shrink: 0;
}
.btn-rdx-icon.btn-sm { width: 2rem; height: 2rem; }
.btn-rdx-icon.btn-lg { width: 3rem; height: 3rem; }

.btn[data-loading="true"] { position: relative; color: transparent !important; pointer-events: none; }
.btn[data-loading="true"]::after {
    content: ''; position: absolute;
    inset: 50% auto auto 50%;
    width: 1rem; height: 1rem;
    margin: -0.5rem 0 0 -0.5rem;
    border: 2px solid currentColor; border-right-color: transparent;
    border-radius: 50%;
    animation: rdx-spin 0.65s linear infinite;
    color: #fff;
}

/* ==========================================================================
   7. SITE HEADER
   ========================================================================== */

.site-header {
    position: fixed;
    top: 0;
    left: 0; right: 0;
    z-index: 1002;
    width: 100%;
    height: 52px;
    background: rgba(92, 92, 93, 0.3);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    transition: background 0.3s, height 0.3s;
}
@media (min-width: 768px) {
    .site-header { height: 104px; }
}

@media (orientation: landscape) and (max-height: 500px),
       (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
    .site-header { height: 52px; }
}

.site-header > .container-fluid {
    height: 100%;
}

.site-header-underlay {
    background-color: #192b45;
    height: 52px;
}
@media (min-width: 768px) {
    .site-header-underlay { height: 104px; }
}
@media (orientation: landscape) and (max-height: 500px),
       (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
    .site-header-underlay { height: 52px; }
}
.single-advertiser .site-header-underlay { background-color: #1c1c1d; }

/* Anchor targets for the profile's ABOUT/RATES/AVAILABILITY/CONTACT jump links — offset so the fixed .site-header doesn't cover the target's heading */
#about, #rates, #availability, #contact { scroll-margin-top: 52px; }
@media (min-width: 768px) {
    #about, #rates, #availability, #contact { scroll-margin-top: 104px; }
}
@media (orientation: landscape) and (max-height: 500px),
       (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
    #about, #rates, #availability, #contact { scroll-margin-top: 52px; }
}

.site-header__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.site-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
    color: #fff;
}
@media (min-width: 992px) {
    .site-logo {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
}
.site-logo__img { max-height: 14px; width: auto; }
@media (min-width: 992px) {
    .site-logo__img { height: 34px; max-height: none; }
}

.site-header__privacy {
    display: none;
    align-items: center;
}
@media (min-width: 992px) {
    .site-header__privacy { display: flex; margin-left: 3rem; }
}

.privacy-toggle {
    cursor: pointer;
    display: flex;
    align-items: stretch;
    position: relative;
    overflow: hidden;
    background: rgba(92, 93, 93, 0.1);
    border-radius: 9.5px;
    box-shadow: inset 0 1.9px 1.9px rgba(0,0,0,.25);
    border: none;
    padding: 0;
    margin-top: 2px;
}
@media (min-width: 992px) {
    .privacy-toggle {
        background: #5c5d5d;
        border-radius: 18.5px;
        box-shadow: inset 0 3.7px 3.7px rgba(0,0,0,.25);
    }
}

.privacy-toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    height: calc(100% - 4px);
    width: calc(50% - 1px);
    background: #192b45;
    box-shadow: 0 0 1.9px rgba(0,0,0,.75);
    transition: left 0.3s ease, border-radius 0.3s ease;
}

.privacy-off .privacy-toggle::after {
    left: calc(50% - 1px);
    border-radius: 12px 12px 12px 0;
}

.privacy-on .privacy-toggle::after {
    left: 2px;
    border-radius: 12px 12px 0 12px;
}
@media (min-width: 992px) {
    .privacy-off .privacy-toggle::after { border-radius: 18.5px 18.5px 18.5px 0; }
    .privacy-on  .privacy-toggle::after { border-radius: 18.5px 18.5px 0 18.5px; }
}

.privacy-toggle__on,
.privacy-toggle__off {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1.2rem;
    z-index: 1;
    position: relative;
    transition: opacity 0.3s;
}
@media (min-width: 992px) {
    .privacy-toggle__on,
    .privacy-toggle__off { height: 2.125rem; }
}
.privacy-toggle__off { padding: 0.25rem 0.7rem 0.25rem 0.4rem; }
.privacy-toggle__on  { padding: 0.25rem 0.5rem 0.25rem 0.6rem; }
@media (min-width: 992px) {
    .privacy-toggle__off { padding: 0.4rem 0.6rem 0.4rem 1.75rem; }
    .privacy-toggle__on  { padding: 0.4rem 1.75rem 0.4rem 0.6rem; }
}

.privacy-toggle img { width: 14px; height: 14px; transition: filter 0.3s; display: block; }
@media (min-width: 992px) { .privacy-toggle img { width: 20px; height: 20px; } }

.privacy-off .privacy-toggle .privacy-toggle__off img { filter: invert(1) brightness(2); }
.privacy-off .privacy-toggle .privacy-toggle__on  img { filter: brightness(0); opacity: 0.5; }
.privacy-on  .privacy-toggle .privacy-toggle__on  img { filter: invert(1) brightness(2); }
.privacy-on  .privacy-toggle .privacy-toggle__off img { filter: brightness(0); opacity: 0.5; }

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 0;
}

.site-header__icon-btn,
.site-header__text-btn,
.site-nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.75rem;
    margin: 0;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: none;
}

.site-header__icon-btn {
    display: flex;
    color: #fff;
    font-size: 1.2rem;
}
.site-header__icon-btn:hover { color: #fff; }

.site-header__text-btn {
    display: none;
    color: #fff;
    font-size: 1rem;
    transition: color var(--rdx-transition-fast);
}
.site-header__text-btn:hover { color: #fff; }
@media (min-width: 992px) {
    .site-header__text-btn { display: flex; }
}

.site-nav-toggle {
    color: #fff;
}

.site-nav-toggle img { width: 20px; height: 20px; display: block; filter: invert(1); }

.availability-toggle-wrap {
    display: none;
    align-items: center;
    gap: 0.5rem;
}
@media (min-width: 992px) {
    .availability-toggle-wrap { display: flex; }
}
.availability-toggle-wrap__label {
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    white-space: nowrap;
}

.availability-toggle {
    cursor: pointer;
    display: flex;
    align-items: stretch;
    position: relative;
    overflow: hidden;
    background: #dbdbda;
    border-radius: 18.5px;
    box-shadow: inset 0 1.9px 1.9px rgba(0,0,0,.25);
    border: none;
    padding: 0;
    margin-top: 2px;
}
@media (min-width: 768px) {
    .availability-toggle { box-shadow: inset 0 3.7px 3.7px rgba(0,0,0,.25); }
}

.availability-toggle::after {
    content: '';
    position: absolute;
    top: 2px;
    left: calc(50% - 1px);
    height: calc(100% - 4px);
    width: calc(50% - 1px);
    background: #192b45;
    box-shadow: 0 0 1.9px rgba(0,0,0,.75);
    border-radius: 18.5px 18.5px 18.5px 0;
    transition: left 0.3s ease, border-radius 0.3s ease;
}

.availability-toggle.is-on::after {
    left: 2px;
    border-radius: 18.5px 18.5px 0 18.5px;
}

.availability-toggle__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 27px;
    z-index: 1;
    position: relative;
    transition: filter 0.3s;
}
.availability-toggle__icon--off { padding: 0.5rem 0.75rem; }
.availability-toggle__icon--on  { padding: 0.5rem 0.4rem 0.5rem 0.75rem; }

.availability-toggle img { width: 14px; height: 14px; display: block; }

.availability-toggle      .availability-toggle__icon--off img { filter: invert(1) brightness(2); }
.availability-toggle      .availability-toggle__icon--on  img { filter: brightness(0); opacity: 0.8; }

.availability-toggle.is-on .availability-toggle__icon--on  img { filter: invert(1) brightness(2); animation: rdx-pulse 2s ease-in-out infinite; }
.availability-toggle.is-on .availability-toggle__icon--off img { filter: brightness(0); opacity: 0.8; }

.availability-toggle__thumb { display: none; }

.availability-toggle.is-loading {
    pointer-events: none;
    opacity: 0.6;
}

.privacy-on .block-image img,
.privacy-on .privacy-toggle-image,
.privacy-on .contact-image-inner { filter: blur(75px); }

/* ==========================================================================
   8. MOBILE NAV — pure CSS push panel
   ========================================================================== */

.site-nav-offcanvas {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(320px, 85vw);
    z-index: 1045;
    background-color: #1c1d1d;
    display: flex;
    flex-direction: column;
    padding: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow: hidden;
}

body.rdx-nav-open .site-nav-offcanvas {
    transform: translateX(0);
}

.rdx-nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background-color: rgba(0, 0, 0, 0.65);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

body.rdx-nav-open .rdx-nav-backdrop {
    opacity: 1;
    pointer-events: auto;
}

.site-header,
.site-main,
.site-footer,
#wpadminbar {
    transition: transform 0.3s ease;
}

body.rdx-nav-open .site-header,
body.rdx-nav-open .site-main,
body.rdx-nav-open .site-footer,
body.rdx-nav-open #wpadminbar {
    transform: translateX(calc(-1 * min(320px, 85vw)));
}

body.rdx-dialog-open { overflow: hidden; }

.site-nav-drawer__logo-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    height: 45.5px;
    padding: 0 1rem;
}
@media (min-width: 768px) {
    .site-nav-drawer__logo-bar { height: 64px; }
}

.site-nav-drawer__logo { display: flex; align-items: center; }
.site-nav-drawer__logo .site-logo__img {
    width: auto;
    max-width: 150px;
    height: auto;
}
@media (min-width: 768px) {
    .site-nav-drawer__logo .site-logo__img { max-width: 180px; }
}

.site-nav-drawer__control-bar {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-shrink: 0;
    height: 45.5px;
    padding: 0 1rem;
    border-bottom: 0.5px solid rgba(219,219,218,.3);
}

.site-nav-drawer__search {
    display: flex;
    align-items: center;
    color: #dbdbda;
    font-size: 1.2rem;
    text-decoration: none;
    transition: color var(--rdx-transition-fast);
}
.site-nav-drawer__search:hover { color: #fff; }

.privacy-toggle--sm .privacy-toggle__on,
.privacy-toggle--sm .privacy-toggle__off { height: 27px; }
.privacy-toggle--sm .privacy-toggle__off { padding: 0.3rem 0.55rem 0.3rem 0.3rem; }
.privacy-toggle--sm .privacy-toggle__on  { padding: 0.3rem 0.4rem 0.3rem 0.55rem; }
.privacy-toggle--sm img { width: 14px; height: 14px; }

.rdx-nav-header {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-height: 96px;
    border-bottom: 0.5px solid rgba(219,219,218,.15);
}
@media (min-width: 768px) {
    .rdx-nav-header { min-height: 104px; }
}
@media (orientation: landscape) and (max-height: 500px),
       (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
    .rdx-nav-header { min-height: 96px; }
}

.rdx-nav-header__avatar {
    width: 96px;
    height: 96px;
    flex-shrink: 0;
    align-self: center;
    overflow: hidden;
    background-color: rgba(255,255,255,.08);
    display: flex;
    align-items: center;
    justify-content: center;
}
@media (min-width: 768px) {
    .rdx-nav-header__avatar { width: 104px; height: 104px; }
}
@media (orientation: landscape) and (max-height: 500px),
       (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
    .rdx-nav-header__avatar { width: 96px; height: 96px; }
}
.rdx-nav-header__avatar-img,
.rdx-nav-header__swiper {
    width: 100%;
    height: 100%;
}
.rdx-nav-header__avatar-img {
    display: block;
    object-fit: cover;
}
.rdx-nav-header__avatar-placeholder { color: rgba(255,255,255,.4); font-size: 1.4rem; }

.rdx-nav-header__grid {
    flex: 1;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 0.75rem;
    row-gap: 0.6rem;
    padding: 0.5rem 0.75rem;
}

.rdx-nav-header__text {
    grid-column: 1;
    grid-row: 2;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rdx-nav-header__grid > .site-nav-drawer__close {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
}

.rdx-nav-header__grid > .rdx-nav-topbar__privacy-btn {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
}
.rdx-nav-topbar__privacy-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.1);
    border: none;
    border-radius: var(--rdx-radius);
    width: 34px; height: 34px;
    cursor: pointer;
    transition: background-color var(--rdx-transition-fast);
}
.rdx-nav-topbar__privacy-btn:hover { background-color: rgba(255,255,255,.2); }

.rdx-nav-topbar__privacy-icon {
    width: 16px;
    height: 16px;

    filter: brightness(0) invert(1);
}

.privacy-off .rdx-nav-topbar__privacy-icon--on  { display: none; }
.privacy-on  .rdx-nav-topbar__privacy-icon--off { display: none; }
.privacy-on  .rdx-nav-topbar__privacy-btn       { background-color: #2e7d32; }

.site-search-icon {
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    background-color: currentColor;
    vertical-align: -0.125em;
    -webkit-mask-image: url('../assets/images/search-icon.svg');
    mask-image: url('../assets/images/search-icon.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.site-profile-icon {
    display: inline-block;
    width: 1.15em;
    height: 1.15em;
    background-color: currentColor;
    vertical-align: -0.125em;
    -webkit-mask-image: url('../assets/images/profile-icon.svg');
    mask-image: url('../assets/images/profile-icon.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.site-nav-drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.1);
    border: none;
    border-radius: var(--rdx-radius);
    width: 34px; height: 34px;
    color: #fff;
    cursor: pointer;
    transition: background-color var(--rdx-transition-fast);
}
.site-nav-drawer__close:hover { background-color: rgba(255,255,255,.2); }

.site-close-icon {
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    background-color: currentColor;
    -webkit-mask-image: url('../assets/images/close-icon.svg');
    mask-image: url('../assets/images/close-icon.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.site-nav-drawer__body {
    flex: 1;
    overflow-y: auto;
    padding: 0.75rem 0;

    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.18) transparent;
}
.site-nav-drawer__body::-webkit-scrollbar { width: 3px; }
.site-nav-drawer__body::-webkit-scrollbar-track { background: transparent; }
.site-nav-drawer__body::-webkit-scrollbar-thumb {
    background-color: rgba(255,255,255,.18);
    border-radius: 2px;
}

.site-nav-drawer__menu {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column;
}

.site-nav-drawer__item { position: relative; }

.site-nav-drawer__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    height: 62px;
    padding: 0 1.625rem;
    color: #fff;
    font-size: 1rem;
    font-family: var(--rdx-font-base);
    text-decoration: none;
    transition: background-color 0.25s, padding-right 0.25s;
    text-align: start;
    width: 100%;
}
.site-nav-drawer__link:hover {
    background-color: rgba(220,220,219,.15);
    padding-right: 2rem;
    color: #fff;
}
.site-nav-drawer__item.is-active > .site-nav-drawer__link { color: var(--rdx-pale-blue); }

.site-nav-drawer__item--has-children > .site-nav-drawer__link {
    padding-right: 3rem;
}
.site-nav-drawer__sub-toggle {
    display: flex; align-items: center; justify-content: center;
    background: none; border: none; color: rgba(255,255,255,.4);
    width: 44px; height: 62px; cursor: pointer;
    font-size: 0.8rem;
    position: absolute; right: 0; top: 0;
}
.site-nav-drawer__sub-toggle:hover { color: #fff; }

.site-chevron-icon {
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    background-color: currentColor;
    flex-shrink: 0;
    -webkit-mask-image: url('assets/images/arrow-right.svg');
    mask-image: url('assets/images/arrow-right.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.site-nav-drawer__sub-toggle .site-chevron-icon {
    width: 1em;
    height: 1em;
}

.rdx-nav-levels {
    flex: 1;
    position: relative;
    overflow: hidden;
    min-height: 0;
}

.rdx-nav-level {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    background-color: #1c1d1d;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow: hidden;
}

.rdx-nav-level--1 {
    transform: translateX(0);
}

.rdx-nav-levels.rdx-sub-open .rdx-nav-level--1 {
    transform: translateX(-100%);
}

.rdx-nav-level.rdx-level-active {
    transform: translateX(0);
}

.rdx-nav-level__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    height: 52px;
    flex-shrink: 0;
    background-color: #252626;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.rdx-nav-back {
    background: none;
    border: none;
    color: rgba(255,255,255,.6);
    padding: 4px;
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 15px;
    flex-shrink: 0;
}
.rdx-nav-back:hover { color: #fff; }

.rdx-nav-level__title {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.site-nav-drawer__footer {
    padding: 0;
    border-top: 0.5px solid rgba(219,219,218,.15);
    flex-shrink: 0;
    display: flex;
    gap: 0;
}

.site-nav-drawer__footer > div {
    display: flex;
    width: 100%;
}

.site-nav-drawer__footer .btn {
    flex: 1;
    height: 60px;
    font-size: 1.125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    border: none;
    margin: 0 !important;
}
.site-nav-drawer__footer .btn + .btn {
    border-left: 1px solid rgba(219,219,218,.2);
}

.site-nav-offcanvas--dashboard,
.site-nav-offcanvas--dashboard .rdx-nav-level--1 {
    background-color: #01122e;
}

.dashboard-menu-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem 0.75rem;
}

.dashboard-menu-cards[hidden] { display: none; }

.dashboard-menu-card {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.625rem 0.875rem;
    background-color: var(--rdx-secondary);
    border-radius: var(--rdx-radius-lg);
    color: #fff;
    text-decoration: none;
    text-align: left;
    transition: background-color var(--rdx-transition-fast);
}
.dashboard-menu-card:hover {
    background-color: #243551;
    color: #fff;
}
.dashboard-menu-card.is-active {
    background-color: #243551;
    color: var(--rdx-pale-blue);
}
.dashboard-menu-card__icon { font-size: 1.1rem; flex-shrink: 0; }

.dashboard-menu-card__icon--dashboard,
.dashboard-menu-card__icon--information,
.dashboard-menu-card__icon--availability,
.dashboard-menu-card__icon--rates,
.dashboard-menu-card__icon--photos,
.dashboard-menu-card__icon--profile,
.dashboard-menu-card__icon--plane,
.dashboard-menu-card__icon--journals,
.dashboard-menu-card__icon--reviews,
.dashboard-menu-card__icon--verified,
.dashboard-menu-card__icon--gifts,
.dashboard-menu-card__icon--creditcard,
.dashboard-menu-card__icon--account-privacy,
.dashboard-menu-card__icon--lightbulb {
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    background-color: currentColor;
    flex-shrink: 0;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.dashboard-menu-card__icon--dashboard { -webkit-mask-image: url('../assets/images/dashboard.svg'); mask-image: url('../assets/images/dashboard.svg'); }
.dashboard-menu-card__icon--information { -webkit-mask-image: url('../assets/images/information.svg'); mask-image: url('../assets/images/information.svg'); }
.dashboard-menu-card__icon--availability { -webkit-mask-image: url('../assets/images/availability.svg'); mask-image: url('../assets/images/availability.svg'); }
.dashboard-menu-card__icon--rates { -webkit-mask-image: url('../assets/images/rates.svg'); mask-image: url('../assets/images/rates.svg'); }
.dashboard-menu-card__icon--photos { -webkit-mask-image: url('../assets/images/photos.svg'); mask-image: url('../assets/images/photos.svg'); }
.dashboard-menu-card__icon--reviews { -webkit-mask-image: url('../assets/images/reviews.svg'); mask-image: url('../assets/images/reviews.svg'); }
.dashboard-menu-card__icon--gifts { -webkit-mask-image: url('../assets/images/gifts.svg'); mask-image: url('../assets/images/gifts.svg'); }
.dashboard-menu-card__icon--creditcard { -webkit-mask-image: url('../assets/images/creditcard.svg'); mask-image: url('../assets/images/creditcard.svg'); }
.dashboard-menu-card__icon--account-privacy { -webkit-mask-image: url('../assets/images/account-privacy.svg'); mask-image: url('../assets/images/account-privacy.svg'); }
.dashboard-menu-card__icon--profile  { -webkit-mask-image: url('../assets/images/profile-icon.svg'); mask-image: url('../assets/images/profile-icon.svg'); }
.dashboard-menu-card__icon--plane    { -webkit-mask-image: url('assets/images/plane-departure.svg'); mask-image: url('assets/images/plane-departure.svg'); }
.dashboard-menu-card__icon--journals { -webkit-mask-image: url('assets/images/book-open.svg'); mask-image: url('assets/images/book-open.svg'); }
.dashboard-menu-card__icon--verified { -webkit-mask-image: url('assets/images/verified3.svg'); mask-image: url('assets/images/verified3.svg'); }
.dashboard-menu-card__icon--lightbulb { -webkit-mask-image: url('../assets/images/lightbulb.svg'); mask-image: url('../assets/images/lightbulb.svg'); }

.dashboard-menu-avail-switch {
    position: relative;
    flex-shrink: 0;
    width: 42px;
    height: 24px;
    padding: 0;
    border: none;
    border-radius: var(--rdx-radius-pill);
    background-color: rgba(255,255,255,.2);
    cursor: pointer;
    transition: background-color var(--rdx-transition-fast);
}
.dashboard-menu-avail-switch.is-on { background-color: var(--rdx-success); }
.dashboard-menu-avail-switch:disabled { opacity: .6; cursor: default; }
.dashboard-menu-avail-switch__knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    transition: transform var(--rdx-transition-fast);
}
.dashboard-menu-avail-switch.is-on .dashboard-menu-avail-switch__knob {
    transform: translateX(18px);
}
.dashboard-menu-card__text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.dashboard-menu-card__label { font-size: 0.85rem; font-weight: 600; }
.dashboard-menu-card__subtitle {
    font-size: 0.7rem;
    font-weight: 500;
    color: rgba(255,255,255,.75);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-menu-card--wide {
    grid-column: 1 / -1;
}
.dashboard-menu-card--wide .dashboard-menu-card__label { font-size: 1rem; }
.dashboard-menu-card__chevron {
    font-size: 0.85rem;
    color: rgba(255,255,255,.7);
    flex-shrink: 0;
    transition: transform var(--rdx-transition-fast);
}

.dashboard-menu-card__indicators {
    position: absolute;
    top: -6px;
    right: -6px;
    display: flex;
    align-items: center;
    gap: 4px;
    z-index: 1;
}
.dashboard-menu-card__badge {
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    background: #f59e0b;
    color: #fff;
    border-radius: 9px;
    font-size: 0.65rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.dashboard-menu-card__flag {
    width: 16px;
    height: 16px;
    background: #dc2626;
    color: #fff;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.dashboard-menu-card__flag-icon {
    display: inline-block;
    width: 9px;
    height: 9px;
    background-color: currentColor;
    -webkit-mask-image: url('../assets/images/exclamation.svg');
    mask-image: url('../assets/images/exclamation.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* ==========================================================================
   9. SPLASH / AGE GATE
   ========================================================================== */

body.splash-on { overflow: hidden; }

.rdx-splash {
    position: fixed;
    inset: 0;
    z-index: 9000;
    background-color: var(--rdx-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 0.4s ease;
}
.rdx-splash--leaving { opacity: 0; pointer-events: none; }
body.splash-off .rdx-splash { display: none; }

.rdx-splash__inner {
    text-align: center;
    padding: 2rem;
    max-width: 500px;
    width: 100%;
    color: #fff;
}
.rdx-splash__logo { display: inline-block; margin-bottom: 2rem; }
.rdx-splash__logo-img { max-height: 60px; width: auto; }
.rdx-splash__title { font-size: 1.75rem; font-weight: 700; margin-bottom: 1rem; color: #fff; }
.rdx-splash__body { color: rgba(255,255,255,.75); line-height: 1.6; margin-bottom: 2rem; }
.rdx-splash__body a { color: var(--rdx-pale-blue); }
.rdx-splash__actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* ==========================================================================
   10. SITE FOOTER
   ========================================================================== */

.site-footer {
    background-color: var(--rdx-secondary);
    color: rgba(255,255,255,.75);
    padding-top: 3.5rem;
    padding-bottom: 0;
}
.site-footer a { color: rgba(255,255,255,.85); text-decoration: none; transition: color var(--rdx-transition-fast); }
.site-footer a:hover { color: var(--rdx-pale-blue); }

.site-footer__brand { display: inline-flex; align-items: center; padding: 0.5rem 0 2rem; }
.site-footer__logo-img { height: auto; width: 200px; max-width: 100%; }

.site-footer__top-row { padding-bottom: 1.5rem; }
.site-footer__menu-wrap { padding-bottom: 3rem; }

.site-footer__menu {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: 2.5rem 3rem;
}
.site-footer__col {
    flex: 1 1 160px; min-width: 140px; max-width: 240px;
}
.site-footer__col-label {
    display: block;
    font-size: 0.78rem; font-weight: 500;
    letter-spacing: 0.18em; text-transform: uppercase;
    color: rgba(255,255,255,.55);
}
.site-footer__cats {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 1.75rem;
}
.site-footer__cat { display: block; }
.site-footer__cat-header {
    display: block;
    font-family: 'Carla', var(--rdx-font-base);
    font-size: 0.95rem; font-weight: 400;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: rgba(255,255,255,.55);
    padding-bottom: 0.6rem; margin-bottom: 0.9rem;
    border-bottom: 1px solid rgba(255,255,255,.18);
}
@media (min-width: 992px) {
    .site-footer__cat-header { font-size: calc(0.95rem + 1px); }
}
.site-footer__cat-header:hover {
    color: var(--rdx-pale-blue);
    border-bottom-color: rgba(176,209,255,.4);
}
.site-footer__links {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 0.4rem;
}
.site-footer__links li a {
    display: inline-block;
    font-size: 0.95rem; font-weight: 400;
    color: #fff; padding: 0.1rem 0;
}
.site-footer__links li a:hover { color: var(--rdx-pale-blue); }

.accordion-item:first-of-type > .accordion-header .accordion-button,
.accordion-item:last-of-type  > .accordion-header .accordion-button.collapsed {
    border-radius: 0;
}

.site-footer__mobile-menu { padding: 0.25rem 0 1.5rem; }

.site-footer__accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-color: #fff;
    --bs-accordion-border-color: transparent;
    --bs-accordion-border-width: 0;
    --bs-accordion-border-radius: 0;
    --bs-accordion-inner-border-radius: 0;
    --bs-accordion-btn-color: #fff;
    --bs-accordion-btn-bg: transparent;
    --bs-accordion-btn-padding-x: 0.25rem;
    --bs-accordion-btn-padding-y: 1rem;
    --bs-accordion-btn-focus-border-color: transparent;
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-active-bg: transparent;
    --bs-accordion-active-color: var(--rdx-pale-blue);
    --bs-accordion-body-padding-x: 0.25rem;
    --bs-accordion-body-padding-y: 0.5rem;
}
.site-footer__accordion-item { background: transparent; }
.site-footer__accordion-btn {
    font-family: 'Carla', var(--rdx-font-base);
    font-size: 0.95rem; font-weight: 400;
    letter-spacing: 0.18em; text-transform: uppercase;
}
.site-footer__accordion-btn::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}
.site-footer__accordion-btn:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23b0d1ff' stroke-width='2'%3E%3Cpath d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
}
.site-footer__accordion-header--link {
    margin: 0; padding: 1rem 0.25rem;
}
.site-footer__accordion-link {
    display: block;
    font-family: 'Carla', var(--rdx-font-base);
    font-size: 0.95rem; font-weight: 400;
    letter-spacing: 0.18em; text-transform: uppercase;
    color: #fff;
}
.site-footer__accordion-link:hover { color: var(--rdx-pale-blue); }
.site-footer__accordion-body { padding-left: 0.5rem; }
.site-footer__accordion-links {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 0.5rem;
}
.site-footer__accordion-links li a {
    display: inline-block;
    font-size: 0.95rem;
    color: rgba(255,255,255,.8);
    padding: 0.1rem 0;
}
.site-footer__accordion-links li a:hover { color: var(--rdx-pale-blue); }

.site-footer__back-wrap { display: flex; width: 100%; }
.site-footer__back-wrap--mobile {
    justify-content: center; padding-top: 0.5rem; padding-bottom: 1rem;
}
.site-footer__back-wrap--desktop {
    justify-content: flex-end; padding-top: 0.25rem;
}

.site-footer__bottom-bar {
    margin-top: 1.5rem; padding: 1.1rem 0;
    border-top: 1px solid rgba(255,255,255,.1);
}
@media (max-width: 991.98px) {
    .site-footer__bottom-bar { padding-bottom: 5rem; }
}

.back-to-top {
    position: relative;
    display: inline-flex; flex-direction: column;
    align-items: center; justify-content: flex-start;
    width: auto; min-width: 72px;
    padding: 0.25rem 0.25rem;
    color: rgba(255,255,255,.8);
    transition: color var(--rdx-transition-fast);
}
.back-to-top:hover { color: var(--rdx-pale-blue); }
.back-to-top:hover .back-to-top__chevron { transform: translate(-50%, calc(-50% - 2px)) rotate(-90deg); }
.back-to-top__ring {
    position: relative; display: inline-block;
    width: 72px; height: 72px; line-height: 0;
}
.back-to-top__circle { width: 72px; height: 72px; display: block; }
.back-to-top__chevron {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    width: 16px; height: 16px;
    background-color: currentColor;
    -webkit-mask-image: url('assets/images/arrow-right.svg');
    mask-image: url('assets/images/arrow-right.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: transform var(--rdx-transition-base);
    pointer-events: none;
}
.back-to-top__line {
    width: 72px; height: auto; display: block;
    margin-top: 0.15rem; opacity: 0.8;
}
.back-to-top__label {
    font-size: 0.7rem; letter-spacing: 0.18em;
    text-transform: uppercase; margin-top: 0.35rem;
    color: rgba(255,255,255,.75);
    white-space: nowrap;
}

.bar-link {
    display: inline-block;
    font-size: 0.9rem;
    color: rgba(255,255,255,.55);
    padding: 0.25rem 0;
}
.bar-link + .bar-link { margin-left: 1.25rem; }
.bar-link:hover { color: var(--rdx-pale-blue); }
.bar-link--static { cursor: default; }
.bar-link--static:hover { color: rgba(255,255,255,.55); }

/* ==========================================================================
   11. DASHBOARD LAYOUT
   ========================================================================== */

.dashboard-outer {
    background-color: var(--rdx-secondary);
    min-height: calc(100vh - 60px);
}
@media (min-width: 992px) { .dashboard-outer { padding-top: 100px; } }
.dashboard-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    min-height: calc(100vh - 60px);
}
@media (max-width: 991.98px) { .dashboard-layout { grid-template-columns: 1fr; } }

.dashboard-sidebar {
    background-color: var(--rdx-light-blue);
    display: flex;
    flex-direction: column;
    overflow: visible;
}
@media (max-width: 991.98px) {
    .dashboard-sidebar { display: none; }
}

.dashboard-sidebar__header {
    display: flex; flex-direction: column; align-items: center;
    padding: 1.5rem 1rem 1.25rem;
    background: #fff;
    flex-shrink: 0; text-align: center; gap: 0.6rem;
}

.dashboard-sidebar__avatar {
    width: 100%;
    border-radius: 20px 20px 0 0; overflow: hidden;
    background-color: #fff;
    display: flex; align-items: center; justify-content: center;
    position: relative; z-index: 2;
    padding: 1rem 1rem 0;
}
@media (min-width: 992px) { .dashboard-sidebar__avatar { margin-top: -60px; } }
.dashboard-sidebar__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.dashboard-sidebar__avatar-img { border-radius: 4px 4px 0 0; }

.dashboard-sidebar__display-name {
    font-size: 18px; font-weight: 400; color: var(--rdx-primary);
    margin: 0; line-height: 1.2; text-align: center;
}

.dashboard-sidebar__verified {
    background: #e3e3e3; border-radius: 4px;
    padding: 0.5rem 0.75rem; font-size: 0.875rem;
    color: var(--rdx-primary); line-height: 1;
    display: flex; align-items: center; gap: 0.35rem;
    width: 100%; justify-content: center;
}
.dashboard-sidebar__verified img { height: 1em; width: 1em; }

.dashboard-sidebar__view-profile {
    background-color: var(--rdx-light-blue); color: #fff;
    border: none; border-radius: 4px;
    padding: 0.5rem 1.25rem; font-size: 0.875rem; font-weight: 600;
    text-decoration: none; width: 100%; text-align: center; display: block;
    transition: background-color var(--rdx-transition-fast);
}
.dashboard-sidebar__view-profile:hover { background-color: var(--rdx-secondary); color: #fff; }

.dashboard-sidebar__nav { flex: 1; overflow-y: auto; padding: 0; }

.dashboard-sidebar__nav-item { display: block; }

.dashboard-sidebar__nav-link {
    display: flex; align-items: center;
    padding: 1rem;
    color: #fff;
    text-decoration: none; font-size: 18px; font-weight: 700;
    border-bottom: 0.5px solid hsla(60,1%,86%,.3);
    transition: background-color var(--rdx-transition-fast);
    background-color: var(--rdx-light-blue);
}
.dashboard-sidebar__nav-label { flex: 1; }
.dashboard-sidebar__nav-link:hover { background-color: var(--rdx-secondary); color: #fff; }
.dashboard-sidebar__nav-link.is-active { background-color: var(--rdx-secondary); color: #fff; }
.dashboard-sidebar__chevron { color: rgba(255,255,255,.7); flex-shrink: 0; font-size: 14px; }

.dashboard-sidebar__subnav { list-style: none; margin: 0; padding: 0; }
.dashboard-sidebar__subnav-item { display: block; }
.dashboard-sidebar__subnav-link {
    display: block;
    padding: 0.6rem 1rem 0.6rem 2rem;
    color: #1c1c1d;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    border-bottom: 0.5px solid hsla(60,1%,86%,.3);
    background-color: #dbdbda;
    transition: background-color var(--rdx-transition-fast);
}
.dashboard-sidebar__subnav-link:hover { background-color: #b9b9b9; color: #1c1c1d; }
.dashboard-sidebar__subnav-link.is-active { background-color: #b9b9b9; color: #1c1c1d; }

.dashboard-sidebar__footer {
    padding: 0; flex-shrink: 0;
    border-top: 0.5px solid hsla(60,1%,86%,.3);
}
.dashboard-sidebar__logout {
    display: flex; align-items: center; gap: 0.5rem;
    color: #fff; font-size: 18px; font-weight: 700;
    text-decoration: none; padding: 1rem;
    background: var(--rdx-light-blue); border: none;
    cursor: pointer; width: 100%;
    transition: background-color var(--rdx-transition-fast);
}
.dashboard-sidebar__logout:hover { background-color: var(--rdx-secondary); color: #fff; }

.dashboard-fab {
    position: fixed; bottom: 1.5rem; right: 1.5rem;
    width: 52px; height: 52px; border-radius: 50%;
    background-color: var(--rdx-secondary); color: #fff;
    box-shadow: var(--rdx-shadow-lg);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; border: none;
    transition: background-color var(--rdx-transition-fast), transform var(--rdx-transition-fast);
    z-index: 50;
}
.dashboard-fab:hover { background-color: var(--rdx-light-blue); transform: scale(1.05); }
@media (min-width: 992px) { .dashboard-fab { display: none; } }

.dashboard-content {
    background-color: #fff;
    min-height: calc(100vh - 52px);
    min-width: 0;
    display: flex; flex-direction: column;
}
@media (min-width: 768px) { .dashboard-content { min-height: calc(100vh - 104px); } }

.dashboard-content__header {
    background-color: #fff;
    border-bottom: 1px solid var(--rdx-tertiary);
    padding: 1.5rem 3rem;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 0.75rem;
}
@media (max-width: 575.98px) { .dashboard-content__header { padding: 1rem; } }

.dashboard-content__title {
    font-size: 1.4rem; font-weight: 700; margin: 0; letter-spacing: 0.04em;
    text-transform: uppercase; color: var(--rdx-primary);
}

.dashboard-content__body { flex: 1; padding: 2rem 3rem; }
@media (max-width: 575.98px) { .dashboard-content__body { padding: 1rem; } }

.dashboard-panel {
    background-color: #fff;
    padding: 0;
    margin-bottom: 0;
}
.dashboard-panel__title {
    font-size: 1.1rem; font-weight: 700; margin-bottom: 0;
    padding: 1.25rem 0 1rem;
    text-transform: uppercase; letter-spacing: 0.04em;
    border-bottom: 1px solid var(--rdx-tertiary);
    color: var(--rdx-primary);
}
.dashboard-panel__subtitle {
    font-size: 1rem; font-weight: 700;
    margin: 1.25rem 0 0.75rem;
    color: var(--rdx-primary);
}

.rdx-delete-profile__intro {
    color: var(--rdx-primary);
    font-size: 0.975rem;
    line-height: 1.6;
    margin: 1.25rem 0;
}
.rdx-delete-profile__checklist {
    color: var(--rdx-primary);
    margin: 0 0 1.5rem;
    padding-left: 1.25rem;
}
.rdx-delete-profile__checklist li { margin-bottom: 0.4rem; }

.rdx-form-row {
    display: grid; grid-template-columns: 50% 1fr;
    align-items: start; gap: 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--rdx-tertiary);
}
.rdx-form-row:last-child { border-bottom: none; }
.rdx-form-row .form-label { margin: 0; font-weight: 500; font-size: 0.925rem; color: var(--rdx-primary); padding-top: 0.5rem; }
.rdx-messaging-line { display: flex; align-items: center; gap: 0.35rem; }
.rdx-messaging-line + .rdx-messaging-line { margin-top: 0.25rem; }
.rdx-form-label-icon-lg { height: 1.15em; width: 1.15em; object-fit: contain; }
/* Viber's artwork fills its viewBox more than WhatsApp's/Telegram's, so it
   reads bigger at the same size — bump those two up to match. */
#messaging_line_whatsapp i.rdx-form-label-icon-lg { font-size: 1.5em; height: auto; width: auto; }
#messaging_line_telegram img.rdx-form-label-icon-lg { height: 1.4em; width: 1.4em; }
.rdx-form-row .form-label .form-label__hint { display: block; font-size: 0.8em; font-weight: 400; line-height: 1.3; color: rgba(28,28,29,.55); margin-top: 0.2rem; }
.rdx-form-row .form-check-label { color: var(--rdx-primary); }
.iti__selected-country { color: var(--rdx-primary); }
.rdx-form-row .iti { display: block; width: 100%; }
.iti__country-list { color: var(--rdx-primary); }
/* Default look for every form control inside the dashboard — defined once
   here instead of per-context, so new dashboard areas get it automatically
   instead of silently falling back to the plainer public-site input style. */
.dashboard-content .form-control,
.dashboard-content .form-select {
    margin: 0;
    background-color: #fff;
    border: .5px solid rgba(92, 93, 93, .2);
    border-radius: 4px;
    box-shadow: inset 0 4px 4px #0000001a;
    font-size: 16px;
    height: 47px;
    padding: .75rem;
    width: 100%;
}

.dashboard-content .ts-wrapper .ts-control {
    margin: 0;
    background-color: #fff;
    border: .5px solid rgba(92, 93, 93, .2);
    border-radius: 4px;
    box-shadow: inset 0 4px 4px #0000001a;
    font-size: 16px;
    min-height: 47px;
    padding: .625rem .75rem;
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.rdx-form-row .ts-wrapper { width: 100%; }
.rdx-form-row:has(textarea) { grid-template-columns: 1fr; }

.rdx-form-row:has(.rdx-mini-editor) { grid-template-columns: 1fr; }
.rdx-form-row textarea.form-control {
    height: 155px;
    line-height: 1.5;
    resize: none;
}

.dashboard-save-bar {
    position: sticky; bottom: 0; z-index: 10;
    margin-top: 2rem;
    background-color: #fff;
    border-top: 1px solid var(--rdx-tertiary);
    padding: 0.875rem 3rem;
    margin-left: -3rem; margin-right: -3rem;
    display: flex; align-items: center; justify-content: flex-end; gap: 0.75rem;
    box-shadow: 0 -4px 16px rgba(0,0,0,.06);
}
@media (max-width: 575.98px) {
    .dashboard-save-bar { margin-left: -1rem; margin-right: -1rem; padding-left: 1rem; padding-right: 1rem; }
}
.dashboard-save-bar__status { font-size: var(--rdx-font-size-sm); color: rgba(28,28,29,.55); }
.dashboard-save-bar__status--saved { color: var(--rdx-success); }
.dashboard-save-bar__status--error { color: var(--rdx-danger); }
.dashboard-save-bar__status--info  { color: var(--rdx-primary, #0d6efd); font-weight: 500; }

@media (max-width: 767.98px) {
    .rdx-form-row { grid-template-columns: 1fr; gap: 0.35rem; }
}

.rdx-form-row .btn-group { flex-wrap: wrap; }
.btn-rdx-choice { background-color: #fff; color: var(--rdx-light-blue); border-color: var(--rdx-light-blue); height: 47px; display: inline-flex; align-items: center; justify-content: center; }
.btn-rdx-choice:hover { background-color: #fff !important; color: var(--rdx-light-blue) !important; border-color: var(--rdx-light-blue) !important; }
.btn-check:checked + .btn-rdx-choice { background-color: var(--rdx-light-blue); border-color: var(--rdx-light-blue); color: #fff; }
.btn-check:checked + .btn-rdx-choice:hover { background-color: var(--rdx-light-blue) !important; border-color: var(--rdx-light-blue) !important; color: #fff !important; cursor: default; }
.rdx-shoe-size-input { max-width: 100px; }

.rdx-ts-multiselect .ts-control .item { background-color: var(--rdx-light-blue) !important; color: #fff !important; height: 35px !important; padding: 0 0.5rem !important; border-radius: 4px !important; display: inline-flex !important; align-items: center !important; }
.rdx-ts-multiselect .ts-control .item .remove { color: rgba(255,255,255,.75) !important; border-left: 1px solid rgba(255,255,255,.3); margin-left: 0.3rem; padding-left: 0.3rem; }
.rdx-ts-multiselect .ts-control .item .remove:hover { color: #fff !important; }

/* ==========================================================================
   12. AVAILABILITY GRID
   ========================================================================== */

.availability-grid { display: grid; grid-template-columns: 1fr; gap: 0.5rem; }

.availability-day {
    border: 1px solid var(--rdx-tertiary); border-radius: var(--rdx-radius); overflow: hidden;
    transition: border-color var(--rdx-transition-fast);
}
.availability-day.is-active { border-color: #3b5f93; }
.availability-day__header {
    align-items: center;
    background-color: #3b5f93;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    user-select: none;
}
.availability-day__header-left { display: flex; flex-direction: column; gap: 0.15rem; }
.availability-day__name { color: #fff; font-weight: 600; font-size: var(--rdx-font-size-sm); }
.availability-day__summary { color: rgba(255,255,255,0.7); font-size: 0.72rem; font-weight: 400; }

.avail-chevron {
    border-bottom: 2px solid rgba(255,255,255,0.8);
    border-right: 2px solid rgba(255,255,255,0.8);
    display: inline-block;
    height: 7px;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    width: 7px;
}
.availability-day.is-open .avail-chevron { transform: rotate(-135deg); }

.availability-day__body { display: none; padding: 0.75rem 1rem; border-top: 1px solid var(--rdx-tertiary); background-color: #fff; }
.availability-day.is-open .availability-day__body { display: block; }

.dashboard-panel__title-row {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-top: 1.25rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--rdx-tertiary);
}
.dashboard-panel__title-row .dashboard-panel__title {
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.rdx-testimonials-list { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.25rem; }
.rdx-testimonial-item { border: 1px solid var(--rdx-tertiary); border-radius: 6px; padding: 1rem 1.25rem; }
.rdx-testimonial-item--draft    { border-color: #f0ad4e; background: #fffdf5; }
.rdx-testimonial-item--pending  { border-color: #5bc0de; background: #f5fbff; }
.rdx-testimonial-item--publish  { border-color: #5cb85c; background: #f6fff6; }
.rdx-testimonial-item--rejected { border-color: #d9534f; background: #fff5f5; }
.rdx-testimonial-item__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; flex-wrap: wrap; }
.rdx-testimonial-item__meta { display: flex; align-items: center; gap: .5rem; }
.rdx-testimonial-item__meta strong { color: var(--rdx-primary); }
.rdx-testimonial-item__icon { font-size: 1rem; }
.rdx-testimonial-item--draft    .rdx-testimonial-item__icon { color: #f0ad4e; }
.rdx-testimonial-item--pending  .rdx-testimonial-item__icon { color: #5bc0de; }
.rdx-testimonial-item--publish  .rdx-testimonial-item__icon { color: #5cb85c; }
.rdx-testimonial-item--rejected .rdx-testimonial-item__icon { color: #d9534f; }
.rdx-testimonial-item__date { color: #888; font-size: .8rem; }
.rdx-testimonial-item__badge { font-size: .75rem; font-weight: 600; padding: .2rem .6rem; border-radius: 50px; white-space: nowrap; }
.rdx-testimonial-item__badge--draft    { background: #f0ad4e; color: #fff; }
.rdx-testimonial-item__badge--pending  { background: #5bc0de; color: #fff; }
.rdx-testimonial-item__badge--publish  { background: #5cb85c; color: #fff; }
.rdx-testimonial-item__badge--rejected { background: #d9534f; color: #fff; }
.rdx-testimonial-item__content { margin: .5rem 0; font-size: .9rem; color: #444; }
.rdx-testimonial-item__rejection { font-size: .85rem; color: #d9534f; margin-top: .5rem; display: flex; gap: .4rem; align-items: flex-start; }
.rdx-testimonial-item__actions { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .75rem; }
.rdx-testimonial-item__actions .btn {
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .375rem;
}
.avail-panel-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--rdx-tertiary); padding-bottom: 1rem; margin-bottom: 1rem; }
.avail-panel-title { border-bottom: none !important; padding-bottom: 0; margin-bottom: 0.25rem; }
.avail-panel-desc { color: var(--rdx-primary); font-size: 0.875rem; margin: 0; opacity: 0.7; }
.avail-format-switcher { display: flex; flex-shrink: 0; border: 1px solid #c5cfe0; border-radius: 4px; overflow: hidden; }
.avail-fmt-btn { background: transparent; border: none; border-left: 1px solid #c5cfe0; color: #5a6a80; cursor: pointer; font-size: 0.8rem; font-weight: 600; padding: 0.3rem 0.65rem; }
.avail-fmt-btn:first-child { border-left: none; }
.avail-fmt-btn.is-active { background: #3b5f93; color: #fff; }
.avail-fmt-btn:not(.is-active):hover { background: #dce5f5; color: #3b5f93; }
.avail-format-btn {
    background: transparent;
    border: 1px solid #c5cfe0;
    border-radius: 4px;
    color: #5a6a80;
    cursor: pointer;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.avail-format-btn:hover { background: #dce5f5; border-color: #3b5f93; color: #3b5f93; }

.availability-mode-btns { display: flex; gap: 0.375rem; flex-wrap: wrap; }
.avail-mode-btn {
    background: #f0f3f8;
    border: 1.5px solid #c5cfe0;
    border-radius: 5px;
    color: #5a6a80;
    cursor: pointer;
    flex: 1 1 auto;
    font-size: 0.78rem;
    font-weight: 500;
    padding: 0.35rem 0.5rem;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    white-space: nowrap;
}
.avail-mode-btn:hover { background: #dce5f5; border-color: #3b5f93; color: #3b5f93; }
.avail-mode-btn.is-active { background: #3b5f93 !important; border-color: #3b5f93; color: #fff !important; }

.availability-slider-wrap { padding-top: 0.875rem; }
.avail-slider-label { color: #3b5f93; font-size: 0.8rem; font-weight: 600; margin-top: 0.5rem; text-align: center; }

.avail-slider.noUi-target,
.avail-slider.noUi-horizontal {
    height: 4px;
    background: #e0e5ef;
    border: none;
    box-shadow: none;
    border-radius: 999px;
    margin: 0.25rem 0.5rem;
}
.avail-slider .noUi-connect { background: #3b5f93; }
.avail-slider .noUi-handle {
    width: 18px !important;
    height: 18px !important;
    top: -7px !important;
    right: -9px !important;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #3b5f93;
    box-shadow: 0 2px 6px rgba(0,0,0,0.25);
    cursor: grab;
}
.avail-slider .noUi-handle:before,
.avail-slider .noUi-handle:after { display: none; }
.avail-slider .noUi-handle:active { cursor: grabbing; }
.avail-slider .noUi-handle:focus { outline: none; }

body.rdx-popup-open { overflow: hidden; }

.avail-copy-bar { display: flex; justify-content: flex-end; margin-top: 0.625rem; }
.avail-copy-btn {
    background: transparent;
    border: 1px solid #c5cfe0;
    border-radius: 5px;
    color: #5a6a80;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 500;
    padding: 0.3rem 0.75rem;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.avail-copy-btn:hover { background: #dce5f5; border-color: #3b5f93; color: #3b5f93; }

@media (max-width: 767px) {
    .avail-copy-btn { width: 100%; }
}

#avail-copy-popup { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
#avail-copy-popup[hidden] { display: none; }

.avail-copy-popup__backdrop {
    background: rgba(0,0,0,0.45);
    inset: 0;
    position: absolute;
}

.avail-copy-popup__dialog {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 28px rgba(0,0,0,0.28);
    color: #1a1a1a;
    max-width: 340px;
    position: relative;
    width: 90vw;
    z-index: 1;
}

.avail-copy-popup__header {
    align-items: center;
    background: #3b5f93;
    border-radius: 8px 8px 0 0;
    color: #fff;
    display: flex;
    justify-content: space-between;
    padding: 0.65rem 1rem;
}
.avail-copy-popup__title { font-size: 0.85rem; font-weight: 600; }

.avail-copy-popup__close {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    opacity: 0.8;
    padding: 0 0.15rem;
}
.avail-copy-popup__close:hover { opacity: 1; }

.avail-copy-popup__days { padding: 0.75rem 1rem; display: flex; flex-direction: column; gap: 0.5rem; }

.avail-copy-day-item {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 0.875rem;
    gap: 0.5rem;
    user-select: none;
}
.avail-copy-day-item--all {
    border-bottom: 1px solid var(--rdx-tertiary);
    color: #3b5f93;
    font-weight: 600;
    padding-bottom: 0.5rem;
}

.rdx-mini-editor { margin-top: 0.75rem; border: 0.5px solid rgba(92,93,93,.2); border-radius: 4px; box-shadow: inset 0 4px 4px #0000001a; overflow: hidden; }
.rdx-mini-editor__toolbar { background: #f8f9fb; border-bottom: 1px solid rgba(92,93,93,.15); display: flex; gap: 2px; padding: 4px 6px; }
.rdx-me-btn { background: transparent; border: 1px solid transparent; border-radius: 3px; cursor: pointer; font-size: 0.85rem; line-height: 1; padding: 3px 8px; color: #3a3a3a; }
.rdx-me-btn:hover { background: #e8eef7; border-color: #c5cfe0; }
.rdx-me-btn.is-active { background: #3b5f93; border-color: #3b5f93; color: #fff; }
.rdx-mini-editor__body { background: #fff; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.5; min-height: 100px; outline: none; padding: 10px 12px; color: #1c1c1d; }
.rdx-mini-editor__body ul { margin: 0.5em 0; padding-left: 1.5em; list-style: disc; }
.rdx-mini-editor__body li { margin-bottom: 0.25em; }
.rdx-mini-editor__input { display: none; }
.rdx-mini-editor { margin-bottom: 1.5rem; }
.rdx-note-pending { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 0.75rem; margin-bottom: 1.5rem; }
.rdx-note-pending .rdx-mini-editor { margin-top: 0; margin-bottom: 0; }
.rdx-note-pending .form-control { resize: vertical; }

.avail-copy-popup__footer {
    border-top: 1px solid var(--rdx-tertiary);
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.6rem 1rem;
}
.avail-copy-popup__cancel,
.avail-copy-popup__apply {
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.35rem 1.1rem;
    transition: background 0.15s;
}
.avail-copy-popup__cancel { background: #f0f0f0; color: #555; }
.avail-copy-popup__cancel:hover { background: #e0e0e0; }
.avail-copy-popup__apply { background: #3b5f93; color: #fff; }
.avail-copy-popup__apply:hover { background: #2e4d7a; }

.rdx-popup-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.rdx-popup-overlay[hidden] { display: none; }

.rdx-change-password-popup__backdrop {
    background: rgba(0,0,0,0.45);
    inset: 0;
    position: absolute;
}

.rdx-change-password-popup__dialog {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 28px rgba(0,0,0,0.28);
    color: #1a1a1a;
    display: flex;
    flex-direction: column;
    max-height: 85vh;
    max-width: 420px;
    position: relative;
    width: 90vw;
    z-index: 1;
}

.rdx-change-password-popup__header {
    align-items: center;
    background: #3b5f93;
    border-radius: 8px 8px 0 0;
    color: #fff;
    display: flex;
    flex: 0 0 auto;
    height: 60px;
    justify-content: space-between;
    padding: 0.75rem 1rem;
}
.rdx-change-password-popup__title { font-size: 1.15rem; font-weight: 500; }

.rdx-change-password-popup__close {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 1.3rem;
    line-height: 1;
    opacity: 0.8;
    padding: 0 0.15rem;
}
.rdx-change-password-popup__close:hover { opacity: 1; }

.rdx-change-password-popup__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 1rem 1rem 0.25rem; }
.rdx-change-password-popup__body .rdx-form-row { margin-bottom: 0.9rem; }

.rdx-password-field { position: relative; }
.rdx-password-field .form-control { padding-right: 2.4rem; }
.rdx-password-toggle {
    background: transparent;
    border: none;
    color: rgba(28,28,29,.55);
    cursor: pointer;
    padding: 0 0.6rem;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
}
.rdx-password-toggle:hover { color: rgba(28,28,29,.85); }

.rdx-change-password-popup__status { font-size: 0.8rem; min-height: 1.1em; margin-bottom: 0.5rem; }
.rdx-change-password-popup__status--saved { color: var(--rdx-success); }
.rdx-change-password-popup__status--error { color: var(--rdx-danger); }

.rdx-change-password-popup__footer {
    border-top: 1px solid var(--rdx-tertiary);
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.6rem 1rem;
}
.rdx-change-password-popup__cancel,
.rdx-change-password-popup__apply {
    border: none;
    border-radius: 4px;
    cursor: pointer;
    flex: 1;
    font-size: 0.95rem;
    font-weight: 500;
    height: 40px;
    transition: background 0.15s;
}
.rdx-change-password-popup__cancel { background: #f0f0f0; color: #555; }
.rdx-change-password-popup__cancel:hover { background: #e0e0e0; }
.rdx-change-password-popup__apply { background: #3b5f93; color: #fff; }
.rdx-change-password-popup__apply:hover { background: #2e4d7a; }

.form-switch-lg .form-check-input { width: 3rem; height: 1.625rem; cursor: pointer; }
.form-switch-lg .form-check-input:checked { background-color: var(--rdx-success); border-color: var(--rdx-success); }
.form-switch-lg .form-check-input:focus { box-shadow: 0 0 0 3px rgba(40,167,69,.25); }

.availability-day__header-right { align-items: center; display: flex; gap: 0.625rem; }
.avail-day-toggle {
    background: rgba(0,0,0,0.25);
    border: none;
    border-radius: 12px;
    cursor: pointer;
    flex-shrink: 0;
    height: 22px;
    padding: 0;
    position: relative;
    transition: background 0.2s;
    width: 40px;
}
.avail-day-toggle::after {
    background: rgba(255,255,255,0.55);
    border-radius: 50%;
    content: '';
    height: 16px;
    left: 3px;
    position: absolute;
    top: 3px;
    transition: transform 0.2s, background 0.2s;
    width: 16px;
}
.avail-day-toggle[aria-checked="true"] { background: rgba(255,255,255,0.88); }
.avail-day-toggle[aria-checked="true"]::after { background: #3b5f93; transform: translateX(18px); }

.avail-time-row {
    display: flex;
    justify-content: space-between;
    padding: 0 0.5rem;
    margin-bottom: 0.2rem;
}
.avail-time-label {
    color: #3b5f93;
    font-size: 0.72rem;
    font-weight: 600;
}
.avail-modifiers {
    align-items: center;
    display: flex;
    gap: 0.375rem;
    justify-content: space-between;
    margin-top: 1rem;
    margin-bottom: 0.75rem;
}
.avail-modifiers__right { display: flex; gap: 0.375rem; }
.avail-modifier-btn {
    background: #f0f3f8;
    border: 1.5px solid #c5cfe0;
    border-radius: 20px;
    color: #4a5568;
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.2rem 0.65rem;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
    white-space: nowrap;
}
.avail-modifier-btn:hover { background: #dce5f5; border-color: #3b5f93; color: #3b5f93; }
.avail-modifier-btn.is-active { background: #3b5f93 !important; border-color: #3b5f93; color: #fff !important; }
.avail-slider--lock-start .noUi-handle-lower,
.avail-slider--lock-end   .noUi-handle-upper {
    opacity: 0.4;
}

/* ==========================================================================
   13. ADVERTISER CARD
   ========================================================================== */

.advertiser-card {
    position: relative; display: flex; flex-direction: column;
    border-radius: var(--rdx-radius-lg); overflow: hidden;
    background-color: #fff; box-shadow: var(--rdx-shadow-sm);
    transition: box-shadow var(--rdx-transition-base), transform var(--rdx-transition-base);
    will-change: transform;
}
.advertiser-card:hover { box-shadow: var(--rdx-shadow-base); transform: translateY(-2px); }

.advertiser-card__image { position: relative; aspect-ratio: 2/3; overflow: hidden; flex-shrink: 0; }
.advertiser-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--rdx-transition-slow); }
.advertiser-card:hover .advertiser-card__image img { transform: scale(1.04); }

.advertiser-card__badges { position: absolute; top: 0.75rem; left: 0.75rem; display: flex; flex-direction: column; gap: 0.4rem; z-index: 10; }
.advertiser-card__badge {
    display: inline-flex; align-items: center; gap: 0.3rem;
    padding: 0.2rem 0.55rem; font-size: 0.7rem; font-weight: 600;
    letter-spacing: 0.04em; text-transform: uppercase;
    border-radius: var(--rdx-radius-pill); backdrop-filter: blur(8px);
}
.advertiser-card__badge--available { background-color: rgba(40,167,69,.9); color: #fff; }
.advertiser-card__badge--touring   { background-color: rgba(25,43,69,.85);  color: #fff; }
.advertiser-card__badge--featured  { background-color: rgba(176,209,255,.9); color: var(--rdx-secondary); }

.advertiser-card__body { display: flex; flex-direction: column; flex: 1; padding: 0.875rem 1rem 1rem; }
.advertiser-card__name { font-size: 1rem; font-weight: 600; line-height: 1.3; margin-bottom: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--rdx-primary); }
.advertiser-card__meta { font-size: var(--rdx-font-size-sm); color: rgba(28,28,29,.6); display: flex; align-items: center; flex-wrap: wrap; gap: 0.3rem 0.6rem; margin-bottom: 0.5rem; }
.advertiser-card__location { display: flex; align-items: center; gap: 0.25rem; font-size: var(--rdx-font-size-xs); color: rgba(28,28,29,.55); }

.advertiser-card__avail-bar { position: relative; height: 4px; background-color: var(--rdx-tertiary); border-radius: var(--rdx-radius-pill); margin-top: 0.5rem; overflow: hidden; }
.advertiser-card__avail-fill { position: absolute; top: 0; height: 100%; background-color: var(--rdx-success); border-radius: var(--rdx-radius-pill); }

.advertiser-card__link { position: absolute; inset: 0; z-index: 5; }

.advertiser-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.25rem; }
@media (min-width: 576px)  { .advertiser-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }
@media (min-width: 992px)  { .advertiser-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); } }

/* ==========================================================================
   14. FORMS
   ========================================================================== */

.form-control,
.form-select {
    border-color: var(--rdx-border);
    border-radius: var(--rdx-radius);
    transition: border-color var(--rdx-transition-fast), box-shadow var(--rdx-transition-fast);
    font-family: var(--rdx-font-base);
}
.form-control:focus,
.form-select:focus {
    border-color: var(--rdx-light-blue);
    box-shadow: 0 0 0 3px rgba(59,95,147,.2);
}
.form-control::placeholder,
.form-select::placeholder { color: rgba(28,28,29,.4); }

.form-label { font-weight: 500; font-size: var(--rdx-font-size-sm); margin-bottom: 0.35rem; color: var(--rdx-primary); }

.rdx-field { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 1.25rem; }
.rdx-field__hint  { font-size: var(--rdx-font-size-xs); color: rgba(28,28,29,.55); }
.rdx-field__error { font-size: var(--rdx-font-size-xs); color: var(--rdx-danger); }
.rdx-field.has-error .form-control,
.rdx-field.has-error .form-select { border-color: var(--rdx-danger); }
.rdx-field.has-error .form-control:focus,
.rdx-field.has-error .form-select:focus { box-shadow: 0 0 0 3px rgba(220,53,69,.2); }

.ts-wrapper .ts-control {
    border-color: var(--rdx-border); border-radius: var(--rdx-radius);
    font-family: var(--rdx-font-base); font-size: 1rem;
    padding: 0.375rem 0.75rem;
    min-height: calc(1.5em + 0.75rem + 2px);
}
.ts-wrapper .ts-control.focus {
    border-color: var(--rdx-light-blue);
    box-shadow: 0 0 0 3px rgba(59,95,147,.2);
}
.ts-wrapper .ts-dropdown {
    border-color: var(--rdx-border);
    border-radius: 0 0 var(--rdx-radius) var(--rdx-radius);
    box-shadow: var(--rdx-shadow-base);
    font-family: var(--rdx-font-base);
    z-index: 20;
}
.ts-wrapper .ts-dropdown .option { padding: 0.5rem 0.75rem; font-size: var(--rdx-font-size-sm); cursor: pointer; }
.ts-wrapper .ts-dropdown .option.active,
.ts-wrapper .ts-dropdown .option:hover { background-color: var(--rdx-pale-blue); color: var(--rdx-secondary); }
.ts-wrapper .ts-dropdown .option.selected { background-color: var(--rdx-secondary); color: #fff; }
.ts-wrapper .ts-dropdown .create { color: var(--rdx-light-blue); font-weight: 500; }

.ts-wrapper.single .ts-control {
    padding-right: 2rem;
}
.ts-wrapper.single .ts-control::after {
    content: '';
    position: absolute;
    right: .75rem;
    top: 50%;
    margin-top: -3px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 5px 0;
    border-color: #6c757d transparent transparent;
    pointer-events: none;
}

.ts-wrapper .item {
    background-color: var(--rdx-light-blue); color: #fff;
    border-radius: var(--rdx-radius-sm); padding: 0.15rem 0.4rem;
    font-size: var(--rdx-font-size-sm);
}

/* ==========================================================================
   AUTH PAGES — login / forgot-password / reset-password
   Navy bg, white-to-gray gradient card, blue button.
   ========================================================================== */

body.rdx-page-auth .site-main {
    padding-top: 0;
}

.rdx-auth-page {
    background-color: #192b45;
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: calc(52px + 2rem);
    padding-bottom: 2rem;
}

@media (min-width: 768px) {
    .rdx-auth-page {
        padding-top: calc(104px + 2rem);
    }
}

.rdx-auth-section {
    width: 100%;
}

@media (max-width: 991.98px) {
    .rdx-auth-section .container-lg {
        padding-left: 0;
        padding-right: 0;
    }
}

.rdx-auth-card {
    background: linear-gradient(180deg, #fff 4.19%, #d0d4d9 100%);
    padding: 46px 29px;
    position: relative;
}

@media (min-width: 992px) {
    .rdx-auth-card {
        border-radius: 60px;
        margin-bottom: 80px;
    }
}

@media (max-width: 991.98px) {
    .rdx-auth-card {
        border-radius: 0 60px 0 0;
    }
}

.rdx-auth-title,
.rdx-auth-title * {
    font-family: Carla, sans-serif;
    font-size: 2rem;
    font-variant-ligatures: none;
    font-weight: 700;
    text-align: center;
    margin: 0;
    color: #1c1d1d;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.rdx-auth-sub {
    text-align: center;
    margin: 0.5rem 0 0;
}

.rdx-auth-sub span {
    color: gray;
    font-size: 1.285rem;
}

.rdx-auth-sub a {
    display: block;
    color: gray;
    font-size: 1.285rem;
    font-weight: 700;
    border-bottom: 1px solid gray;
    text-decoration: none;
    transition: color 0.3s, border-color 0.3s;
}

.rdx-auth-sub a:hover {
    color: #000;
    border-color: #000;
}

.rdx-auth-alert {
    font-size: 0.875em;
    margin: 1rem 0 0;
    line-height: 1.4;
}

.rdx-auth-alert--error  { color: #dc3545; }
.rdx-auth-alert--success {
    background-color: rgba(40, 167, 69, 0.12);
    border: 1px solid var(--rdx-success);
    color: #198754;
    width: 100%;
    padding: 0.75rem 1rem;
    border-radius: 4px;
}

.rdx-auth-form {
    margin-top: 2.25rem;
    position: relative;
}

.rdx-form-group {
    margin-bottom: 1.25rem;
}

.rdx-form-group label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.4rem;
    color: #1c1d1d;
}

.rdx-form-group .form-control {
    border-radius: 10px;
}

.rdx-auth-turnstile {
    margin-bottom: 1.25rem;
}

.btn-rdx-primary,
.rdx-auth-submit {
    background: #3b5f93;
    border-color: #3b5f93;
    border-radius: 10px;
    box-shadow: inset 0 4px 4px rgba(0,0,0,.05);
    color: #fff;
    height: 48px;
    font-size: 1rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: background 0.2s, border-color 0.2s;
}

.btn-rdx-primary:hover,
.rdx-auth-submit:hover {
    background: #4672ae;
    border-color: #4672ae;
    color: #fff;
}

.rdx-auth-submit:disabled,
.btn-rdx-primary:disabled {
    background: #3b5f93;
    border-color: #3b5f93;
    color: #fff;
    opacity: 0.85;
    cursor: not-allowed;
}

.rdx-auth-footer-links {
    margin-top: 1rem;
    text-align: center;
}

.rdx-auth-footer-links a,
.rdx-auth-forgot {
    color: gray;
    font-size: 1.285rem;
    text-decoration: none;
    transition: color 0.3s;
}

.rdx-auth-footer-links a:hover,
.rdx-auth-forgot:hover {
    color: #000;
}

.rdx-auth-invalid {
    text-align: center;
    margin-top: 1.5rem;
    color: #1c1d1d;
}

/* ==========================================================================
   HERO SLIDER — content-hero-slider.php
   ========================================================================== */

.rdx-hero-slider {
    position: relative;
    overflow: hidden;
    height: 95dvh;
}

@media (min-width: 992px) {
    .rdx-hero-slider {
        height: 75dvh;
    }
}

.rdx-hero-slider .swiper {
    width: 100%;
    height: 100%;
}

.rdx-hero-slide {
    position: relative;
    height: 100%;
}

.rdx-hero-slide__bg {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
}

.rdx-hero-slide__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Persistent dim + content layer — sibling of the background (single image
   or Swiper track), NOT inside it, so the title/search form never fade or
   reset with slide autoplay. See content-hero-slider.php. */
.rdx-hero-dim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .25);
    pointer-events: none;
}

.rdx-hero-content-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem;
}

@media (max-width: 991.98px) {
    .rdx-hero-content-overlay {
        padding-top: 3.5rem;
        align-items: flex-start;
    }
}

.rdx-hero-content {
    width: 100%;
    text-align: center;
}

.rdx-hero-slide__title {
    color: #fff;
    font-family: Carla, sans-serif;
    font-variant-ligatures: none;
    text-align: center;
    margin: 0 0 .5rem;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .4);
}

.rdx-hero-slide__subtitle {
    color: var(--rdx-light-blue);
    font-family: Carla, sans-serif;
    font-variant-ligatures: none;
    font-size: 1.15rem;
    text-align: center;
    margin: 0 0 1.5rem;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .4);
}

.rdx-hero-search {
    margin-top: 3rem;
}

@media (max-width: 575.98px) {
    .rdx-hero-search { margin-top: 1.5rem; }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .rdx-hero-search { margin-top: 2rem; }
}

@media (min-width: 992px) {
    .rdx-hero-search { margin-top: 5vh; }
}

.rdx-hero-search__tagline {
    background-color: #fff;
    color: #1c1d1d;
    border-radius: 16px 16px 0 0;
    display: flex;
    justify-content: center;
    padding: .6rem 1rem;
    margin: 0;
    font-family: var(--rdx-font-base);
    font-size: 1rem;
    line-height: 1.25rem;
    text-align: center;
}

@media (min-width: 992px) {
    .rdx-hero-search__tagline {
        font-size: 1.125rem;
        line-height: normal;
        padding: .9rem 1rem;
    }
}

.rdx-hero-search__trigger {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    border: none;
    border-radius: 0 0 16px 16px;
    background: #fff;
    color: #6c757d;
    padding: .85rem 1.1rem;
    font-size: .95rem;
    cursor: pointer;
    transition: background-color .2s;
}

.rdx-hero-search__trigger:hover {
    background: #f5f5f5;
}

.rdx-hero-search__trigger i {
    color: #6c757d;
    font-size: 1rem;
    flex: 0 0 auto;
}

.rdx-hero-search__trigger span {
    flex: 1 1 auto;
    text-align: left;
}

/* Location popup */

.rdx-location-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
}
.rdx-location-popup[hidden] {
    display: none;
}

.rdx-location-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .6);
}

/* Mobile — bottom sheet, slides up under the header */
.rdx-location-popup__dialog {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: 52px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #12141c;
    color: #fff;
    border-radius: 0;
    transform: translateY(100%);
    transition: transform .3s ease;
    z-index: 1;
}
body.rdx-popup-open .rdx-location-popup__dialog {
    transform: translateY(0);
}

/* Desktop — centered, can grow taller, not wider */
@media (min-width: 768px) {
    .rdx-location-popup {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .rdx-location-popup__dialog {
        position: relative;
        top: auto; left: auto; right: auto; bottom: auto;
        width: min(480px, 92vw);
        max-height: 80vh;
        border-radius: 12px;
        box-shadow: 0 12px 40px rgba(0, 0, 0, .5);
        transform: none;
        transition: none;
    }
}

.rdx-location-popup__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    flex: 0 0 auto;
}

.rdx-location-popup__quicklinks {
    display: block;
    flex: 0 0 auto;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.rdx-location-popup__quicklinks[hidden] {
    display: none;
}

.rdx-location-popup__section-label {
    margin: 0 0 .75rem;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: rgba(255, 255, 255, .5);
}

.rdx-location-popup__quicklinks-grid {
    display: none;
    grid-template-columns: repeat(4, 1fr);
    gap: .75rem;
}

@media (min-width: 768px) {
    .rdx-location-popup__quicklinks-grid { display: grid; }
    .rdx-location-popup__quicklinks-swiper { display: none; }
}

.rdx-location-popup__quicklink {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.rdx-location-popup__quicklink-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 12px;
    transition: opacity .2s;
}

.rdx-location-popup__quicklink:hover .rdx-location-popup__quicklink-img {
    opacity: .8;
}

.rdx-location-popup__quicklink-title {
    color: #fff;
    font-size: .8rem;
    font-weight: 600;
}

.rdx-location-popup__title {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 1rem;
    font-weight: 600;
}

.rdx-location-popup__title-icon {
    width: 18px;
    height: 18px;
    filter: invert(1);
}

.rdx-location-popup__close {
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, .6);
    font-size: 1.1rem;
    line-height: 1;
    padding: .25rem;
    cursor: pointer;
}
.rdx-location-popup__close:hover {
    color: #fff;
}

.rdx-location-popup__body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.rdx-location-popup__advanced-link {
    display: block;
    flex: 0 0 auto;
    text-align: center;
    font-size: .8rem;
    color: rgba(255, 255, 255, .65);
    text-decoration: underline;
    text-underline-offset: 2px;
    padding: .85rem 1.1rem 1rem;
    border-top: 1px solid rgba(255, 255, 255, .08);
}
.rdx-location-popup__advanced-link:hover {
    color: #fff;
}

.rdx-location-popup__loading {
    position: fixed;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rdx-location-popup__loading[hidden] {
    display: none;
}

.rdx-location-popup__spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(255, 255, 255, .2);
    border-top-color: #fff;
    border-radius: 50%;
    animation: rdx-spin .7s linear infinite;
}

.rdx-location-popup .ts-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.rdx-location-popup .ts-control {
    background: rgba(255, 255, 255, .06);
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    border-radius: 0;
    padding: .85rem 1.1rem;
    font-size: .95rem;
    color: #fff;
    cursor: text;
    box-shadow: none;
    min-height: unset;
    flex: 0 0 auto;
}

.rdx-location-popup .ts-control::after {
    display: none !important;
}

.rdx-location-popup .ts-control.focus {
    background: rgba(255, 255, 255, .06);
    box-shadow: none;
}

.rdx-location-popup .ts-wrapper.single.input-active .ts-control {
    background: rgba(255, 255, 255, .06);
}

.rdx-location-popup .ts-control input {
    background-color: transparent;
    color: #fff;
    font-size: .95rem;
    opacity: 1;
    width: auto;
    padding: 0;
    margin: 0;
    flex: 1;
    cursor: text;
    caret-color: #fff;
}

.rdx-location-popup .ts-control input:-webkit-autofill,
.rdx-location-popup .ts-control input:-webkit-autofill:hover,
.rdx-location-popup .ts-control input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff;
    -webkit-box-shadow: 0 0 0 1000px #12141c inset;
    transition: background-color 5000s ease-in-out 0s;
}

.rdx-location-popup .ts-control .placeholder {
    color: rgba(255, 255, 255, .4);
}

.rdx-location-popup .ts-dropdown {
    position: static;
    background: transparent;
    border: none;
    box-shadow: none;
    margin: 0;
    font-size: .95rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.rdx-location-popup .ts-dropdown-content {
    max-height: none;
    height: 100%;
    overflow-y: auto;
}
.rdx-location-popup .ts-dropdown-content::-webkit-scrollbar { width: 3px; }
.rdx-location-popup .ts-dropdown-content::-webkit-scrollbar-track { background: transparent; }
.rdx-location-popup .ts-dropdown-content::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, .18);
    border-radius: 2px;
}

.rdx-location-popup .ts-dropdown .optgroup-header {
    display: none;
}

.rdx-location-popup .ts-dropdown .option {
    cursor: pointer;
}

.rdx-location-popup .ts-dropdown .option:hover,
.rdx-location-popup .ts-dropdown .option.active {
    background-color: rgba(255, 255, 255, .07);
    color: #fff;
}

.rdx-location-popup .ts-dropdown .option.selected {
    background-color: var(--rdx-light-blue);
    color: #fff;
}

.rdx-location-popup .ts-dropdown .rdx-ts-location-option {
    padding: .55rem .9rem;
    color: rgba(255, 255, 255, .75);
}

.rdx-location-popup .ts-dropdown .rdx-ts-location-option--country {
    padding-left: .9rem;
    color: #fff;
    font-weight: 600;
}

.rdx-location-popup .ts-dropdown .rdx-ts-location-option--region {
    padding-left: 1.8rem;
    color: rgba(255, 255, 255, .9);
    font-weight: 600;
}

.rdx-location-popup .ts-dropdown .rdx-ts-location-option--city {
    padding-left: 2.7rem;
}

.rdx-hero-nav {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 1rem;
    z-index: 10;
}

.rdx-hero-prev,
.rdx-hero-next {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .7);
    background: rgba(0, 0, 0, .35);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}

.rdx-hero-prev:hover,
.rdx-hero-next:hover {
    background: rgba(0, 0, 0, .6);
    border-color: #fff;
}

.rdx-hero-slider .swiper-button-next,
.rdx-hero-slider .swiper-button-prev {
    display: none;
}

.swiper-pagination { bottom: 20px !important; }
.swiper-pagination-bullet { width: 10px; height: 10px; background: #fff; opacity: 0.3; border: 1px solid rgba(255,255,255,.2); border-radius: 5px; transition: all .3s ease; }
.swiper-pagination-bullet-active { width: 30px; background: var(--rdx-light-blue); opacity: 1; box-shadow: 0 0 10px rgba(59,95,147,.5); }

.swiper-button-prev,
.swiper-button-next { background-repeat: no-repeat; background-position: center; background-size: 40%; width: 88px; height: 88px; color: transparent; filter: drop-shadow(0 1px 3px rgba(0,0,0,.6)); }
.swiper-button-prev::after,
.swiper-button-next::after { content: '' !important; display: block; width: 0; height: 0; }
.swiper-button-prev { background-image: url('assets/images/arrow-left.svg'); }
.swiper-button-next { background-image: url('assets/images/arrow-right.svg'); }

/* ==========================================================================
   Location swiper  (.rdx-location-swiper)
   Thin landscape image strip with title overlay; partial slides bleed off-edge.
   ========================================================================== */

.rdx-location-swiper {
    overflow: hidden;
    padding-top: 10px;
}

.rdx-location-swiper__track {
    overflow: hidden;
}

.rdx-location-swiper__track .swiper-wrapper {
    pointer-events: none;
}

.rdx-location-swiper__slide {
    opacity: 0.5;
    transition: opacity 0.3s;
}

@media (max-width: 991.98px) {
    .rdx-location-swiper__slide.swiper-slide-active {
        opacity: 1;
    }
}

@media (min-width: 992px) {
    .rdx-location-swiper__slide:hover {
        opacity: 1;
    }
}

.rdx-location-swiper__link {
    display: block;
    position: relative;
    border-radius: 0.5rem 0.5rem 0 0;
    overflow: hidden;
    pointer-events: all;
    line-height: 0;
}

.rdx-location-swiper__link::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('assets/images/noise.svg');
    background-repeat: repeat;
    opacity: 0.8;
    mix-blend-mode: soft-light;
    pointer-events: none;
    z-index: 2;
}

.rdx-location-swiper__link::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--rdx-light-blue);
    opacity: 0.35;
    mix-blend-mode: color;
    pointer-events: none;
    z-index: 3;
}

.rdx-location-swiper__img {
    display: block;
    width: 100%;
    height: 4rem;
    object-fit: cover;
    filter: brightness(1.5);
}

@media (min-width: 992px) {
    .rdx-location-swiper__img {
        height: 5rem;
    }
}

.rdx-location-swiper__content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 1.3125rem;
    pointer-events: none;
    z-index: 3;
}

.rdx-location-swiper__title {
    margin: 0;
    color: #fff;
    font-family: Carla, sans-serif;
    font-size: calc(1.325rem + 0.9vw);
    font-weight: 400;
    line-height: 29px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55)) drop-shadow(0 0 6px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 22px rgba(0, 0, 0, 0.7));
}

@media (min-width: 1200px) {
    .rdx-location-swiper__title { font-size: 2rem; }
}

.rdx-location-swiper__title--mobile  { display: block; }
.rdx-location-swiper__title--desktop { display: none;  }

@media (min-width: 992px) {
    .rdx-location-swiper__title--mobile  { display: none;  }
    .rdx-location-swiper__title--desktop { display: block; }
}

/* ==========================================================================
   Default swiper  (.rdx-default-swiper)
   Card grid: image + title + description + CTA bar.
   ========================================================================== */

.rdx-default-swiper__track {
    overflow: hidden;
}

.rdx-default-swiper__slide {
    opacity: 0.5;
    transition: opacity 0.3s;
}

.rdx-default-swiper__slide.swiper-slide-active {
    opacity: 1;
}

.rdx-default-swiper__link {
    display: block;
    position: relative;
    pointer-events: all;
    color: inherit;
    text-decoration: none;
}

.rdx-default-swiper__img-wrap {
    overflow: hidden;
    border-radius: 0 16px 0 0;
}

.rdx-default-swiper__img {
    display: block;
    width: 100%;
    object-fit: cover;
}

.rdx-default-swiper__content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 1.3125rem 0.625rem;
}

@media (min-width: 992px) {
    .rdx-default-swiper__content {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 0 1.3125rem;
        bottom: unset;
    }
}

.rdx-default-swiper__title,
.rdx-default-swiper__desc {
    color: #fff;
}

.rdx-default-swiper__title {
    font-size: 32px;
    font-weight: 400;
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

.rdx-default-swiper__desc {
    font-size: 1rem;
}

.rdx-default-swiper__bar {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    background-color: #3b5f93;
    box-shadow: 0 3.6px 3.6px rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 1rem;
    margin-top: -1px;
}

.rdx-default-swiper__bar i {
    color: #fff;
    font-size: 0.675rem;
    margin-left: 9px;
}

/* ==========================================================================
   ACF utility classes
   background_colour, padding_top, padding_bottom, text_colour field values
   ========================================================================== */

:root {
    --rdx-primary:    #000000;
    --rdx-secondary:  #192b45;
    --rdx-tertiary:   #dad9da;
    --rdx-light-blue: #3b5f93;
    --rdx-pale-blue:  #b0d1ff;
    --rdx-dusk-grey:  #5c5d5d;
    --rdx-off-white:  #f6f6f6;
    --rdx-red:        #96282b;
}

.background-primary    { background-color: var(--rdx-primary); }
.background-secondary  { background-color: var(--rdx-secondary); }
.background-tertiary   { background-color: var(--rdx-tertiary); }
.background-light-blue { background-color: var(--rdx-light-blue); }
.background-pale-blue  { background-color: var(--rdx-pale-blue); }
.background-dusk-grey  { background-color: var(--rdx-dusk-grey); }
.background-charcoal   { background-color: var(--rdx-dusk-grey); }
.background-off-white  { background-color: var(--rdx-off-white); }
.background-white      { background-color: #fff; }
.background-transparent{ background-color: transparent; }
.background-red        { background-color: var(--rdx-red); }

.background-gradient-secondary-tertiary {
    background: linear-gradient(180deg, #192b45, #dad9da 52.6%);
}

.background-black-repeating-logos {
    background-color: var(--rdx-primary);
    position: relative;
    z-index: 0;
}
.background-black-repeating-logos::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url('assets/images/Full Black-Tile 1.png');
    pointer-events: none;
    z-index: -1;
}

.background-navy-repeating-logos {
    background-color: #192b45;
    position: relative;
    z-index: 0;
}
.background-navy-repeating-logos::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url('assets/images/Dark Blue Pattern Blend.png');
    pointer-events: none;
    z-index: -1;
}

.background-gray-repeating-logos {
    background-color: #5c5d5d;
    position: relative;
    z-index: 0;
}
.background-gray-repeating-logos::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url('assets/images/Black2 Pattern Blend.png');
    pointer-events: none;
    z-index: -1;
}

.background-light-blue-repeating-logos {
    background-color: #3b5f93;
    position: relative;
    z-index: 0;
}
.background-light-blue-repeating-logos::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url('assets/images/Light Blue Pattern Blend.png');
    pointer-events: none;
    z-index: -1;
}

.background-off-white-repeating-logos {
    background-color: var(--rdx-off-white);
    position: relative;
    z-index: 0;
}
.background-off-white-repeating-logos::after {
    content: '';
    position: absolute;
    inset: 0;
    background: url('assets/images/Black2 Pattern Blend.png');
    pointer-events: none;
    z-index: -1;
}

.background-primary .text-variable,
.background-secondary .text-variable,
.background-light-blue .text-variable,
.background-dusk-grey .text-variable,
.background-charcoal .text-variable,
.background-red .text-variable,
.background-black-repeating-logos .text-variable,
.background-navy-repeating-logos .text-variable,
.background-gray-repeating-logos .text-variable,
.background-light-blue-repeating-logos .text-variable { color: #fff; }

.background-off-white .text-variable,
.background-white .text-variable,
.background-pale-blue .text-variable,
.background-transparent .text-variable { color: #000; }

.text-white, .text-white * { color: #fff !important; }
.text-primary               { color: var(--rdx-primary)   !important; }
.text-secondary             { color: var(--rdx-secondary)  !important; }
.text-tertiary               { color: var(--rdx-dusk-grey, #5c5d5d) !important; }
.text-dusk-grey              { color: var(--rdx-dusk-grey)  !important; }
.text-light-blue             { color: var(--rdx-light-blue) !important; }
.text-pale-blue              { color: var(--rdx-pale-blue)  !important; }

.box-shadow-none {  }

.box-shadow-bottom {
    position: relative;
}
.box-shadow-bottom::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 24px;
    background: linear-gradient(to bottom, transparent, rgba(0,0,0,.18));
    pointer-events: none;
    z-index: 1;
}

.box-shadow-middle {
    position: relative;
}
.box-shadow-middle::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(0,0,0,.18) 0%, transparent 40px),
        linear-gradient(to top,    rgba(0,0,0,.18) 0%, transparent 40px);
    pointer-events: none;
    z-index: 1;
}

.section-padding       { padding-top: 3.5rem; padding-bottom: 3.5rem; }
.section-padding-top   { padding-top: 3.5rem; }
.section-padding-bottom{ padding-bottom: 3.5rem; }

.section-padding-top-normal   { padding-top: 2rem; }
.section-padding-bottom-normal{ padding-bottom: 2rem; }
.section-padding-top-small    { padding-top: 1rem; }
.section-padding-bottom-small { padding-bottom: 1rem; }
.section-padding-top-huge     { padding-top: 6rem; }
.section-padding-bottom-huge  { padding-bottom: 6rem; }

@media (min-width: 992px) {
    .section-padding        { padding-top: 6rem;  padding-bottom: 6rem; }
    .section-padding-top    { padding-top: 6rem; }
    .section-padding-bottom { padding-bottom: 6rem; }
    .section-padding-top-normal    { padding-top: 4rem; }
    .section-padding-bottom-normal { padding-bottom: 4rem; }
    .section-padding-top-small     { padding-top: 2rem; }
    .section-padding-bottom-small  { padding-bottom: 2rem; }
    .section-padding-top-huge      { padding-top: 11rem; }
    .section-padding-bottom-huge   { padding-bottom: 11rem; }
}

/* ==========================================================================
   Headings — h1-h6 global sizing
   ========================================================================== */

.h1, .h1 *, h1, h1 * {
    font-family: Carla, sans-serif;
    font-variant-ligatures: none;
}

.h2, .h2 *, h2, h2 * {
    font-family: Carla, sans-serif;
    font-variant-ligatures: none;
}

.h3, .h3 *, h3, h3 * {
    font-family: Carla, sans-serif;
    font-variant-ligatures: none;
}

.h4, .h4 *, h4, h4 * {
    font-family: Carla, sans-serif;
    font-variant-ligatures: none;
}

.h5, .h5 *, h5, h5 * {
    font-size: 1.125rem;
}

.h6, .h6 *, h6, h6 * {
    font-size: 1rem;
}

/* ==========================================================================
   Block utilities — used by content-title.php and other blocks
   ========================================================================== */

.block-content.title h1,
.block-content.title h2,
.block-content.title h3,
.block-content.title h4,
h1.section,
h1.hero,
h1.page-title {
    font-family: Carla, sans-serif;
    font-variant-ligatures: none;
}

.remove-padding        { padding: 0 !important; }
.style-italic          { font-style: italic; }
.coming-soon-button    {
    display: inline-block;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: .2em .6em;
    background: var(--rdx-light-blue);
    color: #fff;
    border-radius: 4px;
    vertical-align: middle;
    margin-left: .5rem;
}

/* ==========================================================================
   Profile card — overlay design
   Used by content-featured-escorts.php (Swiper) and grid listings.
   ========================================================================== */

.profile-outer,
.profile-inner,
.profile {
    height: auto;
    overflow: visible;
}

.profile-outer {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    display: block;
}

.profile.profile-card-wrapper {
    display: flex;
    flex-direction: column;
    background: transparent;
    border: none;
    box-shadow: none;
    text-decoration: none;
    cursor: pointer;
}

.profile-image-bounder {
    position: relative;
    overflow: hidden;
    height: 300px;
    border-radius: 16px 16px 0 0;
}

.profile-card--featured .profile-image-bounder {
    height: 360px;
}

@media (min-width: 769px) {
    .profile-image-bounder {
        height: 450px;
    }

    .profile-card--featured .profile-image-bounder {
        height: 450px;
    }
}

.profile.profile-card-wrapper .profile-image-bounder {
    flex-grow: 1;
    height: auto;
}

.profile-card--grid .profile-image-bounder {
    flex-grow: 0;
    aspect-ratio: 500 / 654;
    height: auto;
    width: 100%;
}

.profile .profile-img-container > img,
.profile .profile-img-container picture,
.profile .profile-img-container .swiper-slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.profile-img-container {
    position: relative;
    height: 100%;
    width: 100%;
}

.profile-img-container .swiper,
.profile-img-container .roladex-grid-slider {
    width: 100%;
    height: 100%;
}

.profile-info-box {
    width: 100%;
    background: #000;
    padding: 12px 14px 14px;
    text-align: left;
}

.profile-info-box .name {
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 6px;
    letter-spacing: 0.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.profile-info-box .meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 6px;
    font-size: 13px;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.profile-info-box span.label {
    color: #888;
}

.profile-info-box span.value {
    color: #fff;
    font-weight: 600;
    text-transform: none;
}

.profile-info-box .meta-sep {
    color: #555;
    font-size: 11px;
}

.profile-info-box .verified-label {
    color: #888;
    font-size: 13px;
    display: none;
}
@media (min-width: 768px) {
    .profile-info-box .verified-label { display: inline; }
}
.profile-card--featured .profile-info-box .verified-label { display: inline; }

.profile-info-box .location-row {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.4;
}

.profile-info-box .location-row .value {
    color: #4b7bc3;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.profile-info-box .location-pin {
    display: inline-block;
    width: 16px;
    height: 20px;
    background-color: #4b7bc3;
    -webkit-mask-image: url('assets/images/location-pin.svg');
    mask-image: url('assets/images/location-pin.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    flex-shrink: 0;
}

.profile-info-box .location-touring-pin {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: #4b7bc3;
    -webkit-mask-image: url('assets/images/location-touring-escort.svg');
    mask-image: url('assets/images/location-touring-escort.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    flex-shrink: 0;
}

.profile-touring-glass-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    z-index: 10;
}

.glass-flex-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.glass-icon {
    width: 18px;
    height: auto;
    filter: brightness(0) invert(1);
    opacity: 0.85;
    flex-shrink: 0;
}

.glass-content {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1;
}

.glass-status {
    color: rgba(255, 255, 255, 0.45);
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
@media (max-width: 767px) {
    .glass-status { display: none; }
}

.glass-city {
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.glass-dates {
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

.profile-status-tags {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 25;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.available-status-tag {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 30px;
    padding: 6px 12px;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1;
}

.available-icon-pulsing {
    position: relative;
    width: 10px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.available-icon-pulsing img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.available-icon-pulsing .bulb-reg {
    filter: brightness(0) invert(1);
    opacity: 0.5;
    z-index: 1;
}

/* Bulb glow color — was blue, saved here in case you want to revert:
   .bulb-solid filter:      invert(61%) sepia(80%) saturate(2453%) hue-rotate(167deg) brightness(101%) contrast(106%)
   keyframe filter prefix:  invert(61%) sepia(80%) saturate(2453%) hue-rotate(167deg) brightness(101%) contrast(106%)
   drop-shadow color:       #00bfff
*/
.available-icon-pulsing .bulb-solid {
    filter: invert(61%) sepia(80%) saturate(2453%) hue-rotate(114deg) brightness(101%) contrast(106%);
    opacity: 0;
    z-index: 2;
    animation: rdx-bulb-sync-pulse 2s infinite ease-in-out;
}

.available-text {
    font-size: 13px;
    text-transform: uppercase;
}

/* Variant for placement on a solid white background (e.g. under the Touring
   line in the info panel) instead of overlaid on a photo. Uses the site's
   primary blue so it doesn't blend into the grey .rdx-verified badge above it. */
.available-status-tag--inline {
    width: fit-content;
    margin-bottom: .65rem;
    background: #3b5f91;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    color: #fff;
}
.rdx-mobile-bio .available-status-tag--inline {
    margin-left: auto;
    margin-right: auto;
}
.available-status-tag--inline .available-icon-pulsing .bulb-solid {
    filter: brightness(0) invert(1);
    animation-name: rdx-bulb-sync-pulse-white;
}

@keyframes rdx-bulb-sync-pulse-white {
    0% {
        opacity: 0.4;
        transform: scale(0.9);
        filter: brightness(0) invert(1) drop-shadow(0 0 0px #fff);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
        filter: brightness(0) invert(1)
                drop-shadow(0 0 5px #fff)
                drop-shadow(0 0 15px #fff)
                drop-shadow(0 0 25px #fff);
    }
    100% {
        opacity: 0.4;
        transform: scale(0.9);
        filter: brightness(0) invert(1) drop-shadow(0 0 0px #fff);
    }
}

@keyframes rdx-bulb-sync-pulse {
    0% {
        opacity: 0.4;
        transform: scale(0.9);
        filter: invert(61%) sepia(80%) saturate(2453%) hue-rotate(114deg) brightness(101%) contrast(106%) drop-shadow(0 0 0px #00ff66);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
        filter: invert(61%) sepia(80%) saturate(2453%) hue-rotate(114deg) brightness(101%) contrast(106%)
                drop-shadow(0 0 5px #00ff66)
                drop-shadow(0 0 15px #00ff66)
                drop-shadow(0 0 25px #00ff66);
    }
    100% {
        opacity: 0.4;
        transform: scale(0.9);
        filter: invert(61%) sepia(80%) saturate(2453%) hue-rotate(114deg) brightness(101%) contrast(106%) drop-shadow(0 0 0px #00ff66);
    }
}

.profile-info-box .verified-shield,
.featured-escorts-slider .verified-shield {
    height: 18px;
    width: 18px;
    vertical-align: middle;
    margin-left: 4px;
    display: inline-block;
    object-fit: contain;
    margin-top: -3px;
}

.rdx-featured-escorts__header {
    padding-bottom: 1.5rem;
}

.rdx-featured-escorts {
    overflow: visible;
    padding-bottom: 1rem;
}

.featured-escorts-slider .swiper-wrapper {
    align-items: stretch;
    display: flex;
}

.featured-escorts-slider .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}

.featured-escorts-slider .swiper-slide .profile.profile-card-wrapper {
    flex-grow: 1;
}

.roladex-grid-slider .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
}

.roladex-grid-slider .swiper-slide-active {
    opacity: 1;
}

@media (max-width: 768px) {

    .profile-info-box .name {
        font-size: 13px;
    }

    .profile-info-box span.label {
        display: none;
    }

    .profile-info-box .meta-row {
        white-space: nowrap;
        align-items: center;
        gap: 4px;
        flex-wrap: nowrap;
    }

    .profile-card--featured .profile-info-box span.label {
        display: inline;
    }

    .verified-shield {
        margin-top: -2px;
    }

    .profile-touring-glass-bar {
        padding: 7px 12px;
    }

    .glass-city {
        font-size: 12px;
    }

    .glass-dates {
        font-size: 10px;
    }
}

/* ==========================================================================
   Zipper — .rdx-zipper
   Expandable "View More" section, toggled by main.js.
   ========================================================================== */

.rdx-zipper {
    text-align: center;
}

.rdx-zipper__toggle,
.rdx-zipper__close {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .6rem 1.4rem;
    border-radius: 100px;
    cursor: pointer;
    transition: border-color .2s, background .2s;
}
.rdx-zipper__toggle:hover,
.rdx-zipper__close:hover {
    border-color: rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .06);
}

.rdx-zipper__chevron {
    transition: transform .35s ease;
    font-size: .7rem;
}
.rdx-zipper[data-rdx-zipper-open] .rdx-zipper__chevron {
    transform: rotate(180deg);
}

.rdx-zipper__body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .4s ease;
    overflow: hidden;
}
.rdx-zipper[data-rdx-zipper-open] .rdx-zipper__body {
    grid-template-rows: 1fr;
}

.rdx-zipper__inner {
    overflow: hidden;
    min-height: 0;

}
.rdx-zipper__inner > .container-xxl {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.rdx-zipper__inner.bg-dark   { background: var(--rdx-dark, #0f1923); }
.rdx-zipper__inner.bg-darker { background: #080d12; }

.rdx-escorts-grid__header {
    padding-bottom: 1.5rem;
}

.rdx-escorts-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 769px) and (max-width: 1199.98px) {
    .rdx-escorts-grid[data-columns="2"] { grid-template-columns: repeat(2, 1fr); }
    .rdx-escorts-grid[data-columns="3"] { grid-template-columns: repeat(3, 1fr); }
    .rdx-escorts-grid[data-columns="4"] { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1200px) {
    .rdx-escorts-grid[data-columns="2"] { grid-template-columns: repeat(2, 1fr); }
    .rdx-escorts-grid[data-columns="3"] { grid-template-columns: repeat(3, 1fr); }
    .rdx-escorts-grid[data-columns="4"] { grid-template-columns: repeat(4, 1fr); }
}

.rdx-escorts-grid__item {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    content-visibility: auto;
    contain-intrinsic-size: auto 380px;
}

.rdx-escorts-grid__item .profile.profile-card-wrapper {
    flex: 1;
}

.rdx-directory-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 769px) and (max-width: 1199.98px) {
    .rdx-directory-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 1200px) {
    .rdx-directory-grid { grid-template-columns: repeat(4, 1fr); }
}

.rdx-directory-card {
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    overflow: hidden;
    background-color: var(--rdx-secondary);
    color: #fff;
    text-decoration: none;
    transition: transform .15s ease;
}

.rdx-directory-card:hover {
    transform: translateY(-2px);
    color: #fff;
}

.rdx-directory-card__img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.rdx-directory-card__body {
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rdx-directory-card__title {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: #fff;
}

.rdx-directory-card__count {
    font-size: .85rem;
    opacity: .8;
}

.rdx-breadcrumbs {
    padding: 12px 0;
}

.rdx-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 6px;
    font-size: .85rem;
}

.rdx-breadcrumbs__item:not(:last-child)::after {
    content: '/';
    margin-left: 6px;
    opacity: .6;
}

.rdx-breadcrumbs__link {
    color: inherit;
    text-decoration: underline;
}

.rdx-breadcrumbs__current {
    opacity: .8;
}

.rdx-load-more {
    display: block;
    margin: 1.5rem auto 0;
    padding: .65rem 2rem;
    background: transparent;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 999px;
    color: #fff;
    font-size: .9rem;
    letter-spacing: .04em;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.rdx-load-more:hover {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.55);
}

/* ==========================================================================
   Location hero (single-location.php)
   ========================================================================== */

.rdx-location-hero {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #192b45;
}
@media (min-width: 768px) {
    .rdx-location-hero { min-height: 420px; }
}
@media (min-width: 1200px) {
    .rdx-location-hero { min-height: 480px; }
}
.rdx-location-hero__bg {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 0;
}
.rdx-location-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.25) 0%, rgba(0,0,0,.45) 100%);
    pointer-events: none;
}
.rdx-location-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.rdx-location-hero__overlay {
    position: relative;
    z-index: 1;
    width: 100%;
    padding: 3rem 0;
    text-align: center;
}
.rdx-location-hero__title {
    color: #fff;
    font-family: 'Carla', var(--rdx-font-base);
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin: 0;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.1;
    text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.rdx-location-hero__zipper-toggle {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
}

/* ================================================================
 * _filter-drawer.scss (manually compiled — keep in sync with SCSS)
 * ================================================================ */

.rdx-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: var(--rdx-font-size-sm, 0.875rem);
    font-weight: 500;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.rdx-filter-btn:hover,
.rdx-filter-btn[aria-expanded="true"] {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
}
.rdx-filter-btn__icon { font-size: 0.8rem; }

.rdx-filter-bar {

    position: sticky;
    top: 52px;
    z-index: 100;
    padding-block: 0.75rem;
    margin-bottom: 1rem;
    background-color: transparent;
    box-shadow: none;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}
.rdx-filter-bar.is-stuck {
    background-color: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

.rdx-section--escorts.is-filtering-available .rdx-escorts-grid__item:has(.profile-card-wrapper[data-available="0"]) { display: none; }
.rdx-section--escorts.is-filtering-tour      .rdx-escorts-grid__item:has(.profile-card-wrapper[data-tour="0"])      { display: none; }

.rdx-filter-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
@media (min-width: 768px) {
    .rdx-filter-bar { top: 104px; }
}
@media (orientation: landscape) and (max-height: 500px),
       (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
    .rdx-filter-bar { top: 52px; }
}

@media (min-width: 601px) and (max-width: 767.98px) {
    .admin-bar .rdx-filter-bar { top: 98px; }
}
@media (min-width: 768px) and (max-width: 782px) {
    .admin-bar .rdx-filter-bar { top: 150px; }
}
@media (min-width: 783px) {
    .admin-bar .rdx-filter-bar { top: 136px; }
}
.rdx-filter-bar__left,
.rdx-filter-bar__right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.rdx-filter-bar__available {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 150ms ease, border-color 150ms ease;
}
.rdx-filter-bar__available:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}
.rdx-filter-bar__available-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 4px;
    background: transparent;
    color: transparent;
    font-size: 0.65rem;
    line-height: 1;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.rdx-filter-bar__available.is-on {
    background-color: rgba(59, 95, 147, 0.18);
    border-color: #3b5f93;
}
.rdx-filter-bar__available.is-on .rdx-filter-bar__available-box {
    background: #3b5f93;
    border-color: #3b5f93;
    color: #fff;
}

.rdx-filter-bar__tour {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 150ms ease, border-color 150ms ease;
}
.rdx-filter-bar__tour:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}
.rdx-filter-bar__tour-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 4px;
    background: transparent;
    color: transparent;
    font-size: 0.65rem;
    line-height: 1;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.rdx-filter-bar__tour.is-on {
    background-color: rgba(59, 95, 147, 0.18);
    border-color: #3b5f93;
}
.rdx-filter-bar__tour.is-on .rdx-filter-bar__tour-box {
    background: #3b5f93;
    border-color: #3b5f93;
    color: #fff;
}

.rdx-filter-bar__advanced {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.rdx-filter-bar__advanced:hover { color: #fff; }

.rdx-filter-bar__sort-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease;
}
.rdx-filter-bar__sort-btn:hover,
.rdx-filter-bar__sort-btn[aria-expanded="true"] {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
}
.rdx-filter-bar__sort-icon { font-size: 0.8rem; }

.rdx-filter-bar__sort-menu {
    background-color: #0f0f10;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 0.35rem;
    min-width: 10rem;
}
.rdx-filter-bar__sort-menu .dropdown-item {
    color: #e9e9ea;
    border-radius: 8px;
    padding: 0.45rem 0.75rem;
    font-size: 0.875rem;
}
.rdx-filter-bar__sort-menu .dropdown-item:hover,
.rdx-filter-bar__sort-menu .dropdown-item:focus {
    background-color: rgba(255, 255, 255, 0.08);
    color: #fff;
}
.rdx-filter-bar__sort-menu .dropdown-item.active,
.rdx-filter-bar__sort-menu .dropdown-item:active {
    background-color: rgba(59, 95, 147, 0.18);
    color: #fff;
}

.rdx-filter-drawer {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(420px, 92vw);
    background-color: #0f0f10;
    color: #e9e9ea;
    z-index: 1045;
    transform: translateX(-100%);
    transition: transform 250ms ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
body.rdx-filter-open { overflow-x: hidden; }
body.rdx-filter-open .rdx-filter-drawer { transform: translateX(0); }

body.rdx-filter-open .site-header,
body.rdx-filter-open .site-main,
body.rdx-filter-open .site-footer,
body.rdx-filter-open #wpadminbar {
    transform: translateX(min(420px, 92vw));
}

.rdx-filter-drawer__overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.55);
    z-index: 1040;
    opacity: 0;
    pointer-events: none;
    transition: opacity 250ms ease;
}
.rdx-filter-drawer__overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.rdx-filter-side-tab { display: none; }
@media (min-width: 768px) {
    .rdx-filter-side-tab {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.6rem;
        position: fixed;
        top: 104px;
        left: 0;
        z-index: 1046;
        padding: 1.25rem 0.65rem;
        border: none;
        border-radius: 0 8px 8px 0;
        background-color: var(--rdx-secondary);
        color: #fff;
        cursor: pointer;
        box-shadow: 2px 0 8px rgba(0, 0, 0, 0.25);
        transition: left 250ms ease, background-color 150ms ease;
    }
    .rdx-filter-side-tab:hover { background-color: #22375a; }
    body.rdx-filter-open .rdx-filter-side-tab { left: min(420px, 92vw); }
    .rdx-filter-side-tab__icon { font-size: 0.95rem; }
    .rdx-filter-side-tab__label {
        writing-mode: vertical-rl;
        text-orientation: mixed;
        letter-spacing: 0.15em;
        font-size: 0.9rem;
        font-weight: 600;
        text-transform: uppercase;
    }
}

.rdx-filter-drawer .rdx-filter-form {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.rdx-filter-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
}
.rdx-filter-drawer__title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.01em;
}
.rdx-filter-drawer__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 150ms ease;
}
.rdx-filter-drawer__close:hover { background-color: rgba(255, 255, 255, 0.12); }

.rdx-filter-drawer__body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 1.25rem 1.5rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;

    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}
.rdx-filter-drawer__body::-webkit-scrollbar { width: 3px; }
.rdx-filter-drawer__body::-webkit-scrollbar-track { background: transparent; }
.rdx-filter-drawer__body::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.18);
    border-radius: 2px;
}

.rdx-filter-drawer__footer {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 1rem 1.5rem 1.25rem;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.rdx-filter-drawer__actions {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
}
.rdx-filter-drawer__reset {
    padding: 0.75rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
    color: #e9e9ea;
    border-radius: 10px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease;
}
.rdx-filter-drawer__reset:hover {
    background-color: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.2);
}
.rdx-filter-drawer__submit {
    padding: 0.75rem 1.25rem;
    border: none;
    background: #3b5f93;
    color: #fff;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 150ms ease, transform 150ms ease;
}
.rdx-filter-drawer__submit:hover { background-color: #2f4c74; }
.rdx-filter-drawer__submit:active { transform: translateY(1px); }
.rdx-filter-drawer__advanced {
    text-align: center;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.875rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.rdx-filter-drawer__advanced:hover { color: #3b5f93; }

.rdx-filter-group {
    border: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.rdx-filter-group--row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.rdx-filter-group__label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.02em;
}
.rdx-filter-group__label--sm {
    font-weight: 500;
    color: #e9e9ea;
}
.rdx-filter-group__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}
.rdx-filter-group__value {
    color: #3b5f93;
    font-size: 0.875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.rdx-pill-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.rdx-pill-group--grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
}

.rdx-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.55rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    background: #1a1a1c;
    color: #e9e9ea;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.rdx-pill input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.rdx-pill:hover {
    border-color: rgba(255, 255, 255, 0.2);
    background-color: rgba(255, 255, 255, 0.04);
}
.rdx-pill:has(input:checked) {
    background: rgba(59, 95, 147, 0.18);
    border-color: #3b5f93;
    color: #3b5f93;
}
.rdx-pill:has(input:checked) .rdx-pill__check { opacity: 1; }
.rdx-pill__text {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.rdx-pill__check {
    opacity: 0;
    font-size: 0.75rem;
    transition: opacity 150ms ease;
}

.rdx-switch {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    cursor: pointer;
}
.rdx-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.rdx-switch__track {
    display: block;
    width: 44px;
    height: 24px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    transition: background-color 150ms ease;
}
.rdx-switch__thumb {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    transition: transform 150ms ease;
}
.rdx-switch input:checked + .rdx-switch__track { background: #3b5f93; }
.rdx-switch input:checked + .rdx-switch__track .rdx-switch__thumb { transform: translateX(20px); }

.rdx-check-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.rdx-check {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.25rem;
    cursor: pointer;
    user-select: none;
    color: #e9e9ea;
    font-size: 0.9rem;
}
.rdx-check input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.rdx-check__box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    flex-shrink: 0;
    transition: background-color 150ms ease, border-color 150ms ease;
}
.rdx-check__box .fa-check {
    opacity: 0;
    color: #111;
    font-size: 0.7rem;
    transition: opacity 150ms ease;
}
.rdx-check:hover .rdx-check__box { border-color: rgba(255, 255, 255, 0.5); }
.rdx-check input:checked + .rdx-check__box {
    background: #3b5f93;
    border-color: #3b5f93;
}
.rdx-check input:checked + .rdx-check__box .fa-check { opacity: 1; }

.rdx-slider.noUi-target,
.rdx-slider.noUi-horizontal {
    height: 4px;
    background: rgba(255, 255, 255, 0.12);
    border: none;
    box-shadow: none;
    border-radius: 999px;
    margin: 0.75rem 0.5rem 0.25rem;
}
.rdx-slider .noUi-connect { background: #3b5f93; }
.rdx-slider .noUi-handle {
    width: 18px !important;
    height: 18px !important;
    top: -7px !important;
    right: -9px !important;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #3b5f93;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    cursor: grab;
}
.rdx-slider .noUi-handle:before,
.rdx-slider .noUi-handle:after { display: none; }
.rdx-slider .noUi-handle:active { cursor: grabbing; }
.rdx-slider .noUi-handle:focus { outline: none; }

/* ==========================================================================
   AGE GATE — standalone /age-gate page (page-age-gate.php)
   ========================================================================== */

body.rdx-age-gate-page {
    background-color: #192b45;
    margin: 0;
    min-height: 100vh;
}

.rdx-age-gate {
    background-color: #192b45;
    color: #fff;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    text-align: center;
}

.rdx-age-gate__title {
    color: #fff;
    font-size: 4.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 2rem;
    text-transform: uppercase;
}

@media (max-width: 991.98px) {
    .rdx-age-gate__title { font-size: 1.6rem; }
}

.rdx-age-gate__lede { font-size: 1.125rem; }

.rdx-age-gate p {
    color: #fff;
    margin-bottom: 1rem;
}

.rdx-age-gate p a {
    color: #fff;
    text-decoration: underline;
}

.rdx-age-gate p a:hover { opacity: 0.85; }

.rdx-age-gate__form { margin-top: 2rem; }

@media (min-width: 576px) {
    .rdx-age-gate__form { margin-top: 4rem; }
}

.rdx-age-gate__actions { gap: 0; }

.rdx-age-gate__btn {
    min-width: 9rem;
    width: auto;
    padding: 0.5rem 1.25rem;
    font-weight: 600;
    border-radius: 0.375rem;
    margin: 0 0.5rem;
    transition: background-color 150ms ease,
                color 150ms ease,
                border-color 150ms ease;
}

.rdx-age-gate__btn--enter {
    background-color: #fff;
    border: 1px solid #fff;
    color: #000;
}

.rdx-age-gate__btn--enter:hover,
.rdx-age-gate__btn--enter:focus {
    background-color: #fff;
    border-color: #fff;
    color: #000;
    opacity: 0.9;
}

.rdx-age-gate__btn--leave {
    background-color: #192b45;
    border: 1px solid #fff;
    color: #fff;
}

.rdx-age-gate__btn--leave:hover,
.rdx-age-gate__btn--leave:focus {
    background-color: rgba(255,255,255,.1);
    border-color: #fff;
    color: #fff;
}

.rdx-age-gate__spinner {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 0.5rem 1rem;
    position: relative;
}

.rdx-age-gate__spinner-img {
    width: 7rem;
    padding: 0.5rem;
}

.rdx-age-gate__spinner svg { margin-top: 3px; }

/* ============================================================
   Single Advertiser Profile Page
   ============================================================ */

.rdx-profile-page { }

.rdx-advertiser-hero-gallery { position: relative; overflow: hidden; }
.rdx-advertiser-hero-gallery .swiper { overflow: visible; }

.rdx-mobile-bio {
    background: linear-gradient(#fff, #dbdbda 90%);
    padding: 2.5rem 0;
    color: #1c1c1d;
}
.rdx-mobile-bio .rdx-profile-name {
    font-size: 32px;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: .75rem;
    color: #1c1c1d;
    line-height: 1.05;
}
.rdx-mobile-bio .rdx-verified  { color: #192b45; display: flex; width: 100%; justify-content: center; }
.rdx-mobile-bio .rdx-touring   { color: #5c5d5d; }
.rdx-mobile-bio .rdx-meta {
    display: flex;
    justify-content: center;
    gap: .75rem;
    font-size: 1.1rem;
    color: #5c5d5d;
    margin-bottom: .5rem;
}
.rdx-mobile-bio .rdx-socials { justify-content: center; }
.rdx-mobile-bio .rdx-socials a {
    background: rgba(25,43,69,.08);
    border-color: rgba(25,43,69,.15);
    color: #192b45;
}
.rdx-mobile-bio .rdx-socials a:hover { background: rgba(25,43,69,.18); }
.rdx-mobile-bio .rdx-bio-label  { color: #5b5b5b; text-align: left; }
.rdx-mobile-bio .rdx-bio-byline { color: #3b5f93; text-align: left; }
.rdx-mobile-bio .rdx-bio-text   { color: #5b5b5b; text-align: left; }
.rdx-mobile-bio .rdx-bio-more   { color: #5b5b5b; text-align: left; }
.rdx-mobile-bio .rdx-bio-more:hover { color: #1c1c1d; }

.rdx-mobile-features .accordion-item { border: none; border-radius: 0; background: transparent; }
.rdx-mobile-features .accordion-collapse { background: transparent; }
.rdx-mobile-features .accordion-button {
    background: var(--rdx-secondary);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.rdx-mobile-features .accordion-button:not(.collapsed) {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
}
.rdx-mobile-features .accordion-button:focus { box-shadow: none; }
.rdx-mobile-features .accordion-button::after { filter: none; }
.rdx-mobile-features .accordion-body { padding: 0; }

.rdx-mobile-rates > .accordion-button {
    background: var(--rdx-secondary);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    border: none;
    border-radius: 0;
    padding: .75rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.rdx-mobile-rates > .accordion-button:not(.collapsed) {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
}
.rdx-mobile-rates > .accordion-button:focus { box-shadow: none; }
.rdx-mobile-rates > .accordion-button::after { filter: none; }

.rdx-mobile-wishlist > .accordion-button {
    background: var(--rdx-secondary);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    border: none;
    border-radius: 0;
    padding: .75rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.rdx-mobile-wishlist > .accordion-button:not(.collapsed) {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
}
.rdx-mobile-wishlist > .accordion-button:focus { box-shadow: none; }
.rdx-mobile-wishlist > .accordion-button::after { filter: none; }

.rdx-mobile-reviews > .accordion-button {
    background: var(--rdx-secondary);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    border: none;
    border-radius: 0;
    padding: .75rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.rdx-mobile-reviews > .accordion-button:not(.collapsed) {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
}
.rdx-mobile-reviews > .accordion-button:focus { box-shadow: none; }
.rdx-mobile-reviews > .accordion-button::after { filter: none; }

.rdx-mobile-selfies > .accordion-button {
    background: var(--rdx-secondary);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    border: none;
    border-radius: 0;
    padding: .75rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.rdx-mobile-selfies > .accordion-button:not(.collapsed) {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
}
.rdx-mobile-selfies > .accordion-button:focus { box-shadow: none; }
.rdx-mobile-selfies > .accordion-button::after { filter: none; }

.rdx-desktop-info { position: relative; }

.rdx-desktop-info__img {
    position: relative;
    width: 50%;
    overflow: hidden;
}
.rdx-desktop-info__img img {
    display: block;
    width: 100%;
    height: auto;
}
.rdx-desktop-info__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50%;
    background: linear-gradient(180deg, #fff 37.1%, #d0d4d9);
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow-y: auto;
    color: #1c1c1d;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.25) transparent;
}
.rdx-desktop-info__panel::-webkit-scrollbar { width: 3px; }
.rdx-desktop-info__panel::-webkit-scrollbar-track { background: transparent; margin: 1rem 0; }
.rdx-desktop-info__panel::-webkit-scrollbar-thumb { background: rgba(0,0,0,.25); border-radius: 4px; }
.rdx-desktop-info__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 80%;
    margin: auto;
    padding: 1.5rem 0;
}
.rdx-desktop-info__inner .rdx-profile-name {
    font-size: 56px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1.05;
    margin-bottom: .5rem;
    color: #1c1c1d;
}
.rdx-desktop-info__inner .rdx-verified {
    color: #3b5f93;
    font-size: 1.1rem;
    font-weight: 400;
    margin-bottom: .35rem;
}
.rdx-desktop-info__inner .rdx-verified img { width: 20px; }
.rdx-desktop-info__inner .rdx-meta {
    font-size: 1.375rem;
    font-weight: 700;
    color: #1c1c1d;
    margin-bottom: .5rem;
    display: flex;
    gap: .5rem;
    align-items: baseline;
    justify-content: center;
}
.rdx-desktop-info__inner .rdx-meta .rdx-sep { color: #9a9a9a; font-weight: 400; }
.rdx-desktop-info__inner .rdx-touring { color: #5c5d5d; margin-bottom: .65rem; }
.rdx-desktop-info__inner .rdx-contact-icons { width: 100%; margin: .5rem 0; }
.rdx-desktop-info__inner .rdx-contact-reveal__icons { justify-content: center; }
.rdx-desktop-info__inner .rdx-socials { justify-content: center; margin: .5rem 0 .75rem; }
.rdx-desktop-info__inner .rdx-socials a {
    background: rgba(25,43,69,.08);
    border-color: rgba(25,43,69,.15);
    color: #192b45;
}
.rdx-desktop-info__inner .rdx-socials a:hover { background: rgba(25,43,69,.18); }
.rdx-desktop-info__inner .rdx-bio-label  { color: #5b5b5b; align-self: flex-start; text-align: left; font-size: 1.1rem; letter-spacing: 0; text-transform: none; }
.rdx-desktop-info__inner .rdx-bio-byline { color: #3b5f93; align-self: flex-start; text-align: left; font-size: 1.1rem; }
.rdx-desktop-info__inner .rdx-bio-text   { color: #5b5b5b; text-align: left; align-self: flex-start; font-size: 1.1rem; line-height: 1.7; }
.rdx-desktop-info__inner .rdx-bio-more   { color: #5b5b5b; align-self: flex-start; }
.rdx-desktop-info__inner .rdx-bio-more:hover { color: #1c1c1d; }
.rdx-desktop-info__inner .rdx-bio-full { align-self: flex-start; width: 100%; }

.rdx-desktop-features { position: relative; }
.rdx-desktop-features__attrs {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 50%;
    padding: 4rem;
    display: flex;
    flex-direction: column;
    text-align: center;
    overflow: hidden;
}
.rdx-desktop-features__attrs-title { margin-bottom: 2rem; }
.rdx-desktop-features__attrs-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.38) transparent;
}
.rdx-desktop-features__attrs-list::-webkit-scrollbar { width: 3px; }
.rdx-desktop-features__attrs-list::-webkit-scrollbar-track { background: transparent; margin: 1rem 0; }
.rdx-desktop-features__attrs-list::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.38);
    border-radius: 4px;
}
.rdx-desktop-features__photos {
    width: 50%;
    margin-left: 50%;
    overflow: hidden;
}
.rdx-desktop-features__photos .swiper { height: auto; }
.rdx-desktop-features__photos .swiper-slide { height: auto; }
.rdx-desktop-features__photos .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
}

.rdx-profile-attr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .75rem 0;
    border-bottom: .5px solid rgba(255,255,255,.12);
    font-size: .95rem;
}
.rdx-profile-attr:last-child { border-bottom: none; }
.rdx-profile-attr .rdx-attr-lhs {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: #a3a3a3;
    font-size: 1rem;
    font-weight: 400;
}
.rdx-profile-attr .rdx-attr-lhs i { color: #a3a3a3; font-size: .9rem; }
.rdx-profile-attr .rdx-attr-rhs {
    color: #fff;
    font-size: 1rem;
    font-weight: 400;
    text-align: right;
    margin-right: 2rem;
}
.rdx-mobile-features .rdx-profile-attr {
    padding: .55rem 1.25rem;
    border-bottom-color: rgba(255,255,255,.12);
}
.rdx-mobile-features .rdx-profile-attr .rdx-attr-lhs { color: #a3a3a3; }
.rdx-mobile-features .rdx-profile-attr .rdx-attr-lhs i { color: #a3a3a3; }
.rdx-mobile-features .rdx-profile-attr .rdx-attr-rhs { color: #fff; margin-right: .5rem; }

.rdx-verified {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: .4rem;
    color: #c8a84b;
    background: #e3e3e3;
    border-radius: 4px;
    padding: .5rem 1rem;
}
.rdx-verified img { width: 18px; height: 18px; }
.rdx-touring {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .85rem;
    margin-bottom: .65rem;
    color: #aeaeb2;
}
.rdx-touring img { width: 18px; opacity: .7; }

/* ==== Contact icons — hover-hint / click-to-reveal-value panel ==== */
.rdx-contact-icons {
    margin: .5rem 0;
    padding: 1.25rem 0 .75rem;
    border-top: 1px solid rgba(0,0,0,.12);
    border-bottom: 1px solid rgba(0,0,0,.12);
    text-align: center;
}
.rdx-contact-icons .rdx-follow-me-label { margin-top: 0; margin-bottom: .75rem; }
.rdx-contact-reveal {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 74px;
}
.rdx-contact-reveal__icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
}
.rdx-contact-reveal__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}
.rdx-contact-reveal__badge {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f7;
    color: var(--rdx-secondary);
    font-size: 1.3rem;
    transition: background-color var(--rdx-transition-fast);
}
.rdx-contact-reveal__item:hover .rdx-contact-reveal__badge,
.rdx-contact-reveal__item:focus-visible .rdx-contact-reveal__badge { background: #e3e3e3; }
.rdx-contact-reveal__mask {
    width: 22px;
    height: 22px;
    display: inline-block;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.rdx-contact-reveal__mask--telegram {
    -webkit-mask-image: url('../assets/images/telegram-icon.svg');
    mask-image: url('../assets/images/telegram-icon.svg');
}
.rdx-contact-reveal__mask--viber {
    -webkit-mask-image: url('../assets/images/viber-icon.svg');
    mask-image: url('../assets/images/viber-icon.svg');
}
.rdx-contact-reveal__hint {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--rdx-secondary);
    opacity: 0;
    transform: translateY(4px);
    transition: opacity var(--rdx-transition-fast), transform var(--rdx-transition-fast);
}
.rdx-contact-reveal__item:hover .rdx-contact-reveal__hint,
.rdx-contact-reveal__item:focus-visible .rdx-contact-reveal__hint { opacity: 1; transform: translateY(0); }
.rdx-contact-reveal__mobile-hint {
    display: none;
    text-align: center;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--rdx-secondary);
    margin: .4rem 0 0;
}
.rdx-contact-reveal.is-revealed .rdx-contact-reveal__icons { display: none; }
.rdx-contact-reveal.is-revealed .rdx-contact-reveal__mobile-hint { display: none; }
.rdx-contact-reveal__value {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
}
.rdx-contact-reveal.is-revealed .rdx-contact-reveal__value { display: flex; }
.rdx-contact-reveal__value-row { display: flex; align-items: center; gap: .6rem; }
.rdx-contact-reveal__value-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    background: #f5f5f7;
    color: var(--rdx-secondary);
    font-size: 1.3rem;
}
.rdx-contact-reveal__value-icon img { width: 18px; height: 18px; }
.rdx-contact-reveal__link { font-size: 1.1rem; font-weight: 600; color: var(--rdx-secondary); text-decoration: none; }
.rdx-contact-reveal__link:hover { text-decoration: underline; }
.rdx-contact-reveal__close { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: #888; cursor: pointer; }

.rdx-socials { display: flex; flex-wrap: wrap; gap: .6rem; margin: .75rem 0 1rem; }
.rdx-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    color: #f5f5f7;
    font-size: .95rem;
    text-decoration: none;
    transition: background .15s;
}
.rdx-socials a:hover { background: rgba(255,255,255,.18); }
.rdx-socials svg { width: 16px; height: 16px; fill: currentColor; }

.rdx-bio-label { font-size: .75rem; color: #636366; text-transform: uppercase; letter-spacing: .07em; margin-bottom: .35rem; }
.rdx-bio-byline { font-size: 1rem; font-weight: 600; line-height: 1.3; color: #f5f5f7; margin-bottom: .5rem; }
.rdx-bio-text { font-size: .9rem; line-height: 1.7; color: #aeaeb2; text-align: left; }
.rdx-bio-text.is-hidden { display: none; }
.rdx-bio-full { max-height: 0; overflow: hidden; opacity: 0; transition: max-height .45s ease, opacity .35s ease; }
.rdx-bio-full.is-open { opacity: 1; }
.rdx-bio-more {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: none;
    border: none;
    padding: .5rem 0;
    color: #86868b;
    font-size: .82rem;
    cursor: pointer;
    transition: color .15s;
}
.rdx-bio-more:hover { color: #f5f5f7; }
.rdx-bio-more i { transition: transform .25s; }
.rdx-bio-more.is-open i { transform: rotate(180deg); }

.rdx-gallery-strip { background: #0d0d0d; }
.rdx-gallery-strip .swiper { height: 280px; }
.rdx-gallery-strip .swiper-slide img { height: 280px; object-fit: cover; }
@media (min-width: 768px) {
    .rdx-gallery-strip .swiper { height: 380px; }
    .rdx-gallery-strip .swiper-slide img { height: 380px; }
}
@media (min-width: 992px) {
    .rdx-gallery-strip .swiper { height: 460px; }
    .rdx-gallery-strip .swiper-slide img { height: 460px; }
}

.rdx-gallery-strip--natural .swiper,
.rdx-gallery-strip--natural .swiper-slide { height: auto; }
.rdx-gallery-strip--natural .swiper-slide img { height: auto !important; object-fit: unset; width: 100%; }

.rdx-selfie-toggle {
    background: var(--rdx-secondary);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem 1.5rem 1.25rem;
}
.rdx-selfie-toggle .rdx-section-title {
    margin-bottom: .75rem;
}
.rdx-selfie-toggle__btn {
    background: none;
    border: none;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0 27px;
    transition: .3s;
}
.rdx-selfie-toggle__label {
    color: #fff;
    position: relative;
    transition: .3s;
}
.rdx-selfie-toggle__label i {
    position: absolute;
    right: -18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    transition: .3s;
}
.rdx-selfie-toggle__btn:hover .rdx-selfie-toggle__label i { right: -25px; }
.rdx-selfie-toggle__btn[aria-expanded="false"] .rdx-selfie-toggle__label--close { display: none; }
.rdx-selfie-toggle__btn[aria-expanded="true"]  .rdx-selfie-toggle__label--open  { display: none; }

.rdx-wishlist-body {
    background: var(--rdx-secondary);
    padding: 2rem 0 2.5rem;
}
.rdx-wishlist-cat {
    padding: .75rem 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.rdx-wishlist-cat:last-child { border-bottom: none; }
.rdx-wishlist-cat__title {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(255,255,255,.45);
    margin-bottom: .25rem;
}
.rdx-wishlist-cat__items {
    font-size: .95rem;
    color: #fff;
}
.rdx-wishlist-mobile {
    background: var(--rdx-secondary);
    padding: 2rem 1.25rem 2.5rem;
}

.rdx-section--dark { background: #0d0d0d; padding: 3rem 0; }
.rdx-section--mid  { background: transparent; padding: 0; }
@media (min-width: 992px) { .rdx-section--mid { padding: 3rem 0; } }
.rdx-section-title { font-size: 2.5rem; font-weight: 500; letter-spacing: -.015em; color: #f5f5f7; margin: 0 0 1.5rem; }

.rdx-stub {
    background: #1a1a1a;
    border: 1px dashed #2a2a2a;
    border-radius: 8px;
    padding: 2rem;
    text-align: center;
    color: #3a3a3a;
    font-size: .85rem;
}
.rdx-stub strong { display: block; color: #555; margin-bottom: .25rem; font-size: .95rem; }

.rdx-review-section { overflow: hidden; }

.rdx-review-content { padding: 3rem 0; }
.rdx-review-content.is-out { display: none; }

.rdx-review-swiper { padding: 2rem 0 1rem; overflow: hidden; }
.rdx-review-swiper .swiper-slide { height: auto; }

.rdx-review-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    padding: 1.5rem;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.rdx-review-card__body { flex: 1; }
.rdx-review-card__content { color: #eee; font-size: .95rem; line-height: 1.6; margin: 0 0 1rem; }
.rdx-review-card__footer {
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: .75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
}
.rdx-review-card__author { color: rgba(255,255,255,.55); font-size: .8rem; }
.rdx-review-card__link { color: var(--rdx-light-blue); font-size: .85rem; text-decoration: none; white-space: nowrap; }
.rdx-review-card__link:hover { color: #fff; }

.rdx-review-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 1.5rem 0 2rem;
}
.rdx-review-empty-wrap { padding: 2rem 0 2.5rem; text-align: center; }
.rdx-review-empty { color: rgba(255,255,255,.6); margin-bottom: 1rem; }

.rdx-review-form-panel {
    background: var(--rdx-secondary);
    padding: 3rem 0 4rem;
}
.rdx-review-form-panel[hidden] { display: none; }
@keyframes rdx-panel-up {
    from { opacity: 0; transform: translateY(48px); }
    to   { opacity: 1; transform: translateY(0); }
}
.rdx-review-form-panel.is-in {
    animation: rdx-panel-up .4s cubic-bezier(.25,.46,.45,.94) both;
}

.rdx-review-back {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: none;
    border: none;
    color: rgba(255,255,255,.55);
    font-size: .875rem;
    padding: 0;
    margin-bottom: 2.5rem;
    cursor: pointer;
    transition: color var(--rdx-transition-fast);
}
.rdx-review-back:hover { color: #fff; }

.rdx-review-form-panel__intro { color: rgba(255,255,255,.65); font-size: .9rem; margin-bottom: 1.5rem; }
.rdx-review-form-wrap .rdx-section-title { margin-bottom: .5rem; }
.rdx-review-form-wrap label { color: #fff; }
.rdx-review-form-wrap .form-text { color: rgba(255,255,255,.55); }

.rdx-review-thankyou { text-align: center; padding: 2rem 0; }
.rdx-review-thankyou .rdx-section-title { color: #fff; margin-bottom: .75rem; }
.rdx-review-thankyou p { color: rgba(255,255,255,.65); }

.rdx-rates-section { background: var(--rdx-secondary); padding: 3rem 0; }
@media (max-width: 991.98px) {
    .rdx-rates-section { padding: 0; }
}

.rdx-experience {
    background: #131313;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 560px;
    position: relative;
}
.rdx-experience::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3.5rem;
    background: linear-gradient(to bottom, transparent, #1c1d1d);
    pointer-events: none;
    z-index: 2;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
.rdx-experience--outcall::after { background: linear-gradient(to bottom, transparent, #222A34); }
.rdx-experience--incall::after  { background: linear-gradient(to bottom, transparent, #caced3); }
.rdx-exp-top {
    padding: 1rem 1.25rem;
    flex-shrink: 0;
}

.rdx-experience--incall                 { background: #f6f6f6; }
.rdx-experience--incall .rdx-exp-top    { background: #f6f6f6; }
.rdx-experience--incall .rdx-exp-bottom { background: #f6f6f6; }
.rdx-experience--incall .rdx-exp-top-inner h5        { color: #192b45; }
.rdx-experience--incall .rdx-exp-top-inner p         { color: rgba(25,43,69,.6); }
.rdx-experience--incall .rdx-rates-item              { color: #192b45; border-bottom-color: rgba(25,43,69,.1); }
.rdx-experience--incall .rdx-price                   { color: #192b45; }
.rdx-experience--incall .rdx-meta-icon               { color: var(--rdx-secondary); }
.rdx-experience--incall .rdx-call-label              { color: rgba(25,43,69,.35); }
.rdx-experience--incall .rdx-call-label.active       { color: #192b45; }
.rdx-experience--incall .rdx-switch .rdx-slider       { background: rgba(25,43,69,.18); }
.rdx-experience--incall .rdx-switch input:checked + .rdx-slider { background: var(--rdx-secondary); }
.rdx-experience--incall .rdx-seealltoggle            { color: var(--rdx-secondary); }
.rdx-experience--incall .rdx-no-rates                { color: rgba(25,43,69,.4); }
.rdx-experience--incall .rdx-single-call-label       { color: rgba(25,43,69,.45); }

.rdx-experience--outcall                 { background: #1c1d1d; }
.rdx-experience--outcall .rdx-exp-top    { background: #1c1d1d; }
.rdx-experience--outcall .rdx-exp-bottom { background: #1c1d1d; }
.rdx-experience--outcall .rdx-exp-top-inner h5 { color: #f6f6f6; }
.rdx-experience--outcall .rdx-exp-top-inner p  { color: rgba(255,255,255,.55); }
.rdx-experience--outcall .rdx-exp-bar          { background: var(--rdx-pale-blue); }
.rdx-exp-top-inner {
    text-align: center;
}
.rdx-exp-top-inner h5 {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0 0 .15rem;
    line-height: 1.1;
}
.rdx-exp-top-inner p {
    font-size: .75rem;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.rdx-exp-top-inner h5.rdx-exp-heading--custom { text-transform: uppercase; }
.rdx-exp-top-inner p.rdx-exp-subheading--custom { text-transform: none; }
.rdx-exp-bar {
    height: 3px;
    background: var(--rdx-light-blue);
    margin-top: .75rem;
    border-radius: 2px;
}
.rdx-exp-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.38) transparent;
    display: flex;
    flex-direction: column;
}
.rdx-exp-body::-webkit-scrollbar { width: 3px; }
.rdx-exp-body::-webkit-scrollbar-track { background: transparent; }
.rdx-exp-body::-webkit-scrollbar-thumb { background: rgba(255,255,255,.38); border-radius: 4px; }
.rdx-experience--incall .rdx-exp-body { scrollbar-color: rgba(25,43,69,.3) transparent; }
.rdx-experience--incall .rdx-exp-body::-webkit-scrollbar-thumb { background: rgba(25,43,69,.3); }
.rdx-exp-bottom {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .85rem;
    flex-shrink: 0;
}

.rdx-toggler {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
}
.rdx-call-label {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(255,255,255,.3);
    cursor: pointer;
    transition: color var(--rdx-transition-fast);
    user-select: none;
}
.rdx-call-label.active { color: #f5f5f7; }
.rdx-switch { position: relative; display: inline-block; width: 40px; height: 20px; flex-shrink: 0; }
.rdx-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.rdx-switch .rdx-slider {
    position: absolute; inset: 0;
    background: #333;
    border-radius: 20px;
    cursor: pointer;
    transition: background var(--rdx-transition-fast);
}
.rdx-switch .rdx-slider::before {
    content: '';
    position: absolute;
    width: 14px; height: 14px;
    left: 3px; bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform var(--rdx-transition-fast);
}
.rdx-switch input:checked + .rdx-slider { background: var(--rdx-light-blue); }
.rdx-switch input:checked + .rdx-slider::before { transform: translateX(20px); }

.rdx-experience.disable-incall  .rdx-call--incall  { display: none !important; }
.rdx-experience.disable-incall  .rdx-call--outcall { display: block !important; }
.rdx-experience.disable-outcall .rdx-call--outcall { display: none !important; }
.rdx-experience.disable-outcall .rdx-call--incall  { display: block !important; }
.rdx-experience.disable-incall  .rdx-call-label--incall  { opacity: .25; pointer-events: none; }
.rdx-experience.disable-outcall .rdx-call-label--outcall { opacity: .25; pointer-events: none; }
.rdx-single-call-label {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.4);
    text-align: center;
    margin: 0;
}

.rdx-call { display: none; }
.rdx-call.active { display: block; }
.rdx-rates-table { }
.rdx-rates-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
    font-size: .82rem;
    color: #f6f6f6;
    gap: .5rem;
}
.rdx-rates-item:first-child { padding-top: 0; }
.rdx-rates-item:last-child { border-bottom: none; }
.rdx-price { display: flex; align-items: center; gap: .45rem; flex-shrink: 0; white-space: nowrap; }
.rdx-duration { font-weight: 600; flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; }
.rdx-meta-icon { color: var(--rdx-light-blue); width: 16px; text-align: center; flex-shrink: 0; }
.rdx-price { font-weight: 600; color: #f6f6f6; font-size: .82rem; }

.rdx-seealltoggle {
    text-align: right;
    font-size: .75rem;
    color: var(--rdx-light-blue);
    cursor: pointer;
    padding: .4rem 0 0;
    user-select: none;
    transition: color var(--rdx-transition-fast);
}
.rdx-seealltoggle:hover { color: var(--rdx-pale-blue); }
.rdx-seealltoggle__hidden { display: none; }
.rdx-seealltoggle[aria-expanded="true"] .rdx-seealltoggle__shown { display: none; }
.rdx-seealltoggle[aria-expanded="true"] .rdx-seealltoggle__hidden { display: inline; }

.rdx-no-rates { text-align: center; font-size: .83rem; color: #444; padding: .75rem 0; }

.rdx-exp-services {
    background: #1c1d1d;
    padding: 1rem 1.25rem 1.25rem;
    border-top: 1px solid rgba(255,255,255,.06);
    display: flex;
    flex-direction: column;
    margin-top: auto;
    flex-shrink: 0;
}
.rdx-experience--outcall .rdx-exp-services { background: #222A34; }
.rdx-experience--incall  .rdx-exp-services { background: rgba(25,43,69,.2); }
.rdx-services-header {
    font-size: .73rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.4);
    margin-bottom: .5rem;
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-shrink: 0;
}
.rdx-experience--incall .rdx-services-header { color: rgba(25,43,69,.45); }
.rdx-services-info-btn { cursor: pointer; transition: color var(--rdx-transition-fast); }
.rdx-services-info-btn:hover { color: var(--rdx-pale-blue); }
.rdx-no-services { font-size: .8rem; color: rgba(255,255,255,.85); }
.rdx-experience--incall .rdx-no-services { color: rgba(25,43,69,.6); }
.rdx-experience--outcall .rdx-no-services a { color: #fff; text-decoration: underline; }
.rdx-experience--outcall .rdx-no-services a:hover { color: rgba(255,255,255,.75); }
.rdx-service-tags {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: .3rem;
    padding-bottom: 2.5rem;
}
.rdx-service-tag {
    background: #3b5f93;
    border: 1px solid #3b5f93;
    color: #fff;
    border-radius: 4px;
    padding: .2rem .5rem;
    font-size: .73rem;
    flex: 1 1 auto;
    text-align: center;
}

.rdx-exp-info.accordion { border-top: 1px solid rgba(255,255,255,.08); margin-top: .5rem; }
.rdx-exp-info .accordion-item { background: transparent; border: none; border-bottom: 1px solid rgba(255,255,255,.08); }
.rdx-exp-info .accordion-item:last-child { border-bottom: none; }
.rdx-exp-info .accordion-button {
    background: transparent;
    color: rgba(255,255,255,.6);
    font-size: .78rem;
    padding: .55rem 0;
    box-shadow: none;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.rdx-exp-info .accordion-button:not(.collapsed) { color: #f6f6f6; box-shadow: none; background: transparent; }
.rdx-exp-info .accordion-button::after { filter: invert(1) opacity(.5); width: .7rem; height: .7rem; background-size: .7rem; }
.rdx-exp-info .accordion-button:not(.collapsed)::after { filter: invert(1); }
.rdx-exp-info .accordion-collapse { background: transparent; }
.rdx-exp-info .accordion-body { padding: .5rem 0 .75rem; font-size: 1rem; color: rgba(255,255,255,.75); background: transparent; }

.rdx-experience--incall .rdx-exp-info.accordion { border-top-color: rgba(25,43,69,.12); }
.rdx-experience--incall .rdx-exp-info .accordion-item { border-bottom-color: rgba(25,43,69,.12); }
.rdx-experience--incall .rdx-exp-info .accordion-button { color: rgba(25,43,69,.55); }
.rdx-experience--incall .rdx-exp-info .accordion-button:not(.collapsed) { color: #192b45; }
.rdx-experience--incall .rdx-exp-info .accordion-button::after { filter: none; opacity: .45; }
.rdx-experience--incall .rdx-exp-info .accordion-button:not(.collapsed)::after { filter: none; opacity: 1; }
.rdx-experience--incall .rdx-exp-info .accordion-body { color: rgba(25,43,69,.8); }

.rdx-state-msg { display: none; font-size: .73rem; color: #3a3a3a; font-style: italic; }

.rdx-rates-disclaimer { font-size: .8rem; color: #444; border-top: 1px solid rgba(255,255,255,.05); margin-top: 1.5rem; padding-top: 1rem; }
.rdx-rates-empty { color: #444; font-size: .9rem; padding: 1.5rem 0; }

.rdx-swiper-container { width: 100%; }
@media (min-width: 992px) {
    .rdx-swiper-container {
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
        padding-left: .75rem;
        padding-right: .75rem;
    }
}

.rdx-swiper-outer {
    position: relative;
}
.rdx-swiper-outer > .swiper-button-prev,
.rdx-swiper-outer > .swiper-button-next {
    display: none;
}
@media (min-width: 992px) {
    .rdx-swiper-outer {
        padding: 0 3rem;
    }
    .rdx-swiper-outer--no-nav {
        padding: 0;
    }
    .rdx-swiper-outer > .swiper-button-prev,
    .rdx-swiper-outer > .swiper-button-next {
        display: flex;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        margin-top: 0;
    }
    .rdx-swiper-outer > .swiper-button-prev { left: 0; }
    .rdx-swiper-outer > .swiper-button-next { right: 0; }
}

@media (min-width: 1024px) {
    .rdx-swiper-container--full {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 170px;
    }
    .rdx-swiper-container--full .rdx-swiper-outer {
        padding: 0;
    }
}

.rdx-exp-swiper {
    overflow-x: hidden;
}
.rdx-exp-swiper .swiper { overflow: visible; }
.rdx-exp-swiper .swiper-wrapper { align-items: stretch; }
.rdx-exp-swiper .swiper-slide { padding: 2rem 0; }
@media (min-width: 576px) {

    .rdx-exp-swiper.rdx-rates-layout--stack {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
@media (min-width: 992px) {
    .rdx-exp-swiper .swiper-slide { padding: 1rem 0; }
}
@media (min-width: 1024px) {
    .rdx-exp-swiper.rdx-rates-layout--stack {

        padding-left: 3rem;
        padding-right: 3rem;
        -webkit-mask-image: linear-gradient(to right, #000 0%, #000 92%, transparent 100%);
        mask-image: linear-gradient(to right, #000 0%, #000 92%, transparent 100%);
    }
}
.rdx-exp-swiper--desktop { padding: 0 2rem; }
.rdx-exp-swiper--desktop .swiper { overflow: visible; }

.rdx-rates-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.rdx-rates-grid__item {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.rdx-rates-grid__item .rdx-experience { width: 100%; }

@media (min-width: 992px) {

    .rdx-rates-layout--single { align-items: center; }
    .rdx-rates-layout--single .rdx-rates-grid__item { width: 40%; }
}

.rdx-services-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.75);
    z-index: var(--rdx-z-modal);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.rdx-services-popup-overlay.is-open { display: flex; }
.rdx-services-popup-box {
    background: #192b45;
    border-radius: 12px;
    max-width: 480px;
    width: 100%;
    padding: 1.75rem;
    position: relative;
    max-height: 80vh;
    overflow-y: auto;
    color: #f5f5f7;
}
.rdx-services-popup-close {
    position: absolute;
    top: .75rem; right: .75rem;
    background: none; border: none;
    color: rgba(255,255,255,.5);
    font-size: 1.25rem;
    cursor: pointer;
    line-height: 1;
    padding: .25rem;
    transition: color var(--rdx-transition-fast);
}
.rdx-services-popup-close:hover { color: #fff; }

.rdx-contact-section { background: #1c1d1d; padding: 4rem 0; position: relative; overflow: hidden; }
.rdx-contact-inner { position: relative; z-index: 1; }
.rdx-contact-img { position: absolute; right: 0; top: 0; width: 65%; height: 100%; pointer-events: none; }
.rdx-contact-img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; opacity: .5; }
.rdx-contact-img::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #1c1d1d 10%, rgba(28, 29, 29, 0) 40%);
    z-index: 1;
}
@media (max-width: 991.98px) {
    .rdx-contact-section { padding: 0; }
    #rdxContactBody { position: relative; overflow: hidden; }
    .rdx-contact-mobile-img {
        position: absolute;
        inset: 0;
        z-index: 0;
    }
    .rdx-contact-mobile-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top center;
        opacity: .75;
        display: block;
    }
    .rdx-contact-mobile-img::after {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(28,29,29,.45);
        z-index: 1;
    }
    .rdx-contact-inner {
        position: relative;
        z-index: 2;
        padding-top: 4rem;
        padding-bottom: 4rem;
        min-height: 260px;
    }
    .rdx-contact-inner .rdx-follow-me-label,
    .rdx-contact-inner .rdx-share__label,
    .rdx-contact-inner .rdx-report-link { color: #fff; }
    .rdx-contact-inner .rdx-section-title { font-size: 1.75rem; margin-bottom: 1rem; }
}
.rdx-mobile-contact > .accordion-button {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .03em;
    justify-content: space-between;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.rdx-mobile-contact > .accordion-button:not(.collapsed) {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
}
.rdx-mobile-contact > .accordion-button:focus { box-shadow: none; }
.rdx-mobile-contact > .accordion-button::after { filter: none; }
.rdx-contact-section .rdx-follow-me-label { color: rgba(255,255,255,.6); }
.rdx-contact-section .rdx-contact-icons { border-color: rgba(255,255,255,.15); text-align: left; }
.rdx-contact-section .rdx-contact-reveal__icons { justify-content: flex-start; }
.rdx-contact-section .rdx-contact-reveal__value { align-items: flex-start; }
.rdx-contact-section .rdx-contact-reveal__badge,
.rdx-contact-section .rdx-contact-reveal__value-icon { background: rgba(255,255,255,.12); color: #fff; }
.rdx-contact-section .rdx-contact-reveal__item:hover .rdx-contact-reveal__badge,
.rdx-contact-section .rdx-contact-reveal__item:focus-visible .rdx-contact-reveal__badge { background: rgba(255,255,255,.22); }
.rdx-contact-section .rdx-contact-reveal__hint,
.rdx-contact-section .rdx-contact-reveal__mobile-hint { color: rgba(255,255,255,.75); }
.rdx-contact-section .rdx-contact-reveal__mobile-hint { text-align: left; }
.rdx-contact-section .rdx-contact-reveal__link { color: #fff; }
.rdx-contact-section .rdx-contact-reveal__close { color: rgba(255,255,255,.55); }
.rdx-follow-me-label { font-size: .75rem; color: #555; text-transform: uppercase; letter-spacing: .07em; margin: 2rem 0 .5rem; }
.rdx-bio-socials { margin-top: 1rem; text-align: center; }
.rdx-bio-socials .rdx-follow-me-label { margin-top: 0; color: #888; }
.rdx-bio-socials .rdx-profile-socials { justify-content: center; }
.rdx-bio-socials .rdx-social-icon { background-color: var(--rdx-secondary); }

/* Desktop hero bio block — border-top only when it isn't already separated from .rdx-contact-icons by the socials row, avoiding a doubled border line */
.rdx-bio-block { margin-top: 1rem; padding-top: 1rem; width: 100%; }
.rdx-bio-block--bordered { border-top: 1px solid rgba(0,0,0,.12); }
.rdx-bio-text--full { margin-top: .5rem; }
.rdx-contact-social-row {
    display: flex;
    align-items: flex-start;
    gap: 2.5rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}
/* Keep the contact-section text column clear of .rdx-contact-img's dark-to-photo fade so nothing (heading, border line, icon rows) crosses onto the visible photo */
@media (min-width: 992px) {
    .rdx-contact-section .rdx-section-title,
    .rdx-contact-section .rdx-contact-icons,
    .rdx-contact-section .rdx-contact-social-row { max-width: 500px; }
}
.rdx-contact-social-row__group { display: flex; flex-direction: column; }
.rdx-contact-social-row__group .rdx-follow-me-label { margin-top: 0; }
.rdx-contact-social-row__group .rdx-contact-section__socials { margin-top: 0; }
.rdx-contact-section__socials { display: flex; flex-wrap: wrap; gap: .75rem; margin: .5rem 0 1.5rem; }
.rdx-contact-section__socials .rdx-profile-socials { display: flex; flex-wrap: wrap; gap: .75rem; }
.rdx-contact-section__socials a {
    display: inline-flex;
    text-decoration: none;
}

.rdx-social-icon {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #f5f5f7;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: background-color var(--rdx-transition-fast);
}
.rdx-profile-socials { display: flex; flex-wrap: wrap; gap: .5rem; }
.rdx-social--instagram { -webkit-mask-image: url('../assets/images/socials/instagram.svg'); mask-image: url('../assets/images/socials/instagram.svg'); -webkit-mask-size: 78%; mask-size: 78%; }
.rdx-social--x-twitter { -webkit-mask-image: url('../assets/images/socials/x-twitter.svg'); mask-image: url('../assets/images/socials/x-twitter.svg'); -webkit-mask-size: 78%; mask-size: 78%; }
.rdx-social--snapchat  { -webkit-mask-image: url('../assets/images/socials/snapchat.svg');  mask-image: url('../assets/images/socials/snapchat.svg'); -webkit-mask-size: 78%; mask-size: 78%; }
.rdx-social--onlyfans  { -webkit-mask-image: url('../assets/images/socials/onlyfans.svg');  mask-image: url('../assets/images/socials/onlyfans.svg'); }
.rdx-social--bluesky   { -webkit-mask-image: url('../assets/images/socials/bluesky.svg');   mask-image: url('../assets/images/socials/bluesky.svg'); -webkit-mask-size: 78%; mask-size: 78%; }
.rdx-social--globe     { -webkit-mask-image: url('../assets/images/socials/globe.svg');     mask-image: url('../assets/images/socials/globe.svg'); -webkit-mask-size: 75%; mask-size: 75%; }
.rdx-social--link      { -webkit-mask-image: url('../assets/images/socials/link.svg');      mask-image: url('../assets/images/socials/link.svg'); }
.rdx-social--facebook  { -webkit-mask-image: url('../assets/images/socials/facebook.svg');  mask-image: url('../assets/images/socials/facebook.svg'); -webkit-mask-size: 78%; mask-size: 78%; }
.rdx-social--tiktok    { -webkit-mask-image: url('../assets/images/socials/tiktok.svg');    mask-image: url('../assets/images/socials/tiktok.svg'); -webkit-mask-size: 65%; mask-size: 65%; }

.rdx-form-social-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    vertical-align: -0.125em;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.rdx-report-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: rgba(255,255,255,.5);
    font-size: .78rem;
    text-decoration: none;
    margin-top: 1.25rem;
    transition: color .15s;
}
.rdx-report-link:hover { color: #ff453a; }

.rdx-share { margin-top: 0; }
.rdx-share__label {
    font-size: .75rem;
    color: #555;
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: .5rem;
}
.rdx-share__links { display: flex; gap: .5rem; }
.rdx-share__btn {
    display: inline-flex;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-decoration: none;
}
.rdx-share__btn:hover .rdx-social-icon { background-color: var(--rdx-pale-blue); }
.rdx-share__btn--copied .rdx-social-icon { background-color: #198754 !important; }

.rdx-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1001;
    background: #192b45;
    border-radius: 20px 20px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 1rem));
}
@media (min-width: 992px) {
    .rdx-bottom-nav {
        border-radius: 24px 0 0 24px;
        bottom: unset;
        left: unset;
        flex-direction: column;
        justify-content: flex-start;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: auto;
        padding: 26px 12px;
    }
}
.rdx-bottom-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    color: #fff;
    font-size: .62rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: .04em;
    opacity: .5;
    transition: opacity .3s;
}
@media (min-width: 992px) {
    .rdx-bottom-nav a:not(:last-child) { margin-bottom: 1.5rem; }
}
.rdx-bottom-nav a i { color: #fff; font-size: 1.15rem; font-weight: 700; }
.rdx-bottom-nav a.is-active,
.rdx-bottom-nav a:hover { opacity: 1; color: #fff; }

.rdx-mobile-avail.accordion { border: none; }
.rdx-mobile-avail > .accordion-button {
    background: var(--rdx-secondary);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    border: none;
    border-radius: 0;
    padding: .75rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.rdx-mobile-avail > .accordion-button:not(.collapsed) {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
}
.rdx-mobile-avail > .accordion-button:focus { box-shadow: none; }
.rdx-mobile-avail > .accordion-button::after { filter: none; }

.rdx-avail-list-wrap { padding-bottom: 1rem; }
.rdx-avail-list { display: flex; flex-direction: column; }
.rdx-avail-list__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .7rem 1.25rem;
    border-bottom: 1px solid rgba(255,255,255,.07);
    font-size: .9rem;
    color: #ccc;
}
.rdx-avail-list__row:last-child { border-bottom: none; }
.rdx-avail-list__day { font-weight: 600; color: #fff; }

.rdx-avail-graph { position: relative; }

.rdx-avail-row {
    display: flex;
    align-items: stretch;
    margin-bottom: .75rem;
}
.rdx-avail-row__label {
    width: 7rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding: 0 .75rem;
    height: 40px;
    font-size: .9rem;
    color: #fff;
    font-weight: 500;
    background: rgba(28,29,29,.5);
    border: 1px solid #5c5d5d;
    border-radius: 4px 0 0 4px;
    border-right: none;
}
.rdx-avail-row__track {
    flex: 1;
    min-width: 0;
    height: 40px;
    position: relative;
    background-color: rgba(28,29,29,.5);
    background-image: repeating-linear-gradient(
        to right,
        rgba(255,255,255,.1) 0, rgba(255,255,255,.1) 1px,
        transparent 1px, transparent calc(100% / 8)
    );
    border: 1px solid #5c5d5d;
    border-left: none;
    border-right: none;
    overflow: visible;
}
.rdx-avail-row__cap {
    width: 2rem;
    flex-shrink: 0;
    height: 40px;
    background: rgba(28,29,29,.5);
    border: 1px solid #5c5d5d;
    border-left: none;
    border-radius: 0 4px 4px 0;
}
.rdx-avail-row__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    background: #273f5b;
    border-radius: 4px;
    padding: 0 .5rem;
    box-sizing: border-box;
    overflow: hidden;
    min-width: 3rem;
    position: relative;
    z-index: 1;
}
.rdx-avail-row__bar-start,
.rdx-avail-row__bar-end {
    color: #b0d1ff;
    font-size: .72rem;
    white-space: nowrap;
}
.rdx-avail-row__na {
    display: flex;
    align-items: center;
    height: 100%;
    padding-left: .75rem;
    color: rgba(255,255,255,.35);
    font-size: .85rem;
}

.rdx-avail-scale {
    display: flex;
    align-items: flex-start;
    margin-top: .3rem;
}
.rdx-avail-scale__spacer {
    width: 7rem;
    flex-shrink: 0;
}
.rdx-avail-scale__ticks {
    flex: 1;
    display: flex;
    justify-content: space-between;
    font-size: .68rem;
    color: rgba(255,255,255,.4);
}
.rdx-avail-scale__cap { width: 2rem; flex-shrink: 0; }

.rdx-avail-note {
    padding: 1rem 1.5rem 2rem;
    font-size: 1rem;
}
.rdx-avail-note__label {
    display: block;
    color: #3b5f93;
    font-weight: 700;
    margin-bottom: 0.2rem;
}
.rdx-avail-note p {
    margin: 0;
    color: #fff;
}

#rdx-filter .ts-wrapper.rdx-ts-drawer { width: 100%; }
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-control {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 6px;
    color: #fff;
    font-size: .875rem;
    padding: .35rem .65rem;
    min-height: unset;
    cursor: text;
    flex-wrap: wrap;
    gap: .25rem;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-control .item {
    background: rgba(59,95,147,.55);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 4px;
    color: #fff;
    font-size: .8rem;
    padding: .1rem .5rem;
    display: flex;
    align-items: center;
    gap: .25rem;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-control .item .remove {
    color: rgba(255,255,255,.6);
    font-size: .85rem;
    line-height: 1;
    cursor: pointer;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-control .item .remove:hover { color: #fff; }
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-control.focus {
    border-color: var(--rdx-light-blue);
    box-shadow: 0 0 0 3px rgba(59,95,147,.25);
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-control input {
    color: rgba(255,255,255,.85); font-size: .875rem; caret-color: #fff; cursor: text;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-control .placeholder { color: rgba(255,255,255,.4); }
#rdx-filter .ts-wrapper.rdx-ts-drawer .clear-button { color: rgba(255,255,255,.45); font-size: 1rem; }
#rdx-filter .ts-wrapper.rdx-ts-drawer .clear-button:hover { color: #fff; }
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown {
    background: #1a1c20;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,.45);
    font-size: .875rem;
    z-index: 9999;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .optgroup-header {
    display: none;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .option {
    cursor: pointer;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .option.active,
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .option:hover { background: rgba(255,255,255,.07); color: #fff; }
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .option.selected { background: var(--rdx-primary); color: #fff; }
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .rdx-ts-location-option {
    padding: .55rem .9rem;
    color: rgba(255,255,255,.75);
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .rdx-ts-location-option--country {
    padding-left: .9rem;
    color: #fff;
    font-weight: 600;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .rdx-ts-location-option--region {
    padding-left: 1.8rem;
    color: rgba(255,255,255,.9);
    font-weight: 600;
}
#rdx-filter .ts-wrapper.rdx-ts-drawer .ts-dropdown .rdx-ts-location-option--city {
    padding-left: 2.7rem;
}

.rdx-search-banner {
    background: var(--rdx-secondary);
    padding: .75rem 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.rdx-search-banner__label {
    margin: 0;
    font-size: .8125rem;
    color: rgba(255,255,255,.65);
    letter-spacing: .03em;
}
.rdx-search-banner__label strong { color: #fff; font-weight: 600; }

.rdx-search-banner__inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .5rem;
}
.rdx-search-banner__prefix {
    font-size: .8125rem;
    color: rgba(255,255,255,.55);
    letter-spacing: .03em;
    white-space: nowrap;
}
.rdx-search-banner__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
}
.rdx-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .2rem .6rem;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    color: #fff;
    font-size: .8rem;
    text-decoration: none;
    line-height: 1.4;
    transition: background .15s, border-color .15s;
}
.rdx-filter-chip:hover {
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.35);
    color: #fff;
}
.rdx-filter-chip__x {
    font-size: .85em;
    color: rgba(255,255,255,.55);
    line-height: 1;
}
.rdx-filter-chip:hover .rdx-filter-chip__x {
    color: rgba(255,255,255,.9);
}

.rdx-search-banner__search {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-left: auto;
    flex: 0 1 320px;
    min-width: 220px;
    padding: .35rem .75rem;
    border-radius: 4px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
}
.rdx-search-banner__search-icon {
    font-size: .8rem;
    color: rgba(255,255,255,.5);
    flex-shrink: 0;
}
.rdx-search-banner__search-input {
    flex: 1 1 auto;
    min-width: 0;
    background: transparent;
    border: none;
    color: #fff;
    font-size: .8125rem;
    line-height: 1.4;
    outline: none;
}
.rdx-search-banner__search-input::placeholder {
    color: rgba(255,255,255,.45);
}
.rdx-search-banner__search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.7);
    font-size: .7rem;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.rdx-search-banner__search-clear:hover {
    background: rgba(255,255,255,.22);
    color: #fff;
}
.rdx-search-banner__search-clear[hidden] {
    display: none;
}

@media (max-width: 767.98px) {
    .rdx-search-banner__search {
        flex-basis: 100%;
        margin-left: 0;
    }
}

.rdx-pagination { margin: 3rem 0 1rem; display: flex; justify-content: center; }
.rdx-pagination .page-numbers { list-style: none; padding: 0; margin: 0; display: flex; gap: .375rem; flex-wrap: wrap; justify-content: center; }
.rdx-pagination .page-numbers li a,
.rdx-pagination .page-numbers li span {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 2rem; height: 2rem; padding: 0 .5rem;
    border-radius: 4px;
    font-size: .8125rem;
    color: rgba(255,255,255,.65);
    text-decoration: none;
    transition: background var(--rdx-transition-fast), color var(--rdx-transition-fast);
}
.rdx-pagination .page-numbers li a:hover { background: rgba(255,255,255,.1); color: #fff; }
.rdx-pagination .page-numbers li span.current { background: var(--rdx-primary); color: #fff; }
.rdx-pagination .page-numbers li span.dots { min-width: auto; }

/* ============================================================
   Pending field badges
   ============================================================ */

.rdx-field.has-pending input,
.rdx-field.has-pending textarea,
.rdx-field.has-pending select {
    background-color: #fffbeb;
    border-color: #f59e0b;
    cursor: not-allowed;
    opacity: 0.85;
}

/* ============================================================
   Search Gallery — source picker + crop modal
   ============================================================ */

.sg-gallery-status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
    margin-bottom: 1.25rem;
}

.sg-gallery-status__pill {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .2rem .7rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
}

.sg-gallery-status__count--ok   { background: #dcfce7; color: #166534; }
.sg-gallery-status__count--low  { background: #fef9c3; color: #713f12; }
.sg-gallery-status__count--full { background: #dcfce7; color: #166534; }

.sg-gallery-status__req--optional { background: #f3f4f6; color: #6b7280; }
.sg-gallery-status__req--met      { background: #dcfce7; color: #166534; }
.sg-gallery-status__req--unmet    { background: #fef3c7; color: #92400e; }

.sg-source-manage-pill {
    display: inline-flex;
    align-items: center;
    padding: .2rem .75rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.5;
    background: #3b5f93;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}
.sg-source-manage-pill:hover { background: #4672ae; color: #fff; }

.sg-source-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--rdx-tertiary);
    margin-bottom: .75rem;
}
.sg-source-header .dashboard-panel__title {
    border-bottom: none;
    margin-bottom: 0;
}

.sg-source-title {
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--rdx-text-muted, #6c757d);
    margin: 1.5rem 0 .75rem;
}

.sg-source-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: .75rem;
}

.sg-source-item {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    background: #f3f4f6;
}
.sg-source-item img {
    display: block;
    width: 100%;
    aspect-ratio: 35/41;
    object-fit: cover;
}

.sg-source-crop-btn {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background .18s;
}
.sg-source-item:hover .sg-source-crop-btn { background: rgba(25, 43, 69, .18); }

.sg-source-item--pending { opacity: .75; }
.sg-source-item--pending img { filter: brightness(.85); }

.sg-source-grid--locked {
    position: relative;
    pointer-events: none;
    user-select: none;
}
.sg-source-grid--locked::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,.55);
    z-index: 2;
    cursor: not-allowed;
    pointer-events: all;
}

.sg-source-item--used { opacity: .7; }

.sg-source-badges {
    position: absolute;
    bottom: 5px;
    left: 5px;
    display: flex;
    align-items: center;
    gap: 4px;
    z-index: 2;
}

.sg-source-selected-badge {
    color: #22c55e;
    font-size: 1.25rem;
    line-height: 1;
    pointer-events: none;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.6));
}

.sg-source-pending-badge {
    position: absolute;
    top: 5px;
    left: 5px;
    background: var(--rdx-light-blue);
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 2px 5px;
    border-radius: 3px;
    pointer-events: none;
    z-index: 2;
}

.sg-source-cross-gallery-badge {
    pointer-events: none;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.6));
}
.sg-source-cross-gallery-badge img {
    display: block;
    width: 20px;
    height: 20px;
}

.sg-crop-modal {
    position: fixed;
    inset: 0;
    z-index: 9900;
    background: rgba(0, 0, 0, .85);
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.sg-crop-modal[hidden] { display: none; }

.sg-crop-modal__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 900px;
    margin: 1rem;
    background: #1a1a1a;
    border-radius: 8px;
    overflow: hidden;
}

.sg-crop-modal__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem 1rem;
    background: #111;
    flex-shrink: 0;
}
.sg-crop-modal__title {
    color: #fff;
    font-size: .875rem;
    font-weight: 600;
}
.sg-crop-modal__actions { display: flex; gap: .5rem; }

.sg-crop-modal__canvas {
    flex: 1;
    overflow: hidden;
    min-height: 0;
    position: relative;
}
.sg-crop-modal__canvas img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 120px);
}
cropper-canvas {
    display: block;
    position: absolute;
    inset: 0;
}

body.rdx-dialog-open { overflow: hidden; }
.sg-delete-dialog {
    position: fixed;
    inset: 0;
    z-index: 9950;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.55);
    padding: 1rem;
}
.sg-delete-dialog[hidden] { display: none; }
.sg-delete-dialog__inner {
    background: #fff;
    border-radius: 10px;
    padding: 1.5rem;
    max-width: 360px;
    width: 100%;
    box-shadow: 0 8px 32px rgba(0,0,0,.22);
}
.sg-delete-dialog__message {
    font-size: .95rem;
    color: #1c1c1d;
    margin: 0 0 .5rem;
    line-height: 1.5;
}
.sg-delete-dialog__note {
    font-size: .8rem;
    color: #6b7280;
    margin: 0 0 1.25rem;
}
.sg-delete-dialog__actions {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}

.rdx-pending-badge {
    /* A direct grid child of .rdx-form-row now (sibling to the label/input
       columns, not nested inside the input's own column) — span both
       columns so the notice reads full width without stretching the input
       itself to 100%. */
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    padding: 3px 10px;
    background: var(--rdx-light-blue);
    border: 1px solid var(--rdx-light-blue);
    border-radius: 4px;
    font-size: 0.75rem;
    color: #fff;
    font-weight: 500;
}

.rdx-cancel-pending {
    all: unset;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 5px 14px;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #fff;
    transition: background-color 150ms ease, border-color 150ms ease;
}
.rdx-cancel-pending:hover { background: rgba(255,255,255,.15); border-color: #fff; }
.rdx-cancel-pending:disabled { opacity: 0.4; cursor: not-allowed; }

.rdx-pending-badge--flagged {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    margin-top: 8px;
    padding: 14px 18px;
    background: #E8963C;
    border: 1px solid #E8963C;
    border-radius: 6px;
    color: #fff;
    font-weight: 400;
}
.rdx-pending-badge--flagged .rdx-pending-badge__icon {
    flex: 0 0 auto;
    margin-top: 2px;
    font-size: 1.1rem;
    line-height: 1.5;
}
.rdx-pending-badge--flagged .rdx-pending-badge__body { flex: 1 1 auto; min-width: 0; }
.rdx-pending-badge--flagged .rdx-pending-badge__message {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
}
.rdx-pending-badge--flagged .rdx-pending-badge__words {
    margin: 6px 0 0;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.4;
    word-break: break-word;
}
.rdx-pending-badge--flagged .rdx-cancel-pending { flex: 0 0 auto; }

.dashboard-sidebar__badge {
    margin-left: auto;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: #f59e0b;
    color: #fff;
    border-radius: 10px;
    font-size: 0.7rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.dashboard-sidebar__required-flag {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    padding: 0;
    background: #dc2626;
    color: #fff;
    border-radius: 3px;
    font-size: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
}

/* ============================================================
   Photo section tabs
   ============================================================ */

.contact-image-preview { max-width: 160px; }

.sg-intro { color: #555; font-size: .9rem; }

.sg-result-actions {
    display: flex;
    flex-shrink: 0;
    background: #f0f4f9;
    border-top: 1px solid #e0e4ea;
}
.sg-recrop-btn,
.sg-delete-btn {
    flex: 1;
    padding: 7px 4px;
    border: none;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: background-color 0.15s;
}
.sg-recrop-btn { color: #192B45; border-right: 1px solid #e0e4ea; }
.sg-recrop-btn:hover:not(:disabled) { background: #dde3ec; }
.sg-recrop-btn:disabled { opacity: 0.4; cursor: default; }
.sg-delete-btn { color: #dc2626; }
.sg-delete-btn:hover { background: #fef2f2; }
.contact-image-placeholder { height: 160px; }

.photos-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid #e8ecf1;
    margin-bottom: 24px;
}

.photos-tab-btn {
    all: unset;
    padding: 8px 18px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #6b7a8d;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}
.photos-tab-btn.is-active,
.photos-tab-btn:hover { color: #192B45; border-bottom-color: #192B45; }

.photos-tab-panel { display: none; }
.photos-tab-panel.is-active { display: block; }

.gallery-item--pending {
    position: relative;
    opacity: 0.7;
}
.gallery-item--pending::after {
    content: 'Pending Approval';
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rdx-light-blue);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}
#main-gallery-grid,
.rdx-sub-gallery-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
#main-gallery-grid .gallery-item { aspect-ratio: unset; display: flex; flex-direction: column; }
#main-gallery-grid .gallery-item--uploading,
#main-gallery-grid .gallery-item--error { aspect-ratio: 1; }
#main-gallery-grid .gallery-item--pending::after { top: 6px; bottom: auto; left: 6px; transform: none; }
#main-gallery-grid .gallery-item img { width: 100%; aspect-ratio: 1; object-fit: cover; flex-shrink: 0; height: auto; }
.rdx-sub-gallery-grid .gallery-item { aspect-ratio: unset; display: flex; flex-direction: column; }
.rdx-sub-gallery-grid .gallery-item--uploading,
.rdx-sub-gallery-grid .gallery-item--error { aspect-ratio: 1; }
.rdx-sub-gallery-grid .gallery-item--pending::after { top: 6px; bottom: auto; left: 6px; transform: none; }
.rdx-sub-gallery-grid .gallery-item img { width: 100%; height: auto; flex: 1 1 auto; }

.gallery-item {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 1;
    background: #f0f4f9;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-item__remove {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 22px;
    height: 22px;
    background: rgba(0,0,0,0.55);
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 0.75rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.15s;
}
.gallery-item:hover .gallery-item__remove { opacity: 1; }
@media (hover: none) {
    .gallery-item__remove { opacity: 1; width: 28px; height: 28px; font-size: 0.85rem; }
}

.gallery-dropzone {
    border: 2px dashed #c5cfd9;
    border-radius: 10px;
    padding: 28px 20px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    user-select: none;
    margin-top: 16px;
    -webkit-tap-highlight-color: transparent;
}
.gallery-dropzone:hover { border-color: #192B45; background: #f4f7fb; }
.gallery-dropzone.is-dragover {
    border-color: #192B45;
    border-style: solid;
    background: #ebf0f7;
}
.gallery-dropzone__icon {
    display: block;
    font-size: 1.75rem;
    color: #8c9aaa;
    margin-bottom: 10px;
    transition: color 0.2s, transform 0.2s;
    pointer-events: none;
}
.gallery-dropzone:hover .gallery-dropzone__icon,
.gallery-dropzone.is-dragover .gallery-dropzone__icon {
    color: #192B45;
    transform: translateY(-4px);
}
.gallery-dropzone__label {
    font-size: 0.92rem;
    font-weight: 600;
    color: #2c3e50;
    margin: 0 0 4px;
    pointer-events: none;
}
.gallery-dropzone__browse { color: #192B45; text-decoration: underline; }
.gallery-dropzone__hint {
    font-size: 0.78rem;
    color: #8c9aaa;
    margin: 0;
    pointer-events: none;
}

@keyframes rdx-shimmer {
    0%   { background-position: -200% 0; }
    100% { background-position:  200% 0; }
}
.gallery-item--uploading {
    background: linear-gradient( 90deg, #eef1f6 25%, #dde4ee 50%, #eef1f6 75% );
    background-size: 200% 100%;
    animation: rdx-shimmer 1.4s infinite linear;
}
.gallery-item__progress {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gallery-item__spinner {
    width: 26px;
    height: 26px;
    border: 3px solid rgba(25,43,69,0.15);
    border-top-color: #192B45;
    border-radius: 50%;
    animation: rdx-spin 0.7s linear infinite;
}
.gallery-item__progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: #192B45;
    transition: width 0.15s ease;
    pointer-events: none;
}

.gallery-item--error { background: #fef2f2; border: 1px solid #fecaca; }
.gallery-item__error-body {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 8px;
    text-align: center;
}
.gallery-item__error-body i { color: #ef4444; font-size: 1.1rem; }
.gallery-item__error-body span { font-size: 0.6rem; color: #dc2626; line-height: 1.3; }
.gallery-item__retry-btn {
    all: unset;
    font-size: 0.65rem;
    font-weight: 700;
    color: #192B45;
    text-decoration: underline;
    cursor: pointer;
    margin-top: 2px;
}

.gallery-item--duplicate { pointer-events: none; transition: opacity 0.4s, transform 0.4s; }
.gallery-item--duplicate img { filter: grayscale(60%) brightness(0.7); }
.gallery-item__duplicate-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-align: center;
    padding: 6px;
}
.gallery-item__duplicate-overlay .fa-ban { font-size: 1.4rem; opacity: 0.9; }
.gallery-item--dismissing { opacity: 0; transform: scale(0.85); }

.gallery-item__checking-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    padding: 5px 8px;
    display: flex;
    align-items: center;
    gap: 5px;
    pointer-events: none;
}

.gallery-item__similar-chip {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(180, 83, 9, 0.92);
    color: #fff;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    padding: 3px 7px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 4px;
    pointer-events: none;
}

.gallery-item[draggable="true"] { cursor: grab; }
.gallery-item[draggable="true"]:active { cursor: grabbing; }
.gallery-item.is-dragging { opacity: 0.3; outline: 2px dashed #192B45; outline-offset: 2px; }

/* ============================================================
   Tour list
   ============================================================ */

.rdx-section-spinner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.rdx-section-spinner--fixed {
    position: fixed;
    z-index: 9999;
}

[data-vc-dates=row] {
    position: relative;
}
[data-vc-date-month="next"],
[data-vc-date-month="prev"] {
    opacity: 0;
    pointer-events: none;
}

.vc-range-banner {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 14px;
    line-height: 14px;
    background: var(--rdx-primary);
    color: #fff;
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 3px;
    padding: 0 3px;
    pointer-events: none;
    z-index: 10;
    box-sizing: border-box;
}

.rdx-vc-apply-row {
    display: flex;
    justify-content: flex-end;
    padding: 0 0 0.25rem;
}
.rdx-vc-apply-btn {
    height: auto !important;
    padding: 0.3rem 0.75rem !important;
    font-size: 0.8rem !important;
}

[data-vc=calendar][data-vc-input] {
    padding: 8px !important;
}

[data-vc=calendar][data-vc-input] {
    z-index: 1050;
    font-family: inherit;
}

[data-vc-theme=light].vc {
    box-shadow: 0 9px 28px rgba(0, 0, 0, .2);
    overflow: hidden;
}

[data-vc-theme=light] [data-vc=header] {
    background: #3b5f93;
    border-radius: 0.375rem;
    padding: 0.125rem 0.5rem;
}

[data-vc-theme=light] .vc-header__content,
[data-vc-theme=light] .vc-month,
[data-vc-theme=light] .vc-year {
    color: #fff;
}

@media (hover: hover) and (pointer: fine) {
    [data-vc-theme=light] .vc-month:hover,
    [data-vc-theme=light] .vc-year:hover {
        color: rgba(255, 255, 255, .75);
    }
}

[data-vc-theme=light] .vc-arrow:before {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zIi8+PC9zdmc+");
    content: var(--tw-content);
}

[data-vc-theme=light] .vc-date[data-vc-date-today] .vc-date__btn {
    color: #3b5f93;
}

[data-vc-theme=light] .vc-months__month[data-vc-months-month-selected],
[data-vc-theme=light] .vc-years__year[data-vc-years-year-selected] {
    background-color: #3b5f93;
    color: #fff;
}

@media (hover: hover) and (pointer: fine) {
    [data-vc-theme=light] .vc-months__month[data-vc-months-month-selected]:hover,
    [data-vc-theme=light] .vc-years__year[data-vc-years-year-selected]:hover {
        background-color: #3b5f93;
        color: #fff;
    }
}

/* =============================================================================
   Experience Editor — section-rates.php dashboard panel
   ============================================================================= */

#rdx-exp-list .dashboard-panel__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.rdx-exp-card,
.tour-item {
    background: #3b5f93;
    border: 1px solid #3b5f93;
    border-radius: var(--rdx-radius);
    margin-bottom: 0.5rem;
    overflow: hidden;
}

.rdx-exp-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
}

.tour-item__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    cursor: default;
}

.tour-item.is-editable .tour-item__header {
    cursor: pointer;
}

.tour-item__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.tour-item__header-right {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.rdx-exp-card__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.rdx-exp-card__name,
.tour-item__city {
    font-weight: 700;
    font-size: 1rem;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rdx-exp-card__meta,
.tour-item__dates {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.7);
    margin-top: 2px;
}

.rdx-exp-card__services {
    font-size: 0.68rem;
    color: rgba(255,255,255,0.45);
    margin-top: 1px;
}

.rdx-exp-card__actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.tour-chevron {
    border-bottom: 2px solid rgba(255,255,255,0.8);
    border-right: 2px solid rgba(255,255,255,0.8);
    display: inline-block;
    height: 7px;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    width: 7px;
    flex-shrink: 0;
}

.tour-item.is-open .tour-chevron { transform: rotate(-135deg); }

.tour-item__body {
    display: none;
    padding: 0.75rem 1rem;
    border-top: 1px solid rgba(255,255,255,0.15);
    background: #fff;
}

.tour-item.is-open .tour-item__body { display: block; }

.tour-item__edit-actions {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
    justify-content: space-between;
}

.tour-item__edit-actions-right {
    display: flex;
    gap: 0.5rem;
}

.tours-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.tours-list-header .dashboard-panel__title {
    margin-bottom: 0;
}

.tour-filter {
    display: flex;
    flex-shrink: 0;
    border: 1px solid #c5cfe0;
    border-radius: 4px;
    overflow: hidden;
}

.tour-filter__btn {
    background: transparent;
    border: none;
    border-left: 1px solid #c5cfe0;
    color: #5a6a80;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.3rem 0.75rem;
}

.tour-filter__btn:first-child { border-left: none; }
.tour-filter__btn.is-active { background: #3b5f93; color: #fff; }
.tour-filter__btn:not(.is-active):hover { background: #dce5f5; color: #3b5f93; }

.tour-item[hidden] { display: none; }

.tour-list-empty {
    font-size: 0.875rem;
    color: #5a6a80;
    padding: 0.5rem 0;
}

.rdx-exp-card__edit {
    color: #fff;
    border-color: rgba(255,255,255,0.5);
    background: transparent;
}

.rdx-exp-card__edit:hover {
    background: rgba(255,255,255,0.15);
    border-color: #fff;
    color: #fff;
}

.tour-item__header .rdx-delete-tour {
    color: rgba(255,255,255,0.7);
    border-color: transparent;
    background: transparent;
}

.tour-item__header .rdx-delete-tour:hover {
    color: #fff;
    background: rgba(220,53,69,0.5);
    border-color: transparent;
}

dialog#tour-edit-dialog {
    border: none;
    border-radius: 4px;
    padding: 0;
    width: calc(100% - 2rem);
    max-height: 90dvh;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

dialog#tour-edit-dialog { max-width: 440px; overflow: visible; }

.dashboard-content__back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
    color: var(--rdx-primary);
    opacity: 0.6;
    text-decoration: none;
    margin-bottom: 1.25rem;
}

.dashboard-content__back:hover { opacity: 1; color: var(--rdx-primary); }

.dashboard-content__back-icon {
    width: 14px;
    height: auto;
    display: block;
}

.rdx-exp-list__label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--rdx-primary);
    opacity: 0.5;
    margin: 1rem 0 0.5rem;
}

@keyframes rdx-collapse-in {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.rdx-add-tour-row .form-label { margin: 0; font-weight: 500; font-size: 0.925rem; color: var(--rdx-primary); padding-top: 0.5rem; }
.rdx-add-tour-row > div:last-child { display: flex; align-items: center; justify-content: flex-end; }

.rdx-tour-dates-hint {
    display: block;
    font-size: 0.8rem;
    color: rgba(28,28,29,.6);
    margin: -0.15rem 0 0.4rem;
}

.rdx-date-range-field { position: relative; }
.rdx-date-range-field__icon {
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(28,28,29,.55);
    pointer-events: none;
    font-size: 0.95rem;
}
.rdx-date-range-btn {
    margin: 0;
    width: 100%;
    height: 47px;
    padding: .75rem .75rem .75rem 2.6rem;
    background-color: #fff;
    border: .5px solid rgba(92, 93, 93, .2);
    border-radius: 4px;
    box-shadow: inset 0 4px 4px #0000001a;
    color: var(--rdx-primary);
    font-size: 16px;
    font-weight: 400;
    font-family: var(--rdx-font-base);
    cursor: pointer;
    text-align: left;
}
.rdx-date-range-btn::placeholder { color: rgba(28,28,29,.4); opacity: 1; }
.rdx-date-range-btn:focus {
    outline: none;
    border-color: var(--rdx-light-blue);
    box-shadow: inset 0 4px 4px #0000001a, 0 0 0 3px rgba(59,95,147,.2);
}

.rdx-add-tour-collapse {
    border: 1px solid var(--rdx-tertiary);
    border-radius: 4px;
    padding: 1rem;
    margin-bottom: 1.5rem;
}

.rdx-add-tour-collapse .dashboard-save-bar {
    position: static;
    margin: 1rem 0 0;
    padding: 0;
    background: none;
    border-top: none;
    box-shadow: none;
}

.rdx-add-tour-collapse.is-opening {
    animation: rdx-collapse-in 0.18s ease-out both;
}

.rdx-edit-cal-wrap {
    position: relative;
}
#edit-tour-cal {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    z-index: 200;
    width: max-content;
}

dialog#tour-edit-dialog .rdx-dialog__body {
    overflow: visible;
    position: relative;
    z-index: 1;
}

dialog#tour-edit-dialog::backdrop {
    background: rgba(25, 43, 69, 0.6);
    backdrop-filter: blur(2px);
}

.rdx-rates-table {
    margin-top: 0.75rem;
    margin-bottom: 1rem;
}

.rdx-rates-head {
    display: grid;
    grid-template-columns: 1.5rem 1fr 1fr 1fr 2rem;
    gap: 0.5rem;
    padding: 0.5rem 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: #5c5d5d;
    border-bottom: 1px solid rgba(92, 93, 93, 0.2);
}

.rdx-rate-row {
    display: grid;
    grid-template-columns: 1.5rem 1fr 1fr 1fr 2rem;
    gap: 0.5rem;
    padding: 0.5rem 0;
    align-items: center;
    border-bottom: 0.5px solid rgba(92, 93, 93, 0.2);
}

.rdx-rate-handle {
    color: #9ca3af;
    cursor: grab;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
}
.rdx-rate-handle:active { cursor: grabbing; }

.rdx-rate-row:first-child:last-child .rdx-rate-remove {
    visibility: hidden;
    pointer-events: none;
}

.rdx-rate-remove {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    color: #d84a49;
    font-size: 1.1rem;
    line-height: 1;
}

.rdx-rate-row .ts-wrapper {
    align-self: center;
}

.rdx-rate-row .ts-wrapper .item {
    background-color: transparent;
    color: inherit;
    padding: 0;
    border-radius: 0;
    font-size: inherit;
}

.rdx-rate-duration-dropdown .option {
    font-size: 1rem;
}

.rdx-exp-select-dropdown .option {
    font-size: 1rem;
}

.rdx-exp-select .item {
    background-color: transparent;
    color: inherit;
    padding: 0;
    border-radius: 0;
    font-size: inherit;
}

.ts-dropdown .option.disabled {
    opacity: 0.4;
    cursor: default;
    pointer-events: none;
}

.rdx-rate-custom-fields {
    grid-column: 2 / -2;
    display: flex;
    flex-direction: column;
}
.rdx-rate-custom-field__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}
.rdx-rate-char-counter {
    font-size: 0.7rem;
    color: rgba(28, 28, 29, 0.45);
    white-space: nowrap;
}
.rdx-rate-char-counter.warning { color: var(--rdx-warning); }
.rdx-rate-char-counter.over    { color: var(--rdx-danger); font-weight: 600; }

/* Keep the custom-note row at the normal label-left/input-right proportions —
   it's a textarea only so it can grow in height as you type, not so it should
   get the full-width treatment .rdx-form-row:has(textarea) gives real
   multi-line editors like About Me. */
@media (min-width: 768px) {
    .rdx-form-row.rdx-rate-custom-field--note {
        grid-template-columns: 50% 1fr;
    }
}
#rdx-add-rate {
    display: block;
    width: fit-content;
    margin-left: auto;
}

.rdx-rate-custom-fields textarea.rdx-rate-custom-note {
    height: 47px;
    min-height: 47px;
    line-height: 1.4;
    resize: none;
    overflow: hidden;
    white-space: pre-wrap;
    word-break: break-word;
}

.rdx-rate-cell { display: contents; }
.rdx-rate-cell__label { display: none; }

.rdx-rate-field {
    position: relative;
    min-width: 0;
}
.rdx-rate-field-error {
    position: absolute;
    top: 100%;
    left: 0;
    margin: 0.2rem 0 0;
    font-size: 0.72rem;
    line-height: 1.2;
    color: var(--rdx-danger);
    white-space: nowrap;
}
.rdx-rate-incall.is-invalid,
.rdx-rate-outcall.is-invalid {
    border-color: var(--rdx-danger);
}
.rdx-rate-row .ts-wrapper.is-invalid .ts-control {
    border-color: var(--rdx-danger);
}

@media (max-width: 575.98px) {

    .rdx-rates-head {
        grid-template-columns: 1.5rem 1fr 2rem;
    }
    .rdx-rates-head span:nth-child(1) { grid-column: 1; }
    .rdx-rates-head span:nth-child(2) { grid-column: 2; }
    .rdx-rates-head span:nth-child(3) { display: none; }
    .rdx-rates-head span:nth-child(4) { display: none; }
    .rdx-rates-head span:nth-child(5) { grid-column: 3; }

    .rdx-rate-row {
        grid-template-columns: 1.5rem 1fr 1fr 2rem;
    }
    .rdx-rate-row .rdx-rate-handle        { grid-column: 1; grid-row: 1 / 3; align-self: center; }
    .rdx-rate-row .ts-wrapper             { grid-column: 2 / 4; grid-row: 1; }
    .rdx-rate-row .rdx-rate-remove        { grid-column: 4; grid-row: 1 / 3; align-self: center; }
    .rdx-rate-row .rdx-rate-cell--in      { grid-column: 2; grid-row: 2; }
    .rdx-rate-row .rdx-rate-cell--out     { grid-column: 3; grid-row: 2; }
    .rdx-rate-row .rdx-rate-custom-fields { grid-column: 2 / -2; grid-row: 3; flex-direction: column; }

    .rdx-rate-cell {
        display: flex;
        flex-direction: column;
    }
    .rdx-rate-cell__label {
        display: block;
        font-size: 0.7rem;
        font-weight: 600;
        color: #5c5d5d;
        margin-bottom: 0.15rem;
    }
    .rdx-rate-cell .form-control {
        flex: 1;
    }
}

.rdx-legal-note {
    font-size: 0.825rem;
    color: #6b7a8d;
    margin-bottom: 1rem;
}
.rdx-legal-note .rdx-drag-icon {
    margin: 0 0.3em;
    vertical-align: text-bottom;
}

/* Shared drag-handle icon (assets/images/drag-up-down.svg) — used everywhere
   a list can be manually reordered: Announcements, Experiences, Rates, Wishlist. */
.rdx-drag-icon {
    width: 16px;
    height: 16px;
    min-width: 16px;
    flex-shrink: 0;
    display: inline-block;
    opacity: 0.45;
}

.rdx-service-cats-grid {
    columns: 3;
    column-gap: 1.15rem;
}

@media (max-width: 767.98px) {
    .rdx-service-cats-grid { columns: 2; }
}

@media (max-width: 479.98px) {
    .rdx-service-cats-grid { columns: 1; }
}

.rdx-service-cat {
    break-inside: avoid;
    margin-bottom: 1.15rem;
    background: #f6f6f6;
    border-radius: 8px;
    padding: 1rem 1.15rem;
}

.rdx-service-cat__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.65rem;
}

.rdx-service-cat__title {
    font-size: 0.8rem;
    font-weight: 700;
    color: #5c5d5d;
    margin-bottom: 0;
}

.rdx-service-cat__select-all {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.72rem;
    font-weight: 500;
    color: #5c5d5d;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.rdx-service-cat__select-all input {
    margin: 0;
    cursor: pointer;
}

.rdx-service-cat__items {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.rdx-service-item {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    padding: 0.3rem 0.85rem;
    font-size: 0.8rem;
    color: #5c5d5d;
    user-select: none;
    background: #fff;
    border: 1px solid var(--rdx-tertiary);
    border-radius: 100px;
    transition: border-color 0.12s, color 0.12s, background 0.12s;
}

.rdx-service-item:hover {
    border-color: #3b5f93;
    color: #3b5f93;
}

.rdx-service-item:has(.rdx-service-cb:checked) {
    background: #3b5f93;
    color: #fff;
    border-color: #3b5f93;
}

.rdx-service-item__name {}

.rdx-service-cb {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}

/* ============================================================
   Vetting Panel
   ============================================================ */

.vetting-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.6rem;
    height: 1.6rem;
    padding: 0 .45rem;
    border-radius: 999px;
    background: #e74c3c;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    vertical-align: middle;
    margin-left: 0.5rem;
}

.vetting-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    color: #8c9aaa;
    text-align: center;
}
.vetting-empty i { opacity: 0.4; }
.vetting-empty p  { margin: 0; font-size: 1rem; }

.vetting-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.vetting-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #eef2f7;
    flex-wrap: wrap;
}

.vetting-card__info { flex: 1; min-width: 0; }

.vetting-card__name {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: 1rem;
    font-weight: 700;
    color: #192B45;
    margin: 0 0 .25rem;
}
.vetting-card__name a { color: inherit; text-decoration: none; }
.vetting-card__name a:hover { text-decoration: underline; }

.vetting-card__meta {
    font-size: 0.8rem;
    color: #8c9aaa;
}
.vetting-card__meta a { color: #3b5f93; }

.vetting-card__block-notice {
    font-size: 0.8rem;
    color: #a15c00;
    margin: .4rem 0 0;
}

.vetting-card__block-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .35rem;
}

.vetting-card__actions {
    display: flex;
    gap: .5rem;
    flex-shrink: 0;
    flex-wrap: wrap;
}

.vetting-card__body {
    padding: .75rem 1.25rem 1rem;
}

.vetting-card__footer {
    display: flex;
    justify-content: flex-end;
    margin-top: .5rem;
    padding-top: .75rem;
    border-top: 1px solid #eef2f7;
}

.vetting-reject-form {
    padding: .75rem 1.25rem;
    background: #fff8f7;
    border-top: 1px solid #fee2e2;
}
.vetting-reject-form textarea { font-size: 0.875rem; }

.vetting-reject-form--inline {
    grid-column: 1 / -1;
    border-top: none;
    border-radius: 4px;
    margin-top: .5rem;
    padding: .6rem .75rem;
    background: #fff8f7;
    border: 1px solid #fecaca;
}

.vetting-field-row {
    display: grid;
    grid-template-columns: 160px 1fr 1fr 80px;
    gap: .5rem;
    align-items: start;
    padding: .6rem .5rem;
    border-bottom: 1px solid #f5f7fa;
    font-size: 0.875rem;
}
.vetting-field-row:last-child { border-bottom: none; }

/* Image changes (gallery adds, profile/contact photo swaps) have no
   "current" value worth showing — just label, submitted photo, actions. */
.vetting-field-row--image {
    grid-template-columns: 160px 1fr 80px;
}

.vetting-field-row__label {
    font-weight: 600;
    color: #5c6475;
    font-size: 0.8rem;
    padding-top: .1rem;
}

.vetting-field-row__caption {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #8c9aaa;
    margin-bottom: .2rem;
}

.vetting-field-row__old { color: #8c9aaa; }

.vetting-field-row__value { color: #1e293b; }

.vetting-field-row__new { color: #192B45; font-weight: 500; }

.vetting-field-row__media .vetting-thumb {
    width: 320px;
    height: 320px;
}

.vetting-field-row__actions {
    display: flex;
    gap: .35rem;
    align-items: flex-start;
    justify-content: flex-end;
}

.vetting-btn-icon {
    width: 2rem;
    height: 2rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.vetting-thumb {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
}

.vetting-thumb-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.vetting-text-value {
    max-height: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #374151;
    line-height: 1.4;
    font-size: 0.875rem;
}

.vetting-url-value {
    font-size: 0.8rem;
    color: #3b5f93;
    word-break: break-all;
}

.vetting-verification-images {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.vetting-verification-image { display: flex; flex-direction: column; }

.vetting-verification-img {
    max-width: 260px;
    max-height: 220px;
    object-fit: contain;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.vetting-review-text {
    margin: 0;
    padding: .5rem .75rem;
    border-left: 3px solid #e2e8f0;
    color: #374151;
    font-size: 0.9rem;
    line-height: 1.6;
    font-style: italic;
}

@media (max-width: 767px) {
    .vetting-field-row {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
    .vetting-field-row__label {
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: .04em;
    }
    .vetting-field-row__media .vetting-thumb {
        width: 100px;
        height: 100px;
    }
    .vetting-field-row__actions { justify-content: flex-start; }
    .vetting-reject-form--inline { margin-top: 0; }
    .vetting-card__header { flex-direction: column; }
}

.rdx-exp-card__handle {
    display: flex;
    align-items: center;
    padding: 0 8px 0 0;
    color: #bbb;
    cursor: grab;
    touch-action: none;
    flex-shrink: 0;
    transition: opacity 0.2s, color 0.2s;
}
.rdx-exp-card__handle:active {
    cursor: grabbing;
}
.rdx-exp-card.sortable-ghost {
    opacity: 0.4;
}
.rdx-exp-card.sortable-chosen {
    background: #2e4f7a;
}
.rdx-exp-card__handle .rdx-drag-icon {
    filter: brightness(0) invert(1);
}

.rdx-hidden { display: none !important; }

.rdx-verif-panel,
#rdx-verif-form {
    color: var(--rdx-primary);
}

.rdx-verif-intro {
    margin-bottom: 1.5rem;
}
.rdx-verif-intro p {
    color: var(--rdx-primary);
    margin-bottom: .5rem;
}
.rdx-verif-intro__sub {
    font-size:  1rem;
    opacity:    .75;
}
.rdx-verif-intro__help {
    font-size:   .85rem;
    opacity:     .7;
    margin-top:  1rem;
    margin-bottom: 0;
}
.rdx-verif-intro__help a {
    color: var(--rdx-primary);
}

.rdx-verif-steps {
    display:        flex;
    flex-direction: column;
    gap:            .75rem;
    margin:         1rem 0;
}
.rdx-verif-step {
    display:       flex;
    gap:           1rem;
    background:    #f7f7f7;
    border-radius: 8px;
    padding:       1rem 1.25rem;
}
.rdx-verif-step__number {
    flex-shrink:     0;
    width:           32px;
    height:          32px;
    border-radius:   50%;
    background:      var(--rdx-primary);
    color:           #fff;
    font-weight:     700;
    font-size:       .95rem;
    display:         flex;
    align-items:     center;
    justify-content: center;
}
.rdx-verif-step__body {
    flex: 1;
    color: var(--rdx-primary);
}
.rdx-verif-step__body p {
    color: var(--rdx-primary);
    margin-bottom: .35rem;
}
.rdx-verif-step__title {
    font-size:   1rem;
    font-weight: 700;
    margin-bottom: .4rem;
    color: var(--rdx-primary);
}
.rdx-verif-step__cols {
    display:     flex;
    flex-wrap:   wrap;
    gap:         1rem;
    align-items: flex-start;
}
.rdx-verif-step__col-main {
    flex: 1 1 auto;
}
.rdx-verif-step__list {
    margin:  0;
    padding-left: 1.25rem;
}
.rdx-verif-step__list li {
    color:       var(--rdx-primary);
    font-size:   .9rem;
    line-height: 1.6;
}
.rdx-verif-step__example {
    display:        flex;
    flex-direction: column;
    align-items:    flex-start;
    align-self:     flex-start;
    gap:            .25rem;
    flex-shrink:    0;
}
.rdx-verif-step__example-label {
    font-size:  .8rem;
    color:      var(--rdx-primary);
    opacity:    .65;
}
.rdx-verif-step__example img {
    max-width:     120px;
    border-radius: 4px;
    border:        1px solid var(--rdx-tertiary);
}
.rdx-verif-step__options {
    list-style: none;
    padding:    0;
    margin:     0;
    display:    flex;
    flex-direction: column;
    gap: .5rem;
}
.rdx-verif-step__options li {
    display:       flex;
    flex-direction: column;
    gap:           .1rem;
}
.rdx-verif-step__options li strong {
    font-size:   .9rem;
    color:       var(--rdx-primary);
}
.rdx-verif-step__options li span {
    font-size:   .85rem;
    color:       var(--rdx-primary);
    opacity:     .75;
}

.rdx-verif-muted {
    color:    var(--rdx-primary);
    opacity:  .65;
    font-size: .875rem;
}

.rdx-verif-row {
    display:               grid;
    grid-template-columns: 50% 1fr;
    align-items:           start;
    padding:               10px 0;
    border-bottom:         1px solid var(--rdx-tertiary);
    gap:                   1rem;
    color:                 var(--rdx-primary);
}
.rdx-verif-row__label {
    font-size:       16px;
    font-weight:     500;
    color:           var(--rdx-primary);
    padding-top:     6px;
}
.rdx-verif-row__labelcol {
    display:         flex;
    flex-direction:  column;
    gap:             0.4rem;
}

.rdx-image-slot {
    position:      relative;
    width:         160px;
    height:        160px;
    border:        1px solid var(--rdx-tertiary);
    border-radius: 8px;
    overflow:      hidden;
    flex-shrink:   0;
    justify-self:  end;
}
.rdx-image-slot__add {
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           100%;
    height:          100%;
    cursor:          pointer;
    color:           #999;
}
.rdx-image-slot__preview {
    position: absolute;
    inset:    0;
}
.rdx-image-slot__preview img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    display:    block;
}
.rdx-image-slot__swap {
    position:      absolute;
    bottom:        0;
    left:          0;
    right:         0;
    background:    rgba(0,0,0,.55);
    color:         #fff;
    text-align:    center;
    padding:       6px 0;
    cursor:        pointer;
    font-size:     .8rem;
    border-radius: 0 0 7px 7px;
}

.rdx-verif-options {
    display:       flex;
    border:        1px solid var(--rdx-tertiary);
    border-radius: 4px;
    overflow:      hidden;
}
.rdx-verif-option {
    flex:            1 0 80px;
    display:         flex;
    align-items:     center;
    justify-content: center;
    padding:         8px 16px;
    font-size:       16px;
    font-weight:     500;
    background:      transparent;
    border:          none;
    border-right:    1px solid var(--rdx-tertiary);
    color:           var(--rdx-primary);
    cursor:          pointer;
    transition:      background .2s, color .2s;
}
.rdx-verif-option:last-child {
    border-right: none;
}
.rdx-verif-option.active {
    background-color: var(--rdx-primary);
    color:            #fff;
}

.rdx-verif-submitted {
    border-top: 1px solid var(--rdx-tertiary);
    color:      var(--rdx-primary);
}
.rdx-verif-submitted__note {
    font-size:    .875rem;
    opacity:      .7;
    padding-top:  .75rem;
    margin-bottom: 0;
}
.rdx-verif-submitted .rdx-verif-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.rdx-verif-options--readonly {
    pointer-events: none;
}
@media (max-width: 575.98px) {
    .rdx-verif-row {
        grid-template-columns: 1fr;
    }
    .rdx-verif-options {
        width: 100%;
    }
    .rdx-image-slot {
        justify-self: start;
    }
}

.gallery-index {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 768px) {
    .gallery-index { grid-template-columns: repeat(2, 1fr); }
}

.gallery-index__card {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: 1.25rem;
    transition: box-shadow var(--rdx-transition-base);
}

.gallery-index__card:hover {
    box-shadow: var(--rdx-shadow-base);
}

.gallery-index__card-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    color: var(--bs-body-color);
}

.gallery-index__preview {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    min-height: 80px;
    align-items: flex-start;
}

.gallery-index__preview img {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    object-fit: cover;
    border-radius: calc(var(--bs-border-radius) * 0.5);
}

.gallery-index__empty {
    font-size: 0.875rem;
}

.gallery-index__section-title {
    grid-column: 1 / -1;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: var(--bs-body-color);
}

.photo-portfolio {
    margin-bottom: 2rem;
    padding: 1.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}

.photo-portfolio__header {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 1rem;
}

.photo-portfolio__header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.photo-portfolio__title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0;
    color: var(--bs-body-color);
}

.photo-portfolio__desc {
    font-size: 0.875rem;
    color: var(--bs-secondary-color);
    margin-bottom: 0;
    width: 100%;
}

.photo-portfolio__manage-btn {
    flex-shrink: 0;
}

.photo-portfolio__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.photo-portfolio__item {
    position: relative;
}

.photo-portfolio__item img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: calc(var(--bs-border-radius) * 0.5);
    display: block;
}

.photo-portfolio__item--pending img {
    opacity: 0.6;
}

.photo-portfolio__pending-badge {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 0.6rem;
    text-align: center;
    padding: 2px 0;
    border-radius: 0 0 calc(var(--bs-border-radius) * 0.5) calc(var(--bs-border-radius) * 0.5);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.photo-portfolio__empty {
    font-size: 0.875rem;
}

.photo-portfolio__subgalleries-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
    color: var(--bs-body-color);
}

.ci-slot {
    margin-bottom: 1.5rem;
}

.ci-slot__item {
    position: relative;
    display: inline-block;
    max-width: 220px;
}

.ci-slot__item img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--bs-border-radius);
}

.ci-slot__item--pending {
    opacity: 0.85;
}

.ci-slot__empty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem 0;
}

.ci-slot__item .sg-result-actions {
    margin-top: 0.5rem;
    background: transparent;
    border-top: none;
    gap: 0.5rem;
}

.ci-slot__item .rdx-pending-badge {
    display: block;
    margin-top: 4px;
}

.rdx-mobile-tours.accordion { border: none; }
.rdx-mobile-tours > .accordion-button {
    background: var(--rdx-secondary);
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    padding: .85rem 1.25rem;
    justify-content: space-between;
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
.rdx-mobile-tours > .accordion-button:not(.collapsed) {
    background: var(--rdx-secondary);
    color: #fff;
    box-shadow: none;
}
.rdx-mobile-tours > .accordion-button:focus { box-shadow: none; }
.rdx-mobile-tours > .accordion-button::after { filter: none; }

.rdx-tours-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    padding: 2rem 1rem 1rem;
}

.rdx-tour-card {
    background: rgba(59,95,147,.28);
    border: 1px solid rgba(140,175,230,.18);
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1.1rem;
    min-height: 130px;
    box-sizing: border-box;
    min-width: 0;
}
@media (max-width: 991.98px) {
    .rdx-tours-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px) {
    .rdx-tours-grid { grid-template-columns: repeat(2, 1fr); }
    .rdx-tour-card {
        padding: 1rem .85rem;
        gap: .6rem;
        min-height: 110px;
    }
}
.rdx-tour-card--current {
    border-color: rgba(59,95,147,.55);
}

.rdx-tour-card__left {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .6rem;
    flex-shrink: 0;
}
.rdx-tour-card__icon img {
    width: 26px;
    height: 26px;
    filter: brightness(0) invert(1);
    opacity: .65;
}
@media (max-width: 575.98px) {
    .rdx-tour-card__icon img { width: 20px; height: 20px; }
}

.rdx-tour-card__right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem;
    min-width: 0;
}
.rdx-tour-card__city {
    font-size: 1.35rem;
    font-weight: 700;
    color: #f5f5f7;
    line-height: 1.2;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 575.98px) {
    .rdx-tour-card__city { font-size: .95rem; }
}
.rdx-tour-card__dates {
    font-size: .82rem;
    color: rgba(255,255,255,.55);
    letter-spacing: .05em;
    white-space: nowrap;
}
.rdx-tour-card__status {
    display: inline-block;
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(255,255,255,.6);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 100px;
    padding: .2rem .75rem;
    white-space: nowrap;
}
.rdx-tour-card--current .rdx-tour-card__status {
    color: #7ba0cc;
    border-color: rgba(59,95,147,.55);
}

/* ============================================================
   Wishlist Editor (Dashboard)
   ============================================================ */

#wishlist-form {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
#wishlist-form .dashboard-panel {
    flex: 1;
}

.rdx-wl-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.rdx-wl-cat {
    border-radius: var(--rdx-radius);
    overflow: hidden;
    border: 1px solid var(--rdx-light-blue);
}

.rdx-wl-cat__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    background: var(--rdx-light-blue);
}

.rdx-wl-cat__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.rdx-wl-cat__name {
    font-weight: 700;
    font-size: 1rem;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rdx-wl-cat__count {
    font-size: 0.72rem;
    color: rgba(255,255,255,.65);
}

.rdx-wl-cat__actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.rdx-wl-cat__edit {
    color: #fff;
    border-color: rgba(255,255,255,.5);
}
.rdx-wl-cat__edit:hover {
    background: rgba(255,255,255,.15);
    border-color: #fff;
    color: #fff;
}

.rdx-wl-cat__delete {
    color: rgba(255,255,255,.7);
    border-color: rgba(255,255,255,.3);
}
.rdx-wl-cat__delete:hover {
    color: #fff;
    background: rgba(220,53,69,.8);
    border-color: transparent;
}

.rdx-wl-cat__body {
    display: none;
    padding: 1rem;
    border-top: 1px solid rgba(59,95,147,.2);
}
.rdx-wl-cat.is-open .rdx-wl-cat__body {
    display: block;
}

.rdx-wl-sublabel {
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #9ca3af;
    margin-bottom: .35rem;
}

.rdx-wl-cat__header { margin-bottom: .75rem; }

.rdx-wl-cat__select { width: 100%; }

.rdx-wl-items {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin-bottom: .5rem;
}

.rdx-wl-item {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.rdx-wl-item .form-control { flex: 1; }

.rdx-wl-item-error {
    font-size: .75rem;
    color: #dc3545;
    margin: -.25rem 0 .25rem;
}

.rdx-wl-add-item {
    background-color: var(--rdx-light-blue);
    color: #fff;
    border-radius: var(--rdx-radius-sm);
    padding: 0.15rem 0.5rem;
    font-size: var(--rdx-font-size-sm);
    border: none;
    line-height: 1.5;
}
.rdx-wl-add-item:hover {
    background-color: #4672ae;
    color: #fff;
}

.rdx-wl-item-handle {
    color: #9ca3af;
    cursor: grab;
    padding: 0 .3rem;
    flex-shrink: 0;
    font-size: .85rem;
}
.rdx-wl-item-handle:active { cursor: grabbing; }

.rdx-wl-cat__header .ts-wrapper { flex: 1; min-width: 0; }

.rdx-wl-cat__header .ts-dropdown .option.disabled {
    color: #adb5bd;
    cursor: not-allowed;
    pointer-events: none;
}

.rdx-reviews-page__header {
    background: var(--rdx-secondary);
    padding: 3rem 0 2.5rem;
    text-align: center;
}

.rdx-reviews-page__back {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: rgba(255,255,255,.55);
    font-size: .85rem;
    text-decoration: none;
    margin-bottom: 1.5rem;
    transition: color var(--rdx-transition-fast);
}
.rdx-reviews-page__back:hover { color: #fff; }
.rdx-reviews-page__back .fa-chevron-left { font-size: .7rem; }

.rdx-reviews-page__header .rdx-section-title { margin-bottom: .5rem; }

.rdx-reviews-page__count {
    color: rgba(255,255,255,.45);
    font-size: .875rem;
    margin: 0;
}

.rdx-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 3rem 0 1.5rem;
}

.rdx-reviews-list__item {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-left: 3px solid var(--rdx-light-blue);
    border-radius: 8px;
    padding: 1.5rem 1.75rem;
    scroll-margin-top: 2rem;
}

.rdx-reviews-list__meta {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: .75rem;
    flex-wrap: wrap;
}

.rdx-reviews-list__author {
    font-weight: 600;
    color: #fff;
    font-size: .9rem;
}

.rdx-reviews-list__date {
    font-size: .8rem;
    color: rgba(255,255,255,.4);
}

.rdx-reviews-list__content {
    color: rgba(255,255,255,.8);
    line-height: 1.75;
    font-size: .95rem;
}

.rdx-reviews-list__item.is-filtered-out { display: none; }

.rdx-reviews-filter-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: rgba(59,95,147,.25);
    border: 1px solid rgba(59,95,147,.5);
    border-radius: 8px;
    padding: .75rem 1.25rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.rdx-reviews-filter-banner__text {
    font-size: .875rem;
    color: rgba(255,255,255,.7);
}

.rdx-reviews-filter-banner__clear {
    background: none;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 50rem;
    color: #fff;
    font-size: .8rem;
    padding: .3rem .9rem;
    cursor: pointer;
    transition: border-color var(--rdx-transition-fast), background var(--rdx-transition-fast);
    white-space: nowrap;
}
.rdx-reviews-filter-banner__clear:hover {
    border-color: #fff;
    background: rgba(255,255,255,.08);
}

.rdx-exp-info { border-top: 1px solid rgba(255,255,255,.08); margin-top: .5rem; }
.rdx-exp-info__block { border-bottom: 1px solid rgba(255,255,255,.08); padding: .65rem 0 .9rem; }
.rdx-exp-info__block:last-child { border-bottom: none; }
.rdx-exp-info__label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(255,255,255,.6);
    margin: 0 0 .4rem;
}
.rdx-exp-info__body,
.rdx-expandable { font-size: 1rem; color: rgba(255,255,255,.75); }

.rdx-experience--incall .rdx-exp-info { border-top-color: rgba(25,43,69,.12); }
.rdx-experience--incall .rdx-exp-info__block { border-bottom-color: rgba(25,43,69,.12); }
.rdx-experience--incall .rdx-exp-info__label { color: rgba(25,43,69,.55); }
.rdx-experience--incall .rdx-exp-info__body,
.rdx-experience--incall .rdx-expandable { color: rgba(25,43,69,.8); }

.rdx-read-more-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: none;
    border: none;
    padding: .4rem 0;
    margin: 0;
    font-size: .82rem;
    color: #86868b;
    cursor: pointer;
    transition: color .15s;
}
.rdx-read-more-btn:hover { color: #f5f5f7; }
span.rdx-read-more-btn { display: flex; }
.rdx-read-more-btn--less { display: flex; margin-top: .25rem; }

.rdx-rates-colhead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: .4rem;
    margin-bottom: .3rem;
    border-bottom: 1px solid rgba(255,255,255,.15);
    font-size: .68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(255,255,255,.45);
}
.rdx-rates-colhead__label { display: flex; align-items: center; gap: .45rem; }
.rdx-experience--incall .rdx-rates-colhead { color: rgba(25,43,69,.5); border-bottom-color: rgba(25,43,69,.12); }

.rdx-rate-note { display: block; font-style: italic; font-weight: 400; }

.rdx-notfound-banner {
    padding: 3rem 0;
    text-align: center;
}
.rdx-notfound-banner__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .35rem;
}
.rdx-notfound-banner .rdx-section-title {
    margin: 0;
}
.rdx-notfound-banner__body {
    margin: 0;
    max-width: 32rem;
    color: rgba(255,255,255,.75);
}

.rdx-auth-title.rdx-auth-title--compact {
    font-size: 1.25rem;
}
.rdx-preview-missing-list {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
}
.rdx-preview-missing-list__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: .6rem 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
    color: #1c1d1d;
}
.rdx-preview-missing-list__info {
    flex: 1 1 auto;
    min-width: 0;
}
.rdx-preview-missing-list__label {
    display: block;
    font-weight: 600;
    color: #1c1d1d;
}
.rdx-preview-missing-list__sublabel {
    display: block;
    font-size: 0.8rem;
    color: rgba(28,29,29,.6);
    margin-top: 0.15rem;
}
.rdx-preview-missing-list__item a {
    flex: 0 0 auto;
    color: #192b45;
    font-weight: 600;
    text-decoration: underline;
}
.rdx-preview-missing-list__item a:hover {
    color: #000;
}

.rdx-preview-ribbon {
    position: sticky;
    top: 52px;
    z-index: 1001;
    background: #192b45;
    color: #fff;
    text-align: center;
    font-size: .875rem;
    font-weight: 600;
    padding: .5rem 1rem;
}
@media (min-width: 768px) {
    .rdx-preview-ribbon { top: 104px; }
}
@media (orientation: landscape) and (max-height: 500px),
       (orientation: portrait) and (min-width: 768px) and (max-width: 1199px) {
    .rdx-preview-ribbon { top: 52px; }
}
@media (min-width: 783px) {
    .admin-bar .rdx-preview-ribbon { top: 136px; }
}
@media (min-width: 601px) and (max-width: 782px) {
    .admin-bar .rdx-preview-ribbon { top: 98px; }
}

.rdx-preview-watermark {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 95vh;
    max-width: 95vw;
    width: auto;
    height: auto;
    opacity: .18;
    pointer-events: none;
    z-index: 500;
}

@media (min-width: 992px) {
    .rdx-gallery-strip .swiper-button-next {
        right: 108px;
    }
}

/* ==========================================================================
   location_sections page-builder additions
   Section templates: content-columns, content-checklist, content-contact-block,
   content-category-header, content-glossary. Block: content-buttons.
   ========================================================================== */

.rdx-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.rdx-buttons--left   { justify-content: flex-start; }
.rdx-buttons--center { justify-content: center; }
.rdx-buttons--right  { justify-content: flex-end; }

.rdx-btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .8rem 1.6rem;
    border-radius: 100px;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background .2s, border-color .2s, transform .2s;
    white-space: nowrap;
}
.rdx-btn:hover .rdx-btn__chevron { transform: translateX(3px); }
.rdx-btn__chevron { transition: transform .2s ease; font-size: .7rem; }

.rdx-btn--btn-secondary { background: #192b45; color: #fff; }
.rdx-btn--btn-secondary:hover { background: #23385c; color: #fff; }

.rdx-btn--btn-primary { background: #3b5f93; color: #fff; }
.rdx-btn--btn-primary:hover { background: #4a71a8; color: #fff; }

.rdx-btn--btn-white { background: #fff; color: #192b45; }
.rdx-btn--btn-white:hover { background: #e9e9ea; color: #192b45; }

.rdx-btn--btn-tertiary { background: transparent; border-color: rgba(255, 255, 255, .35); color: #fff; }
.rdx-btn--btn-tertiary:hover { border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .06); }

.rdx-columns {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}
.rdx-columns--cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.rdx-columns--cards .rdx-columns__col { flex: 0 1 100%; }
@media (min-width: 992px) {
    .rdx-columns--default { grid-template-columns: repeat(3, 1fr); }
    .rdx-columns--cards .rdx-columns__col { flex-basis: calc(50% - 1rem); }
}
@media (min-width: 1400px) {
    .rdx-columns--cards .rdx-columns__col { flex-basis: calc(33.333% - 1.334rem); }
}

.rdx-columns__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .75rem;
    height: 100%;
    background: var(--rdx-off-white);
    border-radius: 12px;
    padding: 2rem;
}
.rdx-columns__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .75rem;
}
.rdx-columns__icon {
    max-width: 72px;
    height: auto;
}

.rdx-checklist {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 992px) {
    .rdx-checklist { grid-template-columns: repeat(2, 1fr); }
}
.rdx-checklist__item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}
.rdx-checklist__check {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #3b5f93;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    margin-top: .15rem;
}
.rdx-checklist__title {
    color: #fff;
    margin-bottom: .25rem;
}
.rdx-checklist__text {
    color: rgba(255, 255, 255, .75);
    margin-bottom: 0;
}

.rdx-contact-block__title { margin-bottom: 1rem; }
.rdx-contact-block__text { opacity: .85; }
.rdx-contact-block__social {
    display: flex;
    gap: 1rem;
    margin-top: .75rem;
    font-size: 1.4rem;
}
.rdx-contact-block__social a { color: #fff; }
.rdx-contact-block__social a:hover { color: #3b5f93; }

.rdx-category-header {
    position: relative;
}
.rdx-category-header--mini,
.rdx-category-header--default {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.rdx-category-header__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.rdx-category-header__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rdx-category-header__title {
    position: relative;
    z-index: 1;
    width: 100%;
}
.rdx-category-header--plain {
    min-height: 80px;
}

.rdx-glossary__letter { margin-bottom: 1.5rem; }
.rdx-glossary__letter-heading {
    color: #3b5f93;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
    padding-bottom: .35rem;
    margin-bottom: .75rem;
}
.background-white .rdx-glossary__letter-heading,
.background-off-white .rdx-glossary__letter-heading,
.background-pale-blue .rdx-glossary__letter-heading,
.background-transparent .rdx-glossary__letter-heading {
    border-bottom-color: rgba(0, 0, 0, .15);
}
.rdx-glossary__item { margin-bottom: 1rem; }
.rdx-glossary__term {
    font-weight: 700;
    margin-bottom: .25rem;
}
.rdx-glossary__definition {
    font-size: .9rem;
    opacity: .75;
}

.rdx-meta-location {
    display: inline-flex;
    align-items: center;
    gap: .3em;
}
.rdx-meta-touring-icon {
    display: inline-block;
    width: .85em;
    height: .85em;
    background-color: currentColor;
    -webkit-mask-image: url('assets/images/location-touring-escort.svg');
    mask-image: url('assets/images/location-touring-escort.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    flex-shrink: 0;
}

.avail-now-duration-group .btn-rdx-choice {
    flex: 1;
}
.rdx-change-password-popup__apply:disabled {
    background: #a8b6cc;
    cursor: not-allowed;
}

.rdx-overview-quick-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}
.rdx-overview-list {
    color: var(--rdx-primary);
    margin: 1.25rem 0 0;
    padding-left: 1.25rem;
}
.rdx-overview-list li { margin-bottom: 0.5rem; }
.rdx-overview-list li:last-child { margin-bottom: 0; }
.rdx-overview-list a { color: var(--rdx-secondary); text-decoration: underline; }

.rdx-contact-block__form-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 2rem;
}

.rdx-contact-block__thankyou {
    color: #1c1d1d;
    font-size: 1rem;
    line-height: 1.6;
}

/* =============================================================================
   Dashboard Overview — card grid (section-overview.php)
   ============================================================================= */

.rdx-ov-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 767.98px) {
    .rdx-ov-grid {
        grid-template-columns: 1fr;
    }
}

.rdx-ov-card {
    background-color: var(--rdx-white);
    color: rgba(28, 28, 29, 0.85);
    border-radius: var(--rdx-radius-lg);
    box-shadow: var(--rdx-shadow-sm);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
}

a.rdx-ov-card {
    text-decoration: none;
    transition: box-shadow var(--rdx-transition-fast);
}

.rdx-ov-card--span-2 {
    grid-column: span 2;
}

@media (max-width: 767.98px) {
    .rdx-ov-card--span-2 {
        grid-column: auto;
    }
}

.rdx-ov-card--full {
    grid-column: 1 / -1;
}

/* ==== Escort dashboard overview — Announcements "Roladex News Board" ====
   Header and footer sit on the page background, outside the dark box —
   only the announcement rows themselves get the dark navy treatment. */
.rdx-news-board__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--rdx-light-blue);
    margin-bottom: 0.6rem;
}
.rdx-news-board {
    background: var(--rdx-secondary);
    border-radius: var(--rdx-radius-lg);
    box-shadow: var(--rdx-shadow-sm);
    padding: 1.25rem 1.5rem;
}
.rdx-news-board__list {
    display: flex;
    flex-direction: column;
}
.rdx-news-board__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
}
.rdx-news-board__item:first-child { border-top: none; padding-top: 0; }
.rdx-news-board__item:last-child  { padding-bottom: 0; }
.rdx-news-board__title {
    color: #fff;
    font-weight: 600;
    margin-bottom: 0.15rem;
}
.rdx-news-board__desc {
    color: rgba(255, 255, 255, .6);
    font-size: 0.875rem;
    margin-bottom: 0;
}
.rdx-news-board__readmore {
    background: none;
    border: none;
    padding: 0;
    margin-top: 0.35rem;
    color: var(--rdx-pale-blue);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
.rdx-news-board__readmore:hover { text-decoration: underline; }
.rdx-news-board__btn {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex-shrink: 0;
}
.rdx-news-board__footer {
    margin-top: 0.6rem;
}
.rdx-news-board__seeall {
    background: none;
    border: none;
    padding: 0;
    color: var(--rdx-light-blue);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}
.rdx-news-board__seeall:hover { text-decoration: underline; }

@media (max-width: 767.98px) {
    .rdx-news-board__item {
        flex-direction: column;
        align-items: flex-start;
    }
    .rdx-news-board__btn {
        margin-top: 0.6rem;
    }
    .rdx-news-board__footer {
        text-align: right;
    }
}

/* Announcement "Read more" popup — same size/placement as the front-end
   location search popup (.rdx-location-popup), own light colors. */
.rdx-announcement-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
}
.rdx-announcement-popup[hidden] { display: none; }

.rdx-announcement-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .6);
}

/* Mobile — bottom sheet, slides up under the header */
.rdx-announcement-popup__dialog {
    position: fixed;
    left: 0; right: 0; bottom: 0; top: 52px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--rdx-white);
    color: rgba(28, 28, 29, .85);
    border-radius: 0;
    transform: translateY(100%);
    transition: transform .3s ease;
    z-index: 1;
}
body.rdx-popup-open .rdx-announcement-popup__dialog {
    transform: translateY(0);
}

/* Desktop — centered, can grow taller, not wider */
@media (min-width: 768px) {
    .rdx-announcement-popup {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .rdx-announcement-popup__dialog {
        position: relative;
        top: auto; left: auto; right: auto; bottom: auto;
        width: min(480px, 92vw);
        max-height: 80vh;
        border-radius: 12px;
        box-shadow: 0 12px 40px rgba(0, 0, 0, .5);
        transform: none;
        transition: none;
    }
}

.rdx-announcement-popup__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.1rem;
    background: #3b5f93;
    color: #fff;
    flex: 0 0 auto;
}
@media (min-width: 768px) {
    .rdx-announcement-popup__header { border-radius: 12px 12px 0 0; }
}
.rdx-announcement-popup__title {
    font-size: 1rem;
    font-weight: 600;
}
.rdx-announcement-popup__close {
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, .75);
    font-size: 1.1rem;
    line-height: 1;
    padding: .25rem;
    cursor: pointer;
}
.rdx-announcement-popup__close:hover { color: #fff; }

.rdx-announcement-popup__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1rem 1.1rem;
    color: rgba(28, 28, 29, .75);
}
.rdx-announcement-popup__ann-title {
    font-weight: 600;
    color: rgba(28, 28, 29, .95);
    margin-bottom: 0.5rem;
}
.rdx-announcement-popup__body ul { margin: 0.5em 0; padding-left: 1.5em; list-style: disc; }
.rdx-announcement-popup__body li { margin-bottom: 0.25em; }

.rdx-announcement-popup__footer {
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.6rem 1.1rem;
    border-top: 1px solid var(--rdx-tertiary);
}
.rdx-announcement-popup__cancel {
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 500;
    height: 40px;
    padding: 0 1.1rem;
    background: #f0f0f0;
    color: #555;
    transition: background 0.15s;
}
.rdx-announcement-popup__cancel:hover { background: #e0e0e0; }
.rdx-announcement-popup__footer .btn { height: 40px; display: inline-flex; align-items: center; }

.rdx-ov-row-2 {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

@media (max-width: 767.98px) {
    .rdx-ov-row-2 {
        grid-template-columns: 1fr;
    }
}

.rdx-ov-card__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.rdx-ov-card__icon {
    font-size: 0.875rem;
    color: var(--rdx-secondary);
}

.rdx-ov-card__eyebrow {
    font-size: var(--rdx-font-size-xs);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--rdx-secondary);
}

.rdx-ov-card__body {
    flex: 1;
}

.rdx-ov-card__actions {
    display: flex;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.rdx-ov-completion-body {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
}

@media (max-width: 575.98px) {
    .rdx-ov-completion-body {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

.rdx-ov-ring {
    --rdx-ov-ring-percent: 0;
    position: relative;
    flex-shrink: 0;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: conic-gradient(
        var(--rdx-light-blue) calc(var(--rdx-ov-ring-percent) * 1%),
        rgba(255, 255, 255, 0.15) 0
    );
    color: #fff;
}

.rdx-ov-ring::before {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background-color: var(--rdx-secondary);
}

.rdx-ov-ring__value {
    position: relative;
    font-size: 1.125rem;
    font-weight: 700;
}

.rdx-ov-ring__label {
    position: relative;
    font-size: 0.625rem;
    letter-spacing: 0.05em;
    opacity: 0.7;
}

.rdx-ov-completion-heading {
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.rdx-ov-thumbs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.rdx-ov-thumbs img {
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: var(--rdx-radius, 0.5rem);
}

.rdx-ov-thumbs img:not(:only-child) {
    flex: 1;
    width: auto;
    height: auto;
    aspect-ratio: 1;
    min-width: 0;
}

.rdx-ov-status-value {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0;
}

.rdx-ov-status-value--success {
    color: var(--rdx-success);
}

.rdx-ov-status-value--muted {
    color: rgba(28, 28, 29, 0.55);
}

.rdx-ov-empty {
    color: rgba(28, 28, 29, 0.55);
    font-size: var(--rdx-font-size-sm);
    margin: 0;
}

.rdx-ov-tours-list {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.rdx-ov-tours-list li {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: var(--rdx-font-size-sm);
}

.rdx-ov-tours-list span {
    color: rgba(28, 28, 29, 0.55);
}

.rdx-ov-tours-usage {
    font-size: var(--rdx-font-size-xs);
    color: rgba(28, 28, 29, 0.5);
    margin: 0;
}

.rdx-ov-review-quote {
    font-size: var(--rdx-font-size-sm);
    font-style: italic;
    margin: 0 0 0.75rem;
}

.rdx-ov-review-meta {
    font-size: var(--rdx-font-size-xs);
    color: rgba(28, 28, 29, 0.55);
    margin: 0;
}

.rdx-ov-divider {
    border: none;
    border-top: 1px solid var(--rdx-tertiary);
    margin: 0 0 0.75rem;
}

.rdx-ov-avail-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.rdx-ov-avail-label {
    font-weight: 600;
    font-size: var(--rdx-font-size-sm);
    margin: 0;
}

.rdx-ov-avail-status {
    font-size: var(--rdx-font-size-xs);
    color: rgba(28, 28, 29, 0.55);
    margin: 0 0 0.75rem;
}

.rdx-ov-card__actions--stack {
    flex-direction: column;

    margin-top: 0;
}

.rdx-ov-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
}

.rdx-ov-view-profile-row {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
}

.rdx-ov-view-profile-row .rdx-ov-btn-icon {
    flex: 1 1 auto;
}

.rdx-ov-copy-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--rdx-border);
    border-radius: var(--rdx-radius);
    background-color: var(--rdx-white);
    color: var(--rdx-secondary);
    cursor: pointer;
    transition: background-color var(--rdx-transition-fast), border-color var(--rdx-transition-fast), color var(--rdx-transition-fast);
}

.rdx-ov-copy-icon-btn:hover {
    background-color: var(--rdx-tertiary);
}

.rdx-ov-copy-icon-btn.is-copied {
    border-color: var(--rdx-success);
    color: var(--rdx-success);
}

.rdx-icon-profile,
.rdx-icon-copy {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    flex-shrink: 0;
}

.rdx-icon-profile {
    -webkit-mask-image: url('../assets/images/profile-icon.svg');
    mask-image: url('../assets/images/profile-icon.svg');
}

.rdx-icon-copy {
    -webkit-mask-image: url('../assets/images/copy.svg');
    mask-image: url('../assets/images/copy.svg');
}

.rdx-ov-card__icon--svg {
    display: inline-block;
    width: 0.875rem;
    height: 0.875rem;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.rdx-icon-plane {

    -webkit-mask-image: url('assets/images/plane-departure.svg');
    mask-image: url('assets/images/plane-departure.svg');
}

.rdx-coming-soon {
    max-width: 480px;
    margin: 3rem auto;
    padding: 1rem;
    text-align: center;
}
.rdx-coming-soon__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--rdx-secondary);
    color: #fff;
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
}
.rdx-coming-soon__icon-svg {
    display: inline-block;
    width: 28px;
    height: 28px;
    background-color: currentColor;
    -webkit-mask-image: url('assets/images/book-open.svg');
    mask-image: url('assets/images/book-open.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
.rdx-coming-soon__badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.25rem 0.75rem;
    border-radius: var(--rdx-radius-pill);
    background-color: var(--rdx-tertiary);
    color: var(--rdx-primary);
    margin-bottom: 0.75rem;
}
.rdx-coming-soon__title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--rdx-primary);
    margin-bottom: 0.75rem;
}
.rdx-coming-soon__text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--rdx-secondary);
    margin-bottom: 0;
}

/* ---- Quick Actions ---- */

.rdx-ov-quick-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
    gap: 0.75rem;
}

.rdx-ov-quick-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 0.5rem;
    border: 1px solid var(--rdx-border);
    border-radius: var(--rdx-radius);
    text-decoration: none;
    text-align: center;
    color: var(--rdx-secondary);
    transition: background-color var(--rdx-transition-fast), border-color var(--rdx-transition-fast);
}

a.rdx-ov-quick-action:hover {
    background-color: var(--rdx-tertiary);
}

.rdx-ov-quick-action--disabled {
    color: rgba(28, 28, 29, 0.4);
    cursor: default;
}

.rdx-ov-quick-action__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: rgba(59, 95, 147, 0.08);
    color: var(--rdx-light-blue);
    font-size: 1rem;
}

.rdx-ov-quick-action__label {
    font-weight: 600;
    font-size: var(--rdx-font-size-sm);
}

.rdx-ov-quick-action__sub {
    font-size: var(--rdx-font-size-xs);
    color: rgba(28, 28, 29, 0.55);
}

/* ---- Verification card extras ---- */

.rdx-ov-verification-date {
    font-size: var(--rdx-font-size-sm);
    color: rgba(28, 28, 29, 0.55);
    margin: 0 0 0.75rem;
}

.rdx-ov-verified-note {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 0.75rem;
    border-radius: var(--rdx-radius);
    background-color: rgba(59, 95, 147, 0.08);
    font-size: var(--rdx-font-size-sm);
    color: var(--rdx-secondary);
}

.rdx-ov-verified-note__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: var(--rdx-light-blue);
    color: #fff;
    font-size: 0.7rem;
    flex-shrink: 0;
}

/* ---- Upcoming Tours card ---- */

.rdx-ov-tours-summary {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    list-style: none;
}

.rdx-ov-tours-summary::-webkit-details-marker {
    display: none;
}

.rdx-ov-tours-chevron {
    margin-left: auto;
    font-size: 0.75rem;
    color: rgba(28, 28, 29, 0.45);
    transition: transform var(--rdx-transition-fast);
}

.rdx-ov-tours-details[open] .rdx-ov-tours-chevron {
    transform: rotate(180deg);
}

.rdx-ov-tours-details__body {
    margin-top: 0.75rem;
}

/* ---- Quick-links card (Profile Details / Membership & Billing etc.) ---- */

.rdx-ov-linklist {
    display: flex;
    flex-direction: column;
}

.rdx-ov-linklist__item {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    padding: 0.875rem 0;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid var(--rdx-tertiary);
}

.rdx-ov-linklist__item:first-child {
    padding-top: 0;
}

.rdx-ov-linklist__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rdx-ov-linklist__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background-color: var(--rdx-tertiary);
    color: var(--rdx-secondary);
    flex-shrink: 0;
}

.rdx-ov-linklist__text {
    flex: 1;
    min-width: 0;
}

.rdx-ov-linklist__title {
    font-weight: 600;
    margin: 0;
    color: rgba(28, 28, 29, 0.85);
    word-break: normal;
}

.rdx-ov-linklist__desc {
    font-size: var(--rdx-font-size-sm);
    color: rgba(28, 28, 29, 0.55);
    margin: 0;
    word-break: normal;
}

.rdx-ov-linklist__chevron {
    color: rgba(28, 28, 29, 0.35);
    font-size: 0.75rem;
    flex-shrink: 0;
}

/* ---- Blog & Journals / Post a Story promo cards ---- */

.rdx-ov-promo-card__body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.rdx-ov-promo-card__desc {
    font-size: var(--rdx-font-size-sm);
    color: rgba(28, 28, 29, 0.55);
    margin: 0;
}

.rdx-ov-promo-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background-color: var(--rdx-tertiary);
    color: var(--rdx-secondary);
    font-size: 1.25rem;
    flex-shrink: 0;
}

a.rdx-ov-promo-card:hover {
    box-shadow: var(--rdx-shadow-base, var(--rdx-shadow-sm));
}

/* ============================================================
   Plan Comparison Table — shared structure (layout only)
   ============================================================ */

.rdx-compare-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}
.rdx-compare-period-toggle {
    display: inline-flex;
    gap: 0.4rem;
    flex-wrap: wrap;
}
.rdx-compare-period-toggle__btn {
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.4rem 0.9rem;
    border-radius: 1.5rem;
    border-width: 1px;
    border-style: solid;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.rdx-compare {
    display: grid;
    grid-template-columns: minmax(9.5rem, 1.4fr) repeat(3, minmax(0, 1fr));
    gap: 1px;
    border-width: 1px;
    border-style: solid;
    border-radius: 0.75rem;
    overflow: hidden;
}

.rdx-compare__cell {
    padding: 0.6rem 1rem;
    display: flex;
    align-items: center;
}
.rdx-compare__cell--plan-header,
.rdx-compare__cell--value {
    flex-direction: column;
    justify-content: flex-start;
    text-align: center;
}

.rdx-compare__divider {
    grid-column: 1 / -1;
    padding: 0.5rem 1rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.rdx-compare__cell--plan-header {
    padding: 1.5rem 1.25rem 1.25rem;
}

.rdx-compare__plan-name {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}

.rdx-compare__price {
    margin-bottom: 0.75rem;
}
.rdx-compare__price-amount {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1;
}
.rdx-compare__price-period {
    font-size: 0.8rem;
    margin-left: 0.15rem;
}

.rdx-compare__blurb {
    font-size: 0.82rem;
    line-height: 1.4;
    margin: 0 0 0.5rem;
}
.rdx-compare__current-note {
    font-size: 0.75rem;
    font-style: italic;
    margin: 0 0 0.75rem;
}

.rdx-compare__cell--label {
    gap: 0.6rem;
    font-size: 0.85rem;
}
.rdx-compare__cell--label i {
    width: 1rem;
    text-align: center;
    flex-shrink: 0;
}

.rdx-compare__cell--value {
    gap: 0.4rem;
    font-size: 0.85rem;
}
.rdx-compare__check { font-size: 1.05rem; }

.rdx-compare__soon {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 0.15rem 0.5rem;
    border-radius: 1rem;
    white-space: nowrap;
}

/* ---- Plan Comparison Table: mobile (shared, both contexts) ---- */
@media (max-width: 767.98px) {
    .rdx-compare-toolbar {
        justify-content: center;
    }
    .rdx-compare {
        grid-template-columns: 8rem repeat(3, 9.5rem);
        width: 100%;
        min-width: 0;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 8rem;
        -webkit-overflow-scrolling: touch;
        border-radius: 0.5rem;
    }
    .rdx-compare__cell--label-header,
    .rdx-compare__cell--label {
        position: sticky;
        left: 0;
        z-index: 2;
        box-shadow: 2px 0 6px rgba(0, 0, 0, 0.08);
    }
    .rdx-compare__cell--plan-header,
    .rdx-compare__cell--value {
        scroll-snap-align: start;
    }
    .rdx-compare__cell {
        padding: 0.5rem 0.75rem;
    }
    .rdx-compare__cell--label {
        font-size: 0.78rem;
    }
    .rdx-compare__cell--value {
        font-size: 0.78rem;
    }
    .rdx-compare__cell--plan-header {
        padding: 1rem 0.75rem;
    }
}

/* ============================================================
   Plan Comparison Table — Dashboard theme (light)
   ============================================================ */

.dashboard-panel .rdx-compare-period-toggle__btn {
    border-color: var(--rdx-tertiary);
    background-color: #fff;
    color: var(--rdx-primary);
}
.dashboard-panel .rdx-compare-period-toggle__btn:hover { border-color: var(--rdx-light-blue); }
.dashboard-panel .rdx-compare-period-toggle__btn.is-active {
    background-color: var(--rdx-secondary);
    border-color: var(--rdx-secondary);
    color: #fff;
}

.dashboard-panel .rdx-compare {
    background-color: var(--rdx-tertiary);
    border-color: var(--rdx-tertiary);
}

.dashboard-panel .rdx-compare__cell { background-color: #fff; }
.dashboard-panel .rdx-compare__cell--label-header,
.dashboard-panel .rdx-compare__cell--label { background-color: #faf9fa; }
.dashboard-panel .rdx-compare__cell[data-plan="signature"] { background-color: #f3f7fc; }
.dashboard-panel .rdx-compare__cell[data-plan="executive"] {
    background-color: var(--rdx-secondary);
    color: #fff;
}
.dashboard-panel .rdx-compare__cell[data-plan="executive"] .rdx-compare__plan-name,
.dashboard-panel .rdx-compare__cell[data-plan="executive"] .rdx-compare__price-amount,
.dashboard-panel .rdx-compare__cell[data-plan="executive"] .rdx-compare__price-period,
.dashboard-panel .rdx-compare__cell[data-plan="executive"] .rdx-compare__blurb,
.dashboard-panel .rdx-compare__cell[data-plan="executive"] .rdx-compare__current-note,
.dashboard-panel .rdx-compare__cell[data-plan="executive"] .rdx-compare__value-text {
    color: #fff;
}
.dashboard-panel .rdx-compare__cell[data-plan="executive"] .rdx-compare__check { color: #fff; }
.dashboard-panel .rdx-compare__cell[data-plan="executive"] .rdx-compare__dash { color: rgba(255, 255, 255, 0.6); }

.dashboard-panel .rdx-compare__divider {
    background-color: #f3f2f3;
    color: var(--rdx-dusk-grey, #5c5d5d);
}

.dashboard-panel .rdx-compare__plan-name { color: var(--rdx-primary); }
.dashboard-panel .rdx-compare__price-amount { color: var(--rdx-primary); }
.dashboard-panel .rdx-compare__price-period { color: var(--rdx-dusk-grey, #5c5d5d); }
.dashboard-panel .rdx-compare__blurb { color: var(--rdx-dusk-grey, #5c5d5d); }
.dashboard-panel .rdx-compare__current-note { color: var(--rdx-light-blue); }

.dashboard-panel .rdx-compare__cell--label { color: var(--rdx-primary); }
.dashboard-panel .rdx-compare__cell--label i { color: var(--rdx-light-blue); }

.dashboard-panel .rdx-compare__cell--value { color: var(--rdx-primary); }
.dashboard-panel .rdx-compare__check { color: var(--rdx-light-blue); }
.dashboard-panel .rdx-compare__dash { color: #b9b9ba; }

.dashboard-panel .rdx-compare__soon {
    background-color: var(--rdx-tertiary);
    color: var(--rdx-primary);
}

/* ============================================================
   Plan Comparison Table — Front-end theme (dark)
   ============================================================ */

.rdx-section--plan-comparison {
    --rdx-compare-surface:           #141b26;
    --rdx-compare-surface-alt:       #10161f;
    --rdx-compare-signature-surface: #1b2740;
    --rdx-compare-accent-surface:    var(--rdx-light-blue);
    --rdx-compare-border:            #232c3a;
    --rdx-compare-text:              #f2f4f7;
    --rdx-compare-text-muted:        #93a0b3;
    --rdx-compare-icon:              var(--rdx-pale-blue);
    --rdx-compare-dash:              #4b5768;
}

.rdx-section--plan-comparison .rdx-compare-period-toggle__btn {
    border-color: var(--rdx-compare-border);
    background-color: var(--rdx-compare-surface);
    color: var(--rdx-compare-text);
}
.rdx-section--plan-comparison .rdx-compare-period-toggle__btn:hover { border-color: var(--rdx-compare-icon); }
.rdx-section--plan-comparison .rdx-compare-period-toggle__btn.is-active {
    background-color: var(--rdx-compare-icon);
    border-color: var(--rdx-compare-icon);
    color: #0f1923;
}

.rdx-section--plan-comparison .rdx-compare {
    background-color: var(--rdx-compare-border);
    border-color: var(--rdx-compare-border);
}

.rdx-section--plan-comparison .rdx-compare__cell { background-color: var(--rdx-compare-surface); }
.rdx-section--plan-comparison .rdx-compare__cell--label-header,
.rdx-section--plan-comparison .rdx-compare__cell--label { background-color: var(--rdx-compare-surface-alt); }
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="signature"] { background-color: var(--rdx-compare-signature-surface); }
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] {
    background-color: var(--rdx-compare-accent-surface);
    color: #fff;
}
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] .rdx-compare__plan-name,
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] .rdx-compare__price-amount,
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] .rdx-compare__price-period,
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] .rdx-compare__blurb,
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] .rdx-compare__current-note,
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] .rdx-compare__value-text {
    color: #fff;
}
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] .rdx-compare__check { color: #fff; }
.rdx-section--plan-comparison .rdx-compare__cell[data-plan="executive"] .rdx-compare__dash { color: rgba(255, 255, 255, 0.6); }

.rdx-section--plan-comparison .rdx-compare__divider {
    background-color: var(--rdx-compare-surface-alt);
    color: var(--rdx-compare-text-muted);
}

.rdx-section--plan-comparison .rdx-compare__plan-name { color: var(--rdx-compare-text); }
.rdx-section--plan-comparison .rdx-compare__price-amount { color: var(--rdx-compare-text); }
.rdx-section--plan-comparison .rdx-compare__price-period { color: var(--rdx-compare-text-muted); }
.rdx-section--plan-comparison .rdx-compare__blurb { color: var(--rdx-compare-text-muted); }
.rdx-section--plan-comparison .rdx-compare__current-note { color: var(--rdx-compare-icon); }

.rdx-section--plan-comparison .rdx-compare__cell--label { color: var(--rdx-compare-text); }
.rdx-section--plan-comparison .rdx-compare__cell--label i { color: var(--rdx-compare-icon); }

.rdx-section--plan-comparison .rdx-compare__cell--value { color: var(--rdx-compare-text); }
.rdx-section--plan-comparison .rdx-compare__check { color: var(--rdx-compare-icon); }
.rdx-section--plan-comparison .rdx-compare__dash { color: var(--rdx-compare-dash); }

.rdx-section--plan-comparison .rdx-compare__soon {
    background-color: var(--rdx-compare-border);
    color: var(--rdx-compare-text-muted);
}

/* ============================================================
   Image Duplication Search
   ============================================================ */

.vetting-dupe-controls {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.vetting-dupe-controls__meta {
    font-size: 0.85rem;
    color: #8c9aaa;
    flex: 1;
    min-width: 200px;
}

.vetting-dupe-controls__progress-text {
    font-size: 0.8rem;
    color: #5c6475;
}

#dupe-scan-progress {
    width: 220px;
    height: .5rem;
}

.vetting-status-pill {
    display: inline-flex;
    align-items: center;
    padding: .15rem .55rem;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-left: .6rem;
    vertical-align: middle;
}
.vetting-status-pill--live                 { background: #e6f4ea; color: #1e7e34; }
.vetting-status-pill--paused               { background: #f1f3f5; color: #5c6475; }
.vetting-status-pill--draft                { background: #fff3cd; color: #8a6100; }
.vetting-status-pill--rejected             { background: #fde8e8; color: #c0392b; }
.vetting-status-pill--pending_approval     { background: #e7f0fd; color: #2461c0; }
.vetting-status-pill--pending_verification { background: #fdf0e0; color: #a15c00; }

.vetting-field-row--duplicate-pair {
    grid-template-columns: auto 1fr 80px;
    align-items: center;
}

.vetting-dupe-pair {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* ---- Blog & Journals / Post a Story promo cards — Available Now gradient treatment ---- */
.rdx-ov-promo-card {
    background: linear-gradient(135deg, var(--rdx-light-blue) 0%, var(--rdx-secondary) 100%);
}
.rdx-ov-promo-card .rdx-ov-card__header {
    justify-content: space-between;
}
.rdx-ov-promo-card .rdx-ov-card__icon,
.rdx-ov-promo-card .rdx-ov-card__eyebrow {
    color: var(--rdx-white);
}
.rdx-ov-promo-card .rdx-ov-promo-card__desc {
    color: rgba(255, 255, 255, 0.8);
}
.rdx-ov-promo-card .rdx-ov-promo-card__icon {
    background-color: rgba(255, 255, 255, 0.15);
    color: var(--rdx-white);
}
.rdx-ov-promo-card__pill {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.6rem;
    border-radius: var(--rdx-radius-pill);
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    color: var(--rdx-white);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.vetting-dupe-thumb {
    width: 160px;
    height: 160px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

@media (max-width: 767.98px) {
    .vetting-dupe-thumb {
        width: 100px;
        height: 100px;
    }
}

.vetting-dupe-pair__icon {
    color: #8c9aaa;
    font-size: .8rem;
}

.vetting-dupe-pair__score {
    font-weight: 600;
    color: #192B45;
    font-size: .875rem;
}

.vetting-dupe-clear-confirm {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    padding: .75rem 1rem;
    margin-bottom: 1.25rem;
    background: #fff8f7;
    border: 1px solid #fecaca;
    border-radius: 6px;
    font-size: .875rem;
    color: #5c6475;
}

.vetting-dupe-tabs {
    display: flex;
    gap: .5rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid #eef2f7;
}

.vetting-dupe-tab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: .6rem .25rem;
    margin-bottom: -1px;
    font-size: .9rem;
    font-weight: 600;
    color: #8c9aaa;
    cursor: pointer;
}
.vetting-dupe-tab.is-active {
    color: #192B45;
    border-bottom-color: #192B45;
}

.vetting-dupe-tab__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 .4rem;
    margin-left: .4rem;
    border-radius: 999px;
    background: #eef2f7;
    color: #5c6475;
    font-size: .72rem;
    font-weight: 700;
}
.vetting-dupe-tab.is-active .vetting-dupe-tab__count {
    background: #192B45;
    color: #fff;
}

.vetting-card__name--dupe {
    font-size: 0.65rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .1rem;
}

/* The global ".h3, .h3 *, h3, h3 *" rule (hero-heading reset) directly sets
   font-size on every descendant of any <h3>, which beats plain inheritance
   from the rule above — the plain-text advertiser-name <a> has no class of
   its own to out-specificity it, so it needs its own explicit override. */
.vetting-card__name--dupe a {
    font-size: inherit;
    font-weight: inherit;
}

.vetting-card-toggle {
    background: none;
    border: none;
    color: #8c9aaa;
    font-size: .8rem;
    padding: 0 .5rem 0 0;
    cursor: pointer;
    line-height: 1;
}
.vetting-card-toggle i {
    font-size: inherit;
    display: inline-block;
    transition: transform 0.15s ease;
}
.vetting-card-toggle.is-expanded i {
    transform: rotate(90deg);
}

/* ==========================================================================
   HERO BANNER REDESIGN — DESKTOP TEXT PANEL (content-hero-slider.php), ≥992px only
   ========================================================================== */

.rdx-hero-slide__text,
.rdx-hero-slide__divider {
    display: none;
}

@media (min-width: 992px) {

    .rdx-hero-slider {
        height: 540px;
    }

    /* Photo is pinned to the right ~56% below, not full-bleed — this just blends that seam. */
    .rdx-hero-dim {
        background: linear-gradient(
            90deg,
            rgba(0, 0, 0, 1) 0%,
            rgba(0, 0, 0, 1) 44%,
            rgba(0, 0, 0, 0) 54%
        );
    }

    .rdx-hero-slide__bg {
        position: absolute;
        top: 0;
        right: 0;
        width: 56%;
        height: 100%;
    }

    /* Stretch .container-xxl to the full slider height so its own box (not the
       full-bleed overlay) is what .rdx-hero-search below anchors its position to. */
    .rdx-hero-content-overlay {
        align-items: stretch;
    }

    /* .container-xxl (the direct child here) keeps Bootstrap's own centering/gutter
       untouched, so it lines up with every other section's container-xxl below it.
       position:relative + flex re-centering makes it the positioning anchor for
       .rdx-hero-search (see below) instead of the full-bleed overlay. */
    .rdx-hero-content-overlay > .container-xxl {
        position: relative;
        display: flex;
        align-items: center;
    }

    .rdx-hero-content {
        text-align: left;
        max-width: 36%;
    }

    .rdx-hero-slide__title,
    .rdx-hero-slide__subtitle {
        text-align: left;
    }

    .rdx-hero-slide__divider {
        display: block;
        width: 64px;
        margin: 1rem 0;
        border-top-color: rgba(255, 255, 255, .5);
    }

    .rdx-hero-slide__text {
        display: block;
        color: #fff;
        font-family: var(--rdx-font-base);
        font-size: 1rem;
        line-height: 1.6;
        text-align: left;
        max-width: 460px;
        margin: 0 0 1.5rem;
        text-shadow: 0 2px 8px rgba(0, 0, 0, .4);
    }
}

/* ==========================================================================
   HERO BANNER REDESIGN — SEARCH PILLS (content-hero-slider.php)
   ========================================================================== */

.rdx-hero-search__advanced {
    display: none;
}

@media (min-width: 992px) {

    .rdx-hero-search__tagline {
        display: none;
    }

    /* Shared scrim panel — anchored to the hero's bottom edge, fading to transparent going up.
       bottom: -2.5rem cancels out .rdx-hero-content-overlay's own padding so this actually
       touches the hero's bottom edge instead of stopping at the padded content box. */
    .rdx-hero-search {
        position: absolute;
        right: 0;
        bottom: -2.5rem;
        width: 280px;
        margin-top: 0;
        display: flex;
        flex-direction: column;
        gap: .5rem;
        padding: 3rem .75rem 2rem;
        border-radius: 20px 20px 0 0;
        background: linear-gradient(to top, rgba(0, 0, 0, .75) 0%, rgba(0, 0, 0, 0) 100%);
    }

    .rdx-hero-search__trigger {
        flex-direction: row-reverse;
        border-radius: 999px;
        border: 2px solid rgba(255, 255, 255, .6);
        background: rgba(0, 0, 0, .25);
        color: #fff;
        padding: .6rem 1.1rem;
        font-weight: 700;
    }

    .rdx-hero-search__trigger:hover {
        background: rgba(0, 0, 0, .4);
    }

    .rdx-hero-search__trigger i {
        color: #fff;
    }

    .rdx-hero-search__trigger span {
        text-align: center;
    }

    .rdx-hero-search__advanced {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        gap: .65rem;
        width: 100%;
        border: 2px solid rgba(255, 255, 255, .6);
        border-radius: 999px;
        background: rgba(0, 0, 0, .25);
        color: #fff;
        padding: .6rem 1.1rem;
        font-size: .95rem;
        font-weight: 700;
        text-decoration: none;
        cursor: pointer;
        transition: background-color .2s;
    }

    .rdx-hero-search__advanced:hover {
        background: rgba(0, 0, 0, .4);
        color: #fff;
    }

    .rdx-hero-search__advanced i {
        color: #fff;
        font-size: 1rem;
        flex: 0 0 auto;
    }

    .rdx-hero-search__advanced span {
        flex: 1 1 auto;
        text-align: center;
    }
}

/* Same SVGs as the location popup — filter:invert since they're drawn in black. */
.rdx-hero-search__icon {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    filter: invert(1);
}

/* ==========================================================================
   HERO BANNER REDESIGN — MOBILE (content-hero-slider.php), ≤991.98px
   ========================================================================== */

@media (max-width: 991.98px) {

    .rdx-hero-slider {
        height: auto;
        background-color: #000;
    }

    .rdx-hero-slide,
    .rdx-hero-slider .swiper {
        height: 58svh;
    }

    /* Extends past the photo zone so its layer edge falls below all text content. */
    .rdx-hero-dim {
        top: 0;
        right: 0;
        left: 0;
        bottom: auto;
        height: 100svh;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 26svh, rgba(0, 0, 0, 1) 51svh);
    }

    /* position:relative (not static) so this paints above .rdx-hero-dim. */
    .rdx-hero-content-overlay {
        position: relative;
        display: block;
        padding: 1.5rem 0 3rem;
        margin-top: calc(-7svh - 6.85rem);
    }

    .rdx-hero-content,
    .rdx-hero-slide__title,
    .rdx-hero-slide__subtitle {
        text-align: left;
    }

    .rdx-hero-slide__title,
    .rdx-hero-slide__subtitle {
        line-height: 1.4;
    }

    .rdx-hero-slide__divider {
        display: block;
        width: 80px;
        margin: .75rem 0 1rem;
        border-top-color: rgba(255, 255, 255, .5);
    }

    .rdx-hero-slide__text {
        display: block;
        color: #fff;
        font-family: var(--rdx-font-base);
        font-size: .95rem;
        line-height: 1.6;
        text-align: left;
        margin: 0 0 1rem;
        text-shadow: 0 2px 8px rgba(0, 0, 0, .4);
    }

    .rdx-hero-search {
        width: 45%;
        margin: -1.5rem 0 1rem auto;
        display: flex;
        flex-direction: column;
        gap: .4rem;
    }

    .rdx-hero-search__tagline {
        display: none;
    }

    .rdx-hero-search__trigger,
    .rdx-hero-search__advanced {
        position: relative;
        border: 3px solid var(--rdx-light-blue);
        border-radius: 12px;
        background: rgba(0, 0, 0, .4);
        color: #fff;
        padding: .45rem .6rem;
        font-size: .85rem;
    }

    .rdx-hero-search__advanced {
        display: flex;
        align-items: center;
        width: 100%;
        text-decoration: none;
    }

    /* Icon pinned to the left, out of flow — span below is padded clear of it. */
    .rdx-hero-search__icon {
        position: absolute;
        left: .6rem;
        top: 50%;
        transform: translateY(-50%);
        width: 18px;
        height: 18px;
    }

    .rdx-hero-search__trigger span,
    .rdx-hero-search__advanced span {
        display: block;
        width: 100%;
        padding-left: 2rem;
        text-align: left;
        white-space: nowrap;
    }
}

/* =============================================================================
   Advanced Search page (page-advanced-search.php)
   ============================================================================= */

.rdx-adv-search {
    padding: 3rem 0;
    color: var( --rdx-white );
}

.rdx-adv-search__name-form {
    max-width: 40rem;
    margin: 0 auto 1.5rem;
    text-align: center;
}

.rdx-adv-search__name-title {
    margin-bottom: 1.5rem;
}

.rdx-adv-search__name-label {
    display: block;
    text-align: left;
    font-size: 0.9rem;
    font-weight: 600;
    color: var( --rdx-white );
    margin-bottom: 0.5rem;
}

.rdx-adv-search__name-row {
    display: flex;
    gap: 0.75rem;
}

.rdx-adv-search__name-input-wrap {
    position: relative;
    flex: 1 1 auto;
}

.rdx-adv-search__name-input {
    width: 100%;
    padding: 0.85rem 2.75rem 0.85rem 1rem;
    border-radius: var( --rdx-radius );
    border: 1px solid rgba( 255, 255, 255, 0.15 );
    background: rgba( 255, 255, 255, 0.04 );
    color: var( --rdx-white );
}

.rdx-adv-search__name-input::placeholder {
    color: rgba( 255, 255, 255, 0.45 );
}

.rdx-adv-search__name-icon {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY( -50% );
    color: rgba( 255, 255, 255, 0.45 );
    pointer-events: none;
}

.rdx-adv-search__name-submit {
    flex: 0 0 auto;
    min-width: 8rem;
}

.rdx-adv-search__divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    max-width: 40rem;
    margin: 0 auto 1.5rem;
}

.rdx-adv-search__divider-line {
    flex: 1 1 auto;
    height: 1px;
    background: var( --rdx-border );
}

.rdx-adv-search__divider-label {
    font-size: var( --rdx-font-size-sm );
    opacity: 0.7;
}

.rdx-adv-search__title {
    text-align: center;
    margin-bottom: 1.5rem;
}

.rdx-adv-search__form {
    max-width: 40rem;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.rdx-adv-search__toggles-row {
    display: flex;
    justify-content: center;
    gap: 2.5rem;
    margin-bottom: 2rem;
}

.rdx-adv-search__toggle-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.rdx-adv-search__range-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}

.rdx-adv-search__range-item {
    display: flex;
    flex-direction: column;
}

.rdx-adv-search__range-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var( --rdx-white );
    margin-bottom: 0.75rem;
}

.rdx-adv-search__range-flank {
    display: flex;
    justify-content: flex-start;
    font-size: var( --rdx-font-size-sm );
    color: var( --rdx-light-blue );
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.rdx-adv-search__range-flank--end {
    justify-content: flex-end;
    margin-bottom: 0;
    margin-top: 0.5rem;
}

.rdx-adv-search__list {
    border: 1px solid rgba( 255, 255, 255, 0.1 );
    border-radius: var( --rdx-radius );
    overflow: hidden;
    background: #1c1c1c;
    margin-bottom: 1.5rem;
}

.rdx-adv-search__list > * {
    border-bottom: 1px solid rgba( 255, 255, 255, 0.1 );
}

.rdx-adv-search__list > *:last-child {
    border-bottom: none;
}

.rdx-adv-search__list-accordion .accordion-item {
    border: none;
    border-radius: 0;
    background: transparent;
}

.rdx-adv-search__list-accordion .accordion-button {
    background: transparent;
    color: var( --rdx-white );
    font-weight: 600;
    font-size: 0.95rem;
    padding: 1rem 1.25rem;
    box-shadow: none;
    transition: background var( --rdx-transition-fast );
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}

.rdx-adv-search__list-accordion .accordion-button:hover {
    background: rgba( 255, 255, 255, 0.04 );
}

.rdx-adv-search__list-accordion .accordion-button:not(.collapsed) {
    background: rgba( 255, 255, 255, 0.04 );
    color: var( --rdx-white );
    box-shadow: none;
}

.rdx-adv-search__list-accordion .accordion-button:focus {
    box-shadow: none;
}

.rdx-adv-search__list-accordion .accordion-collapse {
    background: transparent;
}

.rdx-adv-search__list-accordion .accordion-body {
    padding: 0 1.25rem 1.25rem;
}

.rdx-adv-search__list-row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: transparent;
    border: none;
    color: var( --rdx-white );
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background var( --rdx-transition-fast );
}

.rdx-adv-search__list-row:hover {
    background: rgba( 255, 255, 255, 0.04 );
}

.rdx-adv-search__list-row i {
    color: rgba( 255, 255, 255, 0.4 );
    font-size: 0.8rem;
}

.rdx-adv-search__back-btn {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: transparent;
    border: none;
    color: var( --rdx-white );
    font-weight: 600;
    font-size: 1rem;
    padding: 0;
    margin-bottom: 1.25rem;
    cursor: pointer;
}

.rdx-adv-search__back-btn:hover {
    color: rgba( 255, 255, 255, 0.75 );
}

/* Wizard panel-switch: only .panel.active is shown, others slide out of flow. */
.rdx-adv-search .panel {
    display: none;
}

.rdx-adv-search .panel.active {
    display: block;
    animation: rdx-adv-panel-in var( --rdx-transition-base );
}

@keyframes rdx-adv-panel-in {
    from { opacity: 0; transform: translateX( 12px ); }
    to   { opacity: 1; transform: translateX( 0 ); }
}

.rdx-adv-search__accordion-country {
    font-size: var( --rdx-font-size-xs );
    opacity: 0.6;
    margin-left: 0.35rem;
}

.rdx-adv-search__checkbox-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6rem 0.25rem;
    border-bottom: 1px solid rgba( 255, 255, 255, 0.08 );
    color: var( --rdx-white );
    cursor: pointer;
}

.rdx-adv-search__checkbox-row:last-child {
    border-bottom: none;
}

/* Experiences panel — checkbox rows sit directly in the list (no accordion
   wrapper, since there's only one flat taxonomy), so they need the same
   horizontal padding the list-accordion buttons get from their own rule. */
.rdx-adv-search__list--rows .rdx-adv-search__checkbox-row {
    padding: 0.85rem 1.25rem;
    margin: 0;
}

.rdx-adv-search__actions {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.rdx-adv-search__actions .rdx-filter-drawer__reset,
.rdx-adv-search__actions .rdx-filter-drawer__submit {
    width: 100%;
}

@media (max-width: 767.98px) {
    .rdx-adv-search__range-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .rdx-adv-search__toggles-row {
        gap: 1.5rem;
    }

}

/* ==== Locations sitemap (/locations/) ==== */

.rdx-locations-intro {
    opacity: .8;
    margin-bottom: 8px;
}

.rdx-locations-sitemap {
    padding-bottom: 48px;
}

.rdx-locations-country {
    padding: 24px 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.rdx-locations-country:first-child {
    border-top: none;
}

.rdx-locations-country__title {
    margin: 0 0 16px;
}

.rdx-locations-country__title a {
    color: #fff;
    text-decoration: none;
}

.rdx-locations-country__title a:hover {
    text-decoration: underline;
}

.rdx-locations-country__regions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 24px;
}

.rdx-locations-masonry-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1 1 260px;
    min-width: 260px;
    max-width: 320px;
}

.rdx-locations-region {
    flex: 0 0 auto;
    min-width: 260px;
    max-width: 320px;
}

.rdx-locations-region__title {
    font-size: 1rem;
    margin: 0 0 8px;
}

.rdx-locations-region__title a {
    color: #fff;
    opacity: .9;
    text-decoration: none;
}

.rdx-locations-region__title a:hover {
    text-decoration: underline;
}

.rdx-locations-region__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rdx-locations-region__list a {
    color: #fff;
    opacity: .7;
    font-size: .9rem;
    text-decoration: none;
}

.rdx-locations-region__list a:hover {
    opacity: 1;
    text-decoration: underline;
}

/* ==========================================================================
   Content blocks — divider, shortcode, statistic, summary, icon-description,
   inline-video. Used by their matching template-parts/blocks/content-*.php.
   ========================================================================== */

.rdx-divider--light-gray { border-top-color: var(--rdx-platinum); }

.shortcode-snippet.text-center { text-align: center; }
.shortcode-snippet.text-end    { text-align: right; }

.statistic {
    display: flex;
    align-items: baseline;
    gap: .75rem;
    flex-wrap: wrap;
}

.statistic__figure {
    font-family: Carla, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--rdx-light-blue);
    line-height: 1;
}

.statistic__label {
    font-size: 1.125rem;
    color: var(--rdx-secondary);
}

.summary {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.summary__image {
    width: 100%;
    border-radius: var(--rdx-radius);
    object-fit: cover;
}

.summary__title {
    font-family: Carla, sans-serif;
    font-size: 1.25rem;
    margin: 0;
}

.summary__subtitle {
    color: var(--rdx-tertiary);
    margin: 0;
}

.icon-description {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.icon-description__icon {
    width: 48px;
    height: 48px;
    object-fit: contain;
    flex-shrink: 0;
}

.icon-description__title {
    font-family: Carla, sans-serif;
    font-size: 1.125rem;
    margin: 0 0 .25rem;
}

.icon-description__text {
    color: var(--rdx-tertiary);
}

.icon-description__text p:last-child { margin-bottom: 0; }

.rdx-inline-video__media {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--rdx-radius);
}

.rdx-inline-video__wrapper {
    overflow: hidden;
    border-radius: var(--rdx-radius);
}

.rdx-inline-video__wrapper:not(.ratio) {
    position: relative;
    aspect-ratio: 16 / 9;
}

.rdx-inline-video__wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.rdx-inline-video__wrapper:not(.ratio) iframe {
    position: absolute;
    inset: 0;
}

/* =============================================================================
   Password strength meter
   ============================================================================= */

.rdx-pw-strength { margin-top: 0.5rem; grid-column: 1 / -1; }

.rdx-pw-strength__bar {
    height: 5px;
    border-radius: 3px;
    background: #e6e6e6;
    overflow: hidden;
}

.rdx-pw-strength__fill {
    display: block;
    height: 100%;
    width: 0%;
    border-radius: 3px;
    background: var(--rdx-danger);
    transition: width 0.15s ease, background-color 0.15s ease;
}

.rdx-pw-strength__fill--weak   { background: var(--rdx-danger); }
.rdx-pw-strength__fill--fair   { background: var(--rdx-warning); }
.rdx-pw-strength__fill--good   { background: #8bc34a; }
.rdx-pw-strength__fill--strong { background: var(--rdx-success); }

.rdx-pw-strength__label {
    font-size: 0.78rem;
    font-weight: 600;
    margin-top: 0.3rem;
    min-height: 1.1em;
    color: rgba(28,28,29,.65);
}

.rdx-pw-strength__checklist {
    list-style: none;
    margin: 0.4rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.2rem 0.75rem;
}

.rdx-pw-strength__item {
    font-size: 0.78rem;
    color: rgba(28,28,29,.55);
    padding-left: 1.2rem;
    position: relative;
}

.rdx-pw-strength__item::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0.15em;
    width: 0.75rem;
    height: 0.75rem;
    background-color: var(--rdx-danger);
    -webkit-mask-image: url('../assets/images/close-icon.svg');
    mask-image: url('../assets/images/close-icon.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.rdx-pw-strength__item.is-met {
    color: rgba(28,28,29,.85);
}

.rdx-pw-strength__item.is-met::before {
    background-color: var(--rdx-success);
    -webkit-mask-image: url('../assets/images/checkmark-icon.svg');
    mask-image: url('../assets/images/checkmark-icon.svg');
}

/* Narrower popup context — force 2 columns instead of auto-fit's single column */
#change-password-popup .rdx-pw-strength__checklist {
    grid-template-columns: repeat(2, 1fr);
}

/* Off-screen decoy fields that absorb the browser's saved-password suggestions
   so they don't get offered on the real "new password" field right after them. */
.rdx-autofill-decoy {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

/* ==========================================================================
   Services sitemap — /services/ page (category > service tree). Masonry
   packing for the category columns is JS, see dist/main.js
   (.rdx-services-sitemap__categories).
   ========================================================================== */

.rdx-services-sitemap {
    padding-bottom: 48px;
}

.rdx-services-sitemap__categories {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 24px;
}

.rdx-services-masonry-col {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex: 1 1 260px;
    min-width: 260px;
    max-width: 320px;
}

.rdx-services-category {
    flex: 0 0 auto;
    min-width: 260px;
    max-width: 320px;
}

.rdx-services-category__title {
    font-size: 1.1rem;
    margin: 0 0 8px;
}

.rdx-services-category__title a {
    color: #fff;
    text-decoration: none;
}

.rdx-services-category__title a:hover {
    text-decoration: underline;
}

.rdx-services-category__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rdx-services-category__list a {
    color: #fff;
    opacity: .7;
    font-size: .9rem;
    text-decoration: none;
}

.rdx-services-category__list a:hover {
    opacity: 1;
    text-decoration: underline;
}

/* ==========================================================================
   Availability — Available Now panel (dark card, matches profile toggle)
   ========================================================================== */
.avail-now-panel {
    background: linear-gradient(135deg, var(--rdx-light-blue) 0%, var(--rdx-secondary) 100%);
    border-radius: var(--rdx-radius-lg);
    padding: 1.5rem 1.75rem;
}
.avail-now-panel .rdx-form-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border-bottom: 1px solid rgba(255,255,255,.18);
    padding-bottom: 1.25rem;
}
.avail-now-panel .form-label {
    color: var(--rdx-white);
    font-size: 1.15rem;
    font-weight: 700;
    padding-top: 0;
}
.avail-now-panel .rdx-form-row .form-label .form-label__hint {
    color: rgba(255,255,255,.8);
    margin-top: 0.4rem;
}
.avail-now-panel .form-switch-lg .form-check-input {
    width: 3.25rem;
    height: 1.75rem;
    background-color: rgba(255,255,255,.25);
    border-color: rgba(255,255,255,.4);
}
.avail-now-panel .form-switch-lg .form-check-input:checked {
    background-color: var(--rdx-success);
    border-color: var(--rdx-success);
}

/* ==========================================================================
   Dashboard homepage — Your Public Profile card, Available Now panel
   ========================================================================== */
.rdx-ov-avail-panel {
    background: linear-gradient(135deg, var(--rdx-light-blue) 0%, var(--rdx-secondary) 100%);
    border-radius: var(--rdx-radius-lg);
    padding: 1.1rem 1.25rem;
    margin-bottom: 1rem;
}
.rdx-ov-avail-panel .rdx-ov-avail-row {
    margin-bottom: 0.5rem;
}
.rdx-ov-avail-panel .rdx-ov-avail-label {
    color: var(--rdx-white);
    font-size: 1rem;
}
.rdx-ov-avail-panel .rdx-ov-avail-status {
    color: rgba(255,255,255,.8);
    margin: 0;
}
.rdx-ov-avail-panel .form-switch-lg .form-check-input {
    background-color: rgba(255,255,255,.25);
    border-color: rgba(255,255,255,.4);
}
.rdx-ov-avail-panel .form-switch-lg .form-check-input:checked {
    background-color: var(--rdx-success);
    border-color: var(--rdx-success);
}

/* ---- Overview card action buttons: blueish tint to match Quick Actions ---- */

.rdx-ov-card .btn-outline-secondary {
    background-color: rgba(59, 95, 147, 0.08);
    border-color: rgba(59, 95, 147, 0.25);
    color: var(--rdx-light-blue);
}

.rdx-ov-card .btn-outline-secondary:hover,
.rdx-ov-card .btn-outline-secondary:focus-visible {
    background-color: rgba(59, 95, 147, 0.18);
    border-color: rgba(59, 95, 147, 0.4);
    color: var(--rdx-light-blue);
}

/* ---- Quick-links list items: same blueish tint, as individual pills ---- */

.rdx-ov-linklist {
    gap: 0.625rem;
}

.rdx-ov-linklist__item {
    padding: 0.875rem 1rem;
    background-color: rgba(59, 95, 147, 0.08);
    border-radius: var(--rdx-radius);
    border-bottom: none;
    transition: background-color var(--rdx-transition-fast);
}

.rdx-ov-linklist__item:first-child,
.rdx-ov-linklist__item:last-child {
    padding: 0.875rem 1rem;
}

.rdx-ov-linklist__item:hover {
    background-color: rgba(59, 95, 147, 0.18);
}

.rdx-ov-linklist__icon {
    background-color: var(--rdx-white);
}

/* Main gallery: dropzone now sits above the image grid, needs its own bottom gap */
.gallery-dropzone + #main-gallery-grid { margin-top: 20px; }

/* Add/Edit Experience: custom heading/subheading fields (shown only when Experience Type = Custom) */
.rdx-exp-custom-fields { display: block; }
.rdx-exp-custom-fields .rdx-form-row:last-child { border-bottom: 1px solid var(--rdx-tertiary); }
#rdx-exp-custom-fields-row .rdx-rate-field-error {
    position: static;
    display: block;
    margin-top: 0.35rem;
}

/* "What's Missing" popup — Missing / Fix in table */
.rdx-missing-table {
    width: 100%;
    border-collapse: collapse;
}
.rdx-missing-table th {
    text-align: left;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(28,29,29,.55);
    padding: 0 0 0.5rem;
    border-bottom: 1px solid rgba(0,0,0,.15);
}
.rdx-missing-table th:last-child { text-align: right; }
.rdx-missing-table td {
    padding: 0.6rem 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
    vertical-align: top;
}
.rdx-missing-table td:last-child { text-align: right; padding-left: 0.75rem; white-space: nowrap; }
.rdx-missing-table__label { display: block; font-weight: 600; color: #1c1d1d; }
.rdx-missing-table__sublabel { display: block; font-size: 0.8rem; color: rgba(28,29,29,.6); margin-top: 0.15rem; }
.rdx-missing-table td a { color: #192b45; font-weight: 600; text-decoration: underline; }
.rdx-missing-table td a:hover { color: #000; }

/* ==== Contact icons — no hover on touch, so swap per-icon hints for one static instruction line ==== */
@media (max-width: 991.98px) {
    .rdx-contact-reveal__hint { display: none; }
    .rdx-contact-reveal__mobile-hint { display: block; }
}

/* ==== Vetting panel — Social Media Promotion table ==== */
.vetting-social-promotion-table {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}
.vetting-social-promotion-table th { white-space: nowrap; }

/* ==== Vetting panel — Announcements table ==== */
.vetting-announcements-table {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}
.vetting-announcements-table th { white-space: nowrap; }

.vetting-announcements-table__handle {
    width: 1%;
    cursor: grab;
    color: rgba(28, 28, 29, .35);
    text-align: center !important;
}
.vetting-announcements-table__handle:active { cursor: grabbing; }
.vetting-announcements-table tr.sortable-ghost { opacity: 0.4; }

/* Below 768px each row becomes a card: Title gets its own line, Button/Status/
   actions wrap onto one compact line together underneath. Dragging isn't a
   great fit for the stacked-card layout, so the handle just isn't shown. */
@media (max-width: 767.98px) {
    .vetting-announcements-table__handle { display: none; }
    .vetting-announcements-table thead { display: none; }
    .vetting-announcements-table,
    .vetting-announcements-table tbody {
        display: block;
        width: 100%;
    }
    .vetting-announcements-table tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem 0.75rem;
        padding: 0.75rem 0.85rem;
        margin-bottom: 1rem;
        border: 1px solid #e2e8f0;
        border-radius: 8px;
    }
    .vetting-announcements-table tr:last-child { margin-bottom: 0; }
    .vetting-announcements-table td {
        display: block;
        border: none;
        padding: 0;
        text-align: left !important;
    }
    .vetting-announcements-table__title {
        flex: 0 0 100%;
        font-weight: 600;
    }
    .vetting-announcements-table td:last-child {
        margin-left: auto;
    }
    .vetting-announcements-table td[data-label]::before {
        content: attr(data-label);
        display: block;
        font-size: 0.65rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        color: rgba(28, 28, 29, .5);
        margin-bottom: 0.2rem;
    }
}

/* Online-status dot — profile card */
.online-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    margin-left: 6px;
    vertical-align: middle;
    position: relative;
    top: -2px;
}

/* ============================================================
   Locked mini-editor (pending blacklist review)
   ============================================================ */

.rdx-mini-editor--locked .rdx-mini-editor__body { background: #f8f9fb; color: #6b7280; cursor: not-allowed; }
.rdx-mini-editor--locked .rdx-mini-editor__toolbar { opacity: 0.5; pointer-events: none; }
.rdx-pending-badge__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.rdx-keep-editing {
    all: unset;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 5px 14px;
    border: 1px solid #fff;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    color: #1c1c1d;
    background: #fff;
    transition: background-color 150ms ease, color 150ms ease;
}
.rdx-keep-editing:hover { background: rgba(255,255,255,.85); }

/* ============================================================
   Live blacklist checker — banner, overlay, flagged input
   ============================================================ */

.rdx-live-blacklist-banner {
    /* For plain inputs the banner is appended as a direct child of the
       50%/1fr .rdx-form-row grid (Group A rows are already single-column
       via :has(.rdx-mini-editor), so this is a no-op harmless override
       there) — span both columns instead of landing in just the first. */
    grid-column: 1 / -1;
    margin-top: 6px;
    padding: 6px 10px;
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 4px;
    font-size: 0.8rem;
    color: #664d03;
}

.rdx-flagged-input { border-color: var(--rdx-danger) !important; }

.rdx-mini-editor { position: relative; }
.rdx-mini-editor__overlay {
    /* top/left/width/height are set in JS from editorBody's measured offsets —
       the toolbar's rendered height isn't a fixed value across fonts/rounding,
       so pinning position here would drift out of alignment. */
    position: absolute;
    box-sizing: border-box;
    padding: 10px 12px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: transparent;
    pointer-events: none;
    overflow: hidden;
    white-space: normal;
    word-wrap: break-word;
}
.rdx-mini-editor__overlay mark.rdx-flagged-word {
    background: rgba(220, 53, 69, 0.35);
    color: transparent;
    border-radius: 2px;
}

/* Mobile: Keep editing / Cancel pills drop onto their own row below the
   message text instead of squeezing into the same row as the icon + text. */
@media (max-width: 767.98px) {
    .rdx-pending-badge--flagged { flex-wrap: wrap; }
    .rdx-pending-badge--flagged .rdx-pending-badge__actions { flex: 1 1 100%; }
}
