/* Smart floating layer: compact by default and subordinate to shopping UI. */
.smart-assistant-launch{position:fixed;z-index:36;right:18px;bottom:max(142px,var(--ddm-contact-clearance,0px));display:flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;width:184px;height:48px;padding:0 16px;overflow:hidden;border:1px solid #c7d9f6;border-radius:999px;background:#fff;color:#0b377f;box-shadow:0 6px 22px rgba(12,40,83,.12);font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:bottom 220ms ease-out,width 260ms ease-out,padding 260ms ease-out}
.smart-assistant-launch.is-collapsed{width:48px;padding:0}
.smart-assistant-launch>span:first-child{flex:none;font-size:21px;line-height:1}
.smart-assistant-launch [data-assistant-launch-label]{max-width:150px;overflow:hidden;opacity:1;transition:max-width 260ms ease-out,opacity 220ms ease-out}
.smart-assistant-launch.is-collapsed [data-assistant-launch-label]{max-width:0;opacity:0}
.smart-assistant-launch.has-collapsed-once>span:first-child{animation:ddm-assistant-sparkle 300ms ease-out 1}
@keyframes ddm-assistant-sparkle{50%{transform:scale(1.08)}}
.smart-assistant-launch:focus-visible,.smart-assistant button:focus-visible{outline:3px solid #1264f4;outline-offset:3px}
.smart-assistant{width:min(540px,calc(100vw - 30px));max-height:min(82vh,760px);padding:0;border-radius:22px;overflow:auto}
.smart-assistant__body{padding:28px 26px 26px;text-align:left}
.smart-assistant__body .eyebrow{margin:0 0 8px;color:#1459ce;font-size:11px;font-weight:850;letter-spacing:.1em}
.smart-assistant__body h2{max-width:17ch;margin:0;color:#0a1e43;font-size:clamp(24px,4vw,31px);line-height:1.12}
.smart-assistant__intro{margin:10px 0 18px;color:#526481;font-size:14px;line-height:1.5}
.smart-assistant__current{margin:0 0 15px;padding:9px 11px;border-radius:10px;background:#eef5ff;color:#154b9b;font-size:12px;font-weight:700}
.smart-assistant__choices,.smart-assistant__quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.smart-assistant__choices button,.smart-assistant__quiz-options button{min-height:72px;padding:12px;text-align:left;border:1px solid #d5e1f1;border-radius:13px;background:#f9fbff;color:#0b285b;cursor:pointer}
.smart-assistant__choices button:hover,.smart-assistant__quiz-options button:hover{border-color:#1264f4;background:#eff5ff}
.smart-assistant__choices strong,.smart-assistant__choices small{display:block}
.smart-assistant__choices strong{font-size:13px;line-height:1.25}
.smart-assistant__choices small{margin-top:5px;color:#60708d;font-size:11px;line-height:1.3}
.smart-assistant__progress{color:#1459ce;font-size:12px;font-weight:800}
.smart-assistant__quiz h3,.smart-assistant__results h3{margin:6px 0 14px;color:#0a1e43;font-size:19px}
.smart-assistant__results h4{margin:16px 0 8px;color:#122e5d;font-size:14px}
.smart-assistant__product-list{display:grid;gap:7px}
.smart-assistant__product{display:flex;align-items:center;gap:10px;min-height:78px;padding:6px;border:1px solid #e0e8f3;border-radius:11px;color:#0e2d60;text-decoration:none}
.smart-assistant__product img{width:82px;height:62px;flex:none;object-fit:contain;border-radius:7px;background:#f3f7fd}
.smart-assistant__product span{display:grid;gap:4px;min-width:0}
.smart-assistant__product strong{font-size:13px;line-height:1.25}
.smart-assistant__product small{font-size:12px;color:#0c5bea;font-weight:800}
.smart-assistant__all,.smart-assistant__booking{display:block;margin-top:14px;color:#0b59db;font-size:13px;font-weight:800;text-decoration:none}
.smart-assistant__booking{font-weight:650}
.smart-assistant__reset{min-height:44px;margin-top:16px;padding:8px 13px;border:1px solid #c7d9f6;border-radius:10px;background:#fff;color:#0b59db;font-weight:800;cursor:pointer}
.smart-assistant__handle{display:none}
.smart-assistant [hidden]{display:none!important}
.smart-assistant .signup-modal__close{top:14px;right:14px;width:44px;height:44px;background:#eef4fc;color:#183b76;border:0}
.floating-contact__appointment-label{transition:opacity 240ms ease,transform 240ms ease}
.floating-contact:not(.is-booking-expanded) .floating-contact__appointment-label{opacity:0;visibility:hidden;transform:translate(10px,-50%)}
.floating-contact.is-booking-expanded .floating-contact__appointment-label{opacity:1;visibility:visible}
.back-to-top{right:auto;left:50%;bottom:22px;width:44px;height:44px;border:1.5px solid #142744;background:transparent;color:#142744;box-shadow:0 2px 8px rgba(4,24,49,.08);transform:translate(-50%,10px)}
.back-to-top.is-visible{transform:translate(-50%,0)}
.back-to-top:hover,.back-to-top:focus-visible{background:rgba(255,255,255,.78);border-color:#142744;color:#142744}
.smart-floating--blocked .floating-contact,.smart-floating--blocked .smart-assistant-launch,.smart-floating--blocked .back-to-top{visibility:hidden!important;pointer-events:none!important}
body.page-template-page-gio-hang .back-to-top,body.page-template-page-thanh-toan .back-to-top,body.page-template-page-hoan-tat .back-to-top{display:none!important}
@media(max-width:767px){
  .smart-assistant{position:fixed;top:auto;right:0;bottom:0;left:0;width:100%;max-width:none;max-height:84dvh;margin:0;border-radius:20px 20px 0 0}
  .smart-assistant__handle{display:block;width:36px;height:4px;margin:10px auto 0;border-radius:4px;background:#c5d3e6}
  .smart-assistant__body{padding:15px 16px calc(20px + env(safe-area-inset-bottom))}
  .smart-assistant__choices{gap:7px}
  .smart-assistant__choices button{min-height:70px;padding:10px}
  .smart-assistant-launch{right:10px;bottom:max(132px,var(--ddm-contact-clearance,0px));width:184px;height:48px}
  .smart-assistant-launch.is-collapsed{width:48px}
  .floating-contact{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}
  .back-to-top{right:auto;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));width:46px;height:46px;border:1px solid rgba(10,32,68,.55);background:rgba(255,255,255,.78);color:#0a2044;box-shadow:0 4px 16px rgba(10,32,68,.10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translate(-50%,10px)}
  .back-to-top.is-visible{transform:translate(-50%,0)}
  .single-frame-product .smart-assistant-launch,.single-lens-product .smart-assistant-launch{bottom:max(94px,var(--ddm-contact-clearance,0px))}
  .single-frame-product .back-to-top,.single-lens-product .back-to-top{bottom:calc(82px + env(safe-area-inset-bottom))}
  .smart-floating--product-hiding-ready.smart-floating--product-in-view:not(.single-frame-product):not(.single-lens-product) .smart-assistant-launch{display:none!important}
  .smart-floating--product-hiding-ready.smart-floating--product-in-view .floating-contact{display:none!important}
}
@media(max-height:650px){body:not(.single-frame-product):not(.single-lens-product) .smart-assistant-launch{display:none!important}}
@media(max-width:767px) and (max-height:650px){.floating-contact{display:flex}}
@media(prefers-reduced-motion:reduce){.smart-assistant-launch,.smart-assistant-launch [data-assistant-launch-label],.floating-contact__appointment-label,.back-to-top{transition:none!important}.smart-assistant-launch.has-collapsed-once>span:first-child{animation:none!important}.smart-assistant[open]{animation:none!important}}
.back-to-top,.smart-assistant-launch{background:rgba(255,255,255,.05)!important;-webkit-backdrop-filter:blur(1.5px)!important;backdrop-filter:blur(1.5px)!important;border:1px solid rgba(15,40,75,.28)!important;box-shadow:0 2px 6px rgba(15,40,75,.06)!important;color:#0b2854!important}
