:root { --glamly-ink:#27231f; --glamly-muted:#716a63; --glamly-gold:#cda875; --glamly-line:#e4dfda; --glamly-page:#fbfaf8; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { background:var(--glamly-page); color:var(--glamly-ink); font-family:"DM Sans",sans-serif; margin:0; }
.glamly-main { min-height:100vh; min-height:100dvh; }
.glamly-topbar {  height:74px; top:0; z-index:20; }
.glamly-topbar__inner { align-items:center; display:flex; height:100%; justify-content:space-between; margin:0 auto; max-width:1280px; }
.glamly-topbar__left,.glamly-topbar__right { align-items:center; display:flex; gap:24px; }
.glamly-menu-button { background:transparent; border:0; color:#48423c; cursor:pointer; font-size:25px; line-height:1; padding:8px; }
.glamly-wordmark,.glamly-sidebar__brand { color:var(--glamly-gold); font-family:"Cormorant Garamond",serif; font-style:italic; text-decoration:none; }
.glamly-wordmark { font-size:34px; }.glamly-notification { align-items:center; background:#fff; border:1px solid var(--glamly-line); border-radius:50%; color:#766e67; display:flex; font-size:18px; height:42px; justify-content:center; width:42px; }.glamly-avatar { align-items:center; background:#cda875; border-radius:50%; color:#fff; display:flex; font-size:13px; font-weight:600; height:48px; justify-content:center; width:48px; }.glamly-user { font-size:14px; font-weight:600; }
.glamly-sidebar { background:#fff; border-right:1px solid var(--glamly-line); bottom:0; left:0; padding:40px 28px; position:fixed; top:0; transform:translateX(-100%); transition:transform .24s ease; width:300px; z-index:40; }.glamly-sidebar.is-open { transform:translateX(0); }.glamly-sidebar__brand { display:block; font-size:48px; margin:14px 16px 90px; }.glamly-sidebar nav { display:grid; gap:18px; }.glamly-sidebar a { align-items:center; border-radius:18px; color:#716a63; display:flex; font-size:16px; font-weight:600; gap:17px; padding:17px 20px; text-decoration:none; }.glamly-sidebar a:hover,.glamly-sidebar a.is-active { background:#f1eadf; color:#b68b54; }.glamly-sidebar__icon { font-size:23px; width:28px; }.glamly-overlay { background:rgba(33,27,21,.28); inset:0; opacity:0; pointer-events:none; position:fixed; transition:opacity .24s ease; z-index:30; }.glamly-overlay.is-open { opacity:1; pointer-events:auto; }
.glamly-login,.glamly-reset { align-items:center; display:flex; flex-direction:column; justify-content:center; min-height:100vh; min-height:100dvh; padding:clamp(24px,6vw,48px) clamp(16px,4vw,24px); }.glamly-login__brand,.glamly-reset__brand { align-items:center; border:1px dashed #bfb7ae; color:#766d63; display:flex; font-family:"Cormorant Garamond",serif; font-size:26px; font-style:italic; height:70px; justify-content:center; letter-spacing:.04em; margin-bottom:clamp(24px,4vw,38px); width:190px; }.glamly-login__card { background:#fff; border:1px solid var(--glamly-line); border-radius:22px; box-shadow:0 18px 50px rgba(64,49,35,.05); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); max-width:940px; overflow:hidden; width:min(100%,940px); }.glamly-login__intro,.glamly-login__form-wrap,.glamly-reset__card { padding:clamp(32px,6vw,62px) clamp(28px,6vw,64px); }.glamly-login__intro { background:#fdfbf8; }.glamly-login h1,.glamly-login h2,.glamly-reset h1,.glamly-dashboard h1,.glamly-dashboard h2 { font-family:"Cormorant Garamond",serif; font-style:italic; font-weight:500; }.glamly-login h1,.glamly-reset h1 { font-size:clamp(38px,5vw,48px); letter-spacing:-.03em; margin:0 0 30px; }.glamly-login h1 { color:var(--glamly-gold); }.glamly-login h2 { font-size:clamp(34px,4vw,42px); text-align:center; }.glamly-login__intro p,.glamly-reset__intro { color:var(--glamly-muted); font-size:16px; line-height:1.75; margin:0; }.glamly-login__rule { background:var(--glamly-line); height:1px; margin:42px 0; }.glamly-login__register { border:1px solid var(--glamly-gold); border-radius:999px; color:var(--glamly-gold); display:inline-block; font-family:"Cormorant Garamond",serif; font-size:25px; font-style:italic; padding:7px 28px; text-decoration:none; }.glamly-login__register-copy { margin:0 0 12px!important; }.glamly-login__form,.glamly-reset__form { display:grid; gap:10px; }.glamly-login__form label,.glamly-reset__form label { color:#5f5750; font-size:14px; font-weight:600; margin-top:9px; }.glamly-login__form input,.glamly-reset__form input { border:1px solid var(--glamly-line); border-radius:12px; font:inherit; font-size:16px; min-height:52px; padding:14px 16px; width:100%; }.glamly-login__form-actions { align-items:center; display:flex; flex-direction:column; gap:18px; margin-top:25px; }.glamly-login__form-actions a,.glamly-reset__back { color:#786f67; font-size:13px; text-decoration:underline; }.glamly-login__form-actions button,.glamly-reset__form button { background:var(--glamly-gold); border:0; border-radius:999px; color:#fff; cursor:pointer; font-family:"Cormorant Garamond",serif; font-size:31px; font-style:italic; min-height:54px; padding:9px 28px; width:100%; }.glamly-login__error,.glamly-reset__message { border-radius:10px; font-size:14px; padding:12px; }.glamly-login__error { background:#fff3f0; border:1px solid #f0c9c0; color:#9b3727; margin:-12px 0 18px; }.glamly-reset__card { background:#fff; border:1px solid var(--glamly-line); border-radius:22px; box-shadow:0 18px 50px rgba(64,49,35,.05); max-width:500px; text-align:center; width:min(100%,500px); }.glamly-reset__eyebrow { color:var(--glamly-gold); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }.glamly-reset h1 { font-size:clamp(38px,7vw,50px); margin:12px 0 16px; }.glamly-reset__intro { margin:0 auto 30px; max-width:350px; }.glamly-reset__message { background:#f5f0e9; border:1px solid #e5d8c7; color:#655544; line-height:1.55; margin:0 0 24px; text-align:left; }.glamly-reset__form button { font-size:27px; margin-top:16px; }.glamly-reset__back { display:inline-block; margin-top:26px; }
@media(max-width:720px) { .glamly-login__card { grid-template-columns:1fr; }.glamly-login__intro { text-align:center; }.glamly-login__rule { margin:26px 0; } }
@media(max-width:600px) { .glamly-topbar { height:64px; }.glamly-topbar__inner { margin:0 16px; }.glamly-topbar__left,.glamly-topbar__right { gap:12px; }.glamly-wordmark { font-size:30px; }.glamly-notification,.glamly-user { display:none; }.glamly-avatar { height:38px; width:38px; }.glamly-sidebar { padding:25px 18px; width:min(84vw,300px); }.glamly-sidebar__brand { font-size:42px; margin:10px 16px 55px; } }
@media(min-width:601px) and (max-width:1340px) { .glamly-topbar__inner { margin:0 48px; } }
@media(max-width:420px) { .glamly-login,.glamly-reset { justify-content:flex-start; }.glamly-login__brand,.glamly-reset__brand { font-size:22px; height:58px; width:158px; }.glamly-login__intro,.glamly-login__form-wrap,.glamly-reset__card { padding:28px 22px; } }
.glamly-dashboard { margin:0 auto; max-width:1900px; padding:clamp(32px,5vw,72px); }.glamly-dashboard__welcome { align-items:flex-end; display:flex; justify-content:space-between; margin-bottom:54px; }.glamly-dashboard h1 { font-size:clamp(42px,5vw,70px); margin:0; }.glamly-dashboard h1 span,.glamly-dashboard h2 { color:var(--glamly-gold); }.glamly-dashboard__welcome p { color:var(--glamly-muted); font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; }.glamly-dashboard__welcome a { color:#6d655f; font-size:13px; font-weight:600; text-decoration:none; text-transform:uppercase; }.glamly-dashboard__metrics { display:grid; gap:28px; grid-template-columns:repeat(3,1fr); margin-bottom:54px; }.glamly-dashboard__metrics article,.glamly-panel { background:#fff; border:1px solid var(--glamly-line); border-radius:28px; }.glamly-dashboard__metrics article { min-height:170px; padding:34px 38px; position:relative; }.glamly-dashboard__metrics small { color:#756e67; display:block; font-size:13px; font-weight:600; text-transform:uppercase; }.glamly-dashboard__metrics strong { color:var(--glamly-gold); display:block; font-family:"Cormorant Garamond",serif; font-size:48px; font-style:italic; font-weight:500; margin-top:18px; }.glamly-dashboard__metrics i { color:var(--glamly-gold); font-size:31px; font-style:normal; position:absolute; right:35px; top:68px; }.glamly-dashboard__grid { display:grid; gap:42px; grid-template-columns:minmax(0,1.7fr) minmax(300px,.85fr); }.glamly-panel { padding:38px 44px; }.glamly-dashboard h2 { font-size:42px; margin:0 0 30px; }.glamly-appointment { align-items:center; border:1px solid var(--glamly-line); border-radius:20px; color:var(--glamly-ink); display:flex; gap:18px; margin-top:16px; padding:17px 20px; text-decoration:none; }.glamly-appointment__avatar { align-items:center; background:#cda875; border-radius:50%; color:#fff; display:flex; font-size:13px; font-weight:600; height:48px; justify-content:center; width:48px; }.glamly-appointment strong,.glamly-appointment small { display:block; }.glamly-appointment small { color:var(--glamly-muted); font-size:13px; margin-top:4px; }.glamly-appointment time { color:var(--glamly-gold); font-size:16px; font-weight:600; margin-left:auto; text-align:right; }.glamly-appointment time small { font-size:11px; }.glamly-actions a { align-items:center; border:1px solid var(--glamly-line); border-radius:16px; color:#706861; display:flex; font-size:22px; gap:18px; margin-top:18px; padding:18px; text-decoration:none; }.glamly-actions a span { font-size:14px; font-weight:600; text-transform:uppercase; }.glamly-empty { color:var(--glamly-muted); padding:24px 0; }
/* Dashboard composition: a restrained content column, not a full-width canvas. */
.glamly-dashboard { max-width:1280px; padding:48px 0 80px; }.glamly-dashboard__welcome { margin-bottom:40px; }.glamly-dashboard h1 { font-size:52px; line-height:1; }.glamly-dashboard__welcome p { font-size:11px; margin:11px 0 0; }.glamly-dashboard__welcome a { font-size:11px; }.glamly-dashboard__metrics { gap:24px; margin-bottom:40px; }.glamly-dashboard__metrics article { border-radius:20px; min-height:132px; padding:26px 28px; }.glamly-dashboard__metrics small { font-size:11px; }.glamly-dashboard__metrics strong { font-size:38px; margin-top:13px; }.glamly-dashboard__metrics i { font-size:25px; right:28px; top:53px; }.glamly-dashboard__grid { gap:36px; grid-template-columns:minmax(0,1.72fr) minmax(280px,.85fr); }.glamly-panel { border-radius:25px; padding:30px; }.glamly-dashboard h2 { font-size:35px; margin-bottom:24px; }.glamly-appointment { border-radius:17px; gap:14px; margin-top:14px; padding:14px 16px; }.glamly-appointment__avatar { height:40px; width:40px; }.glamly-appointment strong { font-size:14px; }.glamly-appointment small { font-size:12px; }.glamly-appointment time { font-size:14px; }.glamly-appointment time small { font-size:10px; }.glamly-actions a { border-radius:15px; font-size:18px; margin-top:15px; padding:15px 16px; }.glamly-actions a span { font-size:12px; }
@media(max-width:1340px) { .glamly-dashboard { margin:0 48px; } }
@media(max-width:800px) { .glamly-dashboard { margin:0; padding:30px 18px 48px; }.glamly-dashboard__welcome { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:34px; }.glamly-dashboard__metrics { gap:14px; grid-template-columns:1fr; margin-bottom:32px; }.glamly-dashboard__metrics article { min-height:120px; padding:22px; }.glamly-dashboard__metrics i { right:25px; top:47px; }.glamly-dashboard__grid { gap:22px; grid-template-columns:1fr; }.glamly-panel { padding:26px 20px; }.glamly-dashboard h2 { font-size:34px; }.glamly-appointment { padding:14px; }.glamly-actions a { padding:15px; }.glamly-dashboard h1 { font-size:42px; } }

/* Calendar */
.glamly-calendar {
    margin:0 auto;
    max-width:1280px;
    padding:48px 0 80px;
}

.glamly-calendar__header {
    align-items:center;
    display:flex;
    gap:20px;
    margin-bottom:64px;
}

.glamly-calendar__header h1 {
    font-family:"Cormorant Garamond", serif;
    font-size:52px;
    font-style:italic;
    font-weight:500;
    line-height:1;
    margin:0;
}

.glamly-calendar__back,
.glamly-calendar__toolbar button {
    align-items:center;
    background:transparent;
    border:0;
    color:var(--glamly-ink);
    cursor:pointer;
    display:flex;
    font-size:46px;
    height:38px;
    justify-content:center;
    line-height:1;
    text-decoration:none;
    width:28px;
}

.glamly-calendar__views {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:18px;
    display:flex;
    margin-left:auto;
    overflow:hidden;
    padding:4px;
}

.glamly-calendar__views button {
    background:transparent;
    border:0;
    border-radius:14px;
    color:var(--glamly-muted);
    cursor:pointer;
    font:600 12px "DM Sans", sans-serif;
    min-width:94px;
    padding:14px 18px;
    text-transform:uppercase;
}

.glamly-calendar__views button.is-active {
    background:var(--glamly-gold);
    color:#fff;
}

.glamly-calendar__toolbar {
    align-items:center;
    display:flex;
    justify-content:center;
    margin:-38px 0 28px;
}

.glamly-calendar__toolbar p {
    color:var(--glamly-muted);
    font-size:13px;
    font-weight:600;
    margin:0 12px;
    min-width:250px;
    text-align:center;
}

.glamly-calendar__toolbar button {
    color:var(--glamly-gold);
    font-size:34px;
}

.glamly-calendar__content {
    display:grid;
    gap:24px;
}

.glamly-calendar__content--agenda {
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.glamly-calendar__content--week {
    grid-template-columns:repeat(7, minmax(180px, 1fr));
    overflow-x:auto;
    padding-bottom:8px;
}

.glamly-calendar__day {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:24px;
    display:flex;
    flex-direction:column;
    min-height:430px;
    padding:28px 30px;
}

.glamly-calendar__day h2 {
    border-bottom:1px solid var(--glamly-line);
    font-size:16px;
    margin:0 0 22px;
    padding-bottom:22px;
}

.glamly-calendar__appointments {
    display:grid;
    gap:14px;
}

.glamly-calendar__appointment,
.glamly-calendar__empty,
.glamly-calendar__add-slot {
    border:1px solid var(--glamly-line);
    border-radius:15px;
    min-height:66px;
}

.glamly-calendar__appointment {
    align-items:center;
    color:var(--glamly-ink);
    display:flex;
    justify-content:space-between;
    padding:12px 16px;
    text-decoration:none;
}

.glamly-calendar__appointment:hover {
    border-color:#d2b58d;
}

.glamly-calendar__appointment strong,
.glamly-calendar__appointment small,
.glamly-calendar__appointment time small {
    display:block;
}

.glamly-calendar__appointment strong {
    font-size:14px;
}

.glamly-calendar__appointment small,
.glamly-calendar__appointment time small {
    color:var(--glamly-muted);
    font-size:12px;
    margin-top:4px;
}

.glamly-calendar__appointment time {
    color:var(--glamly-gold);
    font-size:13px;
    font-weight:600;
    margin-left:10px;
    text-align:right;
}

.glamly-calendar__empty {
    align-items:center;
    color:var(--glamly-muted);
    display:flex;
    font-size:13px;
    justify-content:center;
    margin:0;
    padding:12px;
    text-align:center;
}

.glamly-calendar__add-slot {
    align-items:center;
    border-color:#d2b58d;
    color:var(--glamly-gold);
    display:flex;
    font-size:13px;
    font-weight:600;
    justify-content:center;
    margin-top:16px;
    text-decoration:none;
}

.glamly-calendar__add-slot:hover {
    background:#fdfaf5;
}

.glamly-calendar__loading,
.glamly-calendar__error {
    color:var(--glamly-muted);
    grid-column:1 / -1;
    padding:48px;
    text-align:center;
}

.glamly-calendar__error {
    color:#9b3727;
}

@media (max-width:1340px) {
    .glamly-calendar {
        margin:0 48px;
    }
}

@media (max-width:800px) {
    .glamly-calendar {
        margin:0;
        padding:30px 18px 48px;
    }

    .glamly-calendar__header {
        align-items:flex-start;
        flex-wrap:wrap;
        gap:12px;
        margin-bottom:42px;
    }

    .glamly-calendar__header h1 {
        font-size:42px;
    }

    .glamly-calendar__views {
        margin-left:0;
        order:3;
        width:100%;
    }

    .glamly-calendar__views button {
        flex:1;
        min-width:0;
        padding:12px 8px;
    }

    .glamly-calendar__toolbar {
        margin:-24px 0 22px;
    }

    .glamly-calendar__toolbar p {
        min-width:0;
        width:220px;
    }

    .glamly-calendar__content--agenda {
        grid-template-columns:1fr;
    }

    .glamly-calendar__content--week {
        gap:14px;
    }

    .glamly-calendar__day {
        min-height:0;
        padding:22px;
    }
}

/* Compact week planner: intentionally different from the agenda cards. */
.glamly-calendar__content--week {
    display:block;
    overflow:visible;
    padding:0;
}

.glamly-week {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:24px;
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    overflow:hidden;
}

.glamly-week__day {
    border-left:1px solid var(--glamly-line);
    display:flex;
    flex-direction:column;
    min-height:340px;
    padding:20px 14px 14px;
}

.glamly-week__day:first-child {
    border-left:0;
}

.glamly-week__date {
    align-items:center;
    border-bottom:1px solid var(--glamly-line);
    display:flex;
    gap:8px;
    padding:0 2px 15px;
}

.glamly-week__date small {
    color:var(--glamly-muted);
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
}

.glamly-week__date strong {
    color:var(--glamly-gold);
    font-family:"Cormorant Garamond", serif;
    font-size:30px;
    font-style:italic;
    font-weight:500;
    line-height:1;
}

.glamly-week__events {
    display:grid;
    gap:8px;
    margin-top:14px;
}

.glamly-week__appointment {
    background:#fdfaf5;
    border-left:3px solid var(--glamly-gold);
    color:var(--glamly-ink);
    display:block;
    font-size:12px;
    padding:9px;
    text-decoration:none;
}

.glamly-week__appointment:hover {
    background:#f7eee1;
}

.glamly-week__appointment time,
.glamly-week__appointment span {
    display:block;
}

.glamly-week__appointment time {
    color:var(--glamly-gold);
    font-size:11px;
    font-weight:600;
    margin-bottom:4px;
}

.glamly-week__appointment span {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.glamly-week__empty {
    color:#c4beb7;
    font-size:20px;
    margin:0;
    padding:4px 0;
}

.glamly-week__add {
    align-items:center;
    border:1px solid #d2b58d;
    border-radius:50%;
    color:var(--glamly-gold);
    display:flex;
    font-size:19px;
    height:30px;
    justify-content:center;
    margin:auto 2px 0;
    text-decoration:none;
    width:30px;
}

.glamly-week__add:hover {
    background:#fdfaf5;
}

@media (max-width:800px) {
    .glamly-calendar__content--week {
        overflow-x:auto;
        padding-bottom:8px;
    }

    .glamly-week {
        grid-template-columns:repeat(7, 152px);
        min-width:max-content;
    }

    .glamly-week__day {
        min-height:300px;
    }
}

/* Narrow-phone treatment. Keep controls thumb-sized and avoid clipped text. */
@media (max-width:480px) {
    .glamly-topbar__inner {
        margin:0 12px;
    }

    .glamly-menu-button {
        font-size:22px;
        padding:6px;
    }

    .glamly-wordmark {
        font-size:26px;
    }

    .glamly-dashboard {
        padding-left:16px;
        padding-right:16px;
    }

    .glamly-dashboard h1 {
        font-size:38px;
    }

    .glamly-dashboard__welcome a {
        min-height:44px;
        padding-top:14px;
    }

    .glamly-dashboard__metrics article {
        min-height:108px;
        padding:19px;
    }

    .glamly-dashboard__metrics strong {
        font-size:35px;
    }

    .glamly-panel {
        border-radius:20px;
        padding:22px 16px;
    }

    .glamly-dashboard h2 {
        font-size:31px;
    }

    .glamly-appointment {
        align-items:flex-start;
        gap:10px;
        padding:12px;
    }

    .glamly-appointment time {
        font-size:12px;
    }

    .glamly-calendar {
        padding-left:16px;
        padding-right:16px;
    }

    .glamly-calendar__header {
        gap:9px;
        margin-bottom:34px;
    }

    .glamly-calendar__header h1 {
        font-size:36px;
    }

    .glamly-calendar__back {
        font-size:39px;
        width:20px;
    }

    .glamly-calendar__views {
        border-radius:14px;
        padding:3px;
    }

    .glamly-calendar__views button {
        border-radius:11px;
        font-size:11px;
        min-height:42px;
        padding:8px 4px;
    }

    .glamly-calendar__toolbar {
        margin:-17px 0 18px;
    }

    .glamly-calendar__toolbar p {
        font-size:11px;
        line-height:1.35;
        margin:0 4px;
        width:calc(100% - 62px);
    }

    .glamly-calendar__toolbar button {
        height:40px;
        width:27px;
    }

    .glamly-calendar__content {
        gap:14px;
    }

    .glamly-calendar__day {
        border-radius:18px;
        padding:18px 14px;
    }

    .glamly-calendar__day h2 {
        font-size:15px;
        margin-bottom:16px;
        padding-bottom:16px;
    }

    .glamly-calendar__appointment {
        min-height:60px;
        padding:10px 12px;
    }

    .glamly-calendar__appointment strong {
        font-size:13px;
    }

    .glamly-calendar__add-slot {
        min-height:52px;
        margin-top:14px;
    }

    .glamly-week {
        border-radius:18px;
        grid-template-columns:repeat(7, 142px);
    }

    .glamly-week__day {
        min-height:274px;
        padding:16px 10px 10px;
    }

    .glamly-week__date {
        padding-bottom:12px;
    }

    .glamly-week__date strong {
        font-size:27px;
    }

    .glamly-week__appointment {
        font-size:11px;
        padding:8px;
    }
}

/* Clients */
.glamly-clients {
    margin:0 auto;
    max-width:1640px;
    padding: 38px 58px 80px;
}

.glamly-clients__heading {
    align-items:flex-end;
    display:flex;
    justify-content:space-between;
    margin-bottom:34px;
}

.glamly-clients__eyebrow {
    color:var(--glamly-gold);
    font-size:11px;
    font-weight:600;
    letter-spacing:.12em;
    margin:0 0 8px;
    text-transform:uppercase;
}

.glamly-clients__heading h1,
.glamly-filter-modal h2 {
    font-family:"Cormorant Garamond", serif;
    font-size:52px;
    font-style:italic;
    font-weight:500;
    line-height:1;
    margin:0;
}

.glamly-clients__heading p:not(.glamly-clients__eyebrow) {
    color:var(--glamly-muted);
    font-size:13px;
    margin:12px 0 0;
}

.glamly-clients__primary-action,
.glamly-client-form__card button,
.glamly-filter-modal footer button {
    background:var(--glamly-gold);
    border:0;
    border-radius:999px;
    color:#fff;
    cursor:pointer;
    font:600 13px "DM Sans", sans-serif;
    min-height:46px;
    padding:0 22px;
    text-decoration:none;
}

.glamly-clients__tools {
    display:flex;
    gap:12px;
    margin-bottom:22px;
}

.glamly-clients__search {
    display:flex;
    flex:1;
    gap:10px;
}

.glamly-clients__search label {
    height:1px;
    overflow:hidden;
    position:absolute;
    width:1px;
}

.glamly-clients__search input,
.glamly-filter-modal input,
.glamly-filter-modal select,
.glamly-client-form__card input {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:13px;
    color:var(--glamly-ink);
    font:inherit;
    min-height:48px;
    padding:0 15px;
    width:100%;
}

.glamly-clients__search button,
.glamly-clients__filter-button {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:13px;
    color:var(--glamly-ink);
    cursor:pointer;
    font:600 13px "DM Sans", sans-serif;
    min-height:48px;
    padding:0 18px;
    white-space:nowrap;
}

.glamly-clients__filter-button {
    color:#8f6b3f;
}

.glamly-clients__list {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:24px;
    overflow:hidden;
}

.glamly-client-row {
    align-items:center;
    border-top:1px solid var(--glamly-line);
    color:var(--glamly-ink);
    display:grid;
    gap:14px;
    grid-template-columns:44px minmax(0, 1fr) auto 18px;
    min-height:80px;
    padding:14px 24px;
    text-decoration:none;
}

.glamly-client-row:first-child {
    border-top:0;
}

.glamly-client-row:hover {
    background:#fdfaf5;
}

.glamly-client-row__avatar {
    align-items:center;
    background:#cda875;
    border-radius:50%;
    color:#fff;
    display:flex;
    font-size:12px;
    font-weight:600;
    height:44px;
    justify-content:center;
    width:44px;
}

.glamly-client-row__identity strong,
.glamly-client-row__identity small {
    display:block;
}

.glamly-client-row__identity strong {
    font-size:14px;
}

.glamly-client-row__identity small {
    color:var(--glamly-muted);
    font-size:12px;
    margin-top:4px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.glamly-client-row__requests {
    color:var(--glamly-muted);
    font-size:12px;
}

.glamly-client-row__arrow {
    color:var(--glamly-gold);
    font-size:24px;
}

.glamly-clients__empty {
    padding:58px 24px;
    text-align:center;
}

.glamly-clients__empty h2 {
    font-family:"Cormorant Garamond", serif;
    font-size:34px;
    font-style:italic;
    margin:0;
}

.glamly-clients__empty p {
    color:var(--glamly-muted);
    font-size:14px;
}

.glamly-clients__empty a,
.glamly-clients__pagination a,
.glamly-clients__back {
    color:#99733f;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
}

.glamly-clients__pagination {
    align-items:center;
    display:flex;
    gap:20px;
    justify-content:center;
    margin-top:24px;
}

.glamly-clients__pagination span {
    color:var(--glamly-muted);
    font-size:12px;
}

.glamly-filter-modal {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:24px;
    box-shadow:0 22px 70px rgba(57, 44, 31, .18);
    max-width:480px;
    padding:0;
    width:calc(100% - 32px);
}

.glamly-filter-modal::backdrop {
    background:rgba(39, 35, 31, .38);
}

.glamly-filter-modal form {
    display:grid;
    gap:16px;
    padding:28px;
}

.glamly-filter-modal header,
.glamly-filter-modal footer {
    align-items:center;
    display:flex;
    justify-content:space-between;
}

.glamly-filter-modal h2 {
    font-size:37px;
}

.glamly-filter-modal header button {
    background:transparent;
    border:0;
    color:var(--glamly-muted);
    cursor:pointer;
    font-size:28px;
}

.glamly-filter-modal label,
.glamly-client-form__card label {
    color:#5f5750;
    display:grid;
    font-size:13px;
    font-weight:600;
    gap:7px;
}

.glamly-filter-modal footer {
    margin-top:8px;
}

.glamly-filter-modal footer a {
    color:var(--glamly-muted);
    font-size:13px;
}

.glamly-client-form__card,
.glamly-client-profile__details {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:24px;
}

.glamly-client-form__card {
    display:grid;
    gap:18px;
    margin:0 auto;
    max-width:620px;
    padding:30px;
}

.glamly-client-form__card button {
    margin-top:10px;
}

.glamly-clients__back {
    display:inline-block;
    margin-bottom:26px;
}

.glamly-client-profile__details {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    overflow:hidden;
}

.glamly-client-profile__details article {
    border-left:1px solid var(--glamly-line);
    padding:24px;
}

.glamly-client-profile__details article:first-child {
    border-left:0;
}

.glamly-client-profile__details small,
.glamly-client-profile__details strong {
    display:block;
}

.glamly-client-profile__details small {
    color:var(--glamly-muted);
    font-size:12px;
}

.glamly-client-profile__details strong {
    color:var(--glamly-gold);
    font-family:"Cormorant Garamond", serif;
    font-size:29px;
    font-style:italic;
    font-weight:500;
    margin-top:8px;
}

@media (max-width:1100px) {
    .glamly-clients {
        margin:0 48px;
    }
}

@media (max-width:640px) {
    .glamly-clients {
        margin:0;
        padding:30px 18px 48px;
    }

    .glamly-clients__heading {
        align-items:flex-start;
        flex-direction:column;
        gap:18px;
        margin-bottom:26px;
    }

    .glamly-clients__heading h1 {
        font-size:43px;
    }

    .glamly-clients__primary-action {
        align-items:center;
        display:flex;
        width:100%;
        justify-content:center;
    }

    .glamly-clients__tools,
    .glamly-clients__search {
        flex-direction:column;
    }

    .glamly-clients__search button,
    .glamly-clients__filter-button {
        width:100%;
    }

    .glamly-client-row {
        gap:11px;
        grid-template-columns:40px minmax(0, 1fr) 14px;
        padding:13px 15px;
    }

    .glamly-client-row__avatar {
        height:40px;
        width:40px;
    }

    .glamly-client-row__requests {
        grid-column:2;
        grid-row:2;
    }

    .glamly-client-row__arrow {
        grid-column:3;
        grid-row:1 / span 2;
    }

    .glamly-filter-modal form {
        padding:22px;
    }

    .glamly-filter-modal h2 {
        font-size:34px;
    }

    .glamly-client-profile__details {
        grid-template-columns:1fr;
    }

    .glamly-client-profile__details article {
        border-left:0;
        border-top:1px solid var(--glamly-line);
    }

    .glamly-client-profile__details article:first-child {
        border-top:0;
    }
}

/* Shared appointment modal */
.glamly-appointment-modal {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:24px;
    box-shadow:0 22px 70px rgba(57, 44, 31, .18);
    max-width:650px;
    padding:0;
    width:calc(100% - 32px);
}

.glamly-appointment-modal::backdrop {
    background:rgba(39, 35, 31, .38);
}

.glamly-appointment-modal form {
    display:grid;
    gap:17px;
    padding:30px;
}

.glamly-appointment-modal header,
.glamly-appointment-modal footer {
    align-items:center;
    display:flex;
    justify-content:space-between;
}

.glamly-appointment-modal h2 {
    font-family:"Cormorant Garamond", serif;
    font-size:39px;
    font-style:italic;
    font-weight:500;
    line-height:1;
    margin:0;
}

.glamly-appointment-modal header button,
.glamly-appointment-modal__cancel {
    background:transparent;
    border:0;
    color:var(--glamly-muted);
    cursor:pointer;
}

.glamly-appointment-modal header button {
    font-size:28px;
}

.glamly-appointment-modal label {
    color:#5f5750;
    display:grid;
    font-size:13px;
    font-weight:600;
    gap:7px;
}

.glamly-appointment-modal input,
.glamly-appointment-modal select,
.glamly-appointment-modal textarea {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:13px;
    color:var(--glamly-ink);
    font:inherit;
    min-height:48px;
    padding:12px 14px;
    resize:vertical;
    width:100%;
}

.glamly-appointment-modal__times,
.glamly-appointment-modal__new-client > div {
    display:grid;
    gap:14px;
    grid-template-columns:repeat(3, 1fr);
}

.glamly-appointment-modal__new-client {
    background:#fdfaf5;
    border-radius:16px;
    display:grid;
    gap:14px;
    padding:18px;
}

.glamly-appointment-modal__new-client[hidden] {
    display:none;
}

.glamly-appointment-modal__new-client p {
    color:var(--glamly-gold);
    font-size:12px;
    font-weight:600;
    margin:0;
    text-transform:uppercase;
}

.glamly-appointment-modal__new-client > div {
    grid-template-columns:repeat(2, 1fr);
}

.glamly-appointment-modal footer {
    gap:14px;
    margin-top:4px;
}

.glamly-appointment-modal footer button[type="submit"] {
    background:var(--glamly-gold);
    border:0;
    border-radius:999px;
    color:#fff;
    cursor:pointer;
    font:600 13px "DM Sans", sans-serif;
    min-height:46px;
    padding:0 24px;
}

.glamly-appointment-modal footer button[type="submit"]:disabled {
    cursor:wait;
    opacity:.7;
}

.glamly-appointment-modal__error {
    background:#fff3f0;
    border:1px solid #f0c9c0;
    border-radius:10px;
    color:#9b3727;
    font-size:13px;
    margin:0;
    padding:12px;
}

.glamly-client-select {
    position:relative;
}

.glamly-client-select__results {
    background:#fff;
    border:1px solid var(--glamly-line);
    border-radius:13px;
    box-shadow:0 12px 28px rgba(57, 44, 31, .12);
    left:0;
    max-height:220px;
    overflow-y:auto;
    padding:5px;
    position:absolute;
    right:0;
    top:calc(100% + 6px);
    z-index:5;
}

.glamly-client-select__option {
    background:transparent;
    border:0;
    border-radius:9px;
    color:var(--glamly-ink);
    cursor:pointer;
    display:block;
    font:inherit;
    padding:11px 12px;
    text-align:left;
    width:100%;
}

.glamly-client-select__option:hover,
.glamly-client-select__option:focus {
    background:#fdfaf5;
    outline:0;
}

.glamly-client-select__option--new {
    border-top:1px solid var(--glamly-line);
    color:#99733f;
    font-weight:600;
}
.glamly-subscription{margin:0 auto;max-width:720px;padding:60px 20px;text-align:center}.glamly-subscription h1{font-family:"Cormorant Garamond",serif;font-size:62px;font-style:italic;font-weight:500;margin:0}.glamly-subscription__intro{color:var(--glamly-muted);font-size:16px}.glamly-subscription article,.glamly-subscription form{background:#fff;border:1px solid var(--glamly-line);border-radius:24px;margin-top:32px;padding:34px;text-align:left}.glamly-subscription article small{color:var(--glamly-gold);font-weight:600;text-transform:uppercase}.glamly-subscription article strong{color:var(--glamly-gold);display:block;font-family:"Cormorant Garamond",serif;font-size:56px;font-style:italic;font-weight:500;margin:16px 0}.glamly-subscription article strong em{color:var(--glamly-muted);font-family:"DM Sans",sans-serif;font-size:14px;font-style:normal}.glamly-subscription li{margin:12px 0}.glamly-subscription button{background:var(--glamly-gold);border:0;border-radius:999px;color:#fff;cursor:pointer;font:600 14px "DM Sans",sans-serif;margin-top:18px;min-height:50px;padding:0 26px}.glamly-subscription form{display:grid;gap:16px}.glamly-subscription [data-stripe-card]{border:1px solid var(--glamly-line);border-radius:12px;padding:14px}.glamly-subscription [data-subscription-error]{color:#9b3727}@media(max-width:480px){.glamly-subscription h1{font-size:48px}.glamly-subscription article strong{font-size:48px}}

/* Business services */
.glamly-services { margin:0 auto; max-width:1280px; padding:48px 0 80px; }
.glamly-services__heading { align-items:center; display:flex; justify-content:space-between; margin-bottom:40px; }
.glamly-services h1,.glamly-services h2,.glamly-service-modal h2 { font-family:"Cormorant Garamond",serif; font-style:italic; font-weight:500; }
.glamly-services h1 { font-size:52px; margin:0; }
.glamly-services__heading button,.glamly-service-modal footer button[type="submit"] { background:var(--glamly-gold); border:0; border-radius:999px; color:#fff; cursor:pointer; font:600 13px "DM Sans",sans-serif; min-height:50px; padding:0 25px; text-transform:uppercase; }
.glamly-services__categories { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.glamly-services__categories a { background:#fff; border:1px solid var(--glamly-line); border-radius:999px; color:var(--glamly-muted); font-size:12px; font-weight:600; padding:11px 20px; text-decoration:none; text-transform:uppercase; }
.glamly-services__categories a.is-active { background:#f1eadf; border-color:#d2b58d; color:#99733f; }
.glamly-services__grid { display:grid; gap:24px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.glamly-service-card,.glamly-services__empty { background:#fff; border:1px solid var(--glamly-line); border-radius:24px; padding:30px; }
.glamly-service-card { align-items:flex-end; display:flex; justify-content:space-between; min-height:190px; }
.glamly-service-card small { color:var(--glamly-gold); font-size:11px; font-weight:600; text-transform:uppercase; }
.glamly-service-card h2 { font-size:37px; margin:10px 0 8px; }.glamly-service-card p { color:var(--glamly-muted); font-size:13px; margin:0; }.glamly-service-card strong { color:var(--glamly-gold); display:block; font-family:"Cormorant Garamond",serif; font-size:35px; font-style:italic; margin-top:22px; }.glamly-service-card > span { color:var(--glamly-muted); font-size:12px; }
.glamly-services__empty { grid-column:1/-1; text-align:center; }.glamly-services__empty h2 { font-size:35px; margin:0; }.glamly-services__empty p { color:var(--glamly-muted); }
.glamly-service-modal { background:#fff; border:1px solid var(--glamly-line); border-radius:24px; max-width:620px; padding:0; width:calc(100% - 32px); }.glamly-service-modal::backdrop { background:rgba(39,35,31,.38); }.glamly-service-modal form { display:grid; gap:15px; padding:28px; }.glamly-service-modal header,.glamly-service-modal footer { align-items:center; display:flex; justify-content:space-between; }.glamly-service-modal h2 { font-size:39px; margin:0; }.glamly-service-modal header button,.glamly-service-modal footer button[type="button"] { background:transparent; border:0; color:var(--glamly-muted); cursor:pointer; }.glamly-service-modal header button { font-size:28px; }.glamly-service-modal label { color:#5f5750; display:grid; font-size:13px; font-weight:600; gap:6px; }.glamly-service-modal form > div:not(.glamly-service-modal__check) { display:grid; gap:14px; grid-template-columns:repeat(2,1fr); }.glamly-service-modal input,.glamly-service-modal textarea { border:1px solid var(--glamly-line); border-radius:12px; font:inherit; min-height:47px; padding:10px 13px; width:100%; }.glamly-service-modal__check { display:block!important; }.glamly-service-modal__check input { min-height:0; width:auto; }
.glamly-service-days { color:#5f5750; display:grid; font-size:13px; font-weight:600; gap:6px; }
.glamly-service-days details { position:relative; }
.glamly-service-days summary { align-items:center; border:1px solid var(--glamly-line); border-radius:12px; cursor:pointer; display:flex; font:inherit; font-weight:500; justify-content:space-between; min-height:47px; padding:10px 13px; }
.glamly-service-days summary::after { color:var(--glamly-gold); content:'⌄'; font-size:18px; line-height:1; }
.glamly-service-days summary::-webkit-details-marker { display:none; }
.glamly-service-days__options { background:#fff; border:1px solid var(--glamly-line); border-radius:12px; box-shadow:0 14px 30px rgba(39,35,31,.13); display:grid; gap:3px; left:0; padding:8px; position:absolute; right:0; top:calc(100% + 6px); z-index:5; }
.glamly-service-days__options label { align-items:center; border-radius:8px; cursor:pointer; display:flex; font-size:14px; font-weight:500; gap:10px; padding:9px; }
.glamly-service-days__options label:hover { background:#f8f4ee; }
.glamly-service-days__options input { accent-color:var(--glamly-gold); min-height:0; padding:0; width:auto; }
.glamly-service-days__options p { color:var(--glamly-muted); font-size:13px; font-weight:400; line-height:1.45; margin:6px; }
.glamly-service-days__options a { color:#99733f; }
.glamly-service-days small { color:var(--glamly-muted); font-size:11px; font-weight:400; }
.glamly-service-card { align-items:center; display:grid; gap:20px; grid-template-columns:minmax(0,1fr) auto; }
.glamly-service-card:has(.glamly-service-card__image) { grid-template-columns:102px minmax(0,1fr) auto; }
.glamly-service-card__image { border-radius:14px; height:102px; object-fit:cover; width:102px; }
.glamly-service-card aside { align-items:flex-end; display:grid; gap:14px; justify-items:end; }
.glamly-service-card aside > span { color:var(--glamly-muted); font-size:12px; }
.glamly-service-card aside button,
.glamly-service-card aside a { background:transparent; border:1px solid var(--glamly-line); border-radius:999px; color:#99733f; cursor:pointer; font:600 12px "DM Sans",sans-serif; padding:8px 14px; text-decoration:none; }
.glamly-service-card aside button:hover,
.glamly-service-card aside a:hover { background:#f8f4ee; }
.glamly-service-image { border-top:1px solid var(--glamly-line); padding-top:15px; }
.glamly-service-image small { color:var(--glamly-muted); font-size:11px; font-weight:400; }
.glamly-service-image input[type="file"] { background:#fff; }
.glamly-service-image img { border-radius:12px; margin-top:4px; max-height:180px; max-width:100%; object-fit:cover; width:220px; }
.glamly-service-editor { margin:0 auto; max-width:1320px; padding:48px 0 88px; }
.glamly-service-editor__header { align-items:flex-start; display:flex; justify-content:space-between; margin-bottom:34px; }
.glamly-service-editor__header h1,.glamly-service-editor h2 { font-family:"Cormorant Garamond",serif; font-style:italic; font-weight:500; }
.glamly-service-editor__header h1 { font-size:54px; margin:6px 0 0; }
.glamly-service-editor__back { color:#99733f; font-size:13px; font-weight:600; text-decoration:none; }
.glamly-service-editor__message { color:#56805b; font-size:14px; margin:10px 0 0; }
.glamly-service-editor__view { border:1px solid var(--glamly-line); border-radius:999px; color:#5f5750; font-size:13px; font-weight:600; padding:12px 17px; text-decoration:none; }
.glamly-service-editor__content { align-items:start; display:grid; gap:26px; grid-template-columns:minmax(0,1fr) 340px; }
.glamly-service-editor__primary,.glamly-service-editor__sidebar { display:grid; gap:24px; }
.glamly-service-editor__card { background:#fff; border:1px solid var(--glamly-line); border-radius:20px; display:grid; gap:18px; padding:28px; }
.glamly-service-editor__card h2 { font-size:34px; margin:0; }.glamly-service-editor__card > p,.glamly-service-editor__section-heading p { color:var(--glamly-muted); font-size:14px; line-height:1.5; margin:-8px 0 0; }
.glamly-service-editor__card label { color:#5f5750; display:grid; font-size:13px; font-weight:600; gap:7px; }
.glamly-service-editor__card input,.glamly-service-editor__card textarea { border:1px solid var(--glamly-line); border-radius:11px; font:inherit; min-height:48px; padding:11px 13px; width:100%; }
.glamly-service-editor__card textarea { min-height:140px; resize:vertical; }
.glamly-service-editor__two-column { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.glamly-service-editor__section-heading { align-items:center; display:flex; gap:18px; justify-content:space-between; }.glamly-service-editor__section-heading h2 { margin:0; }
.glamly-service-editor__add { background:#f1eadf; border:1px solid #d9c29e; border-radius:999px; color:#99733f; cursor:pointer; font:600 12px "DM Sans",sans-serif; padding:10px 14px; white-space:nowrap; }
.glamly-addon-list { display:grid; gap:14px; }.glamly-addon-list__empty { color:var(--glamly-muted); font-size:14px; margin:0; }
.glamly-addon { background:#fbfaf8; border:1px solid var(--glamly-line); border-radius:14px; display:grid; gap:13px; padding:18px; }.glamly-addon header { align-items:center; display:flex; justify-content:space-between; }.glamly-addon header strong { color:#403934; font-size:14px; }.glamly-addon header button { background:transparent; border:0; color:#a34d48; cursor:pointer; font-size:22px; line-height:1; }
.glamly-service-editor__image { border-radius:14px; height:210px; object-fit:cover; width:100%; }.glamly-service-editor__card > small { color:var(--glamly-muted); font-size:11px; margin-top:-12px; }
.glamly-service-editor__status { align-items:flex-start; display:flex!important; gap:11px!important; }.glamly-service-editor__status input,.glamly-service-modal__check input { min-height:0!important; padding:0!important; width:auto!important; }.glamly-service-editor__status span { display:grid; gap:4px; }.glamly-service-editor__status small { color:var(--glamly-muted); font-size:12px; font-weight:400; line-height:1.4; }
.glamly-service-editor__save { background:var(--glamly-gold); border:0; border-radius:999px; color:#fff; cursor:pointer; font:600 13px "DM Sans",sans-serif; min-height:52px; text-transform:uppercase; }
.glamly-service-payment__choices { display:grid; gap:10px; }
.glamly-service-editor__card .glamly-service-payment__choices label { align-items:center; background:#fff; border:1px solid var(--glamly-line); border-radius:13px; cursor:pointer; display:flex!important; gap:13px; padding:14px 16px; transition:border-color .16s ease, background .16s ease; }
.glamly-service-editor__card .glamly-service-payment__choices label:has(input:checked) { background:#fbf7ef; border-color:#d1ae76; }
.glamly-service-editor__card .glamly-service-payment__choices input[type="radio"] { accent-color:var(--glamly-gold); flex:0 0 auto; height:18px!important; min-height:18px!important; margin:0; padding:0!important; width:18px!important; }
.glamly-service-payment__choices span { display:grid; gap:3px; }
.glamly-service-payment__choices strong { color:#3f3934; font-size:14px; }
.glamly-service-payment__choices small,.glamly-service-payment__deposit p { color:var(--glamly-muted); font-size:12px; font-weight:400; line-height:1.45; }
.glamly-service-payment__deposit { background:#fbfaf8; border:1px solid #e6d7c0; border-radius:14px; display:grid; gap:8px; padding:16px; }
.glamly-service-payment__deposit p { margin:0; }
.glamly-service-seo__preview { background:#fbfaf8; border:1px solid var(--glamly-line); border-radius:14px; display:grid; gap:5px; padding:20px; }.glamly-service-seo__preview small { color:#3d3732; font-size:14px; }.glamly-service-seo__preview span { color:#72706c; font-size:12px; }.glamly-service-seo__preview strong { color:#2f64c9; font-size:20px; font-weight:500; line-height:1.3; }.glamly-service-seo__preview p { color:#5c5a56!important; font-size:14px!important; line-height:1.5; margin:0!important; }.glamly-service-seo label small { color:var(--glamly-muted); font-size:11px; font-weight:400; }
.glamly-service-editor__card .glamly-service-days__options label { align-items:center; display:flex!important; gap:10px; grid-template-columns:none; line-height:1.25; min-height:38px; padding:8px 10px; }
.glamly-service-editor__card .glamly-service-days__options input[type="checkbox"] { accent-color:var(--glamly-gold); flex:0 0 auto; height:17px!important; min-height:17px!important; margin:0; padding:0!important; width:17px!important; }
@media(max-width:1340px){.glamly-service-editor{margin:0 48px}}@media(max-width:760px){.glamly-service-editor{margin:0;padding:30px 18px 54px}.glamly-service-editor__header{gap:18px;flex-direction:column}.glamly-service-editor__header h1{font-size:44px}.glamly-service-editor__content{grid-template-columns:1fr}.glamly-service-editor__sidebar{display:contents}.glamly-service-editor__save{order:5}.glamly-service-editor__two-column{grid-template-columns:1fr}.glamly-service-editor__section-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:1340px){.glamly-services{margin:0 48px}}@media(max-width:640px){.glamly-services{margin:0;padding:30px 18px 48px}.glamly-services__heading{align-items:stretch;flex-direction:column}.glamly-services h1{font-size:43px}.glamly-services__grid{grid-template-columns:1fr}.glamly-service-card{min-height:160px;padding:22px}.glamly-service-modal form>div:not(.glamly-service-modal__check){grid-template-columns:1fr}}

@media (max-width:560px) {
    .glamly-appointment-modal form {
        gap:14px;
        padding:22px;
    }

    .glamly-appointment-modal h2 {
        font-size:34px;
    }

    .glamly-appointment-modal__times,
    .glamly-appointment-modal__new-client > div {
        grid-template-columns:1fr;
    }

    .glamly-appointment-modal footer {
        align-items:stretch;
        flex-direction:column-reverse;
    }

    .glamly-appointment-modal footer button {
        min-height:46px;
    }
}

/* Subscription onboarding: reveal card entry only after the trial action. */
.glamly-subscription form[hidden] {
    display: none !important;
}

.glamly-subscription--member {
    padding-top: 48px;
}

.glamly-subscription__plan {
    position: relative;
}

.glamly-subscription__notice,
.glamly-subscription__cancelled {
    background: #f5eee4;
    border-radius: 12px;
    color: #6d5a43;
    margin: 18px 0;
    padding: 14px 16px;
}

.glamly-subscription__cancelled {
    background: #f5eeee;
    color: #7e4e4e;
}

.glamly-subscription__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 22px;
}

.glamly-subscription button.glamly-subscription__cancel-button {
    background: transparent;
    border: 1px solid #c9b9a4;
    color: #78634a;
}

.glamly-confirm-modal[hidden] {
    display: none !important;
}

.glamly-confirm-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 100;
}

.glamly-confirm-modal__backdrop {
    background: rgba(35, 31, 28, .38);
    inset: 0;
    position: absolute;
}

.glamly-confirm-modal__dialog {
    background: #fff;
    border: 1px solid var(--glamly-line);
    border-radius: 22px;
    max-width: 460px;
    padding: 30px;
    position: relative;
    width: 100%;
}

.glamly-confirm-modal__dialog h2 {
    font-family: "Cormorant Garamond", serif;
    font-size: 38px;
    font-weight: 500;
    margin: 0 0 10px;
}

.glamly-confirm-modal__dialog p {
    color: var(--glamly-muted);
    line-height: 1.6;
}

.glamly-confirm-modal__actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 24px;
}

.glamly-confirm-modal__actions button {
    border-radius: 999px;
    cursor: pointer;
    font: 600 14px "DM Sans", sans-serif;
    min-height: 44px;
    padding: 0 18px;
}

.glamly-confirm-modal__secondary {
    background: #fff;
    border: 1px solid var(--glamly-line);
    color: #564e47;
}

.glamly-confirm-modal__danger {
    background: #9e4f4b;
    border: 1px solid #9e4f4b;
    color: #fff;
}

.glamly-confirm-modal__dialog--offer {
    border-color: #d3ad76;
}

.glamly-confirm-modal__accept {
    background: var(--glamly-gold);
    border: 1px solid var(--glamly-gold);
    color: #fff;
}

.glamly-confirm-modal__error {
    color: #9b3727 !important;
}

@media (max-width: 560px) {
    .glamly-confirm-modal__actions {
        flex-direction: column-reverse;
    }

    .glamly-confirm-modal__actions button {
        width: 100%;
    }
}

/* Business dashboard */
.glamly-business-dashboard {
    background: #fbfaf8;
    min-height: 100vh;
}

.glamly-business-rail {
    background: #fff;
    border-right: 1px solid var(--glamly-line);
    padding: 48px 22px;
}

.glamly-business-rail__brand {
    color: var(--glamly-gold);
    font: italic 48px "Cormorant Garamond", serif;
    text-decoration: none;
}

.glamly-business-rail nav {
    display: grid;
    gap: 18px;
    margin-top: 86px;
}

.glamly-business-rail nav a {
    align-items: center;
    border-radius: 16px;
    color: #6e6964;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    gap: 16px;
    padding: 18px 22px;
    text-decoration: none;
    text-transform: uppercase;
}

.glamly-business-rail nav a span {
    color: var(--glamly-gold);
    font-size: 22px;
}

.glamly-business-rail nav a.is-active {
    background: #f3ebdf;
    color: var(--glamly-gold);
}

.glamly-business-dashboard__content {
    margin: 0 auto;
    max-width: 1640px;
    padding: 38px 58px 80px;
    width: 100%;
}

.glamly-business-dashboard__header {
    align-items: center;
    border-bottom: 1px solid var(--glamly-line);
    display: flex;
    justify-content: space-between;
    padding-bottom: 28px;
}

.glamly-business-dashboard__header h1,
.glamly-business-dashboard__headings h2 {
    font: italic 52px "Cormorant Garamond", serif;
    margin: 0;
}

.glamly-business-dashboard__account {
    align-items: center;
    display: flex;
    font-weight: 600;
    gap: 16px;
}

.glamly-business-dashboard__headings {
    display: grid;
    gap: 36px;
    grid-template-columns: minmax(0, 1.6fr) minmax(360px, 1fr);
    padding: 42px 0 28px;
}

.glamly-business-dashboard__headings h2 {
    color: var(--glamly-gold);
    font-size: 38px;
}

.glamly-business-dashboard__grid {
    display: grid;
    gap: 36px;
    grid-template-columns: minmax(0, 1.6fr) minmax(360px, 1fr);
}

.glamly-business-preview {
    background: linear-gradient(135deg, #443e46, #1d2e43 48%, #b58d6c);
    border-radius: 26px;
    min-height: 530px;
    overflow: hidden;
    position: relative;
}

.glamly-business-preview::before {
    background: radial-gradient(circle at 62% 38%, rgba(235, 194, 166, .6), transparent 22%), linear-gradient(110deg, transparent 35%, rgba(0, 0, 0, .4));
    content: "";
    inset: 0;
    position: absolute;
}

.glamly-business-preview__overlay {
    color: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    padding: 46px;
    position: relative;
}

.glamly-business-preview__overlay h3 {
    font: italic 62px "Cormorant Garamond", serif;
    margin: 0 0 auto;
    max-width: 700px;
}

.glamly-business-preview__overlay p {
    margin: 12px 0 0;
    order: 2;
}

.glamly-business-preview__actions {
    display: flex;
    gap: 14px;
    margin-top: 28px;
}

.glamly-business-preview__actions a,
.glamly-business-preview__actions button {
    background: var(--glamly-gold);
    border: 0;
    border-radius: 999px;
    color: #fff;
    font: inherit;
    font-weight: 600;
    padding: 14px 22px;
    text-decoration: none;
}

.glamly-business-preview__actions button:disabled {
    cursor: not-allowed;
    opacity: .8;
}

.glamly-business-preview__actions a.glamly-business-preview__outline {
    background: transparent;
    border: 1px solid #fff;
}

.glamly-business-content-cards {
    display: grid;
    gap: 26px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.glamly-business-content-cards a,
.glamly-business-content-cards button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--glamly-line);
    border-radius: 24px;
    color: #34302c;
    display: flex;
    flex-direction: column;
    font: inherit;
    gap: 18px;
    justify-content: center;
    min-height: 252px;
    text-decoration: none;
    text-transform: uppercase;
}

.glamly-business-content-cards span {
    color: var(--glamly-gold);
    font-size: 46px;
}

.glamly-business-content-cards button:disabled {
    cursor: not-allowed;
    opacity: .7;
}

@media (max-width: 1000px) {
    .glamly-business-rail {
        align-items: center;
        border-bottom: 1px solid var(--glamly-line);
        border-right: 0;
        display: flex;
        justify-content: space-between;
        padding: 18px 24px;
    }

    .glamly-business-rail nav {
        display: flex;
        gap: 4px;
        margin: 0;
    }

    .glamly-business-rail nav a {
        font-size: 0;
        padding: 8px;
    }

    .glamly-business-rail nav a span {
        font-size: 22px;
    }

    .glamly-business-dashboard__headings,
    .glamly-business-dashboard__grid {
        grid-template-columns: 1fr;
    }

    .glamly-business-dashboard__headings h2:last-child {
        display: none;
    }
}

@media (max-width: 600px) {
    .glamly-business-dashboard__content {
        padding: 26px 18px 50px;
    }

    .glamly-business-dashboard__header h1 {
        font-size: 40px;
    }

    .glamly-business-dashboard__account > span:last-child {
        display: none;
    }

    .glamly-business-preview {
        min-height: 410px;
    }

    .glamly-business-preview__overlay {
        padding: 28px;
    }

    .glamly-business-preview__overlay h3 {
        font-size: 46px;
    }

    .glamly-business-preview__actions {
        flex-direction: column;
    }

    .glamly-business-preview__actions a,
    .glamly-business-preview__actions button {
        text-align: center;
    }

    .glamly-business-content-cards {
        gap: 14px;
    }

    .glamly-business-content-cards a,
    .glamly-business-content-cards button {
        border-radius: 18px;
        min-height: 160px;
    }
}

/* Business details */
.glamly-business-details {
    margin: 0 auto;
    max-width: 1100px;
    padding: 58px 24px 80px;
}

.glamly-business-details__heading h1 {
    font: italic 58px "Cormorant Garamond", serif;
    margin: 8px 0;
}

.glamly-business-details__heading > p:last-child,
.glamly-business-details__help,
.glamly-business-details__hours-heading p {
    color: var(--glamly-muted);
    line-height: 1.6;
}

.glamly-business-details__message {
    background: #edf5ee;
    border-radius: 12px;
    color: #43724d;
    margin: 25px 0;
    padding: 14px 18px;
}

.glamly-business-details__message.is-hidden {
    display: none;
}

.glamly-business-details__message.is-error {
    background: #f8ecea;
    color: #9b3727;
}

.glamly-business-details__form {
    display: grid;
    gap: 24px;
    margin-top: 34px;
}

.glamly-business-details__panel {
    background: #fff;
    border: 1px solid var(--glamly-line);
    border-radius: 20px;
    padding: 30px;
}

.glamly-business-details__panel h2 {
    font: 500 34px "Cormorant Garamond", serif;
    margin: 0 0 22px;
}

.glamly-business-details__fields {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.glamly-business-details label {
    color: #59534d;
    display: grid;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
}

.glamly-business-details input {
    background: #fff;
    border: 1px solid var(--glamly-line);
    border-radius: 11px;
    color: #2f2a26;
    font: 400 16px "DM Sans", sans-serif;
    min-height: 46px;
    padding: 0 13px;
}

.glamly-business-details__wide {
    grid-column: 1 / -1;
}

.glamly-business-details__slug {
    align-items: center;
    display: flex !important;
    font-size: 15px !important;
    gap: 0 !important;
}

.glamly-business-details__slug input {
    border-radius: 11px 0 0 11px;
    flex: 1;
    min-width: 0;
}

.glamly-business-details__slug span {
    background: #f4efe9;
    border: 1px solid var(--glamly-line);
    border-left: 0;
    border-radius: 0 11px 11px 0;
    min-height: 46px;
    padding: 14px 13px;
}

.glamly-business-details__slug-status {
    font-size: 14px;
    min-height: 20px;
}

.glamly-business-details__slug-status.is-available { color: #3d7a4a; }
.glamly-business-details__slug-status.is-unavailable { color: #a4463d; }

.glamly-business-hours {
    display: grid;
    gap: 12px;
}

.glamly-business-hours__day {
    align-items: start;
    border: 1px solid var(--glamly-line);
    border-radius: 14px;
    display: grid;
    gap: 14px;
    grid-template-columns: 120px 70px minmax(0, 1fr) auto;
    padding: 16px;
}

.glamly-business-hours__day legend {
    font-weight: 600;
    padding: 0 4px;
}

.glamly-business-hours__toggle {
    align-items: center;
    display: flex !important;
    gap: 7px;
    padding-top: 4px;
}

.glamly-business-hours__toggle input {
    min-height: auto;
}

.glamly-business-hours__periods {
    display: grid;
    gap: 8px;
}

.glamly-business-hours__periods.is-disabled {
    opacity: .45;
    pointer-events: none;
}

.glamly-business-hours__period {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr 32px;
}

.glamly-business-hours__period label {
    font-size: 12px;
}

.glamly-business-hours__remove,
.glamly-business-hours__add {
    background: transparent;
    border: 0;
    color: var(--glamly-gold);
    cursor: pointer;
    font: 600 13px "DM Sans", sans-serif;
}

.glamly-business-hours__remove {
    font-size: 24px;
    min-height: 42px;
}

.glamly-business-details__submit {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.glamly-business-details__submit a {
    color: #655a4f;
    text-decoration: none;
}

.glamly-business-details__submit button {
    background: var(--glamly-gold);
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    font: 600 15px "DM Sans", sans-serif;
    min-height: 50px;
    padding: 0 28px;
}

@media (max-width: 760px) {
    .glamly-business-details { padding: 38px 16px 60px; }
    .glamly-business-details__heading h1 { font-size: 46px; }
    .glamly-business-details__panel { padding: 22px; }
    .glamly-business-details__fields { grid-template-columns: 1fr; }
    .glamly-business-details__wide { grid-column: auto; }
    .glamly-business-hours__day { grid-template-columns: 1fr; }
    .glamly-business-hours__toggle { padding-top: 0; }
}

@media (max-width: 460px) {
    .glamly-business-details__slug { font-size: 12px !important; }
    .glamly-business-details__slug span { font-size: 12px; }
    .glamly-business-hours__period { grid-template-columns: 1fr 1fr 28px; }
    .glamly-business-details__submit { align-items: stretch; flex-direction: column-reverse; gap: 18px; }
    .glamly-business-details__submit button { width: 100%; }
}

/* Visual website builder */
.glamly-builder {
    border: 1px solid var(--glamly-line);
    border-radius: 16px;
    margin-top: 24px;
    overflow: hidden;
}

.glamly-builder__appbar {
    align-items: center;
    background: #151515;
    border-bottom: 1px solid #373737;
    display: flex;
    justify-content: space-between;
    padding: 12px 16px;
}

.glamly-builder__appbar-start,
.glamly-builder__appbar-actions {
    align-items: center;
    display: flex;
    gap: 10px;
}

.glamly-builder__back {
    align-items: center;
    border: 1px solid #484848;
    border-radius: 7px;
    color: #d8d1c9;
    display: inline-flex;
    font: 600 12px "DM Sans", sans-serif;
    gap: 6px;
    min-height: 36px;
    padding: 0 11px;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease;
}

.glamly-builder__back:hover {
    background: #292929;
    border-color: #cda66f;
    color: #fff;
}

.glamly-builder__appbar-title {
    color: #f6f4f2;
    font: 600 14px "DM Sans", sans-serif;
}

.glamly-builder__appbar-title span {
    color: #dfb777;
}

.glamly-builder__appbar-title small {
    color: #908a83;
    font-size: 11px;
    font-weight: 400;
    margin-left: 8px;
}

.glamly-builder__viewports {
    background: #292929;
    border-radius: 7px;
    display: flex;
    padding: 3px;
}

.glamly-builder__viewports button {
    background: transparent;
    border: 0;
    border-radius: 5px;
    color: #aaa49c;
    cursor: pointer;
    font-size: 16px;
    min-width: 30px;
    padding: 5px 7px;
}

.glamly-builder__viewports button.is-active {
    background: #474747;
    color: #fff;
}

.glamly-builder__save {
    background: #f3f0ea;
    border: 0;
    border-radius: 7px;
    color: #241e19;
    cursor: pointer;
    font: 600 13px "DM Sans", sans-serif;
    padding: 10px 15px;
}

.glamly-builder__save:disabled {
    cursor: wait;
    opacity: .65;
}

.glamly-builder__toast {
    background: #2b2b2b;
    border: 1px solid #4d4d4d;
    border-left: 4px solid #72b98b;
    border-radius: 9px;
    bottom: 24px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
    color: #f8f5f0;
    font: 500 14px "DM Sans", sans-serif;
    max-width: min(420px, calc(100vw - 32px));
    opacity: 0;
    padding: 14px 18px;
    pointer-events: none;
    position: fixed;
    right: 24px;
    transform: translateY(10px);
    transition: opacity .2s ease, transform .2s ease;
    z-index: 1000;
}

.glamly-builder__toast[data-type="error"] {
    border-left-color: #d96a61;
}

.glamly-builder__toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.glamly-builder__site-settings {
    background: #2c2c2c;
    border: 1px solid #484848;
    border-radius: 7px;
    color: #e7e2db;
    cursor: pointer;
    font: 600 12px "DM Sans", sans-serif;
    padding: 10px 12px;
}

.glamly-builder__pagebar {
    align-items: center;
    background: #f7f2eb;
    border-bottom: 1px solid var(--glamly-line);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 12px;
}

.glamly-builder__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.glamly-builder__tabs button,
.glamly-builder__new-page {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #625a52;
    cursor: pointer;
    font: 600 13px "DM Sans", sans-serif;
    padding: 9px 12px;
}

.glamly-builder__tabs button.is-active {
    background: #fff;
    border-color: var(--glamly-line);
    color: #2f2a26;
}

.glamly-builder__new-page {
    background: var(--glamly-gold);
    color: #fff;
    white-space: nowrap;
}

.glamly-builder__workspace {
    display: grid;
    grid-template-columns: 195px minmax(360px, 1fr) 265px;
    min-height: 580px;
}

.glamly-builder__library,
.glamly-builder__inspector {
    background: #fcfbf9;
    padding: 18px;
}

.glamly-builder__library {
    border-right: 1px solid var(--glamly-line);
}

.glamly-builder__inspector {
    border-left: 1px solid var(--glamly-line);
}

.glamly-builder__label {
    color: var(--glamly-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .09em;
    margin: 0 0 14px;
    text-transform: uppercase;
}

.glamly-builder__library button {
    background: #fff;
    border: 1px solid var(--glamly-line);
    border-radius: 10px;
    cursor: pointer;
    display: grid;
    gap: 3px;
    grid-template-columns: 24px 1fr;
    margin-bottom: 10px;
    padding: 11px;
    text-align: left;
    width: 100%;
}

.glamly-builder__library button:hover {
    border-color: var(--glamly-gold);
    box-shadow: 0 4px 12px rgba(80, 61, 41, .08);
}

.glamly-builder__library-icon {
    color: var(--glamly-gold);
    font-size: 19px;
    grid-row: span 2;
}

.glamly-builder__library strong {
    color: #3c3630;
    font-size: 13px;
}

.glamly-builder__library small {
    color: var(--glamly-muted);
    font-size: 10px;
    line-height: 1.35;
}

.glamly-builder__canvas-wrap {
    background: #eeeae4;
    padding: 18px;
}

.glamly-builder__canvas-header {
    color: #716961;
    display: flex;
    font-size: 12px;
    justify-content: space-between;
    margin: 0 4px 12px;
}

.glamly-builder__canvas-header a {
    color: var(--glamly-gold);
    text-decoration: none;
}

.glamly-builder__canvas {
    background: #fff;
    box-shadow: 0 8px 28px rgba(55, 42, 30, .1);
    min-height: 500px;
    padding: 20px;
}

.glamly-builder[data-viewport="tablet"] .glamly-builder__canvas {
    max-width: 680px;
}

.glamly-builder[data-viewport="mobile"] .glamly-builder__canvas {
    max-width: 390px;
}

.glamly-builder__canvas-block {
    border: 1px solid transparent;
    cursor: pointer;
    margin-bottom: 14px;
    position: relative;
}

.glamly-builder__canvas-block.is-selected {
    border-color: var(--glamly-gold);
    box-shadow: 0 0 0 3px rgba(205, 166, 111, .2);
}

.glamly-builder__canvas-block-tools {
    align-items: center;
    background: #38312b;
    color: #fff;
    display: flex;
    font-size: 11px;
    justify-content: space-between;
    padding: 7px 9px;
}

.glamly-builder__canvas-block-tools button {
    background: transparent;
    border: 0;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    padding: 0 4px;
}

.glamly-builder__canvas-preview {
    align-items: center;
    background: #fcfaf7;
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr 140px;
    min-height: 145px;
    padding: 22px;
}

.glamly-builder__canvas-preview h3 {
    font: 500 28px "Cormorant Garamond", serif;
    margin: 2px 0 8px;
}

.glamly-builder__canvas-preview p,
.glamly-builder__canvas-preview small {
    color: var(--glamly-muted);
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
}

.glamly-builder__canvas-preview img,
.glamly-builder__image-placeholder {
    background: #e9dfd2;
    height: 105px;
    object-fit: cover;
    width: 140px;
}

.glamly-builder__image-placeholder {
    align-items: center;
    color: #89796a;
    display: flex;
    font-size: 12px;
    justify-content: center;
}

.glamly-builder__canvas-preview blockquote {
    color: #403832;
    font: italic 23px "Cormorant Garamond", serif;
    grid-column: 1 / -1;
    margin: 0;
    text-align: center;
}

.glamly-builder__canvas-preview cite {
    color: var(--glamly-muted);
    display: block;
    font: 12px "DM Sans", sans-serif;
    margin-top: 8px;
}

.glamly-builder__fake-button {
    background: var(--glamly-gold);
    border-radius: 99px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    margin-top: 12px;
    padding: 8px 12px;
}

.glamly-builder__inspector h3 {
    font: 500 30px "Cormorant Garamond", serif;
    margin: 0 0 16px;
}

.glamly-builder__inspector-tabs {
    border-bottom: 1px solid #3d3d3d;
    display: flex;
    gap: 16px;
    margin: -4px 0 20px;
}

.glamly-builder__inspector-tabs button {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    color: #aaa49c;
    cursor: pointer;
    font: 600 12px "DM Sans", sans-serif;
    padding: 8px 2px 10px;
}

.glamly-builder__inspector-tabs button.is-active {
    border-bottom-color: #dfb777;
    color: #fff;
}

.glamly-builder__inspector-help {
    color: #aaa49c;
    font-size: 12px;
    line-height: 1.5;
    margin: -4px 0 18px;
}

.glamly-builder__inspector-help a {
    color: #dfb777;
}

.glamly-builder__inspector input[type="color"] {
    cursor: pointer;
    height: 42px;
    padding: 4px;
}

.glamly-builder__remove-image {
    background: transparent;
    border: 0;
    color: #e58a80;
    cursor: pointer;
    font: 600 12px "DM Sans", sans-serif;
    justify-self: start;
    margin-top: 4px;
    padding: 4px 0;
}

.glamly-builder__advanced {
    margin-top: 8px;
}

.glamly-builder__advanced summary {
    color: #dfb777;
    cursor: pointer;
    font: 600 11px "DM Sans", sans-serif;
    list-style: none;
}

.glamly-builder__advanced summary::-webkit-details-marker {
    display: none;
}

.glamly-builder__advanced summary::before {
    content: "+ ";
}

.glamly-builder__advanced[open] summary::before {
    content: "− ";
}

.glamly-builder__advanced label {
    margin: 10px 0 0;
}

.glamly-builder__advanced input[type="color"] {
    cursor: pointer;
    height: 40px;
    margin-top: 2px;
    padding: 3px;
}

/* Live site-style variables inside the editor canvas. */
.glamly-builder__canvas {
    background: var(--builder-canvas-background, #fffdfa);
}

.glamly-builder__canvas-preview {
    background: var(--builder-canvas-background, #fffdfa);
}

.glamly-builder__canvas-preview h3,
.glamly-builder__canvas-preview blockquote {
    color: var(--builder-canvas-accent, #2e2925);
}

.glamly-builder__canvas-preview p,
.glamly-builder__canvas-preview small,
.glamly-builder__canvas-preview cite {
    color: var(--builder-canvas-accent, #5e5750);
    opacity: .74;
}

.glamly-builder__fake-button {
    background: var(--builder-canvas-primary, var(--glamly-gold));
}

/*
 * Blocks are rendered with the exact public microsite classes.  Older editor
 * previews used a two-column placeholder grid, which constrained a real hero
 * to the first column.  A real block owns its layout completely.
 */
.glamly-builder__canvas-preview:has(> .site-block) {
    background: var(--microsite-background, #fffdfa) !important;
    display: block;
    gap: 0;
    grid-template-columns: none;
    min-height: 0;
    overflow: visible;
    padding: 0 !important;
    position: static;
}

.glamly-builder__canvas-block.is-style-overlay .glamly-builder__canvas-preview:has(> .site-block),
.glamly-builder__canvas-block.is-style-campaign .glamly-builder__canvas-preview:has(> .site-block),
.glamly-builder__canvas-block.is-style-booking .glamly-builder__canvas-preview:has(> .site-block),
.glamly-builder__canvas-block.is-style-statement .glamly-builder__canvas-preview:has(> .site-block) {
    background: var(--microsite-background, #fffdfa) !important;
    border-radius: 0;
    color: inherit;
    min-height: 0;
    text-align: inherit;
}

.glamly-builder__canvas-preview:has(> .site-block) > .site-block {
    width: 100%;
}

.glamly-builder__canvas-preview:has(> .site-block) > .site-block--hero--overlay {
    min-height: 520px;
}

/* Scoped copy of the public Serene frame, used by the builder canvas only. */
.glamly-builder__canvas .site-header {
    align-items: center;
    background: var(--microsite-background, #fffdfa);
    border-bottom: 1px solid #eadfd1;
    display: flex;
    justify-content: space-between;
    margin: 0;
    max-width: none;
    padding: 22px 32px;
}

.glamly-builder__canvas .site-brand {
    color: var(--microsite-accent, #2e2925);
    font: italic bold 25px Georgia, serif;
    text-decoration: none;
}

.glamly-builder__canvas .site-brand img {
    display: block;
    max-height: 52px;
    max-width: 180px;
}

.glamly-builder__canvas .site-header nav {
    align-items: center;
    display: flex;
    gap: 24px;
}

.glamly-builder__canvas .site-header nav a {
    color: var(--microsite-accent, #2e2925);
    font: 14px Arial, sans-serif;
    text-decoration: none;
}

.glamly-builder__canvas .site-header__book,
.glamly-builder__canvas .site-button {
    background: var(--microsite-primary, #cda66f);
    border: 0;
    border-radius: 999px;
    color: #fff !important;
    display: inline-block;
    font: bold 14px Arial, sans-serif;
    padding: 14px 22px;
    text-decoration: none;
}

.glamly-builder__canvas .site-footer {
    background: var(--microsite-background, #fffdfa);
    border-top: 1px solid #eadfd1;
    color: var(--microsite-accent, #2e2925);
    font: 13px Arial, sans-serif;
    margin-top: 30px;
    padding: 30px;
    text-align: center;
}

/* Keep the editor readable while preserving the public hero proportions. */
.glamly-builder__canvas-preview:has(> .site-block) .site-block__copy h1 {
    font-size: clamp(42px, 4.8vw, 76px);
}

@media (max-width: 680px) {
    .glamly-builder__canvas .site-header { padding: 18px 20px; }
    .glamly-builder__canvas .site-header nav { gap: 13px; }
    .glamly-builder__canvas .site-header nav a:not(.site-header__book) { display: none; }
}

.glamly-builder__inspector select {
    background: #2b2b2b;
    border: 1px solid #484848;
    border-radius: 10px;
    color: #f8f5f0;
    font: inherit;
    margin-top: 7px;
    padding: 11px 12px;
    width: 100%;
}

.glamly-builder__canvas-block.is-style-minimal .glamly-builder__canvas-preview,
.glamly-builder__canvas-block.is-style-list .glamly-builder__canvas-preview,
.glamly-builder__canvas-block.is-style-lined .glamly-builder__canvas-preview {
    border-width: 0 0 1px;
    border-radius: 0;
}

.glamly-builder__canvas-block.is-style-card .glamly-builder__canvas-preview,
.glamly-builder__canvas-block.is-style-soft .glamly-builder__canvas-preview,
.glamly-builder__canvas-block.is-style-spotlight .glamly-builder__canvas-preview {
    background: #f3eadf;
    border-radius: 22px;
}

.glamly-builder__canvas-block.is-style-dark .glamly-builder__canvas-preview,
.glamly-builder__canvas-block.is-style-luxe .glamly-builder__canvas-preview {
    background: var(--builder-canvas-accent, #2e2925);
}

.glamly-builder__canvas-block.is-style-dark .glamly-builder__canvas-preview h3,
.glamly-builder__canvas-block.is-style-dark .glamly-builder__canvas-preview p,
.glamly-builder__canvas-block.is-style-luxe .glamly-builder__canvas-preview h3,
.glamly-builder__canvas-block.is-style-luxe .glamly-builder__canvas-preview p {
    color: #fff;
    opacity: 1;
}

.glamly-builder__canvas-block.is-style-editorial .glamly-builder__canvas-preview h3 {
    font-size: 48px;
    font-style: italic;
}

.glamly-builder__canvas-block.is-style-campaign .glamly-builder__canvas-preview,
.glamly-builder__canvas-block.is-style-overlay .glamly-builder__canvas-preview {
    background: linear-gradient(125deg, #1d2837, #5a4539);
    color: #fff;
    min-height: 270px;
}

.glamly-builder__canvas-block.is-style-overlay .glamly-builder__canvas-preview {
    overflow: hidden;
    padding: 54px 48px;
    position: relative;
}

.glamly-builder__canvas-block.is-style-overlay .glamly-builder__canvas-preview > div:first-child {
    max-width: 60%;
    position: relative;
    z-index: 1;
}

.glamly-builder__canvas-block.is-style-overlay .glamly-builder__canvas-preview > img {
    filter: brightness(.52);
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.glamly-builder__canvas-block.is-style-overlay .glamly-builder__canvas-preview > .glamly-builder__image-placeholder {
    display: none;
}

.glamly-builder__canvas-block.is-style-campaign .glamly-builder__canvas-preview h3,
.glamly-builder__canvas-block.is-style-campaign .glamly-builder__canvas-preview p,
.glamly-builder__canvas-block.is-style-overlay .glamly-builder__canvas-preview h3,
.glamly-builder__canvas-block.is-style-overlay .glamly-builder__canvas-preview p {
    color: #fff;
    opacity: 1;
}

.glamly-builder__canvas-block.is-style-booking .glamly-builder__canvas-preview {
    background: #eee1d0;
    border-radius: 24px;
    padding: 42px;
}

.glamly-builder__canvas-block.is-style-story .glamly-builder__canvas-preview img,
.glamly-builder__canvas-block.is-style-story .glamly-builder__image-placeholder {
    border-radius: 120px 120px 0 0;
}

.glamly-builder__canvas-block.is-style-statement .glamly-builder__canvas-preview {
    padding: 74px 38px;
    text-align: center;
}

.glamly-builder__canvas-block.is-style-statement .glamly-builder__canvas-preview h3 {
    font-size: 58px;
}

/* `hidden` is used by the live library filters. The card display rule must
   never override it, otherwise every library category remains visible. */
.glamly-builder__library button[hidden] {
    display: none;
}

.glamly-builder__layout-picker {
    background: #252525;
    border: 1px solid #505050;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .42);
    color: #f7f3ef;
    display: grid;
    gap: 8px;
    left: calc(100% + 12px);
    padding: 14px;
    position: absolute;
    top: 0;
    width: 224px;
    z-index: 20;
}

.glamly-builder__library {
    position: relative;
}

.glamly-builder__layout-picker > small { color: #b8afa5; margin-bottom: 4px; }

.glamly-builder__layout-option {
    align-items: center;
    background: #303030 !important;
    border: 1px solid #484848 !important;
    border-radius: 9px;
    color: #f6f4f2 !important;
    display: grid !important;
    gap: 10px;
    grid-template-columns: 58px 1fr;
    padding: 8px !important;
    text-align: left;
}

.glamly-builder__layout-option span {
    background: linear-gradient(135deg, #d6ae75, #413832);
    border-radius: 6px;
    display: block;
    height: 35px;
}

.glamly-builder__layout-option.is-minimal span,
.glamly-builder__layout-option.is-accordion span,
.glamly-builder__layout-option.is-list span,
.glamly-builder__layout-option.is-compact span { background: repeating-linear-gradient(180deg, #e9ded0 0 4px, #514940 4px 8px); }
.glamly-builder__layout-option.is-dark span,
.glamly-builder__layout-option.is-luxe span { background: #171717; border: 1px solid #d6ae75; }
.glamly-builder__layout-option.is-cards span { background: linear-gradient(90deg, #d6ae75 0 31%, #f2eadf 31% 64%, #a78a73 64%); }

.glamly-builder__faq-preview {
    border-bottom: 1px solid #dfd1c1;
    color: #645e57;
    display: block;
    font-size: 13px;
    margin-top: 8px;
    padding: 8px 0;
}

.glamly-builder__faq-editor-item {
    border-bottom: 1px solid #404040;
    margin-bottom: 18px;
    padding-bottom: 18px;
}

.glamly-builder__add-faq {
    background: transparent;
    border: 1px solid #cda66f;
    border-radius: 8px;
    color: #e4bd83;
    cursor: pointer;
    font: 600 13px "DM Sans", sans-serif;
    padding: 11px 14px;
}

.glamly-builder__design-settings {
    border-top: 1px solid #444;
    margin-top: 22px;
    padding-top: 18px;
}

.glamly-builder__design-settings summary {
    color: #f4f0eb;
    cursor: pointer;
    font: 600 16px "DM Sans", sans-serif;
    list-style: none;
}

.glamly-builder__design-settings summary::after {
    color: #d6ae75;
    content: '+';
    float: right;
    font-size: 20px;
}

.glamly-builder__design-settings[open] summary::after { content: '−'; }

.glamly-builder__spacing {
    border: 1px solid #454545;
    border-radius: 10px;
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(2, 1fr);
    margin: 18px 0;
    padding: 13px;
}

.glamly-builder__spacing legend {
    color: #d5cfc8;
    font: 600 13px "DM Sans", sans-serif;
    padding: 0 5px;
}

.glamly-builder__spacing label { font-size: 11px; text-transform: capitalize; }
.glamly-builder__spacing input { margin-top: 4px; padding: 8px !important; }

.glamly-builder__shape-settings {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.glamly-builder__shape-settings label { font-size: 11px; }
.glamly-builder__shape-settings input,
.glamly-builder__shape-settings select { margin-top: 4px; padding: 8px !important; }

.glamly-builder__site-header-preview {
    align-items: center;
    background: var(--builder-canvas-background, #fffdfa);
    border-bottom: 1px solid color-mix(in srgb, var(--builder-canvas-accent, #2e2925) 16%, transparent);
    color: var(--builder-canvas-accent, #2e2925);
    display: flex;
    justify-content: space-between;
    margin: -34px -34px 30px;
    padding: 18px 28px;
}

.glamly-builder__site-brand-preview {
    font: italic 600 21px Georgia, serif;
}

.glamly-builder__site-brand-preview img {
    display: block;
    max-height: 34px;
    max-width: 130px;
    object-fit: contain;
}

.glamly-builder__site-header-preview nav {
    align-items: center;
    display: flex;
    font: 600 11px "DM Sans", sans-serif;
    gap: 16px;
}

.glamly-builder__site-preview-book {
    background: var(--builder-canvas-primary, #cda66f);
    border-radius: 999px;
    color: #fff;
    padding: 9px 13px;
}

.glamly-builder__site-footer-preview {
    border-top: 1px solid color-mix(in srgb, var(--builder-canvas-accent, #2e2925) 16%, transparent);
    color: var(--builder-canvas-accent, #2e2925);
    font: 500 11px "DM Sans", sans-serif;
    margin: 28px -34px -34px;
    opacity: .7;
    padding: 22px 28px;
    text-align: center;
}

.glamly-builder__inspector h4 {
    color: #f6f4f2;
    font: 600 16px "DM Sans", sans-serif;
    margin: 28px 0 8px;
}

.glamly-builder__menu-option {
    align-items: center;
    border: 1px solid #454545;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    margin-top: 8px;
    padding: 10px 12px;
}

.glamly-builder__menu-option label {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex: 1;
    gap: 10px;
    margin: 0;
}

.glamly-builder__menu-option input { margin: 0 !important; width: auto !important; }

.glamly-builder__menu-order { display: flex; gap: 4px; }
.glamly-builder__menu-order button {
    background: #333;
    border: 1px solid #555;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    padding: 3px 7px;
}
.glamly-builder__menu-order button:disabled { cursor: default; opacity: .35; }

/* Keep the page picker compact even when generic inspector label rules load
   after the builder stylesheet. */
div.glamly-builder__menu-option {
    align-items: center !important;
    display: flex !important;
    min-height: 48px;
    padding: 8px 10px;
}

div.glamly-builder__menu-option > label.glamly-builder__menu-option,
div.glamly-builder__menu-option > label {
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    font-size: 13px;
    gap: 9px !important;
    height: auto !important;
    padding: 0 !important;
}

div.glamly-builder__menu-option > label > input[type="checkbox"] {
    appearance: auto;
    flex: 0 0 auto;
    height: 16px !important;
    margin: 0 !important;
    width: 16px !important;
}

@media (max-width: 680px) {
    .glamly-builder__site-header-preview {
        margin: -14px -14px 18px;
        padding: 14px;
    }

    .glamly-builder__site-header-preview nav span:not(.glamly-builder__site-preview-book) {
        display: none;
    }

    .glamly-builder__site-footer-preview { margin: 22px -14px -14px; }
}

.glamly-builder__inspector label,
.glamly-builder__page-settings label {
    color: #59534d;
    display: grid;
    font-size: 12px;
    font-weight: 600;
    gap: 6px;
    margin-bottom: 14px;
}

.glamly-builder__inspector input,
.glamly-builder__inspector textarea,
.glamly-builder__page-settings input {
    background: #fff;
    border: 1px solid var(--glamly-line);
    border-radius: 8px;
    font: 400 13px "DM Sans", sans-serif;
    padding: 10px;
    width: 100%;
}

.glamly-builder__inspector small {
    color: var(--glamly-muted);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
}

.glamly-builder__empty {
    color: var(--glamly-muted);
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
    padding: 20px;
    text-align: center;
}

.glamly-builder__page-settings {
    align-items: end;
    background: #f7f2eb;
    border-top: 1px solid var(--glamly-line);
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr 1fr auto;
    padding: 15px 18px 4px;
}

.glamly-builder__danger {
    background: transparent;
    border: 0;
    color: #a64e47;
    cursor: pointer;
    font: 600 13px "DM Sans", sans-serif;
    min-height: 42px;
}

@media (max-width: 1000px) {
    .glamly-builder__workspace {
        grid-template-columns: 170px minmax(300px, 1fr);
    }

    .glamly-builder__inspector {
        border-left: 0;
        border-top: 1px solid var(--glamly-line);
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .glamly-builder__workspace {
        display: block;
    }

    .glamly-builder__library {
        border-bottom: 1px solid var(--glamly-line);
        border-right: 0;
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(2, 1fr);
    }

    .glamly-builder__library .glamly-builder__label {
        grid-column: 1 / -1;
    }

    .glamly-builder__library button {
        margin: 0;
    }

    .glamly-builder__canvas-wrap {
        padding: 10px;
    }

    .glamly-builder__canvas {
        padding: 10px;
    }

    .glamly-builder__canvas-preview {
        grid-template-columns: 1fr 92px;
        padding: 15px;
    }

    .glamly-builder__canvas-preview img,
    .glamly-builder__image-placeholder {
        height: 82px;
        width: 92px;
    }

    .glamly-builder__page-settings {
        grid-template-columns: 1fr;
    }
}

/* Shared desktop navigation rail. Tablet and mobile retain the slide-out menu. */
@media (min-width: 1001px) {
    .glamly-topbar {
        margin-left: 300px;
    }

    .glamly-topbar__inner {
        margin: 0 48px;
        max-width: none;
    }

    .glamly-topbar__left {
        visibility: hidden;
    }

    .glamly-menu-button {
        display: none;
    }

    .glamly-sidebar {
        padding: 48px 22px;
        transform: translateX(0);
        width: 300px;
    }

    .glamly-sidebar__brand {
        font-size: 52px;
        margin: 6px 14px 96px;
    }

    .glamly-sidebar nav {
        gap: 18px;
    }

    .glamly-sidebar a {
        font-size: 14px;
        padding: 18px 20px;
        text-transform: uppercase;
    }

    .glamly-overlay {
        display: none;
    }

    body:has(.glamly-sidebar) .glamly-main {
        margin-left: 300px;
    }
}

/* Website editor */
.glamly-website-editor {
    margin: 0 auto;
    max-width: 1040px;
    padding: 58px 24px 80px;
}

.glamly-website-editor__heading h1 {
    font: italic 58px "Cormorant Garamond", serif;
    margin: 8px 0;
}

.glamly-website-editor__heading > p:last-child,
.glamly-website-editor__panel > p {
    color: var(--glamly-muted);
    line-height: 1.6;
}

.glamly-website-editor__form {
    display: grid;
    gap: 24px;
    margin-top: 34px;
}

.glamly-website-editor__panel {
    background: #fff;
    border: 1px solid var(--glamly-line);
    border-radius: 20px;
    padding: 30px;
}

.glamly-website-editor__panel h2 {
    font: 500 34px "Cormorant Garamond", serif;
    margin: 0 0 14px;
}

.glamly-website-editor label {
    color: #59534d;
    display: grid;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
}

.glamly-website-editor input,
.glamly-website-editor textarea {
    background: #fff;
    border: 1px solid var(--glamly-line);
    border-radius: 11px;
    color: #2f2a26;
    font: 400 16px "DM Sans", sans-serif;
    padding: 12px 13px;
    width: 100%;
}

.glamly-website-editor input[type="color"] {
    cursor: pointer;
    min-height: 48px;
    padding: 4px;
}

.glamly-website-editor__upload-help {
    color: var(--glamly-muted);
    font-size: 13px;
    margin: 12px 0;
}

.glamly-website-editor__logo-preview {
    border: 1px solid var(--glamly-line);
    border-radius: 10px;
    display: block;
    max-height: 100px;
    max-width: 240px;
    object-fit: contain;
}

.glamly-website-editor__pages {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.glamly-website-editor__pages span {
    background: #f3ebdf;
    border-radius: 999px;
    color: #685e53;
    font-size: 14px;
    padding: 9px 13px;
}

.glamly-website-editor__pages small {
    color: var(--glamly-gold);
    margin-left: 5px;
}

.glamly-website-editor__colours,
.glamly-website-editor__content-fields {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.glamly-website-editor__content-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.glamly-website-editor__content-fields label:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.glamly-website-editor__submit {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.glamly-website-editor__submit a {
    color: #655a4f;
    text-decoration: none;
}

.glamly-website-editor__submit button {
    background: var(--glamly-gold);
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    font: 600 15px "DM Sans", sans-serif;
    min-height: 50px;
    padding: 0 28px;
}

@media (max-width: 700px) {
    .glamly-website-editor { padding: 38px 16px 60px; }
    .glamly-website-editor__heading h1 { font-size: 46px; }
    .glamly-website-editor__panel { padding: 22px; }
    .glamly-website-editor__colours,
    .glamly-website-editor__content-fields { grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
    .glamly-website-editor__submit { align-items: stretch; flex-direction: column-reverse; gap: 18px; }
    .glamly-website-editor__submit button { width: 100%; }
}

/* Full-page visual editor */
.glamly-website-editor:has(.glamly-builder) {
    max-width: 1520px;
}

.glamly-builder-body {
    background: #171717;
    margin: 0;
}

.glamly-website-editor--workspace {
    box-sizing: border-box;
    max-width: none !important;
    padding: 0;
}

.glamly-website-editor--workspace .glamly-website-editor__heading,
.glamly-website-editor--workspace > .glamly-business-details__message {
    background: #171717;
    box-sizing: border-box;
    color: #f6f4f2;
    margin: 0;
    max-width: none;
    padding: 22px 28px 10px;
}

.glamly-website-editor--workspace .glamly-website-editor__heading h1 {
    color: #f6f4f2;
    font-size: 38px;
}

.glamly-website-editor--workspace .glamly-website-editor__heading > p:last-child {
    color: #aaa49c;
}

.glamly-website-editor--workspace .glamly-website-editor__form {
    gap: 0;
    margin: 0;
}

.glamly-website-editor--workspace .glamly-website-editor__form > .glamly-website-editor__panel:first-of-type {
    border: 0;
    border-radius: 0;
    padding: 18px 28px 28px;
}

.glamly-website-editor--workspace .glamly-website-editor__panel:not(:first-of-type),
.glamly-website-editor--workspace .glamly-website-editor__submit {
    margin: 24px auto 0;
    max-width: 1040px;
    width: calc(100% - 48px);
}

.glamly-builder {
    background: #171717;
    border: 1px solid #343434;
    border-radius: 12px;
    color: #f6f4f2;
}

.glamly-builder__pagebar {
    background: #202020;
    border-color: #373737;
    padding: 14px 16px;
}

.glamly-builder__tabs button {
    color: #c4c0ba;
}

.glamly-builder__tabs button.is-active {
    background: #3c342b;
    border-color: #8b704f;
    color: #f5d7a6;
}

.glamly-builder__new-page {
    background: #d1aa73;
    color: #211b16;
}

.glamly-builder__workspace {
    grid-template-columns: 270px minmax(420px, 1fr) 310px;
}

.glamly-builder__library,
.glamly-builder__inspector {
    background: #202020;
    border-color: #373737;
}

.glamly-builder__label {
    color: #aaa49c;
}

.glamly-builder__search {
    background: #2b2b2b;
    border: 1px solid #454545;
    border-radius: 8px;
    color: #f6f4f2;
    font: 400 13px "DM Sans", sans-serif;
    margin: 0 0 12px;
    padding: 11px;
    width: 100%;
}

.glamly-builder__library-tabs {
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 14px;
}

.glamly-builder__library-tabs button {
    background: #2b2b2b;
    border: 1px solid #444;
    border-radius: 6px;
    color: #bcb6ae;
    cursor: pointer;
    font: 600 11px "DM Sans", sans-serif;
    padding: 8px;
}

.glamly-builder__library-tabs button.is-active {
    background: #3b4a7d;
    border-color: #53669f;
    color: #fff;
}

.glamly-builder__library button {
    background: #2b2b2b;
    border-color: #414141;
}

.glamly-builder__library button:hover {
    background: #34312d;
    border-color: #d1aa73;
    box-shadow: none;
}

.glamly-builder__library strong {
    color: #f6f4f2;
}

.glamly-builder__library small,
.glamly-builder__library-icon {
    color: #c7b9aa;
}

.glamly-builder__canvas-wrap {
    background: #111;
    padding: 24px;
}

.glamly-builder__canvas-header {
    color: #b7b0a8;
}

.glamly-builder__canvas {
    background: #fffdfa;
    max-width: 860px;
    margin: 0 auto;
    min-height: 680px;
    padding: 34px;
}

.glamly-builder__canvas-block {
    margin-bottom: 20px;
}

.glamly-builder__canvas-block-tools {
    background: #262626;
}

.glamly-builder__canvas-preview {
    background: #fffdfa;
    border: 1px solid #eee4da;
    min-height: 180px;
    padding: 28px;
}

.glamly-builder__canvas-preview h3 {
    font-size: 34px;
}

.glamly-builder__gallery-preview {
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(3, 1fr);
}

.glamly-builder__gallery-preview img,
.glamly-builder__gallery-preview span {
    align-items: center;
    background: #e9dfd2;
    color: #89796a;
    display: flex;
    font-size: 11px;
    height: 92px;
    justify-content: center;
    object-fit: cover;
    width: 100%;
}

.glamly-builder__service-preview,
.glamly-builder__feature-preview {
    background: #f4ede3;
    color: #6c5943;
    display: inline-block;
    font-size: 11px;
    margin: 8px 5px 0 0;
    padding: 8px 10px;
}

.glamly-builder__service-preview-grid {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.glamly-builder__service-preview-grid--count-1 { grid-template-columns: 1fr; }
.glamly-builder__service-preview-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.glamly-builder__service-preview-grid--count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.glamly-builder__service-preview-grid--count-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.glamly-builder__service-preview-grid .glamly-builder__service-preview {
    border: 1px solid #e5dcd1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    min-height: 74px;
}

.glamly-builder__service-preview small { color: #89796a; font-size: 10px; }

/* The builder imports the public block stylesheet: only editor-scale adjustments live here. */
.glamly-builder__canvas-preview > .site-block {
    max-width: none;
}

.glamly-builder__canvas-preview .site-block--hero,
.glamly-builder__canvas-preview .site-block--image-text,
.glamly-builder__canvas-preview .site-block--services,
.glamly-builder__canvas-preview .site-block--gallery,
.glamly-builder__canvas-preview .site-block--features,
.glamly-builder__canvas-preview .site-block--faq,
.glamly-builder__canvas-preview .site-block--product-options {
    padding: 34px;
}

.glamly-builder__canvas-preview .site-block--hero--overlay {
    min-height: 330px;
}

.glamly-builder__canvas-preview .site-block__image {
    height: 220px;
}

@media (max-width: 680px) {
    .glamly-builder__service-preview-grid--count-2,
    .glamly-builder__service-preview-grid--count-3,
    .glamly-builder__service-preview-grid--count-4,
    .glamly-builder__canvas-preview .site-block__service-grid--count-2,
    .glamly-builder__canvas-preview .site-block__service-grid--count-3,
    .glamly-builder__canvas-preview .site-block__gallery-grid--count-2,
    .glamly-builder__canvas-preview .site-block__gallery-grid--count-3,
    .glamly-builder__canvas-preview .site-block__feature-grid--count-2,
    .glamly-builder__canvas-preview .site-block__feature-grid--count-3,
    .glamly-builder__canvas-preview .site-block__product-grid--count-2,
    .glamly-builder__canvas-preview .site-block__product-grid--count-3,
    .glamly-builder__canvas-preview .site-block__product-grid--count-4,
    .glamly-builder__canvas-preview .site-faq-list--count-2,
    .glamly-builder__canvas-preview .site-faq-list--count-3,
    .glamly-builder__canvas-preview .site-faq-list--count-4 {
        grid-template-columns: 1fr;
    }
}

.glamly-builder__divider-preview {
    border-top: 1px solid #d9cdbd;
    grid-column: 1 / -1;
    width: 100%;
}

.glamly-builder__inspector h3 {
    color: #f6f4f2;
}

.glamly-builder__inspector label,
.glamly-builder__page-settings label {
    color: #d2ccc5;
}

.glamly-builder__inspector input,
.glamly-builder__inspector textarea,
.glamly-builder__page-settings input {
    background: #2b2b2b;
    border-color: #484848;
    color: #f8f5f0;
}

.glamly-builder__page-settings {
    background: #202020;
    border-color: #373737;
}

.glamly-builder__empty {
    color: #aaa49c;
}

@media (max-width: 1200px) {
    .glamly-builder__workspace {
        grid-template-columns: 220px minmax(320px, 1fr);
    }
}

@media (max-width: 680px) {
    .glamly-builder__canvas-wrap {
        padding: 10px;
    }

    .glamly-builder__canvas {
        min-height: 400px;
        padding: 14px;
    }

    .glamly-builder__library-tabs {
        grid-template-columns: repeat(4, 1fr);
    }

    .glamly-builder__appbar-title small,
    .glamly-builder__viewports {
        display: none;
    }

    .glamly-builder__back span,
    .glamly-builder__site-settings {
        display: none;
    }

    .glamly-builder__appbar {
        gap: 8px;
        padding: 10px;
    }

    .glamly-builder__appbar-start,
    .glamly-builder__appbar-actions {
        gap: 6px;
    }
}

/* Keep live canvas variables after the full editor theme rules. */
.glamly-builder__canvas,
.glamly-builder__canvas-preview {
    background: var(--builder-canvas-background, #fffdfa);
}

.glamly-builder__canvas-preview h3,
.glamly-builder__canvas-preview blockquote {
    color: var(--builder-canvas-accent, #2e2925);
}

.glamly-builder__canvas-preview p,
.glamly-builder__canvas-preview small,
.glamly-builder__canvas-preview cite {
    color: var(--builder-canvas-accent, #5e5750);
    opacity: .74;
}

.glamly-builder__fake-button {
    background: var(--builder-canvas-primary, var(--glamly-gold));
}
