/* Dr AIKU — Premium public site layer v1
   Yalnızca .public-booking-page içinde. HTML/JS бүтэц хэвээр; app.css-ийн дээр ачаалагдана. */

.public-booking-page{
  --pm-ink:#2b1d20;--pm-ink-2:#5b4a4e;--pm-muted:#8a7a7d;
  --pm-rose:#a87576;--pm-rose-600:#96605f;--pm-rose-800:#6b3f42;
  --pm-plum:#2a1a1e;--pm-plum-2:#3d2429;
  --pm-gold:#c9a46a;--pm-gold-2:#e3c88f;--pm-gold-deep:#a8854a;
  --pm-cream:#fbf6f3;--pm-blush:#f6ebe8;--pm-line:#eadcd8;
  --pm-serif:"Cormorant Garamond","Playfair Display",Georgia,serif;
  --pm-sans:"Manrope","Inter","Segoe UI",system-ui,sans-serif;
  --pm-shadow:0 1px 2px rgba(60,35,38,.05),0 14px 40px rgba(60,35,38,.08);
  --pm-shadow-lg:0 2px 4px rgba(60,35,38,.06),0 28px 70px rgba(60,35,38,.16);
  --pm-ease:cubic-bezier(.2,.7,.2,1);
  font-family:var(--pm-sans);color:var(--pm-ink);background:var(--pm-cream);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
html{scroll-behavior:smooth}
.public-booking-page ::selection{background:var(--pm-rose);color:#fff}
.public-booking-page :where(h1,h2,h3,h4){font-family:var(--pm-serif);letter-spacing:-.01em;color:var(--pm-ink)}
.public-booking-page :where(p,a,span,small,button,li,label,input,textarea,select){font-family:var(--pm-sans)}
.public-booking-page .bi{font-family:"bootstrap-icons"!important}
.public-booking-page{word-spacing:.08em}
.public-booking-page .catalog-filter button,.public-booking-page .btn,.public-booking-page small{word-spacing:.14em}

/* ───────── Товчнууд ───────── */
.public-booking-page .btn{border-radius:999px;font-weight:700;letter-spacing:.01em;transition:transform .25s var(--pm-ease),box-shadow .25s var(--pm-ease),background .25s,border-color .25s,color .25s}
.public-booking-page .btn-primary{background:linear-gradient(135deg,#b88384 0%,#96605f 55%,#7e4d4d 100%);border:0;color:#fff;box-shadow:0 10px 26px rgba(150,96,95,.32),inset 0 1px 0 rgba(255,255,255,.22)}
.public-booking-page .btn-primary:hover,.public-booking-page .btn-primary:focus-visible{background:linear-gradient(135deg,#c28f90,#a16766 55%,#86524f);color:#fff;transform:translateY(-2px);box-shadow:0 16px 34px rgba(150,96,95,.42),inset 0 1px 0 rgba(255,255,255,.28)}
.public-booking-page .btn-outline-primary{color:var(--pm-rose-800);border:1.5px solid var(--pm-rose);background:transparent}
.public-booking-page .btn-outline-primary:hover{background:var(--pm-rose);border-color:var(--pm-rose);color:#fff;transform:translateY(-2px)}
.public-booking-page .btn-outline-light{border:1.5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);backdrop-filter:blur(8px);color:#fff}
.public-booking-page .btn-outline-light:hover{background:#fff;color:var(--pm-rose-800);border-color:#fff;transform:translateY(-2px)}
.public-booking-page .btn-light{background:#fff;color:var(--pm-rose-800);border:0;box-shadow:0 10px 28px rgba(0,0,0,.14)}
.public-booking-page .btn-light:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.2);color:var(--pm-rose-800)}
.public-booking-page .btn-lg{padding:.9rem 1.8rem;font-size:1rem}

/* ───────── Header ───────── */
.public-booking-page .website-header{background:rgba(251,246,243,.95);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid rgba(201,164,106,.28);box-shadow:0 8px 32px rgba(60,35,38,.06);height:80px}
.public-booking-page .website-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--pm-gold),transparent);opacity:.7}
.public-booking-page .public-logo{border-radius:50%;box-shadow:0 0 0 2px var(--pm-gold-2),0 8px 20px rgba(60,35,38,.18)}
.public-booking-page .brand-copy strong{font-family:var(--pm-serif);font-size:25px;font-weight:700;letter-spacing:.02em;color:var(--pm-ink)}
.public-booking-page .brand-copy small{letter-spacing:.28em;font-size:9.5px;font-weight:700;color:var(--pm-gold-deep);text-transform:uppercase}
.public-booking-page .desktop-menu a{position:relative;font-weight:600;font-size:14px;color:var(--pm-ink-2);padding:8px 2px;transition:color .2s}
.public-booking-page .desktop-menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pm-gold),var(--pm-rose));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--pm-ease)}
.public-booking-page .desktop-menu a:hover{color:var(--pm-rose-800)}
.public-booking-page .desktop-menu a:hover::after{transform:scaleX(1)}
.public-booking-page .header-phone{font-weight:700;color:var(--pm-ink)}
.public-booking-page .header-actions .btn{padding:.6rem 1.2rem}

/* ───────── Hero ───────── */
.public-booking-page .hero-slider-section{position:relative;background:var(--pm-plum)}
.public-booking-page .hero-slide{position:relative}
.public-booking-page .hero-slide::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 12% 40%,rgba(201,164,106,.16),transparent 60%),linear-gradient(0deg,rgba(26,14,17,.55),transparent 45%);pointer-events:none}
.public-booking-page .hero-copy{position:relative;z-index:2}
.public-booking-page .hero-copy .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(227,200,143,.5);backdrop-filter:blur(8px);color:var(--pm-gold-2)!important;font-size:11px;font-weight:800;letter-spacing:.2em}
.public-booking-page .hero-copy h1{font-family:var(--pm-serif);font-weight:600;font-size:clamp(2.6rem,5.6vw,5rem);line-height:1.02;letter-spacing:-.02em;color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.35)}
.public-booking-page .hero-copy p{font-size:clamp(1rem,1.5vw,1.2rem);color:rgba(255,255,255,.86);max-width:560px;line-height:1.7}
.public-booking-page .hero-buttons .btn-primary{background:linear-gradient(135deg,var(--pm-gold-2),var(--pm-gold) 55%,var(--pm-gold-deep));color:#2b1d20;box-shadow:0 14px 34px rgba(201,164,106,.38),inset 0 1px 0 rgba(255,255,255,.5)}
.public-booking-page .hero-buttons .btn-primary:hover{background:linear-gradient(135deg,#f0d9a6,#d4b077 55%,#b08c52);color:#2b1d20}
.public-booking-page .carousel-indicators [data-bs-target]{height:3px;border:0;border-radius:3px;background:rgba(255,255,255,.5)}
.public-booking-page .carousel-indicators .active{background:var(--pm-gold-2)}
.public-booking-page .carousel-control-prev-icon,.public-booking-page .carousel-control-next-icon{background-color:rgba(255,255,255,.14);border-radius:50%;width:46px;height:46px;background-size:40%;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3)}

/* Мэдээллийн мөр — hero-г давж хөвөх premium карт */
.public-booking-page .hero-info-bar{background:transparent;border:0;box-shadow:none;position:relative;z-index:5;margin-top:-62px;padding:0 20px}
.public-booking-page .hero-info-bar .info-grid{background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border:1px solid rgba(201,164,106,.3);border-radius:26px;box-shadow:var(--pm-shadow-lg);overflow:hidden;max-width:1200px}
.public-booking-page .hero-info-bar .info-grid>div{border-color:var(--pm-line)!important;transition:background .25s}
.public-booking-page .hero-info-bar .info-grid>div:hover{background:var(--pm-cream)}
.public-booking-page .hero-info-bar i{background:linear-gradient(135deg,var(--pm-blush),#fff);color:var(--pm-rose-600);border:1px solid var(--pm-line);border-radius:14px}
.public-booking-page .hero-info-bar b{font-weight:800;color:var(--pm-ink)}
.public-booking-page .hero-info-bar small{color:var(--pm-muted)}

/* ───────── Хэсгийн гарчиг ───────── */
.public-booking-page .website-section,.public-booking-page .clinic-signature-section,.public-booking-page .booking-popup-promo,.public-booking-page .website-contact-section{padding-block:clamp(64px,8vw,112px)}
.public-booking-page .section-heading span,.public-booking-page .beauty-kicker{display:inline-flex;align-items:center;gap:12px;font-size:11.5px;font-weight:800;letter-spacing:.26em;color:var(--pm-gold-deep);text-transform:uppercase}
.public-booking-page .section-heading span::before,.public-booking-page .section-heading span::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--pm-gold))}
.public-booking-page .section-heading span::after{background:linear-gradient(270deg,transparent,var(--pm-gold))}
.public-booking-page .section-heading h2{font-family:var(--pm-serif);font-weight:700;font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.08;margin:.45em 0 .35em;text-wrap:balance}
.public-booking-page .section-heading p{color:var(--pm-ink-2);font-size:1.02rem;line-height:1.75;max-width:640px;margin-inline:auto}

/* ───────── Signature ───────── */
.public-booking-page .clinic-signature-section{background:radial-gradient(900px 420px at 0% 0%,rgba(201,164,106,.12),transparent 60%),linear-gradient(180deg,#fff 0%,var(--pm-cream) 100%)}
.public-booking-page .clinic-signature-copy h2{font-family:var(--pm-serif);font-weight:600;font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.06}
.public-booking-page .clinic-signature-copy p{color:var(--pm-ink-2);line-height:1.8}
.public-booking-page .clinic-trust-row span{background:#fff;border:1px solid var(--pm-line);border-radius:999px;box-shadow:0 4px 14px rgba(60,35,38,.05);font-weight:700;color:var(--pm-rose-800)}
.public-booking-page .clinic-signature-cards>*{background:linear-gradient(160deg,#fff,var(--pm-blush));border:1px solid rgba(201,164,106,.32);border-radius:24px;box-shadow:var(--pm-shadow);transition:transform .35s var(--pm-ease),box-shadow .35s var(--pm-ease)}
.public-booking-page .clinic-signature-cards>*:hover{transform:translateY(-8px);box-shadow:var(--pm-shadow-lg)}
.public-booking-page .clinic-signature-cards i{color:var(--pm-gold-deep)}

/* ───────── Шүүлтүүр ───────── */
.public-booking-page .catalog-filter{gap:10px;flex-wrap:wrap}
.public-booking-page .catalog-filter button{border:1px solid var(--pm-line);background:#fff;color:var(--pm-ink-2);font-weight:700;border-radius:999px;padding:9px 18px;box-shadow:0 2px 8px rgba(60,35,38,.04);transition:all .25s var(--pm-ease)}
.public-booking-page .catalog-filter button:hover{border-color:var(--pm-rose);color:var(--pm-rose-800);transform:translateY(-1px)}
.public-booking-page .catalog-filter button.active{background:linear-gradient(135deg,var(--pm-plum-2),var(--pm-plum));color:var(--pm-gold-2);border-color:transparent;box-shadow:0 10px 24px rgba(42,26,30,.28)}
.public-booking-page .catalog-group-head h3,.public-booking-page .catalog-group-head h4{font-family:var(--pm-serif);font-weight:600;font-size:1.9rem}
.public-booking-page .catalog-group-head small,.public-booking-page .catalog-group-head span:first-child{color:var(--pm-gold-deep);letter-spacing:.2em;font-weight:800}
.public-booking-page .catalog-group-head :last-child{border-radius:999px}

/* ───────── Үйлчилгээ / бүтээгдэхүүн / эмчийн карт ───────── */
.public-booking-page .service-feature,.public-booking-page .public-product-card,.public-booking-page .doctor-card-pro{background:#fff;border:1px solid var(--pm-line);border-radius:22px;box-shadow:var(--pm-shadow);overflow:hidden;position:relative;transition:transform .45s var(--pm-ease),box-shadow .45s var(--pm-ease),border-color .3s}
.public-booking-page .service-feature::after,.public-booking-page .public-product-card::after,.public-booking-page .doctor-card-pro::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(201,164,106,0);transition:box-shadow .35s}
.public-booking-page .service-feature:hover,.public-booking-page .public-product-card:hover,.public-booking-page .doctor-card-pro:hover{transform:translateY(-8px);box-shadow:var(--pm-shadow-lg);border-color:transparent}
.public-booking-page .service-feature:hover::after,.public-booking-page .public-product-card:hover::after,.public-booking-page .doctor-card-pro:hover::after{box-shadow:inset 0 0 0 1.5px rgba(201,164,106,.7)}
.public-booking-page :is(.service-feature-photo,.public-product-image,.doctor-avatar) img{transition:transform .9s var(--pm-ease)}
.public-booking-page :is(.service-feature,.public-product-card,.doctor-card-pro):hover :is(.service-feature-photo,.public-product-image,.doctor-avatar) img{transform:scale(1.07)}
.public-booking-page .service-feature h3,.public-booking-page .service-feature h4,.public-booking-page .public-product-card h3,.public-booking-page .public-product-card h4,.public-booking-page .doctor-card-pro h3,.public-booking-page .doctor-card-pro h4{font-family:var(--pm-serif);font-weight:700;font-size:1.28rem;line-height:1.2;color:var(--pm-ink)}
.public-booking-page .service-feature small,.public-booking-page .public-product-card small{color:var(--pm-muted)}
.public-booking-page .public-card-actions{border-top:1px dashed var(--pm-line)}
.public-booking-page .public-detail-link{color:var(--pm-rose-800);font-weight:700}
.public-booking-page .js-book-service,.public-booking-page .js-book-doctor,.public-booking-page .doctor-book-btn{background:linear-gradient(135deg,var(--pm-plum-2),var(--pm-plum));color:var(--pm-gold-2)!important;border:0;border-radius:999px;font-weight:700;box-shadow:0 8px 20px rgba(42,26,30,.22);transition:transform .25s var(--pm-ease),box-shadow .25s}
.public-booking-page .js-book-service:hover,.public-booking-page .js-book-doctor:hover,.public-booking-page .doctor-book-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(42,26,30,.32)}
.public-booking-page .media-video-indicator{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);color:var(--pm-rose-800);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.public-booking-page .doctor-role-badge{background:rgba(255,255,255,.94);color:var(--pm-ink);border:1px solid rgba(201,164,106,.5);font-weight:800;letter-spacing:.08em}
.public-booking-page .doctor-department,.public-booking-page .doctor-card-meta span{color:var(--pm-gold-deep)}

/* ───────── Эмч нарын хэсэг ───────── */
.public-booking-page .doctors-section{background:radial-gradient(700px 360px at 100% 0%,rgba(201,164,106,.12),transparent 60%),linear-gradient(180deg,var(--pm-cream),var(--pm-blush))}

/* ───────── Promo баннер ───────── */
.public-booking-page .beauty-promo-banner{border-radius:34px;box-shadow:var(--pm-shadow-lg);position:relative;overflow:hidden}
.public-booking-page .beauty-promo-banner::after{content:"";position:absolute;inset:14px;border:1px solid rgba(227,200,143,.45);border-radius:24px;pointer-events:none}
.public-booking-page .beauty-promo-content span{color:var(--pm-gold-2);letter-spacing:.24em;font-weight:800}
.public-booking-page .beauty-promo-content h2{font-family:var(--pm-serif);font-weight:600;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.05;color:#fff}

/* ───────── Видео ───────── */
.public-booking-page .video-promo-section{background:radial-gradient(800px 420px at 85% 10%,rgba(201,164,106,.18),transparent 60%),linear-gradient(135deg,var(--pm-plum),var(--pm-plum-2))}
.public-booking-page .video-promo-copy .beauty-kicker{color:var(--pm-gold-2)}
.public-booking-page .video-promo-copy h2{font-family:var(--pm-serif);font-weight:600;font-size:clamp(2.2rem,4vw,3.4rem);color:#fff;line-height:1.05}
.public-booking-page .video-promo-points span{color:rgba(255,255,255,.88)}
.public-booking-page .video-promo-points i{color:var(--pm-gold-2)}
.public-booking-page .video-promo-media{border-radius:28px;box-shadow:0 40px 90px rgba(0,0,0,.5),0 0 0 1px rgba(227,200,143,.4)}
.public-booking-page .video-promo-section .btn-primary{background:linear-gradient(135deg,var(--pm-gold-2),var(--pm-gold) 55%,var(--pm-gold-deep));color:var(--pm-ink);box-shadow:0 14px 32px rgba(201,164,106,.35)}

/* ───────── Онлайн захиалгын карт ───────── */
.public-booking-page .booking-popup-promo{background:var(--pm-cream)}
.public-booking-page .popup-promo-card{position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(201,164,106,.4);background:linear-gradient(135deg,#fff 0%,var(--pm-blush) 100%);box-shadow:var(--pm-shadow-lg);padding:clamp(28px,4vw,48px)}
.public-booking-page .popup-promo-card::before{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(201,164,106,.28),transparent 68%)}
.public-booking-page .popup-promo-card>*{position:relative}
.public-booking-page .popup-promo-card .eyebrow{color:var(--pm-gold-deep);font-weight:800;letter-spacing:.22em}
.public-booking-page .popup-promo-card h2{font-family:var(--pm-serif);font-weight:600;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.1}

/* ───────── Бүтээгдэхүүн ───────── */
.public-booking-page .public-products-section{background:#fff}
.public-booking-page .public-product-copy{color:var(--pm-ink-2)}
.public-booking-page .public-product-card .bi-arrow-up-right{background:var(--pm-blush);color:var(--pm-rose-800);transition:all .3s var(--pm-ease)}
.public-booking-page .public-product-card:hover .bi-arrow-up-right{background:var(--pm-rose);color:#fff;transform:rotate(45deg)}

/* ───────── Холбоо барих ───────── */
.public-booking-page .website-contact-section{background:linear-gradient(180deg,var(--pm-cream),#fff)}
.public-booking-page .contact-info-card{background:#fff;border:1px solid var(--pm-line);border-radius:26px;box-shadow:var(--pm-shadow)}
.public-booking-page .contact-info-card>div i{background:linear-gradient(135deg,var(--pm-blush),#fff)!important;color:var(--pm-rose-600)!important;border:1px solid var(--pm-line)}
.public-booking-page .contact-info-card b{color:var(--pm-ink);font-weight:800}
.public-booking-page .contact-card-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.public-booking-page .contact-card-actions .btn{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;width:auto;height:auto;min-width:0;padding:.8rem 1.5rem;border-radius:999px}
.public-booking-page .contact-card-actions .btn i{background:none!important;width:auto;height:auto;font-size:1.1em;color:inherit!important;display:inline}
.public-booking-page .contact-map-card{border-radius:26px;box-shadow:var(--pm-shadow-lg);border:1px solid var(--pm-line);overflow:hidden}

/* ───────── Footer ───────── */
.public-booking-page .website-footer{position:relative;background:radial-gradient(700px 300px at 90% 0%,rgba(201,164,106,.12),transparent 60%),linear-gradient(180deg,#241619,#180e11);color:rgba(255,255,255,.72)}
.public-booking-page .website-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--pm-gold),transparent)}
.public-booking-page .website-footer h4{font-family:var(--pm-serif);color:var(--pm-gold-2);font-size:1.25rem;letter-spacing:.04em}
.public-booking-page .website-footer a{color:rgba(255,255,255,.74);transition:color .2s,transform .2s}
.public-booking-page .website-footer a:hover{color:var(--pm-gold-2)}
.public-booking-page .footer-brand strong{font-family:var(--pm-serif);font-size:1.7rem;color:#fff;letter-spacing:.03em}
.public-booking-page .footer-brand span{background:linear-gradient(135deg,var(--pm-gold-2),var(--pm-gold-deep));color:var(--pm-ink)}
.public-booking-page .social-links a{border:1px solid rgba(227,200,143,.35);background:rgba(255,255,255,.05);border-radius:50%}
.public-booking-page .social-links a:hover{background:var(--pm-gold);color:var(--pm-ink);transform:translateY(-3px)}
.public-booking-page .footer-bottom{border-color:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.55)}

/* ───────── Чат товч ───────── */
.public-booking-page .floating-chat-launcher{background:linear-gradient(135deg,var(--pm-gold-2),var(--pm-gold) 55%,var(--pm-gold-deep))!important;color:var(--pm-ink)!important;border:0;box-shadow:0 14px 36px rgba(168,133,74,.5),inset 0 1px 0 rgba(255,255,255,.55)!important;transition:transform .3s var(--pm-ease)}
.public-booking-page .floating-chat-launcher:hover{transform:scale(1.08) rotate(-4deg)}
.public-booking-page .launcher-pulse{background:rgba(201,164,106,.45)!important}

/* ───────── Дэлгэрэнгүй popup ───────── */
.public-booking-page .public-detail-modal .modal-content{border-radius:30px;box-shadow:0 40px 110px rgba(30,15,18,.4)}
.public-booking-page .public-detail-body h2{font-family:var(--pm-serif);font-weight:600;font-size:2.1rem}
.public-booking-page .public-detail-kicker{color:var(--pm-gold-deep);letter-spacing:.2em;font-weight:800}
.public-booking-page .public-detail-close{background:rgba(255,255,255,.94);color:var(--pm-ink);box-shadow:0 8px 22px rgba(0,0,0,.2)}

/* ───────── Scroll-д гарч ирэх хөдөлгөөн (дэмждэг browser-т л) ───────── */
@supports (animation-timeline:view()){
  @keyframes pm-rise{from{opacity:0;translate:0 36px}to{opacity:1;translate:0 0}}
  .public-booking-page :is(.section-heading,.service-feature,.public-product-card,.doctor-card-pro,.popup-promo-card,.contact-info-card,.contact-map-card,.clinic-signature-copy,.beauty-promo-banner){animation:pm-rise linear both;animation-timeline:view();animation-range:entry 0% entry 38%}
}

@media (max-width:900px){
  .public-booking-page .website-header{height:72px}
  .public-booking-page .hero-info-bar{margin-top:-28px;padding:0 12px}
  .public-booking-page .hero-info-bar .info-grid{border-radius:20px}
  .public-booking-page .section-heading span::before,.public-booking-page .section-heading span::after{width:18px}
  .public-booking-page .service-feature:hover,.public-booking-page .public-product-card:hover,.public-booking-page .doctor-card-pro:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .public-booking-page *{animation:none!important;transition:none!important}
}
