/* Agendy customer-facing booking widget (kipp) -- FUNCTIONAL/STRUCTURAL CSS ONLY.
 *
 * The VISUAL / brand styling of .agendy-bw__* (colours, typography, borders, buttons, cards,
 * slots) lives in PIXEL's demo-3 custom.css -- the single source of the visual language
 * (pixel msg 4033). This module CSS auto-loads AFTER custom.css, so any brand rule here would
 * win the cascade and silently override the demo-3 palette; therefore only purely functional,
 * non-brand layout for JS-generated elements remains.
 *
 * The slot grid is built at runtime by public.js (booking panel) and has no static markup for
 * pixel to have styled, so its layout stays here. Everything else is intentionally omitted --
 * pixel's custom.css owns it. (Post-merge screenshot fine-tune with pixel if needed.)
 */
.agendy-bw__slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    gap: 8px;
}

/* New static element (embed-widget MVP, kanban 36ad6e56) -- pixel has not styled this yet, so
 * this is a minimal, unbranded placeholder (small, muted, right-aligned) rather than nothing.
 * Intentionally NOT a brand rule (no palette/typography claims); replace/extend in custom.css. */
.agendy-bw__footer {
    text-align: right;
    margin-top: 12px;
}
.agendy-bw__brand {
    font-size: 11px;
    opacity: 0.6;
    text-decoration: none;
}
.agendy-bw__brand:hover {
    text-decoration: underline;
}

/* New static element (multilingual widget, kanban fa6d4d85) -- pixel has not styled this yet,
 * so this is a minimal, unbranded placeholder (small inline language links) rather than nothing.
 * Intentionally NOT a brand rule (no palette/typography claims); replace/extend in custom.css. */
.agendy-bw__langs {
    display: flex;
    gap: 8px;
    margin-top: 6px;
}
.agendy-bw__lang {
    font-size: 12px;
    text-decoration: none;
    opacity: 0.6;
}
.agendy-bw__lang.is-active {
    opacity: 1;
    font-weight: bold;
}

/* Per-calendar branding (Roland high, marveen routing): logo layout is functional/structural
 * (sizing, spacing) so it lives here like the rest of this file. The COLOR override below is the
 * one deliberate exception to the "no brand rules in this file" boundary at the top -- it is
 * TENANT-SUPPLIED (agendy.calendar.brand_primary_color), not the static demo-3 palette pixel
 * owns, so it cannot live in custom.css (that file has no per-tenant data at build time). Scoped
 * to [data-agendy-branded="1"] only -- an unbranded calendar (the vast majority) never matches
 * this selector and keeps pixel's exact default look. */
.agendy-bw__logo {
    max-height: 56px;
    max-width: 100%;
    display: block;
}
[data-agendy-branded="1"] .agendy-bw__pick,
[data-agendy-branded="1"] .agendy-bw__submit:not(:disabled) {
    background: var(--agendy-brand-primary);
}
[data-agendy-branded="1"] .agendy-bw__card-price {
    color: var(--agendy-brand-primary);
}
