:root{--bg:#050505;--bg-soft:#0b0b0b;--panel:#0f0f0f;--panel-2:#131313;--text:#f3ede2;--muted:#d1c6ab;--gold:#ab9a66;--gold-soft:#d7c28a;--line:#2f281a;--field:#111111;--danger:#d77272;--success:#74b38d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3{margin:0;font-weight:400}h1,h2,h3,.brand-name,.footer-brand span{font-family:Georgia,"Times New Roman",serif}body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 0%,rgba(171,154,102,.10),transparent 35%),radial-gradient(circle at 85% 80%,rgba(171,154,102,.08),transparent 30%)}.wrap{max-width:1240px;margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:20;background:rgba(5,5,5,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.brand-wrap{display:flex;align-items:center;gap:16px}.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:50%;background:#a79565;box-shadow:0 0 0 1px rgba(171,154,102,.2)}.brand-name{font-size:44px;letter-spacing:.24em;color:var(--gold)}.site-nav{display:flex;align-items:center;gap:32px}.site-nav a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.site-nav a:hover{color:var(--gold-soft)}.section-kicker{display:inline-block;color:var(--gold);font-size:11px;letter-spacing:.34em;text-transform:uppercase;margin-bottom:18px}.hero{padding:0;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:34% 66%;align-items:stretch;min-height:620px}.hero-copy{padding:72px 30px 72px 10px;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(58px,6.7vw,90px);line-height:1.02;max-width:420px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.04em}.hero-copy p{max-width:420px;color:#e1d8c6;font-size:16px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{margin-top:18px;color:var(--muted);font-size:13px;letter-spacing:.04em}.hero-image{min-height:620px;overflow:hidden;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;transition:.2s ease}.btn-gold{background:var(--gold);color:#080808}.btn-gold:hover{background:var(--gold-soft)}.btn-outline{border-color:var(--gold);background:transparent;color:var(--gold)}.btn-outline:hover{background:#15120c}.services-section{padding:44px 0 30px;border-bottom:1px solid var(--line)}.section-center{text-align:center;margin-bottom:18px}.section-center h2,.booking-copy h2{font-size:54px;line-height:1.08;color:var(--text)}.filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:26px 0 30px}.filters button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:10px 18px;letter-spacing:.10em;text-transform:uppercase;font-size:11px}.filters button.active,.filters button:hover{border-color:var(--gold);color:var(--gold-soft)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.card[hidden]{display:none}.card img{width:100%;height:245px;object-fit:cover}.card-content{padding:18px;display:flex;flex-direction:column;gap:10px}.card-title-row{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}.card-title-row h3{font-size:20px;line-height:1.18;max-width:70%}.card-title-row strong{white-space:nowrap;color:var(--gold-soft);font-size:17px}.service-meta{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.card-content p{margin:0;color:#d1c9b6;font-size:13px;min-height:42px}.card-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.card-footer small{color:var(--muted);font-size:11px}.book-link{border:1px solid var(--gold);background:transparent;color:var(--gold);padding:9px 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.book-link:hover{background:#17140d}.booking-section{padding:54px 0 42px;border-bottom:1px solid var(--line)}.booking-grid{display:grid;grid-template-columns:38% 62%;gap:24px;align-items:start}.booking-copy{padding-top:16px}.booking-copy-note{max-width:360px;color:#dbd2c0;margin-top:18px;font-size:15px}.booking-panel,.policy-box,.panel,.installer,.login,.result{background:linear-gradient(180deg,#0f0f0f,#0c0c0c);border:1px solid var(--line)}.booking-panel{padding:28px}.booking-panel label,.stack label,.form-grid label{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:12px;color:var(--muted)}.booking-panel input,.booking-panel textarea,.booking-panel select,.admin input,.admin textarea,.admin select,.installer input{width:100%;padding:12px;border:1px solid #3a3321;background:var(--field);color:var(--text)}.book-fields{display:grid;gap:14px}.book-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.book-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check{flex-direction:row!important;align-items:center;gap:10px;color:#d8cfb8!important}.check input{width:auto!important}.policy-wrap{margin-top:18px}.policy-box{padding:18px 20px}.policy-box p{margin:6px 0 0;color:#d6cfba;white-space:normal}.site-footer{padding:18px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:18px}.footer-brand{display:flex;align-items:center;gap:12px}.footer-logo{width:40px;height:40px;border-radius:50%;background:#a79565}.footer-brand span{font-size:26px;letter-spacing:.18em;color:var(--gold)}.site-footer a{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px}.site-footer a:hover{color:var(--gold)}

.installer,.admin,.login,.result{max-width:1100px;margin:40px auto;padding:24px}.stack{display:flex;flex-direction:column;gap:12px}.panel{padding:24px;margin:16px 0}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.admin-tabs a{border:1px solid var(--line);padding:10px 14px;color:var(--muted)}.admin-tabs a.selected,.admin-tabs a:hover{border-color:var(--gold);color:var(--gold)}.service-editor{display:grid;grid-template-columns:1fr 1fr;gap:15px}.service-form{margin:0}.wide{grid-column:1/-1}.hour-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.hour-row input[type=checkbox]{width:auto}.blocked{display:flex;gap:18px;padding:10px;justify-content:space-between}.text-button{background:transparent;color:var(--gold);border:0;text-decoration:underline}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:750px;font-size:12px}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}th{color:var(--gold)}.mini{display:flex;flex-direction:column;gap:5px}.error{color:var(--danger)}.success{color:var(--success)}code{word-break:break-all;background:#151515;padding:3px 6px}#booking-feedback{color:var(--gold-soft);font-weight:700}textarea{resize:vertical;min-height:90px}

@media(max-width:1000px){.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:54px 0 30px}.hero-image{min-height:360px}.booking-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.wrap{padding:0 16px}.header-inner{min-height:74px;flex-wrap:wrap;padding:12px 0}.brand-logo{width:46px;height:46px}.brand-name{font-size:28px;letter-spacing:.16em}.site-nav{gap:16px}.site-nav a{font-size:10px}.hero-copy h1{font-size:52px}.section-center h2,.booking-copy h2{font-size:40px}.cards{grid-template-columns:1fr}.card img{height:230px}.book-fields.two,.book-fields.three,.form-grid,.service-editor{grid-template-columns:1fr}.footer-inner{flex-wrap:wrap}.hour-row{grid-template-columns:1fr 1fr}}

/* Refined booking field styling */
.booking-panel select,
.booking-panel input[type="date"],
.booking-panel input[type="text"],
.booking-panel input[type="email"],
.booking-panel input[type="tel"],
.booking-panel textarea,
.admin select,
.admin input,
.admin textarea,
.installer input{
  appearance:none;
  -webkit-appearance:none;
  border-radius:12px;
  min-height:52px;
  padding:14px 16px;
  border:1px solid rgba(171,154,102,.45);
  background-color:#111111;
  color:var(--text);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.booking-panel textarea,
.admin textarea{min-height:96px;padding-top:14px}
.booking-panel select,
.admin select{
  padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3.25 5.75 8 10.5l4.75-4.75' fill='none' stroke='%23ab9a66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:15px;
}
.booking-panel input[type="date"]{
  padding-right:46px;
}
.booking-panel input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:0;
  width:24px;
  cursor:pointer;
}
.booking-panel label,
.admin label,
.installer label{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-soft);
}
.booking-panel input:focus,
.booking-panel select:focus,
.booking-panel textarea:focus,
.admin input:focus,
.admin select:focus,
.admin textarea:focus,
.installer input:focus{
  outline:none;
  border-color:var(--gold-soft);
  box-shadow:0 0 0 3px rgba(171,154,102,.12);
  background-color:#131313;
}
#service-select,
#date-select,
#time-select{
  font-size:14px;
  letter-spacing:.02em;
}
.book-fields.two{align-items:end}



/* VIXÉ interactive booking calendar — replaces native date and time dropdowns */
#date-select,#time-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;padding:0!important;border:0!important}
.vixe-cal{border:1px solid #453b25;background:#0b0b0b;border-radius:12px;padding:18px;margin-top:8px}
.vixe-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}
.vixe-cal-title{font-family:Georgia,serif;color:#dcc890;font-size:22px;letter-spacing:.02em}
.vixe-cal-nav{border:1px solid #504328;background:#14120e;color:#d1b872;font-size:21px;width:38px;height:36px;border-radius:8px}
.vixe-cal-week,.vixe-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}
.vixe-cal-week{color:#927e51;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.vixe-cal-day{min-height:39px;border:1px solid transparent;color:#f5ecd9;background:#171717;border-radius:7px;font-size:13px;padding:4px}
.vixe-cal-day:not(:disabled):hover{border-color:#a99661;background:#242015}
.vixe-cal-day.selected{color:#050505;background:#baaa76;border-color:#d8c68e;font-weight:700}
.vixe-cal-day:disabled{opacity:.18;cursor:not-allowed;background:transparent}
.vixe-cal-day.empty{background:transparent;visibility:hidden}
.vixe-time-wrap{margin-top:18px}
.vixe-time-label{color:#c6b17b;font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.vixe-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.vixe-time-btn{padding:11px 6px;border:1px solid #504329;background:#171717;color:#e9dec9;border-radius:8px;font-size:12px;cursor:pointer}
.vixe-time-btn.selected{background:#b7a574;border-color:#c6b789;color:#070707;font-weight:bold}
.vixe-time-btn:hover{border-color:#d5bf7b}
.vixe-time-empty{color:#a89974;font-size:12px;grid-column:1/-1;padding:8px 0}
@media(max-width:600px){.vixe-cal{padding:10px}.vixe-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vixe-cal-day{min-height:35px}}


/* VIXÉ v4 — compact editorial hero, correcting actual screenshot overflow */
.hero{background:#050505;overflow:hidden}
.hero .wrap.hero-grid{max-width:none;width:100%;padding:0;display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);min-height:0;height:500px;align-items:stretch}
.hero-copy{min-width:0;position:relative;z-index:2;padding:40px clamp(24px,5vw,95px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden}
.hero-copy .section-kicker{font-size:10px;letter-spacing:.28em;margin:0 0 20px}
.hero-copy h1{display:block;max-width:560px;width:100%;font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,3.65vw,61px);line-height:1.13;letter-spacing:.055em;font-weight:400;text-transform:uppercase;overflow-wrap:normal;word-break:normal;margin:0 0 20px}
.hero-copy p{font-size:13px;line-height:1.7;max-width:340px;margin:0 0 24px;color:#d2c9b7}
.hero-copy .hero-note{font-size:11px;margin-top:17px}
.hero-image{min-width:0;min-height:0;height:500px;position:relative;overflow:hidden;background:#15110f}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 46%;display:block}
.hero-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,5,5,.36),transparent 25%)}
.hero-actions .btn{min-width:130px}
@media(max-width:850px){.hero .wrap.hero-grid{height:auto;grid-template-columns:1fr}.hero-copy{padding:48px 24px 36px}.hero-copy h1{font-size:clamp(37px,7vw,58px);max-width:620px}.hero-image{height:360px}}
@media(max-width:560px){.hero-copy{padding:42px 20px 32px}.hero-copy h1{font-size:clamp(34px,9vw,48px);line-height:1.12}.hero-image{height:290px}.hero-copy .section-kicker{letter-spacing:.17em}}

/* VIXÉ calendar: two equal-height aligned panels */
.vixe-scheduler{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;margin:22px 0 24px;align-items:stretch}.vixe-date-column,.vixe-time-column{min-width:0;border:1px solid #3b3323;background:#090909;border-radius:12px;padding:22px;display:flex;flex-direction:column}.vixe-scheduler h3{font:400 18px Georgia,serif;color:#d5bd81;margin:0 0 18px;letter-spacing:.05em}.vixe-native-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;padding:0!important;border:0!important}.vixe-cal{width:100%;position:static!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}.vixe-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.vixe-cal-head strong{font:400 17px Georgia,serif;color:#f1e6ce}.vixe-cal-head button{border:1px solid #574a30;background:#14120e;color:#d5bd81;width:36px;height:36px;border-radius:8px;font-size:24px}.vixe-cal-week,.vixe-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.vixe-cal-week{color:#a99669;font-size:11px;margin-bottom:10px}.vixe-cal-days button{width:100%;aspect-ratio:1;border:1px solid transparent;background:#15130f;color:#e9dfc8;border-radius:7px;font-size:13px;padding:0}.vixe-cal-days button:hover:not(:disabled),.vixe-cal-days button.selected{background:#ab9a66;color:#090909;border-color:#c9b77d}.vixe-cal-days button:disabled{opacity:.25;cursor:not-allowed}.vixe-time-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start;position:static!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}.vixe-slot{border:1px solid #4a3e28;border-radius:8px;min-height:44px;background:#15130f;color:#e6d7b5;font-size:12px;padding:8px}.vixe-slot:hover,.vixe-slot.selected{background:#ab9a66;color:#080808;border-color:#d4be80}.vixe-empty{grid-column:1/-1;color:#b7a987;font-size:13px;line-height:1.6;margin:0}.booking-panel{min-width:0}.booking-panel form{margin-top:12px}@media(max-width:740px){.vixe-scheduler{grid-template-columns:1fr;gap:14px}.vixe-date-column,.vixe-time-column{padding:16px}.vixe-cal-days{gap:4px}}

/* VIXÉ v6: unified alignment and spacing system */
:root{--vixe-content:1120px;--vixe-gap:24px}
html{scroll-padding-top:92px}
.wrap{width:min(100%,calc(var(--vixe-content) + 48px));max-width:none;margin-inline:auto;padding-inline:24px}
.header-inner{min-height:82px}
.brand-wrap,.site-nav,.footer-inner{min-width:0}
.brand-name{font-size:clamp(25px,3vw,36px);line-height:1;white-space:nowrap}
.hero .wrap.hero-grid{grid-template-columns:minmax(0,44%) minmax(0,56%)}
.hero-copy h1{font-size:clamp(35px,3.35vw,56px);max-width:100%;letter-spacing:.025em}
.services-section,.booking-section{padding-block:68px}
.section-center{margin-bottom:28px}
.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;min-width:0}
.card-content{flex:1}
.card-title-row{align-items:start}
.card-title-row h3{min-width:0;overflow-wrap:break-word}
.card-footer{margin-top:auto}
.booking-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;max-width:1120px}
.booking-copy{padding:0;text-align:center}
.booking-copy h2{font-size:clamp(32px,4vw,48px)}
.booking-copy-note{max-width:600px;margin:14px auto 0}
.booking-panel{width:100%;min-width:0;padding:clamp(18px,3vw,36px)}
.booking-panel #book-interface>label{max-width:none;margin:0 0 24px}
.booking-panel #service-select{width:100%;height:52px}
.vixe-scheduler{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch;margin:0 0 30px}
.vixe-date-column,.vixe-time-column{min-width:0;padding:24px;border:1px solid #423922;border-radius:10px;background:#0b0b0b;min-height:380px}
.vixe-scheduler h3{margin:0 0 20px;font-size:20px;line-height:1.2}
.vixe-cal-head{margin-bottom:18px}
.vixe-cal-week,.vixe-cal-days{gap:6px}
.vixe-cal-days button{min-height:39px;aspect-ratio:auto}
.vixe-time-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start;margin:0}
.vixe-slot{min-width:0;min-height:44px}
.booking-panel form{margin:0;padding-top:24px;border-top:1px solid #3b3323}
.book-fields.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.book-fields label{min-width:0}
.booking-panel label{margin-top:0}
.booking-panel input,.booking-panel textarea,.booking-panel select{max-width:100%}
.booking-panel .check{margin-top:18px}
.booking-panel .check input{min-height:auto}
.booking-panel form>.btn{margin-top:10px;min-width:250px}
.policy-wrap{margin-top:24px}
@media(max-width:900px){
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vixe-date-column,.vixe-time-column{padding:18px}
 .vixe-time-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .wrap{padding-inline:18px}
 .header-inner{gap:12px}
 .hero .wrap.hero-grid{grid-template-columns:1fr}
 .hero-copy h1{font-size:clamp(34px,8vw,54px)}
 .booking-grid{gap:22px}
 .vixe-scheduler{grid-template-columns:minmax(0,1fr)}
 .vixe-date-column,.vixe-time-column{min-height:0;padding:18px}
 .vixe-time-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
 .book-fields.three{grid-template-columns:1fr;gap:0}
 .booking-panel form>.btn{width:100%;min-width:0}
}
@media(max-width:520px){
 .cards{grid-template-columns:1fr}
 .site-nav{gap:12px}
 .brand-name{font-size:25px}
 .booking-panel{padding:16px}
 .vixe-date-column,.vixe-time-column{padding:14px}
 .vixe-cal-week,.vixe-cal-days{gap:4px}
 .vixe-cal-days button{min-height:35px}
 .vixe-time-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Display the supplied complete fox + VIXE wordmark as one image */
.site-header .brand-wrap{display:flex;align-items:center;gap:0;min-width:0}
.site-header .brand-logo{display:block;width:auto;height:72px;max-width:180px;object-fit:contain;object-position:left center;border-radius:0;background:none;flex:none}
.site-header .brand-name{display:none!important}
@media(max-width:600px){.site-header .brand-logo{height:60px;max-width:145px}}

/* VIXÉ Admin refinement v21 — compact hours, readable customer editor */
.admin .hour-row{display:grid;grid-template-columns:minmax(105px,1fr) 125px minmax(145px,195px) minmax(145px,195px);gap:clamp(10px,2vw,22px);align-items:center;min-height:64px;padding:9px 0;border-bottom:1px solid #302b21}
.admin .hour-row:last-of-type{border-bottom:0}
.admin .weekday-name{font-size:14px;font-weight:500;color:#f1eadb}
.admin .hours-toggle{display:inline-flex;flex-direction:row;align-items:center;gap:10px;margin:0;cursor:pointer;color:#cdbb91;font-size:12px;min-width:0;user-select:none}
.admin .hours-toggle input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;padding:0;pointer-events:none}
.admin .toggle-track{position:relative;display:inline-block;width:39px;height:23px;flex:0 0 39px;border:1px solid #736548;border-radius:30px;background:#28251e;transition:background .18s,border-color .18s}
.admin .toggle-track:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#a7a19a;transition:transform .18s,background .18s}
.admin .hours-toggle input:checked+.toggle-track{background:#8b7541;border-color:#d3b878}
.admin .hours-toggle input:checked+.toggle-track:after{transform:translateX(16px);background:#fff0ca}
.admin .hours-toggle input:focus-visible+.toggle-track{outline:2px solid #ebd29a;outline-offset:3px}
.admin .hour-time{display:flex;flex-direction:column;gap:5px;margin:0;color:#cbb584;font-size:10px;letter-spacing:.12em;text-transform:uppercase;min-width:0}
.admin .hour-time input[type=time]{width:100%;height:38px;min-height:38px;box-sizing:border-box;border:1px solid #65563a;border-radius:7px;padding:7px 10px;background:#131210;color:#f0e7d5;font:12px Arial,sans-serif;letter-spacing:0;color-scheme:dark}
.admin .hour-row.is-closed .hour-time{opacity:.45}
.admin .hour-row.is-closed .toggle-status{color:#98918a}
.admin .hour-time input:focus{outline:2px solid #d6b879;outline-offset:1px}
.admin .table-scroll{overflow-x:auto;max-width:100%}
.admin .table-scroll table{width:100%;border-collapse:collapse;min-width:760px}
.admin .table-scroll th{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#d6bf8c;text-align:left;padding:12px 13px;border-bottom:1px solid #4c412e}
.admin .table-scroll td{padding:12px 13px;border-bottom:1px solid #302b21;vertical-align:middle;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.admin .table-scroll tr:hover td{background:#171511}
.admin .table-scroll .mini{display:grid;grid-template-columns:minmax(160px,1fr) minmax(135px,.75fr) auto;align-items:center;gap:8px;min-width:390px}
.admin .table-scroll .mini input,.admin .table-scroll .mini select{box-sizing:border-box;width:100%;height:38px;min-height:38px;margin:0;padding:7px 10px;border:1px solid #65563a;border-radius:6px;background:#151411;color:#f0e8d8;font:12px Arial,sans-serif}
.admin .table-scroll .mini .text-button{min-height:38px;padding:8px 12px;border:1px solid #8e7746;border-radius:6px;color:#e6cc90;text-decoration:none;cursor:pointer}
.admin .table-scroll .mini input:focus,.admin .table-scroll .mini select:focus{outline:2px solid #d6b879;outline-offset:1px}
.admin .form-grid input,.admin .form-grid select,.admin .stack input,.admin .stack select{box-sizing:border-box;min-height:40px;border-radius:6px}
@media(max-width:740px){.admin .hour-row{grid-template-columns:minmax(0,1fr) 105px;gap:12px;padding:12px 0}.admin .hour-time{min-width:0}.admin .hour-row .hour-time:nth-of-type(2){grid-column:1}.admin .hour-row .hour-time:nth-of-type(3){grid-column:2}.admin .hour-time input[type=time]{font-size:12px}.admin .table-scroll .mini{grid-template-columns:1fr;min-width:170px}}

/* V22: preserve original portrait logo aspect ratio in footer */
.site-footer .footer-brand img.footer-logo {
  display:block !important;
  width:auto !important;
  height:85px !important;
  max-width:100% !important;
  max-height:85px !important;
  aspect-ratio:287 / 396 !important;
  object-fit:contain !important;
  border-radius:0 !important;
  background:transparent !important;
  flex:0 0 auto !important;
}
@media(max-width:600px){.site-footer .footer-brand img.footer-logo{height:68px !important;max-height:68px !important}}

/* VIXE v23 — high-specificity final layout rules */
.site-footer .footer-inner .footer-brand > img.footer-logo {
 width:auto !important; height:85px !important; max-height:85px !important; max-width:100% !important;
 aspect-ratio:auto !important; object-fit:contain !important; object-position:center !important;
 border-radius:0 !important; background:transparent !important; flex:0 0 auto !important;
}
@media(max-width:600px){.site-footer .footer-inner .footer-brand > img.footer-logo{height:68px !important;max-height:68px !important}}

/* Admin working hours: isolate from legacy global form input rules */
main.admin .panel .hour-row {display:grid !important;grid-template-columns:minmax(110px,1fr) 135px minmax(130px,190px) minmax(130px,190px) !important;gap:16px !important;align-items:center !important;min-height:62px !important;padding:8px 0 !important;}
main.admin .panel .hour-row .hours-toggle {display:inline-flex !important;flex-direction:row !important;align-items:center !important;justify-content:flex-start !important;gap:10px !important;min-width:0 !important;cursor:pointer !important;}
main.admin .panel .hour-row .hours-toggle > input[type=checkbox] {position:absolute !important;width:1px !important;min-height:0 !important;height:1px !important;margin:0 !important;padding:0 !important;opacity:0 !important;pointer-events:none !important;}
main.admin .panel .hour-row .hours-toggle > .toggle-track {display:inline-block !important;width:40px !important;height:23px !important;min-height:23px !important;flex:0 0 40px !important;border-radius:24px !important;}
main.admin .panel .hour-row .hour-time {display:flex !important;flex-direction:column !important;gap:4px !important;min-width:0 !important;}
main.admin .panel .hour-row .hour-time > input[type=time] {display:block !important;width:100% !important;height:38px !important;min-height:38px !important;margin:0 !important;padding:6px 10px !important;border-radius:6px !important;}
main.admin .panel .hour-row .toggle-status {display:inline !important;white-space:nowrap !important;}
main.admin .table-scroll .mini input,main.admin .table-scroll .mini select {min-height:38px !important;height:38px !important;}
@media(max-width:740px){main.admin .panel .hour-row{grid-template-columns:minmax(0,1fr) 120px !important;gap:10px !important;}main.admin .panel .hour-row .hour-time{grid-column:auto !important;}}


/* V24: consistent customer information inputs and original-logo-only branding */
.site-header .brand-wrap {gap:0;}
.site-header .brand-wrap .brand-logo {width:auto; height:74px; max-width:190px; border-radius:0; background:transparent; box-shadow:none; object-fit:contain;}
.site-footer .footer-brand {gap:0;}
.booking-panel #book-form .customer-information-fields {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start;}
.booking-panel #book-form .customer-information-fields > label,
.booking-panel #book-form > label:not(.check) {display:flex; flex-direction:column; gap:8px; min-width:0; margin:0 0 18px; font-size:11px; letter-spacing:1.2px; line-height:1.4;}
.booking-panel #book-form .customer-information-fields input,
.booking-panel #book-form > label:not(.check) textarea {
 display:block; box-sizing:border-box; width:100%; min-width:0; max-width:100%;
 height:46px; min-height:46px; padding:0 14px; margin:0;
 border:1px solid #655638; border-radius:6px; background:#131210;
 color:#f2ebdf; font:13px/1.4 Arial,Helvetica,sans-serif;
 appearance:none; -webkit-appearance:none; box-shadow:none;
}
.booking-panel #book-form > label:not(.check) textarea {
 height:100px; min-height:100px; padding:13px 14px; resize:vertical;
}
.booking-panel #book-form .customer-information-fields input:focus,
.booking-panel #book-form > label:not(.check) textarea:focus {
 border-color:#d6b879; outline:2px solid rgba(214,184,121,.25); outline-offset:1px;
}
@media(max-width:760px){
 .booking-panel #book-form .customer-information-fields{grid-template-columns:1fr; gap:0;}
 .site-header .brand-wrap .brand-logo{height:60px;}
}

/* V29 owner calendar */
.admin .vixe-admin-calendar-panel{margin-top:18px}.admin .vixe-admin-cal-top p{color:#b7aa90;font-size:13px}.admin .vixe-admin-cal-nav{display:flex;justify-content:space-between;align-items:center;max-width:680px;margin:18px auto}.admin .vixe-admin-cal-nav button{width:40px;height:36px;background:#161410;border:1px solid #806a3b;color:#e7c277;cursor:pointer;border-radius:5px;font-size:24px}.admin .vixe-admin-cal-week,.admin .vixe-admin-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:680px;margin:auto}.admin .vixe-admin-cal-week{text-align:center;color:#bca46b;font-size:12px;margin-bottom:8px}.admin .vixe-admin-cal-days button{min-height:65px;border:1px solid #4c412b;background:#171613;color:#f2e9d5;border-radius:5px;cursor:pointer;font-size:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.admin .vixe-admin-cal-days button:hover{border-color:#f2cb77}.admin .vixe-admin-cal-days button.is-blocked{background:#b89142;color:#120e06;border-color:#e9c67b;font-weight:700}.admin .vixe-admin-cal-days small{font-size:10px}.admin .vixe-admin-cal-legend{font-size:12px;color:#b9ac92;text-align:center;margin-top:15px}.admin .vixe-admin-cal-legend span{color:#d8b45e}@media(max-width:560px){.admin .vixe-admin-cal-days button{min-height:48px;font-size:13px}.admin .vixe-admin-cal-days small{font-size:8px}}

/* VIXE V33 - compact owner calendar and matched action controls */
.admin .vixe-admin-calendar-panel{max-width:100%;}
.admin .vixe-admin-cal-top{max-width:590px;margin:0 auto 16px;}
.admin .vixe-admin-cal-top h3{margin-bottom:7px;}
.admin .vixe-admin-cal-top p{line-height:1.6;margin:0;color:#aaa08c;}
.admin .vixe-admin-cal-shell{width:min(100%,590px);margin:0 auto;padding:18px 20px 20px;background:#100f0e;border:1px solid #51462f;border-radius:9px;box-sizing:border-box;}
.admin .vixe-admin-cal-nav{max-width:none;margin:0 0 17px;gap:15px;}
.admin .vixe-admin-cal-nav strong{font-family:Georgia,serif;font-size:20px;font-weight:400;color:#e9d9b9;letter-spacing:.025em;}
.admin .vixe-admin-cal-nav button{flex:none;width:32px;height:32px;border-radius:5px;font-size:20px;background:#171512;color:#e6c77d;}
.admin .vixe-admin-cal-week,.admin .vixe-admin-cal-days{max-width:none;gap:5px;}
.admin .vixe-admin-cal-week{margin-bottom:6px;}
.admin .vixe-admin-cal-week span{padding:7px 0;font-size:11px;letter-spacing:.09em;}
.admin .vixe-admin-cal-days .empty{min-height:51px;}
.admin .vixe-admin-cal-days button{position:relative;min-height:51px;padding:3px 2px;border-radius:5px;background:#191714;border-color:#383126;font-size:14px;gap:2px;transition:background .15s,border-color .15s;}
.admin .vixe-admin-cal-days button:hover{background:#282218;border-color:#c8a968;}
.admin .vixe-admin-cal-days button.is-blocked{background:#bba06a;color:#15110a;border-color:#d7bc80;}
.admin .vixe-admin-cal-days button.is-blocked:hover{background:#d2b679;}
.admin .vixe-admin-cal-days .day-state{font-size:9px;font-weight:600;letter-spacing:.02em;}
.admin .vixe-admin-cal-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:18px 0 0;color:#c7bca6;font-size:11px;}
.admin .vixe-admin-cal-legend .legend-dot{width:9px;height:9px;display:inline-block;border-radius:2px;margin-left:8px;}
.admin .vixe-admin-cal-legend .blocked-dot{background:#bba06a;}
.admin .vixe-admin-cal-legend .available-dot{background:#191714;border:1px solid #67563b;}
.admin .vixe-admin-cal-legend .legend-hint{flex-basis:100%;color:#938773;font-size:11px;}
/* Save and confirmation buttons: same outline, same height, adjacent */
.admin .table-scroll td:last-child{min-width:365px;}
.admin .table-scroll td:last-child .mini{display:grid;grid-template-columns:minmax(135px,1fr) minmax(105px,.75fr);column-gap:8px;row-gap:8px;min-width:0;}
.admin .table-scroll td:last-child .mini input{grid-column:1;}
.admin .table-scroll td:last-child .mini select{grid-column:2;}
.admin .table-scroll td:last-child .mini .vixe-admin-actions{grid-column:1;display:flex;align-items:center;}
.admin .table-scroll td:last-child .mini .vixe-admin-actions button,.admin .table-scroll td:last-child .vixe-confirm-form button{width:100%;min-height:36px;height:36px;padding:7px 10px;border:1px solid #8e7746;border-radius:5px;background:transparent;color:#e6cc90;text-decoration:none;font:12px Arial,sans-serif;white-space:nowrap;cursor:pointer;}
.admin .table-scroll td:last-child .vixe-confirm-form{display:block;width:calc((100% - 8px) * .75 / 1.75);margin-left:calc((100% - 8px) / 1.75 + 8px);margin-top:-36px;position:relative;}
.admin .table-scroll td:last-child .vixe-confirm-form button:hover,.admin .table-scroll td:last-child .mini .vixe-admin-actions button:hover{background:#a78b53;color:#100e0b;}
@media(max-width:600px){.admin .vixe-admin-cal-shell{padding:12px 10px 16px}.admin .vixe-admin-cal-days button{min-height:43px;font-size:12px}.admin .vixe-admin-cal-days .day-state{font-size:8px}.admin .vixe-admin-cal-nav strong{font-size:17px}.admin .table-scroll td:last-child{min-width:330px}}
