/* Scoped to the native presentation signal; ordinary browser pages are unchanged. */
html.client-app { --client-accent:#22252b; --client-tab-height:72px; scroll-padding-block:90px 100px; }
html.client-app body { padding-top:0!important; padding-bottom:calc(var(--client-tab-height) + var(--sabsus-safe-bottom,env(safe-area-inset-bottom,0px)) + 16px)!important; background:#f7f8fa; -webkit-text-size-adjust:100%; }
.client-app [data-client-legacy-header] { display:none!important; }
.client-app .client-app-header { position:sticky!important; inset:0 0 auto!important; z-index:90; display:flex!important; flex-wrap:wrap; align-items:center; gap:12px; width:100%!important; min-height:64px; height:auto!important; padding:calc(8px + var(--sabsus-safe-top,env(safe-area-inset-top,0px))) max(16px,var(--sabsus-safe-right,env(safe-area-inset-right,0px))) 8px max(16px,var(--sabsus-safe-left,env(safe-area-inset-left,0px)))!important; margin:0!important; border:0!important; border-bottom:1px solid #dfe2e8!important; background:rgba(255,255,255,.96)!important; color:#181c24!important; backdrop-filter:blur(20px); box-sizing:border-box; transform:none!important; }
.client-app .client-app-brand { display:flex!important; align-items:center; gap:10px; min-width:0; flex:1; min-height:44px; color:inherit!important; text-decoration:none; font:600 18px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.02em; text-transform:none; }
.client-app-brand span { overflow-wrap:anywhere; }
.client-app .client-app-brand img,.client-app .client-app-brand svg { width:36px!important; height:36px!important; object-fit:contain; flex:none; margin:0!important; }
.client-app .client-app-icon { display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; min-width:44px; height:44px; min-height:44px; padding:10px; border:1px solid #e0e3e9; border-radius:15px; background:#f4f5f8; color:#20252e; box-shadow:none; cursor:pointer; }
.client-app .client-app-tabs { position:fixed; z-index:90; inset:auto 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; width:100%; margin:0; padding:6px max(8px,var(--sabsus-safe-right,env(safe-area-inset-right,0px))) calc(6px + var(--sabsus-safe-bottom,env(safe-area-inset-bottom,0px))) max(8px,var(--sabsus-safe-left,env(safe-area-inset-left,0px))); border-top:1px solid #dfe2e8; background:rgba(255,255,255,.97); backdrop-filter:blur(20px); box-sizing:border-box; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.client-app .client-app-tabs > a,.client-app .client-app-tabs > button { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:58px; margin:0; padding:7px 3px; border:0; border-radius:16px; background:transparent; color:#535c69; text-decoration:none; text-transform:none; font:500 12px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:0; overflow-wrap:anywhere; cursor:pointer; box-shadow:none; }
.client-app .client-app-tabs [aria-current="page"] { color:var(--client-accent); background:#edf0f5; font-weight:700; }
.client-app .client-app-tabs svg { width:22px; height:22px; flex:none; }
.client-app-count { position:absolute; inset:3px 20% auto auto; padding:2px 5px; border-radius:10px; background:var(--client-accent); color:#fff; font-size:10px; }
.client-app [hidden] { display:none!important; }
.client-app .client-app-connection,.client-app .client-app-status { margin:0; padding:10px 16px; color:#614400; background:#fff4ce; font:400 14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.client-app-status { flex-basis:100%; border-radius:12px; }
.client-app .client-app-menu { width:min(520px,calc(100% - 24px)); max-height:calc(100dvh - 32px - var(--sabsus-safe-top,0px) - var(--sabsus-safe-bottom,0px)); padding:18px; margin:auto; border:1px solid #e0e3e9; border-radius:24px; color:#181c24; background:#fff; box-shadow:0 24px 80px #1115; overflow:auto; box-sizing:border-box; }
.client-app-menu::backdrop { background:#10162566; backdrop-filter:blur(6px); }
.client-app-menu-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.client-app .client-app-menu h2 { margin:0; font:700 24px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.client-app-menu-links { display:grid; gap:6px; }
.client-app .client-app-menu-links > a,.client-app .client-app-menu-links > button { display:flex; align-items:center; min-height:48px; padding:10px 12px; border:0; border-radius:12px; background:#f3f5f8; color:#20252e; text-decoration:none; text-align:start; font:500 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-sizing:border-box; }
.client-app-language { display:grid; gap:8px; padding:12px; color:#20252e; font:500 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.client-app-language select { width:100%; }
.client-app-information { margin:24px 16px; border-top:1px solid #dfe2e8; color:#303642; }
.client-app-information > summary { min-height:48px; padding:16px 4px; font:600 15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
.client-app-information > footer { margin:0!important; padding:16px 0!important; }
.client-app main { margin-top:0!important; padding-top:16px!important; }
.client-app main > section { margin-block:0 24px; padding-top:min(24px,4vw); padding-bottom:min(24px,4vw); }
.client-app main :is(h1,h2) { overflow-wrap:break-word; }
.client-app main h1 { font-size:clamp(25px,5vw,36px)!important; line-height:1.15!important; }
.client-app .client-app-focus { padding-top:4px!important; }
.client-app :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size:16px!important; min-height:44px; box-sizing:border-box; }
.client-app :is(button,.button,.btn,[role=button],summary) { touch-action:manipulation; }
.client-app main :is(button,.button,.btn,[role=button]) { min-height:44px; }
.client-app :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--client-accent); outline-offset:3px; }
.client-app .sabsus-account-dialog { width:min(460px,calc(100% - 24px))!important; max-height:calc(100dvh - 32px - var(--sabsus-safe-top,0px) - var(--sabsus-safe-bottom,0px))!important; overflow:auto!important; border-radius:24px!important; }
.client-app :is(.callback-fab,.floating-cta,.sticky-cta,.floating-cart,.cart-fab,.whatsapp-float,.sabsus-consent-manage) { bottom:calc(var(--client-tab-height) + var(--sabsus-safe-bottom,0px) + 12px)!important; }
.client-app :is(.app-tabbar,.mobile-nav,.mobile-dock) { display:none!important; }
.client-app-keyboard .client-app-tabs { display:none!important; }
.client-app.client-inline-tabs body { padding-bottom:16px!important; }
.client-app.client-inline-tabs .client-app-tabs { position:relative; inset:auto; border-top:0; border-bottom:1px solid #dfe2e8; padding-bottom:6px; }
.client-app[data-client-brand="nana"] :is(.asos-promo-banner,.header-promo) { display:none; }
.client-app[data-client-brand="nana"] .hero { min-height:0!important; max-height:440px; overflow:hidden; }
.client-app[data-client-brand="nana"] .home-catalog { padding-inline:16px; }
.client-app[data-client-brand="nana"] .home-catalog .product-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; overflow:visible; }
.client-app[data-client-brand="nana"] .home-catalog .product-card { width:auto!important; min-width:0!important; max-width:none!important; }
.client-app[data-client-brand="nana"] .product-card .product-image { height:auto!important; aspect-ratio:3/4; overflow:hidden; border-radius:14px; }
.client-app[data-client-brand="nana"] .product-image img { width:100%; height:100%; object-fit:cover; }
.client-app[data-client-brand="nana"] .product-card h2 { font-size:15px!important; line-height:1.4!important; }
.client-app[data-client-brand="nana"] .product-add { display:flex; justify-content:center; align-items:center; min-height:44px; padding:8px 10px; background:#ececf1; color:#24232b; border:0; border-radius:12px; text-decoration:none; font-size:12px; }
.client-app[data-client-brand="nana"] .product-bottom { flex-wrap:wrap; align-items:start; }
.client-app[data-client-brand="nana"] .product-actions { width:100%; }
.client-app[data-client-brand="nova"] .hero { min-height:0!important; padding-top:20px; }
.client-app[data-client-brand="nova"] .hero img { max-height:260px; object-fit:cover; }
.client-app[data-client-brand="caremate"] .hero { min-height:0!important; }
.client-app[data-client-brand="caremate"] .hero h1 { font-size:30px!important; }
.client-app[data-client-brand="caremate"] .home-estimate { width:100%; max-width:900px; box-sizing:border-box; margin-inline:auto; }
.client-app[data-client-brand="backstage"] .home-intro-mark { display:none; }
.client-app[data-client-brand="backstage"] .home-booking-intro > p { display:none; }
.client-app[data-client-brand="backstage"] .home-booking-hero { min-height:0!important; padding:12px 0!important; }
.client-app[data-client-brand="backstage"] .home-booking-hero > .wrap { padding:0 10px; gap:16px!important; }
.client-app[data-client-brand="backstage"] .home-booking-intro { margin:0 0 16px; padding:0; }
.client-app[data-client-brand="backstage"] .home-booking-form { padding:16px; }
.client-app[data-client-brand="backstage"] .booking-deposit-policy { padding:12px; margin-block:12px 16px; }
.client-app[data-client-brand="backstage"] .booking-deposit-policy p { font-size:13px; line-height:1.45; margin:8px 0 0; }
.client-app[data-client-brand="lopsera"] .hero { min-height:0!important; }
.client-app[data-client-brand="lopsera"] .hero h1 { font-size:32px!important; }
@media (max-width:600px) {
  .client-app main { padding-inline:max(12px,var(--sabsus-safe-left,0px)); }
  .client-app main > :is(.container,.wrap,.shell) { width:100%; margin-inline:0; }
  .client-app main :is(.product-grid,.catalog-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .client-app[data-client-brand="nana"] .home-catalog .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
  .client-app[data-client-brand="lopsera"] main .catalog-grid { grid-template-columns:minmax(0,1fr); }
  .client-app[data-client-brand="lopsera"] main h3 { font-size:23px; line-height:1.2; }
  .client-app main :is(.product-card,.catalog-card) { min-width:0; }
  .client-app .client-app-information footer { display:block; }
  .client-app main :is(.catalog-hero,.page-hero) { padding:16px 0!important; min-height:0!important; }
  .client-app main :is(.catalog-hero,.page-hero) p { font-size:15px; line-height:1.5; }
}
@media (max-width:380px) {
  .client-app[data-client-brand="nova"] :is(.fast-cta,.fast-actions) { grid-template-columns:minmax(0,1fr); }
  .client-app[data-client-brand="nova"] .fast-cta > * { min-width:0; }
  .client-app[data-client-brand="nova"] .fast-actions > * { grid-column:1; white-space:normal; }
}
@media (min-width:768px) {
  .client-app .client-app-tabs { padding-inline:max(24px,calc((100vw - 720px)/2)); }
  .client-app .client-app-header { padding-inline:max(24px,calc((100vw - 1100px)/2))!important; }
  .client-app main { max-width:1200px; margin-inline:auto; }
  .client-app-information { max-width:1168px; margin-inline:auto; }
}
@media (prefers-reduced-motion:reduce) { .client-app { scroll-behavior:auto; } }
