/* Shared public navigation and commerce styling. Dashboard layouts remain role-aware. */
.booknip-public{font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.booknip-public h1,.booknip-public h2,.booknip-public h3,.booknip-public h4{font-family:"Space Grotesk","DM Sans",sans-serif}
.booknip-public .header{gap:24px}.booknip-public .header .brand{flex-shrink:0}
.booknip-public .main-nav a[aria-current="page"]{color:var(--cyan);font-weight:700}
.booknip-public .header-tools{flex-shrink:0}.booknip-public .header-tools form{margin:0}
.public-signout,.public-footer-button{border:0;padding:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}
.public-signout{font-size:12px;color:var(--muted)}.public-signout:hover,.public-footer-button:hover{text-decoration:underline}
.public-service-label{font-size:12px;color:var(--muted)}
.public-footer{grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:36px;border-top:1px solid var(--line)}
.public-footer p,.public-footer a,.public-footer-button{font-size:14px;line-height:1.7}
.public-footer .public-footer-button{display:block;margin:8px 0}
.public-newsletter{display:grid;gap:10px}.public-newsletter label{font-size:13px}.public-newsletter input{min-width:0}
.public-copyright{padding:18px 24px;text-align:center;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.commerce-content{--ink:var(--text);min-height:55vh}
.commerce-content .page-shell{padding-top:48px;padding-bottom:64px}
.commerce-content h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.12}
.commerce-content .page-heading{align-items:flex-start;gap:24px;flex-wrap:wrap}
.commerce-content .page-heading p{max-width:760px;font-size:16px;line-height:1.7;color:var(--muted)}
.commerce-content .homepage-app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.commerce-content .story-product-card{background:var(--panel);border-color:var(--line);color:var(--text)}
.commerce-content .story-product-body h2{font-size:24px;line-height:1.2}
.commerce-content .story-product-body p,.commerce-content .story-product-body li{font-size:14px;line-height:1.65;color:var(--muted)}
.commerce-content .catalogue-plan-preview{flex-wrap:wrap;gap:10px}
.commerce-content .catalogue-plan-preview span{flex:1;min-width:110px;background:var(--bg);border-color:var(--line)}
.commerce-content .catalogue-plan-preview strong{font-size:13px;color:var(--text)}
.commerce-content .catalogue-plan-preview small{font-size:11px;color:var(--muted);line-height:1.5}
.commerce-content .catalogue-plan-preview em{font-size:16px;color:var(--text)}
.commerce-content .partner-only-story{font-size:12px;color:var(--muted)}
.commerce-content .form-control,.commerce-content .form-select{font-size:15px}
.commerce-content .btn-outline-secondary{background:transparent;border-color:var(--line);color:var(--text)}
.commerce-content .btn-dark{background:var(--text);color:var(--bg);border-color:var(--text)}
.commerce-content .badge{line-height:1.6}
.commerce-content .pos-product{background:var(--bg);color:var(--text)}
.commerce-content .pos-features article,.commerce-content .pos-plans article{background:var(--panel);border-color:var(--line)}
.commerce-content .pos-features p,.commerce-content .pos-section>p,.commerce-content .pos-hero p,.commerce-content .pos-price small{color:var(--muted)}
.commerce-content .pos-plans .pos-recommended{border-color:var(--cyan)}
.booknip-public .support-modal{background:var(--panel);color:var(--text)}
@media(min-width:1180px){
 .booknip-public .header .main-nav{display:flex!important;position:static!important;inset:auto!important;width:auto!important;height:auto!important;padding:0!important;flex-direction:row;align-items:center;gap:22px!important;background:transparent!important;border:0!important;box-shadow:none;transform:none;pointer-events:auto!important;overflow:visible}
 .booknip-public .main-nav .mobile-nav-head,.booknip-public .main-nav .mobile-nav-label,.booknip-public .nav-toggle{display:none!important}
 .booknip-public .header .main-nav>a{padding:8px 0;border:0;font-size:14px;white-space:nowrap}
 .booknip-public .header .main-nav>a span{display:none}
 .booknip-public .header-tools{margin-inline-start:auto}
}
@media(max-width:1179px){.booknip-public .corporate-account-link{display:flex}.public-service-label{display:none}}
@media(max-width:1000px){.public-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-content .homepage-app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.public-footer{grid-template-columns:1fr;gap:28px;padding:40px 24px}.commerce-content .homepage-app-grid{grid-template-columns:1fr}.commerce-content .page-shell{padding-top:28px}.public-signout{display:none}.booknip-public .header{gap:12px}.booknip-public .corporate-account-link{font-size:11px}.booknip-public .header-tools{gap:8px}}
@media(prefers-reduced-motion:reduce){.booknip-public *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.booknip-public .header-tools .header-btn{display:inline-flex}
.booknip-public .main-nav a[aria-current="page"]{color:#087f9a!important}
html[data-theme="dark"] .booknip-public .main-nav a[aria-current="page"]{color:var(--cyan)!important}
/* Keep the closed drawer out of the phone's scrollable area. */
.booknip-public .nav-toggle{color:var(--text)}
.booknip-public.nav-open .bn-contact-dock{visibility:hidden}
@media(max-width:1179px){.booknip-public .header .main-nav:not(.open){display:none!important}}
@media(max-width:600px){
 .booknip-public .bn-contact-dock{left:12px;right:12px;bottom:12px;flex-direction:row;align-items:center;pointer-events:none}
 .booknip-public .bn-contact-dock>*{pointer-events:auto}
 .booknip-public .bn-agent-launch{margin-inline-start:auto}
 .booknip-public .bn-dock-action>span{display:none}
}

.booknip-public :is(a,button,input,select,textarea):focus-visible{outline:3px solid #087f9a;outline-offset:3px}
.auth-method-note{font-size:13px;color:var(--muted);line-height:1.6;margin:16px 0}

/* Match the drawer's breakpoint to the navigation controller (1180px). */
@media(min-width:701px) and (max-width:1179px){
 .booknip-public .header-tools{margin-inline-start:auto}
 .booknip-public .nav-toggle{display:flex;width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:50%;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:4px}
 .booknip-public .nav-toggle i{display:block;width:19px;height:1.5px;background:currentColor}
 .booknip-public.nav-open{overflow:hidden}
 .booknip-public .header .main-nav.open{display:flex!important;position:fixed!important;inset:0 0 0 auto!important;width:min(88vw,390px)!important;height:100dvh;padding:20px 25px!important;flex-direction:column;gap:0!important;background:var(--panel)!important;color:var(--text);border-inline-start:1px solid var(--line);box-shadow:-20px 0 70px #0004;z-index:100;overflow-y:auto;transform:none;pointer-events:auto}
 .booknip-public .main-nav.open .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
 .booknip-public .main-nav.open .brand-logo img{width:140px}
 .booknip-public .nav-close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);font-size:25px}
 .booknip-public .main-nav.open>a{padding:15px 5px;border-bottom:1px solid var(--line);color:var(--text);font-size:18px}
 .booknip-public .nav-backdrop.show{display:block;position:fixed;inset:0;background:#01090fa6;z-index:90}
 .booknip-public.nav-open .header{z-index:101}
}

/* One preference bar above the main navigation. */
.booknip-public .corporate-preferences{background:#081a35;border-bottom:0;color:#d8e5ff;backdrop-filter:none}
.booknip-public .corporate-preferences>div{gap:12px;flex-wrap:wrap}
.booknip-public .corporate-preferences .public-service-label{display:block;color:#d8e5ff;font-weight:600;white-space:nowrap}
.booknip-public .corporate-preferences label{color:#d8e5ff}
.booknip-public .corporate-preferences select{color:#fff;border-radius:3px}
.booknip-public .corporate-preferences select:focus-visible{outline:2px solid #7bd9ef;outline-offset:3px}
@media(max-width:900px){.booknip-public .corporate-preferences>div{justify-content:space-between}.booknip-public .corporate-preferences form{width:auto;max-width:100%;flex-wrap:wrap;overflow:visible;gap:12px}.booknip-public .corporate-preferences label{min-height:28px}}
@media(max-width:600px){.booknip-public .corporate-preferences>div{justify-content:center;gap:5px}.booknip-public .corporate-preferences form{width:100%;justify-content:center;gap:14px}}

.auth-links .auth-recovery-link{display:inline;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--blue);font:inherit;text-decoration:underline;text-underline-offset:3px}
.auth-links .auth-recovery-link:hover{color:var(--ink)}
