body.crm-page main,
body:has(.crm-app) main{
    max-width:100%;
    width:100%;
    margin:0;
    padding:0;
    min-height:100vh;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial,"Helvetica Neue",sans-serif;

    background:#111;

    color:white;

}

.site-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px 60px;

    background:#1a1a1a;

    border-bottom:1px solid #333;

}

.logo{

    font-size:28px;

    font-weight:700;

    color:#d4af37;

    text-decoration:none;

}

.site-nav{

    display:flex;

    gap:30px;

    flex-wrap:wrap;

    justify-content:flex-end;

}

.site-nav a{

    color:white;

    text-decoration:none;

    transition:.3s;

    font-weight:500;

}

.site-nav a:hover{

    color:#d4af37;

}

main{

    max-width:1200px;

    margin:auto;

    padding:50px;

    min-height:80vh;

}

.site-footer{

    text-align:center;

    padding:30px;

    background:#1a1a1a;

    color:#777;

}
h1{
    margin-bottom:30px;
    color:#d4af37;
}

.card{

    background:#1d1d1d;

    padding:25px;

    border-radius:12px;

    margin-bottom:25px;

    box-shadow:0 0 15px rgba(0,0,0,.25);

}

.card h2{

    margin-bottom:15px;

}

input,
select{

    width:100%;

    padding:12px;

    margin-bottom:15px;

    border:none;

    border-radius:8px;

    background:#2b2b2b;

    color:white;

    font-size:16px;

}

button{

    background:#d4af37;

    color:#111;

    border:none;

    padding:14px 22px;

    border-radius:8px;

    font-size:16px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

button:hover{

    background:#f0c95b;

}

.slot{

    padding:12px;

    border:1px solid #444;

    border-radius:8px;

    margin-bottom:10px;

    cursor:pointer;

}

.slot:hover{

    border-color:#d4af37;

}

.slot.active{

    background:#d4af37;

    color:black;

}

pre{

    white-space:pre-wrap;

    color:#ddd;

}
.hero{
    min-height:460px;
    display:flex;
    align-items:center;
    padding:70px 50px;
    border-radius:22px;
    background:
        linear-gradient(90deg, rgba(0,0,0,.85), rgba(0,0,0,.35)),
        radial-gradient(circle at right, #3a2b10, #111 60%);
    margin-bottom:60px;
}

.hero-content{
    max-width:650px;
}

.hero-label{
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:700;
    margin-bottom:18px;
}

.hero h1{
    font-size:56px;
    line-height:1.05;
    margin-bottom:22px;
}

.hero-text{
    font-size:18px;
    color:#cfcfcf;
    margin-bottom:32px;
}

.hero-button{
    display:inline-block;
    background:#d4af37;
    color:#111;
    padding:16px 26px;
    border-radius:10px;
    font-weight:700;
    text-decoration:none;
}

.hero-button-secondary{
    background:transparent;
    color:#d4af37;
    border:1px solid rgba(212,175,55,.55);
}

.hero-link{
    color:#d4af37;
    text-decoration:none;
    font-weight:700;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:14px;
    margin-bottom:22px;
}

.hero-note{
    color:#aaa;
    font-size:14px;
}

.section-head{
    margin-bottom:28px;
}

.section-label{
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:1.6px;
    font-weight:700;
    font-size:13px;
    margin-bottom:8px;
}

.login-section{
    margin-top:-25px;
}

.login-card{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 420px);
    gap:28px;
    align-items:center;
    background:#1d1d1d;
    border:1px solid #2c2c2c;
    border-radius:18px;
    padding:28px;
    box-shadow:0 0 18px rgba(0,0,0,.22);
}

.login-card h2{
    color:#d4af37;
    margin-bottom:8px;
}

.login-card p{
    color:#bbb;
}

.login-form{
    display:grid;
    gap:14px;
}

.login-form input,
.login-form button{
    margin-bottom:0;
}

.auth-phone-field{display:flex;align-items:center;gap:8px}
.auth-phone-prefix{padding:12px;border-radius:8px;background:#2b2b2b;color:#d4af37;font-weight:700}
.auth-phone-field .auth-phone-number{width:auto;min-width:0;flex:1;margin-bottom:0!important}

.staff-login{display:grid;min-height:calc(100vh - 250px);place-items:center;padding:36px 0}
.staff-login__card{width:min(460px,100%);display:grid;gap:14px;padding:32px;border:1px solid #3a3220;border-radius:14px;background:#1a1a1a;box-shadow:0 22px 50px rgba(0,0,0,.32)}
.staff-login__brand{color:#d4af37;font-size:18px;font-weight:800;letter-spacing:1px;text-decoration:none}
.staff-login__card h1{margin:0;color:#d4af37;font-size:32px;line-height:1.2}
.staff-login__description{color:#bdbdbd;line-height:1.5}
.staff-login__form{display:grid;gap:8px;margin-top:6px}
.staff-login__form label{color:#e6e6e6;font-size:14px;font-weight:700}
.staff-login__form input{margin:0;border:1px solid #454545}
.staff-login__form input:focus-visible{outline:2px solid #d4af37;outline-offset:2px}
.staff-login__password{display:flex;gap:8px;align-items:stretch}
.staff-login__password input{min-width:0;flex:1}
.staff-login__password button{padding:10px 12px;background:#2b2b2b;color:#f1d36e;white-space:nowrap}
.staff-login__form .hero-button{width:100%;margin-top:8px;border:0;cursor:pointer}
.staff-login__form .hero-button:disabled{cursor:wait;opacity:.7}
.staff-login__error{min-height:22px;color:#ffb5a8;font-size:14px;line-height:1.45}
.staff-login__back{justify-self:start;color:#efd67b;font-weight:700;text-decoration:none}
.staff-login__back:focus-visible{outline:2px solid #efd67b;outline-offset:3px}

.landing-band,
.staff-section{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    background:#1d1d1d;
    border:1px solid #2c2c2c;
    border-radius:18px;
    padding:28px;
}

.landing-band p,
.staff-section p{
    color:#bbb;
    line-height:1.5;
    max-width:680px;
}

.landing-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}

.landing-list span{
    border:1px solid rgba(212,175,55,.35);
    color:#f4d675;
    border-radius:999px;
    padding:10px 14px;
    background:rgba(212,175,55,.08);
    font-weight:700;
}

.section{
    margin-bottom:70px;
}

.section h2{
    font-size:34px;
    color:#d4af37;
    margin-bottom:28px;
}

.features{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
}

.feature-card{
    background:#1d1d1d;
    padding:25px;
    border-radius:16px;
    border:1px solid #2c2c2c;
}

.feature-card h3{
    margin-bottom:12px;
}

.feature-card p{
    color:#bbb;
    line-height:1.5;
}

.booking-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:24px;
}

@media(max-width:800px){
    .site-header{
        padding:18px 24px;
        flex-direction:column;
        gap:15px;
    }

    .site-nav{
        flex-wrap:wrap;
        justify-content:center;
        gap:15px;
    }

    main{
        padding:25px;
    }

    .hero{
        padding:45px 25px;
    }

    .hero h1{
        font-size:38px;
    }

    .features,
    .booking-grid{
        grid-template-columns:1fr;
    }

    .hero-actions{
        align-items:stretch;
    }

    .hero-actions .hero-button,
    .hero-actions .hero-link{
        width:100%;
        text-align:center;
    }

    .login-card,
    .landing-band,
    .staff-section{
        grid-template-columns:1fr;
        flex-direction:column;
        align-items:stretch;
    }

    .staff-login{min-height:0;padding:12px 0}
    .staff-login__card{padding:24px}
    .staff-login__card h1{font-size:28px}
    .staff-login__password{align-items:stretch}

    .landing-list{
        justify-content:flex-start;
    }
}

/* Public catalog v5.9 */
#catalogContent[data-catalog="masters"] .catalog-card__media--master{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;flex:0 0 auto}
#catalogContent[data-catalog="masters"] .catalog-card__image--master{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;min-height:0;object-fit:cover;object-position:50% 20%}
.site-nav-toggle{display:none}.site-nav a[aria-current="page"]{color:#d4af37}.site-nav-booking{color:#d4af37!important}
.public-catalog-page .public-main{max-width:1200px}.catalog-hero{padding:34px 0 42px}.catalog-hero h1{font-size:48px;margin-bottom:12px}.catalog-hero p:not(.section-label){color:#bbb;max-width:620px;line-height:1.6}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.catalog-card{overflow:hidden;border:1px solid #333;background:#1a1a1a;border-radius:12px;display:flex;flex-direction:column;min-width:0}.catalog-photo{aspect-ratio:4/3;background:#242424;overflow:hidden}.catalog-photo img,.catalog-detail-photo img,.catalog-master-list img{width:100%;height:100%;object-fit:cover;display:block}.catalog-photo-fallback{height:100%;display:grid;place-items:center;background:#292312;color:#d4af37;font-size:48px;font-weight:700}.catalog-card-body{padding:22px;display:grid;gap:15px;flex:1}.catalog-card h2{font-size:24px;color:#fff}.catalog-card-body>p{color:#bbb;line-height:1.55}.catalog-badge,.catalog-tags li{display:inline-flex;border:1px solid rgba(212,175,55,.35);border-radius:999px;color:#efd67b;font-size:12px;padding:6px 10px}.catalog-tags{display:flex;gap:7px;flex-wrap:wrap;list-style:none}.catalog-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#ccc}.catalog-price-row strong{font-size:24px;color:#d4af37}.catalog-masters{font-size:13px}.catalog-actions{display:flex;align-items:center;gap:15px;margin-top:auto}.catalog-link{color:#efd67b;font-weight:700;text-decoration:none}.catalog-empty{grid-column:1/-1;text-align:center;padding:64px 24px;border:1px dashed #4b4230;border-radius:12px;background:#181818}.catalog-empty h2{color:#d4af37;margin-bottom:10px}.catalog-empty p,.catalog-loading{color:#bbb}.catalog-detail-card{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr);gap:32px;background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:30px}.catalog-detail-photo{aspect-ratio:1;overflow:hidden;border-radius:8px;background:#242424}.catalog-detail-copy{display:grid;align-content:start;gap:18px}.catalog-detail-copy h1{font-size:44px;margin:0;color:#d4af37}.catalog-detail-copy p{line-height:1.7;color:#d0d0d0}.catalog-detail-muted{color:#efd67b!important}.catalog-detail-section{grid-column:1/-1;border-top:1px solid #333;padding-top:24px}.catalog-detail-section h2{color:#fff;font-size:24px;margin-bottom:16px}.catalog-detail-list,.catalog-certificates,.catalog-master-list{display:grid;gap:10px;list-style:none}.catalog-detail-list li{display:flex;justify-content:space-between;gap:16px;padding:14px;background:#222;border-radius:8px}.catalog-detail-list strong{color:#efd67b}.catalog-master-list li{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:12px;background:#222;border-radius:8px}.catalog-master-list img,.catalog-master-list .catalog-photo-fallback{width:52px;height:52px;border-radius:50%;font-size:20px}.catalog-master-list small{display:block;color:#bbb;margin-top:4px}.catalog-service-art{background:#262116}.catalog-service-art .catalog-photo-fallback{font-size:36px}
@media(max-width:800px){.site-nav-toggle{display:block;padding:9px 12px;font-size:13px;background:transparent;color:#fff;border:1px solid #555;border-radius:6px}.site-header{position:relative;flex-direction:row}.site-nav{display:none;position:absolute;z-index:5;top:100%;left:0;right:0;background:#1a1a1a;padding:18px 24px;border-bottom:1px solid #333;flex-direction:column;align-items:stretch}.site-nav.is-open{display:flex}.site-nav a{padding:8px 0}.public-catalog-page .public-main{padding:28px 20px}.catalog-hero{padding:10px 0 30px}.catalog-hero h1{font-size:36px}.catalog-detail-card{grid-template-columns:1fr;padding:20px;gap:22px}.catalog-detail-copy h1{font-size:34px}.catalog-master-list li{grid-template-columns:44px 1fr}.catalog-master-list .catalog-link{grid-column:2}.catalog-detail-list li{flex-direction:column;gap:6px}.catalog-actions{justify-content:space-between}.catalog-actions .hero-button{padding:12px 16px}.public-catalog-links{align-items:flex-start}}
.site-nav .public-nav__button,
.site-nav .public-nav__button:visited{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid #d4af37;border-radius:6px;background:#d4af37;color:#1a1a1a;text-decoration:none;font-size:14px;font-weight:700;line-height:1;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.site-nav .public-nav__button:hover{background:#f0cf59;border-color:#f0cf59;color:#1a1a1a;box-shadow:0 4px 14px rgba(212,175,55,.18)}
.site-nav .public-nav__button:focus-visible{outline:2px solid #f0cf59;outline-offset:3px}
.site-nav .public-nav__button:active{background:#bd9824;border-color:#bd9824;box-shadow:none;transform:translateY(1px)}
.site-nav .public-nav__button[aria-current="page"]{background:#d4af37;border-color:#d4af37;color:#1a1a1a}
@media(max-width:800px){.site-nav .public-nav__button{width:100%;min-height:42px}.site-nav{gap:10px}}

/* v5.10.3.2: portfolio media keeps the stored 4:3 result intact. */
.public-works-page .public-main{width:100%;box-sizing:border-box}.public-works-page .portfolio-grid{width:100%;min-width:0}.public-works-page .portfolio-card{width:100%;max-width:none;min-width:0}.portfolio-card-media{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#242424}.public-works-page .portfolio-card-media img,.public-works-page .portfolio-card-media .portfolio-image-fallback{display:block;width:100%;height:100%;min-width:0;aspect-ratio:auto;object-fit:contain;background:#242424}.public-works-page .portfolio-card-media .portfolio-image-fallback{display:grid;place-items:center}.portfolio-card-body h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}

/* Public portfolio v5.10.3.1 */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.portfolio-card{min-width:0;overflow:hidden;border:1px solid #333;border-radius:10px;background:#1a1a1a;cursor:pointer;outline:none;transition:border-color .18s,transform .18s,box-shadow .18s}.portfolio-card:hover{border-color:#806c34;box-shadow:0 14px 32px rgba(0,0,0,.24);transform:translateY(-2px)}.portfolio-card:focus-visible{outline:2px solid #efd67b;outline-offset:3px}.portfolio-card img,.portfolio-image-fallback{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#242424}.portfolio-image-fallback{display:grid;place-items:center;color:#bbb}.portfolio-card-body{padding:16px;display:grid;gap:7px}.portfolio-card-body h2{font-size:19px;color:#fff;margin:0;overflow-wrap:anywhere}.portfolio-card-meta{color:#c9b878;font-size:13px;line-height:1.45}.portfolio-card-description{display:-webkit-box;margin:0;color:#c6c6c6;font-size:14px;line-height:1.45;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.works-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:18px;margin-bottom:24px;border:1px solid #333;border-radius:10px;background:#1a1a1a}.works-filters label{display:grid;gap:7px;color:#ddd;font-size:14px}.works-filters select{min-width:200px;padding:10px 12px;border:1px solid #4b4b4b;border-radius:6px;background:#111;color:#fff;font:inherit}.portfolio-lightbox-open{overflow:hidden}.portfolio-lightbox{position:fixed;z-index:10060;inset:0;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.82)}.portfolio-lightbox-dialog{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:18px;width:min(960px,100%);height:min(680px,calc(100dvh - 32px));overflow:hidden;padding:18px;border:1px solid #5b4b21;border-radius:10px;background:#181818}.portfolio-lightbox-dialog img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#111}.portfolio-lightbox-copy{display:grid;align-content:center;min-width:0;min-height:0;gap:10px;overflow:hidden}.portfolio-lightbox-copy h2{color:#d4af37;margin:0;overflow-wrap:anywhere}.portfolio-lightbox-copy p{margin:0;color:#ddd;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.portfolio-lightbox-copy p:not(.portfolio-card-meta){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:8}.portfolio-lightbox-close{position:absolute;z-index:1;top:26px;right:26px;padding:9px 12px;border:1px solid #d4af37;border-radius:6px;background:#d4af37;color:#1a1a1a;font:inherit;font-weight:700;cursor:pointer}.portfolio-lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:1100px){.public-works-page .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.site-nav .public-nav__button--secondary{width:100%}.portfolio-grid,.public-works-page .portfolio-grid{grid-template-columns:1fr}.works-filters{align-items:stretch}.works-filters label,.works-filters select{width:100%}.portfolio-lightbox{padding:8px}.portfolio-lightbox-dialog{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:12px;height:min(760px,calc(100dvh - 16px));padding:12px}.portfolio-lightbox-dialog img{max-height:50dvh}.portfolio-lightbox-copy{align-content:start}.portfolio-lightbox-copy p:not(.portfolio-card-meta){-webkit-line-clamp:5}.portfolio-lightbox-close{top:20px;right:20px}}

/* Public reviews v5.10.4 */
.reviews-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:24px;padding:18px;border:1px solid #333;border-radius:10px;background:#1a1a1a}.reviews-filters label{display:grid;gap:7px;color:#ddd;font-size:14px}.reviews-filters select{min-width:160px;padding:10px 12px;border:1px solid #4b4b4b;border-radius:6px;background:#111;color:#fff;font:inherit}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.review-card{display:flex;min-width:0;flex-direction:column;gap:13px;padding:20px;border:1px solid #333;border-radius:10px;background:#1a1a1a}.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-stars{margin:0;color:#e7c858;font-size:20px}.review-source-badge{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid #5c4b20;border-radius:999px;color:#ddc878;font-size:12px;white-space:nowrap}.review-card-title{display:-webkit-box;margin:0;color:#fff;font-size:20px;line-height:1.3;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.review-card-text{display:-webkit-box;margin:0;color:#d0d0d0;line-height:1.55;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:5}.review-card-footer{display:grid;gap:4px;margin-top:auto;color:#bbb;font-size:13px;line-height:1.45}.review-card-footer strong{color:#f0f0f0}.review-card-meta{margin:0;color:#c9b878;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.review-salon-response{margin:0;padding:12px;border-left:3px solid #8e742d;background:#242116;color:#ddd;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.review-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-read-more,.review-source-link{border:0;background:transparent;color:#efd67b;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.review-read-more:hover,.review-source-link:hover{text-decoration:underline}.review-read-more:focus-visible,.review-source-link:focus-visible{outline:2px solid #efd67b;outline-offset:3px}.reviews-more-wrap{display:flex;justify-content:center;margin-top:28px}.public-review-modal-open{overflow:hidden}.public-review-modal{position:fixed;z-index:10060;inset:0;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.82)}.public-review-modal-dialog{position:relative;display:grid;align-content:start;gap:16px;width:min(720px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:26px;border:1px solid #5b4b21;border-radius:10px;background:#181818}.public-review-modal-dialog h2{margin:0;padding-right:96px;color:#d4af37;overflow-wrap:anywhere}.public-review-modal-text{margin:0;color:#e0e0e0;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.public-review-modal-close{position:absolute;top:18px;right:18px;padding:9px 12px;border:1px solid #d4af37;border-radius:6px;background:#d4af37;color:#1a1a1a;font:inherit;font-weight:700;cursor:pointer}.public-review-modal-close:focus-visible{outline:2px solid #fff;outline-offset:3px}@media(max-width:1100px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.reviews-grid{grid-template-columns:1fr}.reviews-filters{align-items:stretch}.reviews-filters label,.reviews-filters select{width:100%}.review-card{padding:18px}.public-review-modal{padding:8px}.public-review-modal-dialog{max-height:calc(100dvh - 16px);padding:20px}.public-review-modal-dialog h2{padding-right:84px}.public-review-modal-close{top:12px;right:12px}}
