/* #97 B1: a café's own page on its subdomain. Only applies once cafe-page.js has set a server-clamped theme;
   the apex and unthemed cafés never match. The card faces themselves are untouched (lane H). */
html[data-cafe-theme] body{background-color:var(--cafe-accent-soft);background-image:linear-gradient(180deg,var(--cafe-accent-soft) 0,var(--cc-paper) 380px)}
html[data-cafe-theme] header .logo .cc-wordmark{display:none}
html[data-cafe-theme] body:is([data-role=customer],[data-role=welcome]) header .logo{width:auto;max-width:calc(100% - 100px);height:auto;top:34px;left:22px;transform:none!important}
html[data-cafe-theme] body[data-role=customer] header{height:108px}
html[data-cafe-theme] body[data-role=welcome] header{height:100px}
html[data-cafe-theme] .cafe-brand{display:flex;align-items:center;gap:12px;min-height:48px;padding:4px 10px 4px 4px;border-radius:999px;transition:transform .16s cubic-bezier(.2,.8,.2,1),background-color .16s}
html[data-cafe-theme] .logo:active .cafe-brand{transform:scale(.96);background:color-mix(in srgb,var(--cafe-accent) 12%,transparent)}
html[data-cafe-theme] .cafe-logo{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--cc-white);box-shadow:0 0 0 2px var(--cafe-accent),0 4px 10px rgba(46,30,12,.18)}
html[data-cafe-theme] .cafe-name{font:400 23px/1 var(--cc-font-display);letter-spacing:-.4px;color:var(--cafe-accent-deep);overflow-wrap:anywhere}
html[data-cafe-theme] body:not([data-role=customer]):not([data-role=welcome]) .cafe-brand{padding:0}
html[data-cafe-theme] body[data-role=customer] .shop-label{display:none}

/* #115 the café's own little place: a scalloped awning in its colour over the page, like a shopfront. */
html[data-cafe-theme] body::before{content:"";position:absolute;top:0;left:0;right:0;height:26px;z-index:5;pointer-events:none;background:repeating-linear-gradient(90deg,var(--cafe-accent) 0 24px,var(--cc-white) 24px 48px);-webkit-mask:linear-gradient(#000 0 0) top/100% 16px no-repeat,radial-gradient(circle 12px at 12px 0,#000 97%,transparent 100%) 0 16px/24px 10px repeat-x;mask:linear-gradient(#000 0 0) top/100% 16px no-repeat,radial-gradient(circle 12px at 12px 0,#000 97%,transparent 100%) 0 16px/24px 10px repeat-x}
html[data-cafe-theme] body:not([data-role=customer]):not([data-role=welcome]){padding-top:26px}

/* The café's own line and menu, between the header and the greeting. */
.cafe-hero{display:none}
html[data-cafe-theme] body:is([data-role=welcome],[data-role=customer][data-route=home]) .cafe-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:480px;margin:0 auto 14px;padding:0 22px}
html[data-cafe-theme] .cafe-tagline{margin:0;font:400 21px/1.15 var(--cc-font-hand);color:var(--cafe-accent-deep)}
html[data-cafe-theme] .cafe-menu{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--cafe-accent);color:var(--cafe-accent-ink);font:600 14px/1 var(--cc-font-body);text-decoration:none;box-shadow:0 2px 0 var(--cafe-accent-deep);transition:transform .14s cubic-bezier(.2,.8,.2,1),box-shadow .14s,background-color .14s;-webkit-tap-highlight-color:transparent}
html[data-cafe-theme] .cafe-menu:active,html[data-cafe-theme] .cafe-menu.is-opening{transform:translateY(2px) scale(.97);box-shadow:0 0 0 var(--cafe-accent-deep);background:var(--cafe-accent-deep)}
html[data-cafe-theme] .cafe-menu:focus-visible,html[data-cafe-theme] .logo:focus-visible{outline:3px solid var(--cafe-accent);outline-offset:3px}

/* The café's colour carries the primary actions and the active tab around the cards. */
html[data-cafe-theme] .btn:not(.light){background:var(--cafe-accent);color:var(--cafe-accent-ink)}
html[data-cafe-theme] .btn:not(.light):active:not(:disabled){background:var(--cafe-accent-deep)}
html[data-cafe-theme] body[data-role] :is(#sign-in,#simulate,#provider-checkout):not(.light):not(:disabled){background:var(--cafe-accent);color:var(--cafe-accent-ink)}
html[data-cafe-theme] body[data-role] :is(#sign-in,#simulate,#provider-checkout):not(.light):active:not(:disabled){background:var(--cafe-accent-deep)}
html[data-cafe-theme] .home-intro p,html[data-cafe-theme] .greeting-rays{color:var(--cafe-accent-deep)}
html[data-cafe-theme] .show-card{border-color:var(--cafe-accent)}
html[data-cafe-theme] .show-card:active{background:color-mix(in srgb,var(--cafe-accent) 10%,transparent)}
html[data-cafe-theme] body[data-role=customer] #nav a.active{background:var(--cafe-accent-soft);color:var(--cafe-accent-deep)}
@media (prefers-reduced-motion:reduce){html[data-cafe-theme] .cafe-brand,html[data-cafe-theme] .cafe-menu{transition:none}}
