/* BAVEO best-of slider, map pins/legend, gender switch, reduced-motion, leftover gate styles. */
.gate-card select{min-height:48px;border:1px solid var(--color-border-strong);border-radius:12px;padding:0 12px;background:#fff;}.gender-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.gender-pick button{min-height:56px;border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;}.gender-pick button.is-on{border-color:var(--color-primary);background:var(--color-surface-lavender);color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent);}.section-best{background:var(--color-surface);padding-top:24px;}.best-slider{position:relative;}.best-viewport{overflow:hidden;border-radius:24px;direction:ltr;}.best-rail{display:flex;transition:transform 0.55s cubic-bezier(0.22,1,0.36,1);will-change:transform;}.best-card{flex:0 0 100%;display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:0;background:var(--color-surface-soft);min-height:240px;direction:rtl;}.best-card .frame-portrait{min-height:240px;height:100%;aspect-ratio:auto;}.best-copy{padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}.best-copy h3{font-size:1.35rem;}.best-meta{color:var(--color-text-muted);font-size:0.9rem;margin:8px 0 16px;}.best-nav{position:absolute;top:50%;z-index:2;width:44px;height:44px;border:0;border-radius:12px;background:#fff;color:var(--color-text);box-shadow:var(--shadow-sm);transform:translateY(-50%);}.best-nav.is-prev{right:10px;}.best-nav.is-next{left:10px;}.best-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;}.best-dots button{width:8px;height:8px;border-radius:99px;border:0;background:var(--color-border-strong);padding:0;transition:width 200ms var(--ease),background 200ms var(--ease);}.best-dots button.is-on{width:22px;background:var(--color-primary);}.map-wrap{position:relative;border-radius:28px;overflow:hidden;min-height:440px;border:1px solid var(--color-border);background:var(--color-surface-soft);}.leaflet-host{height:440px;width:100%;direction:ltr;}.leaflet-popup-content{font-family:var(--font);direction:rtl;text-align:right;}.map-fallback{height:440px;display:grid;place-items:center;color:var(--color-text-muted);padding:24px;text-align:center;}.map-user-icon,.map-salon-icon{background:none;border:0;}.map-user-dot,.map-pin{display:block;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #fff;}.map-user-dot{width:14px;height:14px;background:var(--color-ink);box-shadow:0 0 0 5px color-mix(in srgb,var(--color-ink) 20%,transparent);}.map-salon-icon.is-free .map-pin{background:var(--color-success);}.map-salon-icon.is-busy .map-pin{background:#9aa3b2;}.map-salon-icon.is-on .map-pin{outline:3px solid var(--color-primary);outline-offset:2px;}.map-pop{font-family:var(--font);direction:rtl;text-align:right;display:grid;gap:2px;min-width:120px;}.map-pop b{font-size:0.85rem;}.map-pop span{display:block;font-size:0.75rem;color:var(--color-text-muted);}.leaflet-popup-content-wrapper,.leaflet-popup-content,.leaflet-container,.leaflet-control{font-family:var(--font) !important;}.leaflet-popup-content{margin:10px 12px;direction:rtl;text-align:right;}.map-legend{display:flex;gap:14px;padding:10px 14px;font-size:0.78rem;color:var(--color-text-muted);background:#fff;}.map-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px;}.dot.me{background:var(--color-ink);}.dot.free{background:var(--color-success);}.dot.busy{background:#8a8494;}.chip-wrap{display:flex;flex-wrap:wrap;gap:8px;}.geo-status{font-size:0.82rem;color:var(--color-text-muted);margin:0;}.gate-brand,.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:8px;}.gate-brand img,.auth-brand img{width:48px;height:48px;padding:0;box-sizing:border-box;border-radius:14px;background:var(--color-primary);object-fit:contain;transition:background-color 320ms var(--ease);}.gate-brand strong,.auth-brand strong{display:block;font-size:1.1rem;}.gate-brand small,.auth-brand span{letter-spacing:0.16em;font-size:0.72rem;color:var(--color-text-muted);}.auth-title{margin:12px 0 16px;}.sheet-root .drawer-panel{position:absolute;top:0;right:0;height:100%;z-index:2;animation:sheet-in 280ms var(--ease);}.baveo-app{transition:background-color 320ms var(--ease),color 320ms var(--ease);}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}.reveal,.reveal.is-in,.provider-card,.cat-card,.folio-card img,.btn-baveo,.sheet,.best-card{transition:none !important;transform:none !important;filter:none !important;opacity:1 !important;animation:none !important;}}.footer-link{background:none;border:0;color:inherit;padding:0;font:inherit;cursor:pointer;}
/* Spacing helpers used by the nearby intro (was inline style on the homepage). */
.nearby-intro{margin-bottom:16px;}
.locate-me{margin-bottom:20px;}
/* Original B mark on the theme square: purple for women, blue for men. */
.brand-mark{width:44px;height:44px;padding:0;border-radius:12px;background:var(--color-primary);overflow:hidden;display:grid;place-items:center;flex-shrink:0;box-sizing:border-box;transition:background-color 320ms var(--ease);}
.brand-mark img{width:44px;height:44px;max-width:none;object-fit:contain;object-position:center;border-radius:0;}

/* Search city/area menus must paint above the following homepage section. */
.hero{overflow:visible;z-index:4;}
.hero-grid>:first-child{position:relative;z-index:2;}
.hero-visual{z-index:0;}
.search-field.is-open{z-index:50;}
.search-menu{z-index:60;}

/* Keep hero glows inside the box; glass blur on a layer so search menus are not clipped. */
.hero::before{inset-inline-end:0;top:0;}
.hero::after{inset-inline-start:0;bottom:0;}
.search-shell{position:relative;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none;}
.search-shell::before{content:"";position:absolute;inset:0;border-radius:inherit;backdrop-filter:saturate(1.2) blur(18px);-webkit-backdrop-filter:saturate(1.2) blur(18px);pointer-events:none;z-index:-1;}
.search-shell:has(.is-open){z-index:30;}
.search-field,.search-submit{position:relative;z-index:1;}
.search-field.is-open{z-index:50;}
.best-viewport{width:100%;max-width:100%;}
.best-card{min-width:0;max-width:100%;}
.join-visual{width:100%;overflow:hidden;}
.join-visual img,.join-visual.frame>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 18%;}
.search-shell::before{z-index:-1;}
html{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
button,input,select,textarea{font-size:16px;}

.star-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;direction:ltr;justify-content:flex-start;}
.star-row label{position:relative;display:inline-grid;place-items:center;min-width:44px;min-height:44px;font-size:2rem;line-height:1;color:#d5c9e0;cursor:pointer;transition:color 140ms ease;}
.star-row label:hover,.star-row label.is-on{color:#f4b000;}
.star-row:hover label{color:#d5c9e0;}
.star-row:has(label:nth-child(1):hover) label:nth-child(1),
.star-row:has(label:nth-child(2):hover) label:nth-child(-n+2),
.star-row:has(label:nth-child(3):hover) label:nth-child(-n+3),
.star-row:has(label:nth-child(4):hover) label:nth-child(-n+4),
.star-row:has(label:nth-child(5):hover) label:nth-child(-n+5),
.star-row:has(label:nth-child(1) input:checked) label:nth-child(1),
.star-row:has(label:nth-child(2) input:checked) label:nth-child(-n+2),
.star-row:has(label:nth-child(3) input:checked) label:nth-child(-n+3),
.star-row:has(label:nth-child(4) input:checked) label:nth-child(-n+4),
.star-row:has(label:nth-child(5) input:checked) label:nth-child(-n+5){color:#f4b000;}
.star-row input[type="radio"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;appearance:none;-webkit-appearance:none;box-shadow:none;border:0;}
.star-row input[type="radio"]::after{display:none;}
.baveo-feedback{display:grid;gap:16px;padding:28px 24px;margin-top:28px;border:1.5px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));border-radius:24px;background:#fff;box-shadow:var(--shadow-xs);}
.baveo-feedback h3{margin:0;font-size:1.12rem;}
.baveo-feedback label{display:grid;gap:8px;font-size:.88rem;font-weight:600;}
.baveo-feedback .star-row label{display:inline-grid;place-items:center;margin:0;}
.baveo-feedback input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=file]),
.baveo-feedback textarea{min-height:52px;width:100%;border:1.5px solid color-mix(in srgb,var(--color-primary) 22%,var(--color-border));border-radius:16px;padding:0 16px;background:#fff;font-size:1rem;color:var(--color-text);}
.baveo-feedback textarea{min-height:96px;padding:12px 16px;resize:vertical;}
.baveo-feedback input:focus,.baveo-feedback textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent);}
.review-grid{gap:24px;}
.provider-body{gap:10px;padding:34px 18px 20px;}
.section-head{margin-bottom:44px;}
.cat-row{gap:18px;}
.filter-chips{margin-bottom:32px;}

html,body{overflow-x:visible;}
html{scroll-padding-top:calc(var(--nav-h, 76px) + env(safe-area-inset-top));}
.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:60;padding-top:env(safe-area-inset-top);}
main,#main,.dash-main{overflow-x:clip;}
.float-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;}
.float-ico i,.search-ico i{display:grid;place-items:center;font-size:1.35rem;line-height:1;margin:0;width:1em;height:1em;text-align:center;}
.search-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;}
.twin-stars{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;flex-shrink:0;color:var(--color-primary);}
.twin-star{position:absolute;background:currentColor;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);}
.twin-star.is-a{width:9px;height:9px;animation:twin-orbit-a 6.8s linear infinite;}
.twin-star.is-b{width:6px;height:6px;opacity:.8;animation:twin-orbit-b 6.8s linear infinite;}
@keyframes twin-orbit-a{from{transform:rotate(0deg) translateX(5px) rotate(0deg);}to{transform:rotate(360deg) translateX(5px) rotate(-360deg);}}
@keyframes twin-orbit-b{from{transform:rotate(180deg) translateX(5px) rotate(-180deg);}to{transform:rotate(540deg) translateX(5px) rotate(-540deg);}}
@media (prefers-reduced-motion:reduce){
  .twin-star.is-a,.twin-star.is-b{animation:none;}
  .twin-star.is-a{transform:translate(-3px,-2px);}
  .twin-star.is-b{transform:translate(3px,2px);}
}
.star-row label:focus-within{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:10px;}
.hero-credit{margin:12px 8px 0;font-size:.85rem;}
.hero-credit a{display:grid;color:inherit;text-decoration:none;}
.hero-credit strong{display:block;}
.hero-credit span{color:var(--color-text-muted);}
.hero-frame img{object-fit:cover;}
.hero-slider{position:absolute;inset:0;overflow:hidden;touch-action:pan-x;}
.hero-rail{display:flex;height:100%;width:100%;transition:transform .45s cubic-bezier(.22,1,.36,1);will-change:transform;}
.hero-slide{flex:0 0 100%;margin:0;height:100%;}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block;}
.hero-nav{position:absolute;top:46%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border:0;border-radius:14px;background:rgba(255,255,255,.9);color:var(--color-ink);display:grid;place-items:center;box-shadow:var(--shadow-xs,0 8px 20px rgba(16,0,43,.12));}
.hero-nav.is-prev{right:12px;}
.hero-nav.is-next{left:12px;}
.hero-nav[hidden]{display:none;}
.hero-identity{position:absolute;inset-inline:0;bottom:0;z-index:2;padding:40px 14px 12px;background:linear-gradient(180deg,transparent,rgba(16,0,43,.78));color:#fff;}
.hero-identity a{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;text-decoration:none;}
.hero-identity strong{display:block;font-size:1.05rem;}
.hero-identity #hero-spec{display:block;opacity:.86;font-size:.8rem;}
.hero-profile-cta{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#fff;color:var(--color-primary);font-style:normal;font-weight:700;font-size:.8rem;flex-shrink:0;}
.hero-visual .float-slot{bottom:84px;}
.work-slider{margin:18px 0 8px;}
.work-viewport{overflow:hidden;border-radius:20px;}
.work-rail{display:flex;transition:transform .4s cubic-bezier(.22,1,.36,1);}
.work-slide{flex:0 0 100%;margin:0;}
.work-frame{position:relative;overflow:hidden;}
.work-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;}
.work-bar button{width:44px;height:44px;border:0;border-radius:14px;background:var(--color-surface-soft);color:var(--color-ink);}
.work-label{margin:0 0 8px;font-size:.82rem;color:var(--color-text-muted);font-weight:600;}




.provider-cover{width:100%;padding:0;border:0;background:none;cursor:pointer;display:block;text-align:inherit;color:inherit;}
.provider-actions{display:flex;gap:8px;margin-top:4px;}
.provider-actions .btn-baveo{flex:1;min-height:44px;}
.best-card button.frame-portrait{width:100%;padding:0;border:0;cursor:pointer;background:none;}
.section-portfolio .folio-slider{margin-top:4px;}

a.cat-card,
button.cat-card {
  display: block;
  text-decoration: none;
  color: inherit;
  font: inherit;
  text-align: right;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background: var(--glass-strong);
  backdrop-filter: saturate(1.2) blur(14px);
  -webkit-backdrop-filter: saturate(1.2) blur(14px);
  border: 1px solid var(--glass-line);
  border-radius: 18px;
  overflow: hidden;
  padding: 0;
  box-shadow: var(--shadow-xs, 0 8px 20px rgba(16, 0, 43, 0.08));
}
a.cat-card:hover,
a.cat-card:focus-visible,
button.cat-card:hover,
button.cat-card:focus-visible {
  color: inherit;
}
.cat-card .frame-cat {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--color-surface-soft);
}
.cat-card .frame-cat img,
.cat-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
button.cat-card.is-selected {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 32%, transparent);
}
.filter-chips {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 32px;
  padding: 8px;
  border-radius: 18px;
  background: var(--glass-strong);
  backdrop-filter: saturate(1.3) blur(16px);
  -webkit-backdrop-filter: saturate(1.3) blur(16px);
  border: 1px solid var(--glass-line);
  box-shadow: var(--shadow-xs, 0 8px 20px rgba(16, 0, 43, 0.08));
}
.filter-chips.has-plan {
  padding-left: 168px;
}
.filter-chips-main {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chip-tomorrow {
  margin-inline-start: 0;
}
.home-plan-box {
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 156px;
  max-width: 176px;
  padding: 10px 12px;
  text-align: left;
  display: grid;
  gap: 4px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 10%, transparent), color-mix(in srgb, #fff 70%, transparent));
  border: 1px solid var(--glass-border, var(--glass-line));
  box-shadow: var(--shadow-xs);
}
.home-plan-name,
.home-plan-days,
.home-plan-expiry {
  margin: 0;
  line-height: 1.35;
}
.home-plan-name {
  font-weight: 700;
  font-size: 0.82rem;
}
.home-plan-days {
  font-size: 0.78rem;
  color: var(--color-primary);
  font-weight: 700;
}
.home-plan-expiry {
  font-size: 0.7rem;
  color: var(--color-text-muted);
}
.home-plan-cta {
  display: inline-block;
  margin-top: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-primary);
}
.provider-highlight {
  margin: 6px 0 0;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--color-primary);
}
.provider-skel {
  min-height: 280px;
  border-radius: 20px;
  background: linear-gradient(90deg, rgba(255,255,255,0.35), rgba(255,255,255,0.7), rgba(255,255,255,0.35));
  background-size: 200% 100%;
  animation: baveo-skel 1.2s ease-in-out infinite;
}
@keyframes baveo-skel {
  0% { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
.providers-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}
@media (max-width: 720px) {
  .filter-chips.has-plan {
    padding-left: 8px;
    flex-direction: column;
    align-items: stretch;
  }
  .home-plan-box {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    max-width: none;
    width: 100%;
    text-align: right;
    order: -1;
  }
}
.best-card {
  background: var(--glass-strong);
  backdrop-filter: saturate(1.15) blur(12px);
  -webkit-backdrop-filter: saturate(1.15) blur(12px);
  border: 1px solid var(--glass-line);
}


