/* Phase 1 admin */
.btn.danger{background:#fff;color:#a13f3f;border:1px solid #e4bebe}
.btn.danger:hover{background:#fff5f5}
.btn.compact{padding:7px 10px;font-size:12px}
.admin-actions{display:flex;gap:6px;flex-wrap:wrap}
.editor-note{padding:13px 15px;background:#f8f3ef;border:1px solid #eaded8;font-size:12px;line-height:1.7;color:#746965}
.photo-manager{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.photo-manage-card{border:1px solid #e4ddd9;background:#fff;padding:9px}
.photo-manage-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee}
.photo-manage-tools{display:grid;gap:7px;margin-top:8px}
.photo-manage-tools select{width:100%;padding:8px;border:1px solid #ddd3ce;background:#fff}
.photo-order-buttons{display:flex;gap:5px}
.photo-order-buttons button{flex:1}
.upload-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.upload-slot{padding:15px;border:1px dashed #cdbeb7;background:#fbf8f6}
.upload-slot b{display:block;margin-bottom:5px}
.upload-slot small{display:block;color:#8a7e78;margin-bottom:10px;line-height:1.5}
.upload-slot input{width:100%;font-size:12px}
.case-status-published{background:#e6f5ec;color:#347451}
.case-status-draft{background:#f0ece9;color:#736a66}
.empty-state{padding:46px 20px;text-align:center;color:#8a817d}
.case-detail-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.case-detail-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}
.case-ba{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.case-ba figure{margin:0}
.case-ba img{width:100%;aspect-ratio:4/3;object-fit:cover}
.case-ba figcaption{padding:8px 0;font-size:12px;color:#80746e}

@media(max-width:1080px){
  .salon-hero{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .salon-hero-stage{min-height:500px}
  .salon-hero-copy{padding:50px 42px 42px}
  .photo-manager{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .public-header{height:66px}
  .salon-hero{
    width:calc(100% - 24px);
    margin-top:12px;
    border-radius:12px;
  }
  .salon-hero-copy{padding:40px 22px 34px}
  .salon-hero h1{font-size:48px}
  .salon-hero-stage{min-height:390px}
  .salon-main-photo,.salon-stage-shade{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}
  .salon-result{left:24px;bottom:24px}
  main>.section,.salon-promise,.appointment-band,.page-hero{
    width:calc(100% - 24px)!important;
  }
  .section{padding:60px 18px}
  .salon-promise{padding:52px 20px!important;margin:46px auto!important}
  .appointment-band{padding:36px 22px;margin:46px auto}
  .page-hero{padding:42px 22px 32px}
  .photo-manager,.upload-slots,.case-detail-gallery,.case-ba{grid-template-columns:1fr}
}


/* =========================================================
   PHASE 2 — REAL BOOKING SYSTEM
   ========================================================= */

/* User request: make the top menu more readable */
.public-header .nav button{
  font-size:14px!important;
  font-weight:760;
  letter-spacing:-.025em;
}

/* Booking calendar */
.booking-shell{
  max-width:1040px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:22px;
}
.booking-card{
  background:#fff;
  border:1px solid #e6ddd8;
  padding:24px;
}
.booking-month-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.booking-month-head h3{margin:0;font-size:22px}
.booking-month-actions{display:flex;gap:6px}
.booking-month-actions button{
  width:38px;height:38px;border:1px solid #ddd2cc;background:#fff;cursor:pointer;
}
.booking-weekdays,.booking-calendar{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:6px;
}
.booking-weekday{
  padding:7px 0;text-align:center;font-size:11px;font-weight:800;color:#9a8d87;
}
.booking-day{
  min-height:62px;
  border:1px solid #e5dcd7;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  cursor:pointer;
  transition:.18s;
}
.booking-day:hover:not(:disabled){border-color:#bd8d7f;background:#fbf5f1}
.booking-day.available{color:#3c3330}
.booking-day.unavailable{background:#faf8f7;color:#b8afaa;cursor:not-allowed}
.booking-day.selected{background:#3a302d;color:#fff;border-color:#3a302d}
.booking-day.blank{visibility:hidden}
.booking-day strong{font-size:14px}
.booking-day small{font-size:9px;opacity:.72}
.booking-help{
  margin-top:13px;
  padding:12px 14px;
  background:#f8f3ef;
  color:#756963;
  font-size:12px;
  line-height:1.7;
}
.time-panel{margin-top:22px}
.time-panel h4{margin:0 0 12px}
.time-slots{display:flex;flex-wrap:wrap;gap:7px}
.time-slot{
  border:1px solid #ddd2cc;background:#fff;padding:9px 12px;cursor:pointer;font-weight:700;
}
.time-slot:hover{border-color:#bd8d7f}
.time-slot.selected{background:#a97867;color:#fff;border-color:#a97867}
.time-empty{padding:16px;background:#faf7f5;color:#8f8580;font-size:13px}
.booking-selection{
  padding:14px 16px;
  border-left:3px solid #c9a46f;
  background:#fbf5f1;
  margin-bottom:18px;
}
.booking-selection small{display:block;color:#988982;margin-bottom:4px}
.booking-selection b{font-size:18px}
.booking-form-card{
  background:#fff;
  border:1px solid #e6ddd8;
  padding:24px;
  align-self:start;
  position:sticky;
  top:94px;
}
.booking-form-card h3{margin-top:0}
.booking-submit-note{
  margin-top:10px;font-size:11px;line-height:1.65;color:#8d817b;
}

/* Admin booking settings */
.booking-admin-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
}
.weekly-hours{
  display:grid;
  gap:8px;
  margin-top:15px;
}
.weekly-hour-row{
  display:grid;
  grid-template-columns:90px 100px 1fr 24px 1fr;
  gap:9px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid #eee8e5;
}
.weekly-hour-row:last-child{border-bottom:0}
.weekly-hour-row input[type="time"]{width:100%;padding:9px;border:1px solid #ddd3ce}
.booking-setting-row{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px
}
.block-form{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px
}
.block-form .full{grid-column:1/-1}
.block-time-range{display:grid;grid-template-columns:1fr 22px 1fr;gap:7px;align-items:center}
.block-list{display:grid;gap:8px;margin-top:18px}
.block-item{
  display:flex;justify-content:space-between;gap:16px;align-items:center;
  padding:12px;border:1px solid #e5ddd8;background:#fff;
}
.block-item b{display:block;font-size:13px}
.block-item small{display:block;color:#8a7f79;margin-top:3px}
.reservation-row-hidden{display:none}
.availability-preview{
  margin-top:18px;padding:13px;background:#f8f3ef;border:1px solid #eaded8;
  font-size:12px;line-height:1.7;color:#746965
}

@media(max-width:900px){
  .booking-shell,.booking-admin-grid{grid-template-columns:1fr}
  .booking-form-card{position:static}
}
@media(max-width:680px){
  .public-header .nav button{font-size:13px!important}
  .booking-card,.booking-form-card{padding:17px}
  .booking-day{min-height:51px}
  .weekly-hour-row{
    grid-template-columns:72px 80px 1fr;
  }
  .weekly-hour-row .weekly-close-sep{display:none}
  .weekly-hour-row .weekly-close{grid-column:3}
  .booking-setting-row,.block-form{grid-template-columns:1fr}
  .block-form .full{grid-column:auto}
}


/* =========================================================
   PHASE 3 — HOME COMPARE CMS + CUSTOMERS/CATS
   ========================================================= */
.home-compare-empty{
  min-height:420px;
  display:grid;
  place-items:center;
  background:#f4ece7;
  border:1px solid #e3d8d2;
  color:#8a7c76;
  text-align:center;
  padding:30px;
}
.home-compare-admin-note{
  margin-top:10px;
  font-size:11px;
  color:#9c8e87;
}
.cms-section-box{
  border-top:1px solid #e7ded9;
  margin-top:22px;
  padding-top:20px;
}
.customer-layout{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:14px;
}
.customer-card-list{display:grid;gap:8px}
.customer-card-row{
  border:1px solid #e6dfdb;
  background:#fff;
  padding:14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
}
.customer-card-row.active{border-color:#b98b79;background:#fbf5f1}
.customer-card-row h4{margin:0 0 4px;font-size:16px}
.customer-card-row small{color:#877d78}
.customer-actions{display:flex;gap:6px;flex-wrap:wrap}
.customer-editor{display:grid;gap:14px}
.cat-list{display:grid;gap:9px;margin-top:14px}
.cat-item{
  border:1px solid #e3dbd7;
  background:#fff;
  padding:13px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}
.cat-item b{display:block}
.cat-item small{display:block;color:#8b817c;margin-top:4px}
.cat-editor{
  margin-top:15px;
  padding:15px;
  border:1px dashed #ccbdb6;
  background:#faf6f3;
}
.customer-history{display:grid;gap:8px;margin-top:12px}
.customer-history-item{
  display:grid;
  grid-template-columns:110px 1fr auto;
  gap:12px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid #eee7e3;
}
.customer-history-item:last-child{border-bottom:0}
.customer-history-item small{color:#8a807b}
.linked-cat-badge{
  display:inline-block;
  padding:5px 8px;
  background:#f3e8e2;
  color:#75584d;
  font-size:11px;
}
.form-help{
  display:block;
  margin-top:5px;
  color:#948984;
  font-size:11px;
  line-height:1.55;
}
@media(max-width:950px){
  .customer-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
  .customer-card-row,.cat-item,.customer-history-item{grid-template-columns:1fr}
}


/* PHASE 4 — CARE REPORTS */
.report-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.report-section-card{border:1px solid #e5ddd8;background:#fff;padding:18px}
.report-section-card h4{margin:0 0 14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.report-section-card textarea{min-height:95px}
.report-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.report-urine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.report-link-box{margin-top:12px;padding:12px;background:#f8f3ef;border:1px solid #eaded8;word-break:break-all;font-size:12px;line-height:1.65}
.report-table-summary{display:flex;gap:5px;flex-wrap:wrap}
.care-chip{display:inline-flex;align-items:center;padding:5px 7px;font-size:10px;font-weight:800;background:#f0ebe8;color:#665c57}
.care-chip.good{background:#e8f3ec;color:#3e7254}.care-chip.watch{background:#fff0df;color:#9a6428}.care-chip.off{background:#f1eeee;color:#8a8080}
.public-report{width:min(960px,calc(100% - 32px));margin:26px auto 70px;background:#fff;border:1px solid #e6ddd8}
.public-report-head{padding:42px 42px 30px;background:#f7efea;border-bottom:1px solid #e6ddd8}
.public-report-head h1{margin:8px 0;font-size:clamp(34px,5vw,52px);font-family:Georgia,serif;font-weight:500}
.public-report-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#786b65;font-size:13px}
.public-report-body{padding:34px 42px 42px}
.public-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.public-care-card{padding:20px;border:1px solid #e5ddd8;min-height:190px}
.public-care-card h3{margin:0 0 10px;font-size:18px}.public-care-card .care-value{font-size:24px;font-family:Georgia,serif;margin-bottom:12px}
.public-care-card p{margin:8px 0 0;white-space:pre-wrap;line-height:1.7;color:#655b56;font-size:13px}
.public-report-note{margin-top:14px;padding:18px;background:#faf6f3;border-left:3px solid #c9a46f}
.public-report-note p{white-space:pre-wrap}
.public-report-disclaimer{margin-top:22px;padding:15px 17px;border:1px solid #eaded8;color:#7b706a;font-size:12px;line-height:1.75}
@media(max-width:780px){.report-status-grid,.public-report-grid{grid-template-columns:1fr}.report-urine-grid{grid-template-columns:repeat(2,1fr)}.public-report-head,.public-report-body{padding-left:22px;padding-right:22px}}


/* =========================================================
   PHASE 5 — CONTENT CMS
   ========================================================= */
.content-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.content-admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.content-admin-tabs .btn.active{background:#3b312e;color:#fff;border-color:#3b312e}
.content-preview-img{width:100%;max-height:240px;object-fit:cover;border:1px solid #e4ddd9;margin-top:10px}
.cms-inline-editor{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cms-inline-editor .full{grid-column:1/-1}
.service-admin-list,.banner-admin-list,.popup-admin-list{display:grid;gap:9px}
.service-admin-row,.banner-admin-row,.popup-admin-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid #e4ddd9;background:#fff}
.service-admin-row h4,.banner-admin-row h4,.popup-admin-row h4{margin:0 0 5px}.service-admin-row small,.banner-admin-row small,.popup-admin-row small{color:#8c817b}
.public-notice-strip{width:min(var(--site-max),calc(100% - 40px));margin:14px auto 0;padding:17px 22px;border:1px solid #e6ddd8;background:#fff;display:flex;align-items:center;gap:14px;cursor:pointer;line-height:1.5}
.public-notice-strip b{font-size:11px;letter-spacing:.08em;color:#9e796c}.public-notice-strip span{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-banners{width:min(var(--site-max),calc(100% - 40px));margin:18px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.home-banner{min-height:190px;padding:26px;border:1px solid #e4dad4;background:#f5ece7;background-size:cover;background-position:center;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.home-banner.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,24,22,.08),rgba(30,24,22,.62))}.home-banner-copy{position:relative;z-index:1;max-width:520px}.home-banner.has-image .home-banner-copy{color:#fff}.home-banner h3{font-size:28px;margin:5px 0 8px;font-family:Georgia,serif;font-weight:500}.home-banner p{margin:0 0 14px;line-height:1.65;font-size:13px}.home-banner.has-image .btn.secondary{background:rgba(255,255,255,.92);color:#302825}
.site-popup-layer{position:fixed;inset:0;background:rgba(30,24,22,.42);z-index:9999;display:grid;place-items:center;padding:20px}.site-popup-card{width:min(470px,100%);background:#fff;border:1px solid #ded3cd;box-shadow:0 28px 80px rgba(0,0,0,.22);padding:30px}.site-popup-card h3{font-family:Georgia,serif;font-size:32px;font-weight:500;margin:8px 0 12px}.site-popup-card p{white-space:pre-wrap;line-height:1.75;color:#675d58}.site-popup-close{float:right;border:0;background:none;font-size:24px;cursor:pointer;color:#7c706a}
.public-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.public-post-card{border:1px solid #e5ddd8;background:#fff;cursor:pointer;overflow:hidden}.public-post-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#eee}.public-post-card .post-placeholder{aspect-ratio:16/10;background:linear-gradient(135deg,#e9ddd6,#f8f3ef);display:grid;place-items:center;font-size:42px}.public-post-body{padding:26px 28px 28px}.public-post-body h3{margin:6px 0 8px}.public-post-body p{line-height:1.65;color:#746a65;font-size:13px}.post-detail{max-width:860px;margin:auto}.post-detail-cover{width:100%;max-height:520px;object-fit:cover;margin:22px 0}.post-detail-body{white-space:pre-wrap;line-height:1.95;font-size:15px;color:#514946}.review-submit{max-width:720px;margin:35px auto 0;border:1px solid #e4dbd6;background:#faf6f3;padding:24px}.review-stars{font-size:15px;letter-spacing:.08em}.review-empty,.content-empty{padding:42px;text-align:center;border:1px solid #e5ddd8;background:#fff;color:#8c817b}.faq details p{white-space:pre-wrap}.store-public-intro{padding:14px 0;white-space:pre-wrap;line-height:1.75}.footer-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.footer-links button{border:0;background:none;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font-size:12px}
@media(max-width:900px){.public-post-grid{grid-template-columns:repeat(2,1fr)}.home-banners{grid-template-columns:1fr}.cms-inline-editor{grid-template-columns:1fr}.cms-inline-editor .full{grid-column:auto}}
@media(max-width:620px){.public-post-grid{grid-template-columns:1fr}.service-admin-row,.banner-admin-row,.popup-admin-row{grid-template-columns:1fr}.public-notice-strip,.home-banners{width:calc(100% - 24px)}.public-post-body{padding:22px 20px 24px}.public-notice-strip{padding:15px 18px}}



/* V23.10 — catnara.com brand signature */
.brand-domain{
 display:inline-flex;align-items:center;margin-left:4px;white-space:nowrap;
 font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;
 font-size:15px;letter-spacing:.035em;color:var(--ui-accent,#a87866)!important;opacity:.92
}
.impact-brand .brand-domain,.editorial-brand .brand-domain,.minimal-brand .brand-domain,.cat-brand .brand-domain{font-size:12px;letter-spacing:.04em}
.impact-brand .brand-domain{color:#d5b47d!important;margin-left:0;margin-top:5px}
.mobile-site-brand .brand-domain{font-size:12px;margin-left:2px;color:var(--ui-accent,#a87866)!important}

/* V23.10 — two-line home notice board */
.home-notice-list{width:min(var(--site-max),calc(100% - 40px));margin:14px auto 0;border:1px solid #e6ddd8;border-radius:15px;background:#fff;overflow:hidden}
.home-notice-list .public-notice-strip{width:100%;margin:0;border:0;border-radius:0;border-bottom:1px solid #eee6e1}
.home-notice-list .public-notice-strip:last-child{border-bottom:0}
.home-layout-notices{display:grid;width:100%}
.home-layout-notices .layout-notice{margin:0!important}
.home-layout-notices .layout-notice+ .layout-notice{border-top:1px solid var(--ui-line)}

/* V23.10 — compact recent grooming portfolio */
html[data-public-layout="classic"] #app .salon-gallery{padding-top:70px!important;padding-bottom:70px!important}
html[data-public-layout="classic"] #app .salon-gallery .section-head,
html[data-public-layout="classic"] #app .salon-gallery-grid{width:min(100%,1040px);margin-left:auto;margin-right:auto}
html[data-public-layout="classic"] #app .salon-gallery-grid{grid-template-columns:1.16fr .84fr;gap:12px}
html[data-public-layout="classic"] #app .salon-gallery .salon-feature{min-height:380px!important;height:380px!important;max-height:380px}
html[data-public-layout="classic"] #app .salon-gallery .salon-stack{gap:12px}
html[data-public-layout="classic"] #app .salon-gallery .salon-stack-card{min-height:0!important;height:184px}
html[data-public-layout="classic"] #app .salon-gallery .salon-feature-caption{padding:12px 15px;min-width:210px}
html[data-public-layout="classic"] #app .salon-gallery .salon-feature-caption b{font-size:16px}

/* V23.10 — Crew cat-info board */
.crew-info-tools{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:14px}
.crew-info-search{display:flex;gap:8px;align-items:center}
.crew-info-search input{min-width:0;flex:1}
.crew-info-modes{display:flex;gap:6px;flex-wrap:wrap}
.crew-info-modes button{border:1px solid var(--ui-line);background:var(--ui-surface);padding:9px 13px;border-radius:999px;cursor:pointer;font-weight:750;color:var(--ui-muted)}
.crew-info-modes button.active{background:var(--ui-text);border-color:var(--ui-text);color:var(--ui-surface)}
.crew-info-board{border:1px solid var(--ui-line);border-radius:16px;overflow:hidden;background:var(--ui-surface)}
.crew-info-board-head,.crew-info-board-row{display:grid;grid-template-columns:72px 92px minmax(0,1fr) 120px 76px;gap:12px;align-items:center;padding:13px 16px}
.crew-info-board-head{background:var(--ui-soft);font-size:10px;letter-spacing:.1em;color:var(--ui-muted);font-weight:800}
.crew-info-board-row{border-top:1px solid var(--ui-line);cursor:pointer;text-align:left;background:transparent;width:100%;color:var(--ui-text)}
.crew-info-board-row:hover{background:var(--ui-soft)}
.crew-info-board-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crew-info-board-row small{color:var(--ui-muted)}
.crew-info-type{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:52px;padding:5px 8px;border-radius:999px;background:var(--ui-soft);font-size:10px;font-weight:800}
.crew-info-type.video{background:color-mix(in srgb,var(--ui-accent) 16%,var(--ui-surface));color:var(--ui-accent)}
.crew-info-pagination{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:14px}
.crew-info-detail{max-width:920px;margin:0 auto;border:1px solid var(--ui-line);border-radius:18px;background:var(--ui-surface);padding:28px}
.crew-info-detail-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--ui-line);padding-bottom:18px;margin-bottom:20px}
.crew-info-detail h2{margin:8px 0 7px}
.crew-info-body{white-space:pre-wrap;line-height:1.9;color:var(--ui-muted)}
.crew-info-video{margin:20px 0;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#111}
.crew-info-video iframe{width:100%;height:100%;border:0}
.crew-info-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.crew-info-admin-list article{grid-template-columns:minmax(0,1fr) auto}

@media(max-width:720px){
 .brand-domain{font-size:12px}
 .mobile-site-brand .brand-domain{display:inline-flex;font-size:10px;letter-spacing:.015em;margin-left:1px}
 .home-notice-list{width:calc(100% - 24px)}
 html[data-public-layout="classic"][data-mobile-site="enabled"] #app .salon-gallery{padding-top:52px!important;padding-bottom:52px!important}
 html[data-public-layout="classic"][data-mobile-site="enabled"] #app .salon-gallery .salon-feature{min-height:280px!important;height:280px!important}
 html[data-public-layout="classic"][data-mobile-site="enabled"] #app .salon-gallery .salon-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html[data-public-layout="classic"][data-mobile-site="enabled"] #app .salon-gallery .salon-stack-card{height:132px!important;min-height:132px!important}
 .crew-info-tools{grid-template-columns:1fr}
 .crew-info-search{display:grid;grid-template-columns:1fr auto}
 .crew-info-board{border:0;background:transparent;display:grid;gap:8px}
 .crew-info-board-head{display:none}
 .crew-info-board-row{grid-template-columns:auto 1fr auto;grid-template-areas:"type title date" "no title views";padding:14px;border:1px solid var(--ui-line);border-radius:13px;background:var(--ui-surface)}
 .crew-info-board-row .info-no{grid-area:no;font-size:10px}.crew-info-board-row .crew-info-type{grid-area:type}.crew-info-board-row b{grid-area:title;white-space:normal}.crew-info-board-row .info-date{grid-area:date;text-align:right}.crew-info-board-row .info-views{grid-area:views;text-align:right}
 .crew-info-detail{padding:20px 16px}.crew-info-detail-head{display:grid}
}

/* =========================================================
   MAIN VISUAL CMS — Hero photo / rotating mark / portfolio
   ========================================================= */
.salon-main-photo{
  transform:scale(1);
  animation:salonZoom 9s ease-in-out infinite alternate
}
@keyframes salonZoom{to{transform:scale(var(--hero-zoom,1.08))}}
.salon-stamp img{
  width:82%;
  height:82%;
  object-fit:contain;
  border-radius:50%;
  display:block;
}
.salon-stamp.no-rotate{animation:none}
.hero-visual-preview{
  position:relative;
  overflow:hidden;
  min-height:260px;
  background:#e8ddd7;
  border:1px solid #e4dad5;
  margin-top:12px;
}
.hero-visual-preview>img{
  width:100%;
  height:260px;
  object-fit:cover;
}
.hero-preview-stamp{
  position:absolute;
  top:16px;right:16px;
  width:76px;height:76px;border-radius:50%;
  display:grid;place-items:center;text-align:center;
  border:1px solid rgba(255,255,255,.8);
  color:#fff;font-family:Georgia,serif;font-size:9px;
  background:rgba(40,30,27,.2);
  overflow:hidden;
}
.hero-preview-stamp img{width:82%;height:82%;object-fit:contain;border-radius:50%}
.hero-preview-result{
  position:absolute;
  left:16px;bottom:16px;
  width:min(270px,70%);
  background:rgba(255,253,250,.94);
  padding:12px 14px;
  border-left:3px solid #c9a46f;
}
.hero-preview-result small{display:block;font-size:8px;letter-spacing:.12em;color:#9b8177}
.hero-preview-result b{display:block;margin:4px 0;font-size:14px}
.hero-preview-result span{font-size:10px;color:#746b67}
.hero-setting-group{
  padding-top:20px;
  margin-top:20px;
  border-top:1px solid #e6ddd8;
}
.hero-setting-group h4{margin:0 0 13px}
.range-row{display:grid;grid-template-columns:1fr 70px;gap:10px;align-items:center}
.range-row output{font-size:12px;color:#7c716c;text-align:right}
.visual-file-row{display:grid;gap:8px}
.visual-current-key{font-size:10px;color:#9b908b;word-break:break-all}


/* 2026-09-08 — SERVICE ORDER + ABOUT PAGE CMS */
.service-admin-list{position:relative}
.service-admin-row{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,opacity .15s ease}
.service-admin-row[draggable="true"]{cursor:grab}
.service-admin-row.dragging{opacity:.48;border-color:#b78978;box-shadow:0 12px 28px rgba(70,45,36,.12)}
.service-admin-row.drag-over{border-color:#a97867;background:#fbf4f0}
.service-order-left{display:flex;align-items:center;gap:11px;min-width:0}
.service-drag-handle{flex:0 0 34px;width:34px;height:42px;border:1px solid #dfd4ce;background:#faf6f3;display:grid;place-items:center;font-size:18px;color:#897871;cursor:grab;user-select:none}
.service-order-info{min-width:0}.service-order-info h4{overflow:hidden;text-overflow:ellipsis}
.service-order-controls{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.service-order-controls .btn{min-width:34px;padding-left:9px;padding-right:9px}
.service-order-help{padding:12px 14px;margin-bottom:13px;background:#f8f3ef;border:1px solid #eaded8;color:#756a65;font-size:12px;line-height:1.7}
.about-admin-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:14px}
.about-workflow-editor{display:grid;gap:10px;margin-top:12px}
.about-step-edit{border:1px solid #e5dcd7;background:#fff;padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:start}
.about-step-number{width:38px;height:38px;border-radius:50%;background:#3b312e;color:#fff;display:grid;place-items:center;font-family:Georgia,serif}
.about-step-fields{display:grid;gap:8px}.about-step-fields input,.about-step-fields textarea{width:100%}.about-step-fields textarea{min-height:76px}
.about-step-actions{display:flex;gap:5px;flex-direction:column}
.about-image-preview{width:100%;height:300px;object-fit:cover;border-radius:14px;border:1px solid #e3d9d4;background:#eee}
.about-preview-card{background:#faf6f3;border:1px solid #e7dcd6;padding:18px}.about-preview-card h3{margin:4px 0 10px}.about-preview-card p{white-space:pre-wrap;line-height:1.7;color:#6f645e;font-size:12px}
@media(max-width:920px){.about-admin-grid{grid-template-columns:1fr}}
@media(max-width:680px){.service-admin-row{grid-template-columns:1fr}.service-order-controls{justify-content:flex-start}.about-step-edit{grid-template-columns:36px 1fr}.about-step-actions{grid-column:2;flex-direction:row}}


/* 2026-09-08 — Dashboard metric shortcuts */
.metric[data-dashboard-link]{
  cursor:pointer;
  position:relative;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;
}
.metric[data-dashboard-link]:hover,
.metric[data-dashboard-link]:focus-visible{
  transform:translateY(-2px);
  border-color:#c7a99b;
  box-shadow:0 10px 26px rgba(75,49,40,.10);
  background:#fffdfb;
  outline:none;
}
.metric[data-dashboard-link]::after{
  content:'→';
  position:absolute;
  right:14px;
  top:12px;
  font-size:14px;
  color:#aa8b7d;
  opacity:.75;
}
.metric[data-dashboard-link] span,
.metric[data-dashboard-link] b{pointer-events:none}


/* 2026-09-08 — MEMBER AUTH / REAL MY / BOOKING PROFILE */
.switcher{display:none}
.auth-shell{width:min(1080px,calc(100% - 40px));margin:42px auto 80px;display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid #e3d9d4;background:#fff}
.auth-intro{padding:42px;background:#3b312e;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:520px}
.auth-intro .kicker{color:#d8bdaf}.auth-intro h2{font-family:Georgia,serif;font-size:42px;font-weight:500;margin:10px 0 16px}.auth-intro p{line-height:1.8;color:#ddd1cc}
.auth-card{padding:42px}.auth-card h2{font-family:Georgia,serif;font-weight:500;font-size:34px;margin:5px 0 24px}
.auth-links{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.auth-divider{height:1px;background:#eadfd9;margin:24px 0}
.member-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf5ef;color:#4f7258;font-size:11px;font-weight:700}.member-badge.admin{background:#f4e9e4;color:#865f50}
.my-profile-grid{display:grid;grid-template-columns:360px 1fr;gap:16px}.my-side,.my-main{display:grid;gap:14px;align-content:start}
.my-member-card,.my-cat-card,.my-data-card{border:1px solid #e5dcd7;background:#fff;padding:22px}.my-member-card h3,.my-cat-card h3,.my-data-card h3{margin:5px 0 13px}
.my-info-row{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #f0e9e5;font-size:13px}.my-info-row:last-child{border-bottom:0}.my-info-row span{color:#998a83}
.my-cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.my-cat-card .cat-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.my-cat-card .cat-icon{width:44px;height:44px;border-radius:50%;background:#f1e4dd;display:grid;place-items:center;font-size:23px}
.my-list{display:grid;gap:8px}.my-list-row{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eee6e1}.my-list-row:last-child{border-bottom:0}.my-list-row small{display:block;color:#998b84;margin-top:3px}
.member-cat-form{padding:18px;background:#faf6f3;border:1px solid #eaded8;margin-top:12px}
.booking-member-note{padding:12px 14px;margin-bottom:14px;border:1px solid #dce9df;background:#f3f8f4;color:#4f6755;font-size:12px;line-height:1.65}
.booking-policy-note{padding:12px 14px;margin-bottom:14px;border:1px solid #eaded8;background:#faf6f3;color:#756761;font-size:12px;line-height:1.65}
.reservation-profile{font-size:11px;line-height:1.6;color:#756a65;margin-top:5px}.reservation-detail-note{white-space:pre-wrap;max-width:260px;font-size:11px;line-height:1.55;color:#766b65}
.report-list-note{font-size:12px;color:#8d8079;margin:0 0 12px}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:auto}.my-profile-grid{grid-template-columns:1fr}.my-cat-grid{grid-template-columns:1fr}}
@media(max-width:620px){.auth-shell{width:calc(100% - 24px);margin-top:18px}.auth-intro,.auth-card{padding:26px}.my-list-row{grid-template-columns:1fr}.my-list-row .btn{justify-self:start}}


/* =========================================================
   2026-09-08 — MY CATS compact/fitted layout hotfix
   ========================================================= */
.my-side,
.my-member-card,
.my-cat-grid,
.my-cat-card{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.my-cat-grid{
  grid-template-columns:minmax(0,1fr);
  width:100%;
  gap:10px;
}

.my-cat-card{
  width:100%;
  padding:16px 17px;
  overflow:hidden;
}

.my-cat-card .cat-title{
  min-width:0;
  margin-bottom:8px;
}

.my-cat-card .cat-title>div:last-child{
  min-width:0;
  flex:1 1 auto;
}

.my-cat-card .cat-title h3{
  margin:0 0 2px;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.my-cat-card .cat-title small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#958780;
}

.my-cat-card .cat-icon{
  flex:0 0 40px;
  width:40px;
  height:40px;
  font-size:20px;
}

.my-cat-card .my-info-row{
  grid-template-columns:72px minmax(0,1fr);
  gap:8px;
  width:100%;
  padding:6px 0;
  font-size:12px;
  align-items:start;
}

.my-cat-card .my-info-row span{
  min-width:0;
  white-space:nowrap;
}

.my-cat-card .my-info-row b{
  min-width:0;
  max-width:100%;
  font-weight:600;
  line-height:1.5;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}

@media(max-width:620px){
  .my-cat-card{
    padding:14px 15px;
  }
  .my-cat-card .my-info-row{
    grid-template-columns:68px minmax(0,1fr);
  }
}


/* =========================================================
   2026-09-08 — MY CAT EDIT/DELETE + PUBLIC CARE REPORT PAGE
   ========================================================= */
.my-cat-card{position:relative}
.my-cat-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid #eee6e1}
.my-cat-card.editing{border-color:#b98f7d;box-shadow:0 8px 24px rgba(77,53,44,.08)}
.my-cat-edit-note{font-size:11px;color:#897a72;margin:0 0 10px}

.care-page-shell{width:min(1120px,calc(100% - 40px));margin:0 auto}
.care-report-hero-note{padding:18px 20px;background:#faf6f3;border:1px solid #e9ddd7;margin-bottom:18px;line-height:1.75;color:#6e625c}
.care-report-hero-note b{color:#443a36}
.care-report-paper{background:#fff;border:1px solid #ded4cf;box-shadow:0 12px 32px rgba(59,49,46,.07);padding:34px;margin-bottom:18px}
.care-report-paper.sample{border-style:dashed;background:linear-gradient(180deg,#fffdfb,#faf6f3)}
.care-report-paper-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:2px solid #3b312e;margin-bottom:20px}
.care-report-paper-head .brandline{font-family:Georgia,serif;font-size:26px;letter-spacing:.02em}
.care-report-paper-head .report-meta{text-align:right;font-size:12px;line-height:1.65;color:#756963}
.care-report-sample-badge{display:inline-flex;padding:6px 10px;border:1px solid #bd927e;background:#fff8f4;color:#875f50;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:8px}
.care-report-catline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.care-report-catbox{padding:12px 14px;background:#faf7f5;border:1px solid #ede4df}
.care-report-catbox small{display:block;color:#96877f;margin-bottom:4px}.care-report-catbox b{font-size:14px}
.care-report-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.care-report-check{border:1px solid #e8dfda;padding:16px;background:#fff}
.care-report-check-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.care-report-check h4{margin:0;font-size:15px}
.care-report-check p{margin:0;color:#756a64;font-size:12px;line-height:1.7;white-space:pre-wrap}
.care-report-result{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#eef5ef;color:#52705a}
.care-report-result.observe{background:#fff4dc;color:#8b6f33}.care-report-result.alert{background:#fbe9e7;color:#9a5148}.care-report-result.none{background:#f1efee;color:#81736d}
.care-report-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.care-report-note{padding:16px;border:1px solid #e8dfda;background:#fbf8f6}
.care-report-note small{display:block;color:#988981;margin-bottom:7px}.care-report-note p{margin:0;line-height:1.75;white-space:pre-wrap;color:#635a56}
.care-report-disclaimer{margin-top:18px;padding-top:14px;border-top:1px solid #eee5e0;font-size:11px;line-height:1.7;color:#8d8079}
.care-report-history{display:grid;gap:9px;margin-top:14px}
.care-report-history-row{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #eee6e1}
.care-report-history-row:last-child{border-bottom:0}.care-report-history-row small{display:block;color:#94867f;margin-top:3px}
.care-empty-cta{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
@media(max-width:760px){
  .care-page-shell{width:calc(100% - 24px)}
  .care-report-paper{padding:20px}
  .care-report-paper-head{display:block}
  .care-report-paper-head .report-meta{text-align:left;margin-top:10px}
  .care-report-catline,.care-report-checks,.care-report-notes{grid-template-columns:1fr}
  .care-report-history-row{grid-template-columns:1fr}
}


/* =========================================================
   2026-09-08 — MEMBER-ONLY REVIEWS + CAT INFO + 2 PHOTOS
   ========================================================= */
.review{
  overflow:hidden;
}
.review-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.review-author{
  min-width:0;
}
.review-author h3{
  margin:4px 0 3px;
}
.review-catline{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
  font-size:11px;
  color:#7b6e68;
}
.review-cat-chip{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  background:#f7f0ec;
  border:1px solid #e8dbd4;
  border-radius:999px;
}
.review-date{
  font-size:10px;
  color:#9b8e87;
  white-space:nowrap;
}
.review-photos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0 4px;
}
.review-photos.one{
  grid-template-columns:minmax(0,1fr);
}
.review-photo-link{
  display:block;
  width:100%;
  min-width:0;
  padding:0;
  margin:0;
  overflow:hidden;
  border:1px solid #e6ddd8;
  background:#f4efec;
  appearance:none;
  -webkit-appearance:none;
  cursor:zoom-in;
  text-align:initial;
}
.review-photo-link img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .18s ease;
}
.review-photo-link:hover img{
  transform:scale(1.02);
}
.review-owner-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #eee5e0;
}
.review-member-only{
  max-width:720px;
  margin:35px auto 0;
  padding:28px;
  border:1px solid #e4dbd6;
  background:#faf6f3;
  text-align:center;
}
.review-member-only h3{
  margin:7px 0 10px;
}
.review-form-member{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  padding:11px 13px;
  background:#f5f8f5;
  border:1px solid #dfe9e1;
  margin-bottom:14px;
  font-size:12px;
}
.review-photo-hint{
  padding:10px 12px;
  background:#fff;
  border:1px dashed #dfd3cd;
  color:#82746e;
  font-size:11px;
  line-height:1.6;
}
.review-existing-photos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.review-existing-photo{
  border:1px solid #e5dcd7;
  background:#fff;
  padding:8px;
}
.review-existing-photo img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.review-existing-photo label{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
  font-size:11px;
  color:#786b65;
}
.my-review-panel{
  max-width:920px;
  margin:26px auto 0;
}
.my-review-list{
  display:grid;
  gap:8px;
}
.my-review-row{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid #eee5e0;
}
.my-review-row:last-child{
  border-bottom:0;
}
.my-review-row small{
  display:block;
  color:#90827b;
  margin-top:3px;
}
.admin-review-photo-strip{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:5px;
}
.admin-review-thumb{
  width:44px;
  height:44px;
  object-fit:cover;
  border:1px solid #ddd2cc;
}
.admin-review-photo-editor{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.admin-review-photo-editor article{
  border:1px solid #e5dcd7;
  padding:8px;
}
.admin-review-photo-editor img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
@media(max-width:700px){
  .my-review-row{
    grid-template-columns:1fr;
  }
  .review-head{
    display:block;
  }
  .review-date{
    display:block;
    margin-top:7px;
  }
}


/* =========================================================
   2026-09-08 — REVIEW PAGINATION / SEPARATE WRITE / FOOTER
   ========================================================= */
.review-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.review-list-head .meta{
  margin:0;
}
.review-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:28px 0 4px;
}
.review-page-btn{
  min-width:38px;
  height:38px;
  padding:0 10px;
  border:1px solid #ded3cd;
  background:#fff;
  color:#665a54;
  cursor:pointer;
  font-weight:700;
}
.review-page-btn:hover{
  background:#f7f0ec;
  border-color:#cbb5aa;
}
.review-page-btn.active{
  background:#3b312e;
  color:#fff;
  border-color:#3b312e;
}
.review-write-shell{
  width:min(900px,calc(100% - 40px));
  margin:0 auto;
}
.review-write-card{
  border:1px solid #e4dbd6;
  background:#fff;
  padding:30px;
}
.review-write-card h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  font-weight:500;
  margin:7px 0 22px;
}
.review-write-access{
  padding:13px 15px;
  background:#faf6f3;
  border:1px solid #e8dcd5;
  color:#73665f;
  font-size:12px;
  line-height:1.7;
  margin-bottom:16px;
}
.review-admin-note{
  padding:12px 14px;
  background:#f5f1eb;
  border:1px solid #e4d8cf;
  color:#73645c;
  font-size:11px;
  line-height:1.65;
  margin-bottom:14px;
}
.review-write-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}

/* Compact site footer */
.salon-footer{
  padding:24px clamp(18px,4.5vw,64px) 14px !important;
}
.salon-footer-top{
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr) !important;
  gap:26px !important;
  align-items:center !important;
}
.salon-footer-brandrow{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.salon-footer-logo{
  min-width:0;
}
.salon-footer-logo img{
  width:118px !important;
  max-height:58px;
  object-fit:contain;
  background:#fff8f5;
  padding:5px !important;
  flex:0 0 auto;
}
.salon-footer-copy{
  min-width:0;
}
.salon-footer-copy p{
  margin:0 0 7px;
  font-size:11px !important;
  line-height:1.55 !important;
  color:#b6aaa4 !important;
}
.salon-footer-copy .footer-links{
  margin-top:0 !important;
  gap:11px !important;
}
.salon-footer-copy .footer-links button{
  font-size:11px !important;
  color:#d4c8c2;
}
.salon-footer-call{
  text-align:right;
}
.salon-footer-call small{
  font-size:9px !important;
}
.salon-footer-call a{
  font-size:clamp(24px,2.8vw,34px) !important;
  margin-top:4px !important;
}
.salon-footer-bottom{
  margin-top:16px !important;
  padding-top:10px !important;
  font-size:10px !important;
}
@media(max-width:760px){
  .review-write-shell{
    width:calc(100% - 24px);
  }
  .review-write-card{
    padding:20px;
  }
  .salon-footer{
    padding:20px 16px 12px !important;
  }
  .salon-footer-top{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .salon-footer-brandrow{
    align-items:flex-start;
    gap:13px;
  }
  .salon-footer-logo img{
    width:92px !important;
    max-height:50px;
  }
  .salon-footer-call{
    text-align:left !important;
  }
  .salon-footer-call a{
    font-size:26px !important;
  }
  .salon-footer-bottom{
    margin-top:12px !important;
  }
}


/* 2026-09-08 — Remove review-write top nav + square footer logo */
.salon-footer-logo{
  flex:0 0 74px;
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
}
.salon-footer-logo img{
  width:74px !important;
  height:74px !important;
  max-width:74px !important;
  max-height:74px !important;
  aspect-ratio:1 / 1;
  object-fit:contain !important;
  object-position:center;
  padding:5px !important;
  box-sizing:border-box;
  border-radius:10px;
}
.salon-footer-copy{
  flex:1 1 auto;
}
@media(max-width:760px){
  .salon-footer-logo{
    flex-basis:62px;
    width:62px;
    height:62px;
  }
  .salon-footer-logo img{
    width:62px !important;
    height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
  }
}


/* =========================================================
   2026-09-08 — SALON PORTFOLIO CARD LINK FIX
   ========================================================= */
.salon-result.salon-result-link{
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.salon-result.salon-result-link:hover,
.salon-result.salon-result-link:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(55,38,33,.16);
  background:rgba(255,253,250,.98);
  outline:2px solid rgba(201,164,111,.72);
  outline-offset:2px;
}
.salon-result.salon-result-link::after{
  content:'→';
  position:absolute;
  right:16px;
  top:14px;
  font-size:16px;
  font-weight:800;
  color:#a67f6d;
}
.hero-preview-link-note{
  margin-top:8px;
  padding:8px 10px;
  border:1px solid #eadfd8;
  background:#faf6f3;
  color:#7f716a;
  font-size:11px;
  line-height:1.55;
}


/* 2026-09-08 — Store map image CMS */
.map-admin-preview{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.map-admin-preview img{
  display:block;
  width:100%;
  height:auto;
  max-height:480px;
  object-fit:contain;
  background:#faf7f4;
}
.salon-map img,
.map-card img{
  object-fit:contain;
  background:#fff;
}


/* =========================================================
   2026-09-09 — MOBILE LOGIN / SIGNUP HEADER FIX
   ========================================================= */
@media(max-width:680px){
  .public-header{
    height:auto !important;
    min-height:0;
    padding:8px 12px 10px !important;
    display:grid !important;
    grid-template-columns:1fr;
    gap:7px;
    align-items:center;
  }

  .public-header .brand{
    display:flex;
    align-items:center;
    width:max-content;
    max-width:100%;
  }

  .public-header .logo-img{
    width:108px !important;
    height:42px !important;
    object-fit:contain;
    object-position:left center;
  }

  .public-header .nav{
    display:none !important;
  }

  .public-header .top-actions{
    display:flex !important;
    width:100%;
    gap:6px;
    margin:0;
    min-width:0;
  }

  /* Old mobile CSS hid every secondary action, including Login/Signup. */
  .public-header .top-actions .btn,
  .public-header .top-actions .btn.secondary{
    display:inline-flex !important;
    flex:1 1 0;
    min-width:0;
    align-items:center;
    justify-content:center;
    padding:9px 6px !important;
    border-radius:9px;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
  }
}

@media(max-width:390px){
  .public-header{
    padding-left:9px !important;
    padding-right:9px !important;
  }
  .public-header .top-actions{
    gap:4px;
  }
  .public-header .top-actions .btn,
  .public-header .top-actions .btn.secondary{
    padding:8px 4px !important;
    font-size:10.5px;
  }
}


/* =========================================================
   2026-09-11 — SITE DESIGN PRESETS (10 THEMES)
   ========================================================= */
html[data-site-theme="salon-ivory"]{
 --st-bg:#fffdfa;--st-surface:#ffffff;--st-soft:#f6efeb;--st-line:#e5d9d3;
 --st-ink:#332925;--st-muted:#7e706a;--st-accent:#b7797c;--st-accent2:#c9a46f;
 --st-dark:#3b312e;--st-darktext:#ffffff;--st-herocopy:#f6efeb;--st-herotext:#332925;--st-heromuted:#70645f;
 --st-stage:#e9ddd7;--st-radius:18px;--st-cardradius:16px;--st-shadow:0 14px 38px rgba(71,49,40,.08);
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="dusty-rose"]{
 --st-bg:#fffafb;--st-surface:#ffffff;--st-soft:#f8eaee;--st-line:#ecd7dc;
 --st-ink:#4d343a;--st-muted:#836a71;--st-accent:#b86f80;--st-accent2:#d5a2ab;
 --st-dark:#593a42;--st-darktext:#ffffff;--st-herocopy:#fff4f6;--st-herotext:#4d343a;--st-heromuted:#7d6269;
 --st-stage:#ead7dc;--st-radius:26px;--st-cardradius:22px;--st-shadow:0 18px 45px rgba(107,57,72,.12);
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="sage-natural"]{
 --st-bg:#fbfcf7;--st-surface:#ffffff;--st-soft:#eef3e9;--st-line:#d9e1d3;
 --st-ink:#354039;--st-muted:#6f7a72;--st-accent:#718b77;--st-accent2:#aab68b;
 --st-dark:#35463b;--st-darktext:#ffffff;--st-herocopy:#f3f6ee;--st-herotext:#354039;--st-heromuted:#667067;
 --st-stage:#dfe7d9;--st-radius:22px;--st-cardradius:18px;--st-shadow:0 14px 38px rgba(52,75,59,.10);
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="luxury-gold"]{
 --st-bg:#fffdf8;--st-surface:#ffffff;--st-soft:#f7f0df;--st-line:#e6dcc4;
 --st-ink:#352d24;--st-muted:#7b7161;--st-accent:#b28b47;--st-accent2:#d3b56f;
 --st-dark:#342a22;--st-darktext:#fffaf0;--st-herocopy:#fbf6e9;--st-herotext:#352d24;--st-heromuted:#766a5b;
 --st-stage:#e7dcc4;--st-radius:10px;--st-cardradius:8px;--st-shadow:0 16px 42px rgba(66,52,31,.11);
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="midnight-purple"]{
 --st-bg:#f8f6fb;--st-surface:#ffffff;--st-soft:#ece6f4;--st-line:#ded5e8;
 --st-ink:#292333;--st-muted:#746d7c;--st-accent:#8d6db2;--st-accent2:#c3a2df;
 --st-dark:#211a2c;--st-darktext:#ffffff;--st-herocopy:#211a2c;--st-herotext:#ffffff;--st-heromuted:#c9bfd4;
 --st-stage:#3b2e4c;--st-radius:20px;--st-cardradius:18px;--st-shadow:0 18px 48px rgba(39,26,56,.18);
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="digital-blue"]{
 --st-bg:#f8fbff;--st-surface:#ffffff;--st-soft:#eaf1ff;--st-line:#d9e3f4;
 --st-ink:#17243d;--st-muted:#66728a;--st-accent:#4775d1;--st-accent2:#78a0e8;
 --st-dark:#172743;--st-darktext:#ffffff;--st-herocopy:#eef4ff;--st-herotext:#17243d;--st-heromuted:#5d6d8a;
 --st-stage:#dbe7f7;--st-radius:14px;--st-cardradius:12px;--st-shadow:0 14px 38px rgba(42,80,150,.12);
 --st-display:system-ui,-apple-system,"Noto Sans KR",sans-serif;
}
html[data-site-theme="teal"]{
 --st-bg:#f8fdfc;--st-surface:#ffffff;--st-soft:#e4f3f1;--st-line:#d2e5e2;
 --st-ink:#1e3a38;--st-muted:#647b79;--st-accent:#3a8d86;--st-accent2:#7bbab5;
 --st-dark:#1d4542;--st-darktext:#ffffff;--st-herocopy:#edf8f6;--st-herotext:#1e3a38;--st-heromuted:#5b7472;
 --st-stage:#d5e9e5;--st-radius:24px;--st-cardradius:20px;--st-shadow:0 16px 40px rgba(35,92,86,.11);
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="monochrome"]{
 --st-bg:#ffffff;--st-surface:#ffffff;--st-soft:#f3f3f3;--st-line:#dddddd;
 --st-ink:#111111;--st-muted:#666666;--st-accent:#111111;--st-accent2:#8d8d8d;
 --st-dark:#111111;--st-darktext:#ffffff;--st-herocopy:#ffffff;--st-herotext:#111111;--st-heromuted:#666666;
 --st-stage:#e5e5e5;--st-radius:2px;--st-cardradius:0px;--st-shadow:none;
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="sky"]{
 --st-bg:#fbfdff;--st-surface:#ffffff;--st-soft:#eaf7ff;--st-line:#d8eaf4;
 --st-ink:#27475b;--st-muted:#6d8492;--st-accent:#67a7d3;--st-accent2:#9dcced;
 --st-dark:#315b73;--st-darktext:#ffffff;--st-herocopy:#effaff;--st-herotext:#27475b;--st-heromuted:#67808f;
 --st-stage:#ddecf5;--st-radius:28px;--st-cardradius:24px;--st-shadow:0 16px 42px rgba(74,134,169,.11);
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="wine-red"]{
 --st-bg:#fffaf7;--st-surface:#ffffff;--st-soft:#f6e9e8;--st-line:#ead8d5;
 --st-ink:#482d32;--st-muted:#806b6f;--st-accent:#8f4052;--st-accent2:#c17a80;
 --st-dark:#482a31;--st-darktext:#ffffff;--st-herocopy:#fbf0ef;--st-herotext:#482d32;--st-heromuted:#785f64;
 --st-stage:#e7d4d3;--st-radius:16px;--st-cardradius:14px;--st-shadow:0 16px 42px rgba(105,44,57,.12);
 --st-display:Georgia,"Times New Roman",serif;
}
html[data-site-theme="cocoa-cream"]{--st-bg:#fffaf4;--st-surface:#fffefd;--st-soft:#f5ede4;--st-line:#e7d9cf;--st-ink:#3e312b;--st-muted:#7b6a61;--st-accent:#9a715c;--st-accent2:#c49a73;--st-dark:#3b2f2a;--st-darktext:#fffaf5;--st-herocopy:#f7efe7;--st-herotext:#3e312b;--st-heromuted:#75655d;--st-stage:#eaded4;--st-radius:30px;--st-cardradius:22px;--st-shadow:0 18px 50px rgba(73,52,42,.08);--st-display:system-ui,-apple-system,"Pretendard","Noto Sans KR",sans-serif}
html[data-site-theme="peach-blossom"]{--st-bg:#fffaf7;--st-surface:#fff;--st-soft:#fff0e9;--st-line:#f0ddd3;--st-ink:#533c35;--st-muted:#806a61;--st-accent:#d88972;--st-accent2:#e7b092;--st-dark:#513b34;--st-darktext:#fffaf7;--st-herocopy:#fff2ec;--st-herotext:#533c35;--st-heromuted:#7b655d;--st-stage:#f0ddd3;--st-radius:32px;--st-cardradius:24px;--st-shadow:0 18px 50px rgba(126,75,57,.075);--st-display:system-ui,-apple-system,"Pretendard","Noto Sans KR",sans-serif}
html[data-site-theme="lavender-mist"]{--st-bg:#fbfaff;--st-surface:#fff;--st-soft:#f0edf7;--st-line:#e2ddec;--st-ink:#40394a;--st-muted:#756d80;--st-accent:#927cad;--st-accent2:#b7a3cb;--st-dark:#3b3346;--st-darktext:#fff;--st-herocopy:#f3eff8;--st-herotext:#40394a;--st-heromuted:#706879;--st-stage:#e5deee;--st-radius:30px;--st-cardradius:22px;--st-shadow:0 18px 50px rgba(71,57,89,.075);--st-display:system-ui,-apple-system,"Pretendard","Noto Sans KR",sans-serif}
html[data-site-theme="forest-cream"]{--st-bg:#fbfcf7;--st-surface:#fffef9;--st-soft:#eef2e7;--st-line:#dce3d5;--st-ink:#28362d;--st-muted:#68746b;--st-accent:#58705e;--st-accent2:#91a478;--st-dark:#26352b;--st-darktext:#fffdf7;--st-herocopy:#f1f4eb;--st-herotext:#28362d;--st-heromuted:#637067;--st-stage:#dde5d6;--st-radius:28px;--st-cardradius:20px;--st-shadow:0 18px 50px rgba(44,67,51,.075);--st-display:system-ui,-apple-system,"Pretendard","Noto Sans KR",sans-serif}


/* CATNARA ABOUT INSPECTIONS V1 */
.about-inspection-section{margin-top:44px;padding-top:32px;border-top:1px solid #e5dcd7}
.about-inspection-heading{margin-bottom:18px}
.about-inspection-heading h2{margin:5px 0 0}
.about-inspection-list{display:grid;grid-template-columns:1fr;gap:14px}
.about-inspection-card{display:block;width:100%;padding:22px 24px;border:1px solid #e5dcd7;background:#fff;border-radius:18px;box-sizing:border-box}
.about-inspection-card h3{display:block;margin:0;font-size:18px;line-height:1.4}
.about-inspection-card p{display:block;margin:10px 0 0;white-space:pre-wrap;line-height:1.8;color:#756a65;font-size:13px}
.about-inspection-admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.about-inspection-editor{display:grid;gap:10px;margin-top:14px}
.about-inspection-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:14px;border:1px solid #e5dcd7;background:#fff}
.about-inspection-fields{display:grid;gap:8px}
.about-inspection-fields input,.about-inspection-fields textarea{width:100%}
.about-inspection-fields textarea{min-height:110px}
.about-inspection-actions{display:flex;align-items:flex-start}
@media(max-width:680px){
 .about-inspection-section{margin-top:32px;padding-top:24px}
 .about-inspection-card{padding:18px}
 .about-inspection-admin-head{display:grid}
 .about-inspection-edit{grid-template-columns:1fr}
 .about-inspection-actions{justify-content:flex-end}
}

/* Shared Care Report selector for PC Classic and mobile Classic.
   Native installed PWA keeps its own existing app-care-v1 styling. */
#app main .care-page-shell>.care-report-picker{
  box-sizing:border-box;width:100%;margin:0 0 18px;padding:22px 24px;
  background:var(--ui-surface,#fff);
  border:1px solid var(--ui-line,#e5dad4);border-radius:18px;
  box-shadow:0 8px 26px rgba(50,40,34,.045);
}
#app main .care-page-shell>.care-report-picker>label{
  display:block;margin-bottom:9px;font-size:13px;font-weight:750;
  line-height:1.5;color:var(--ui-text,#493d37);
}
#app main .care-page-shell>.care-report-picker>select{
  display:block;box-sizing:border-box;width:min(100%,460px);
  min-height:45px;padding:10px 13px;border-radius:11px;
  border:1px solid var(--ui-line,#d9cdc6);
  background:var(--ui-surface,#fff);color:var(--ui-text,#493d37);
  font-size:14px;font-weight:650;cursor:pointer;
}
#app main .care-page-shell>.care-report-picker>.care-report-picker-hint{
  margin:12px 0 15px;font-size:12px;line-height:1.65;
  color:var(--ui-muted,#786b64);
}
#app main .care-page-shell>.care-report-picker>.care-report-cat-list{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));
  gap:10px;
}
#app main .care-page-shell .care-report-cat-button{
  display:grid;gap:5px;align-content:center;
  min-height:61px;padding:12px 14px;text-align:left;
  border:1px solid var(--ui-line,#dfd3cc);border-radius:13px;
  background:var(--ui-soft,#f7f1ec);color:var(--ui-text,#493d37);
  cursor:pointer;overflow-wrap:anywhere;
  transition:border-color .15s ease,background .15s ease;
}
#app main .care-page-shell .care-report-cat-button>span{
  font-size:14px;font-weight:750;
}
#app main .care-page-shell .care-report-cat-button>small{
  font-size:11px;color:var(--ui-muted,#786b64);
}
#app main .care-page-shell .care-report-cat-button[aria-pressed="true"]{
  border-color:var(--ui-accent,#ad806e);
  background:color-mix(in srgb,var(--ui-accent,#ad806e) 11%,var(--ui-surface,#fff));
}
#app main .care-page-shell .care-report-cat-button[hidden]{display:none!important}
#app main .care-page-shell .care-report-cat-button:focus-visible,
#app main .care-page-shell>.care-report-picker>select:focus-visible{
  outline:3px solid var(--ui-accent,#ad806e);outline-offset:2px;
}
#app main .care-page-shell>.care-report-selected-paper{
  width:100%;min-width:0;
}
@media(max-width:680px){
  #app main .care-page-shell>.care-report-picker{padding:15px;margin-bottom:12px}
  #app main .care-page-shell>.care-report-picker>select{width:100%}
  #app main .care-page-shell>.care-report-picker>.care-report-cat-list{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,125px),1fr));
    gap:8px;
  }
}
