/* URBI V12 — Mobile-first polish, audio controls and prelaunch commerce. */
:root{--v12-ink:#123c65;--v12-sub:#567996;--v12-blue:#087fe1;--v12-glass:#fffefd;}
.v12-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 13px!important;border-radius:13px;border:1px solid #c7e4f5;background:#eff9ff;color:#135582;font-weight:800;font-size:12px;line-height:1.15;white-space:normal;text-align:center}
.v12-btn:hover{background:#dff2ff}.v12-btn.primary{background:#087ee3;color:#fff;border-color:#087ee3}
.v12-btn:focus-visible,.v12-card:focus-visible{outline:3px solid #006eee;outline-offset:3px}
.v12-launch{margin:0 3px 0 4px;min-width:88px;font-size:12px!important;white-space:nowrap}
.v12-cards{display:grid;gap:11px}.v12-card{border:1px solid #d4e6f6;border-radius:20px;padding:16px;background:linear-gradient(137deg,#fff,#f3faff);color:#16446b;box-shadow:0 8px 23px #1b60900d}
.v12-card[data-plan="pro"]{background:linear-gradient(140deg,#e9f7ff,#f5faff)}
.v12-card[data-plan="premium"]{background:linear-gradient(140deg,#fff9ed,#fffcf6)}
.v12-card.is-selected{border:2px solid #118ee7;box-shadow:0 0 0 3px #17a9ff15}
.v12-card h3{font-size:21px;font-weight:900;margin:0 0 5px}.v12-card p{font-size:12px;line-height:1.5;color:#587997;margin:8px 0}.v12-price{font-size:26px;line-height:1.3;font-weight:1000;letter-spacing:-.04em;color:#123e6a}.v12-price small{font-size:11px;letter-spacing:0;font-weight:600;color:#5b7e97}
.v12-kicker{font-size:10px;font-weight:900;letter-spacing:.1em;color:#2489bf;margin:2px 0 12px;text-transform:uppercase}
.v12-notice{background:#f0f7ff;border:1px solid #d6e6f7;border-radius:14px;padding:12px;font-size:12px;line-height:1.55;color:#345f7c;margin:12px 0}
.v12-notice.warn{background:#fff9ef;border-color:#eedfc3;color:#795728}
.v12-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.v12-toolbar>button{flex:1 1 120px}
.v12-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v12-product{border:1px solid #dbeaf6;background:#fff;display:flex;flex-direction:column;gap:7px;align-items:center;text-align:center;padding:13px 8px;min-height:122px;border-radius:15px}
.v12-product .emoji{font-size:27px}.v12-product b{font-size:12px;color:#1c4a73}.v12-product small{font-size:12px;color:#0b7ab8;font-weight:800}
.v12-product[aria-pressed="true"]{border:2px solid #1699ec;background:#ebf9ff}
.v12-total{display:flex;justify-content:space-between;align-items:center;background:#eaf6ff;padding:12px;border-radius:13px;margin:12px 0;color:#164e7b;font-size:13px}
.v12-total b{font-size:18px}.v12-voice{border:1px solid #d2e7f7;border-radius:19px;background:linear-gradient(145deg,#effaff,#fff);padding:16px;margin:16px 0;color:#16456c}
.v12-voice h3{font-size:17px;margin:0 0 6px;color:#143f67}.v12-voice p{font-size:12px;line-height:1.5;margin:0 0 13px;color:#6486a1}
.v12-voice label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;margin:12px 0}.v12-voice select,.v12-voice input[type=range]{width:100%}.v12-voice select{padding:11px;min-height:45px;border-radius:12px;border:1px solid #cbdfee;background:#fff;color:#244c6e;font-size:12px}
.v12-inline{display:flex;justify-content:space-between;gap:10px;align-items:center}.v12-inline output{font-size:12px;color:#217cb4;font-weight:800}
.v12-voice small{font-size:11px;line-height:1.5;color:#718fa6;display:block;margin-top:9px}
.v12-products-launch{display:flex;gap:7px;flex-wrap:wrap;background:#f0faff;border:1px solid #cceafd;border-radius:15px;padding:10px;margin:12px 0}.v12-products-launch .v12-btn{flex:1;min-width:100px}
.v12-more-btn{width:100%;min-height:46px}
/* Fix visual defects observed on narrow phones: overlapping invitations, cropped request card, condensed header */
.hello h1{color:#edf9ff!important;text-shadow:0 2px 8px #06223e77}.world.night .hello h1{color:#f1f9ff!important}
@media(min-width:1050px){.conversation:not(.expanded){width:min(610px,44vw);left:52%;bottom:15px}.hello h1{color:#d8f5ff!important}.want-card{max-width:min(390px,calc(100vw - 120px));left:clamp(14px,6vw,90px);right:auto}.v12-launch{margin-right:5px}}
@media(max-width:720px){
 .v12-launch{display:none!important}.v12-plan-mobile{font-size:11px!important}
 .topbar{padding:7px 11px!important}.v7-install-link{padding:9px 11px!important}
 .experience{overflow:hidden!important}.world{overflow:hidden}
 .hello h1{color:#13527d!important;text-shadow:none!important}
 .want-card{left:10px!important;right:10px!important;max-width:calc(100vw - 20px)!important;bottom:calc(179px + env(safe-area-inset-bottom))!important;padding:10px!important;display:flex;gap:8px;align-items:center}
 .want-card[hidden],body.v7-chat-open .want-card,body.urbi-care-active .want-card{display:none!important}
 .want-card>div{flex:1;min-width:0}.want-card strong{overflow-wrap:anywhere;display:block;font-size:12px!important}
 .care-dock{bottom:calc(115px + env(safe-area-inset-bottom))!important;left:10px!important;right:90px!important;max-width:none!important;min-height:50px;padding:6px 0!important;overflow-x:auto!important;gap:6px!important}
 .care-dock button{flex:0 0 auto!important;min-width:44px;min-height:44px;border:1px solid #c8e7f5!important}
 .v7-chat-launcher{bottom:calc(108px + env(safe-area-inset-bottom))!important;right:13px!important;width:68px!important;height:68px!important}
 .v7-phone-dock{min-height:72px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important}
 .v7-phone-dock button{min-height:53px}.v7-phone-dock button small{font-size:10px!important}
 .v10-invitation{left:10px!important;right:10px!important;bottom:calc(189px + env(safe-area-inset-bottom))!important;transform:none!important;width:auto!important;max-width:none!important}
 .v7-more-menu{max-height:55dvh;overflow:auto;z-index:50!important}
 .drawer{padding:19px 14px calc(23px + env(safe-area-inset-bottom))!important}
 .v12-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.v7-chat-open .conversation{z-index:55!important;max-height:88dvh!important;height:min(84dvh,750px)!important;gap:9px!important}
 body.v7-chat-open .conversation .messages{min-height:80px!important}
 body.v7-chat-open .conversation .chat-input{min-height:54px!important}
 .chat-input button{min-width:45px;min-height:45px;padding:9px!important}
 .chat-heading-actions button{min-width:37px;min-height:37px}
}
@media(max-width:390px){
 .want-card{bottom:calc(162px + env(safe-area-inset-bottom))!important}
 .care-dock{bottom:calc(104px + env(safe-area-inset-bottom))!important}
 .v7-chat-launcher{bottom:calc(98px + env(safe-area-inset-bottom))!important;width:61px!important;height:61px!important}
 .v10-invitation{bottom:calc(172px + env(safe-area-inset-bottom))!important}
}
@media(max-height:700px) and (max-width:720px){
 .want-card{bottom:calc(159px + env(safe-area-inset-bottom))!important}
 .care-dock{bottom:calc(99px + env(safe-area-inset-bottom))!important}
 .v7-chat-launcher{bottom:calc(91px + env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:reduce){.v12-card,.v12-btn{transition:none!important}}

/* Drawer is moved to body by v12.js so it wins over the fixed header and toast on mobile. */
.drawer-backdrop{z-index:9998!important}.drawer{z-index:9999!important}.drawer-header{position:sticky;top:-15px;z-index:10;background:#f9fcfff7;backdrop-filter:blur(12px);padding:12px 0;border-bottom:1px solid #e5eff6}
/* Mobile sheet deliberately starts BELOW the persistent top app bar. */
@media(max-width:720px){.drawer{top:59px!important;bottom:0!important;height:calc(100dvh - 59px)!important;max-height:calc(100dvh - 59px)!important}.drawer-header{top:-19px!important;z-index:100}}
