*{box-sizing:border-box}
html,body{height:100%}
:root{
  /* calm pastel */
  --bg:#f3efe9;
  --text:#2c2a28;
  --muted:#6f6a65;

  --card:rgba(255,255,255,.78);
  --cardSolid:#ffffff;

  --line:rgba(44,42,40,.12);
  --shadow:0 14px 40px rgba(44,42,40,.10);

  --r:18px;
  --r2:14px;

  --btn:#ffffff;
  --btnText:#2c2a28;

  --accent:#2c2a28;
}

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:var(--bg);
  color:var(--text);
}

/* links */
a{color:inherit;text-decoration:none}
a:hover{opacity:.95}

/* top bar */
.top{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 18px;
  position:sticky;top:0;z-index:10;
  border-bottom:1px solid var(--line);
  background:rgba(243,239,233,.86);
  backdrop-filter:blur(10px);
}
.brand{font-weight:750;letter-spacing:.2px;white-space:nowrap}
.back{color:var(--muted)}
.lang a{opacity:.65;margin-left:12px}
.lang a.on{opacity:1;color:var(--text)}

/* container */
.wrap{max-width:1120px;margin:0 auto;padding:22px}

/* headings */
h1{font-size:44px;letter-spacing:-.7px;margin:14px 0 10px}
h2{font-size:22px;margin:0 0 10px}
p{margin:8px 0;line-height:1.6;color:var(--muted)}

/* cards */
.card{
  margin-top:16px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:var(--card);
  box-shadow:var(--shadow);
}
.block{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:var(--cardSolid);
}

/* form layout */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.grid label{display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--muted)}

input,select,button{font:inherit}
input,select{
  padding:11px 12px;
  border-radius:var(--r2);
  border:1px solid var(--line);
  background:var(--cardSolid);
  color:var(--text);
  outline:none;
}
input:focus,select:focus{border-color:rgba(44,42,40,.25);box-shadow:0 0 0 4px rgba(44,42,40,.06)}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 16px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--btn);
  color:var(--btnText);
  font-weight:750;
  cursor:pointer;
  transition:transform .08s ease, box-shadow .12s ease, opacity .12s ease;
  box-shadow:0 10px 26px rgba(44,42,40,.08);
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0px)}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}

/* list rows (services/admin lists) */
.list .row{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.list .row:last-child{border-bottom:none}

/* slots */
.slots{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.slot{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--cardSolid);
  color:var(--text);
  cursor:pointer;
  transition:transform .08s ease, opacity .12s ease, box-shadow .12s ease;
  box-shadow:0 10px 24px rgba(44,42,40,.06);
}
.slot:hover{transform:translateY(-1px)}
.slot.busy{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}
.slot.on{
  border-color:rgba(44,42,40,.35);
  box-shadow:0 0 0 4px rgba(44,42,40,.07), 0 10px 24px rgba(44,42,40,.08);
}

/* pills (contacts links) */
.pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 12px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--cardSolid);
  transition:transform .08s ease, box-shadow .12s ease, opacity .12s ease;
  box-shadow:0 10px 24px rgba(44,42,40,.06);
}
.pill:hover{transform:translateY(-1px)}
.ico{width:18px;height:18px;display:inline-block}

/* gallery cards */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.item{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:var(--cardSolid);
  box-shadow:0 14px 36px rgba(44,42,40,.10);
}
.item img{width:100%;height:240px;object-fit:cover;display:block}
.cap{padding:10px 12px;color:var(--muted);font-size:14px}

/* helpers */
.muted{color:var(--muted)}

/* mobile */
@media(max-width:980px){
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  h1{font-size:38px}
}
@media(max-width:640px){
  .grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .item img{height:220px}
  h1{font-size:32px}
}

/* status boxes */
.danger{
  background:rgba(255,230,228,.9);
  border:1px solid rgba(176,88,82,.25);
  color:#6d2f2a;
  padding:12px 12px;
  border-radius:16px;
}
.okbox{
  background:rgba(232,248,237,.95);
  border:1px solid rgba(58,124,78,.22);
  color:#1f5a2e;
  padding:12px 12px;
  border-radius:16px;
}


/* PREMIUM BOOKING */

.slot{
background:#fff;
border:1px solid #e7dfd7;
border-radius:14px;
padding:10px 14px;
margin:5px;
cursor:pointer;
transition:.15s;
font-weight:600;
}

.slot:hover{
background:#f8f4ef;
transform:translateY(-1px);
}

.slot.on{
background:#e8efe8;
border:1px solid #7da67d;
color:#1f4f1f;
}

.slot.busy{
background:#f6f2ee;
color:#aaa;
cursor:not-allowed;
}

#deposit_btn{
display:inline-block;
margin-top:10px;
padding:14px 20px;
font-weight:700;
border-radius:14px;
background:#efe7dd;
border:1px solid #e0d5c8;
transition:.15s;
}

#deposit_btn:hover{
background:#e5dbcf;
}

.panel{
transition:.2s;
}

.panel:hover{
box-shadow:0 20px 40px rgba(0,0,0,0.05);
}


/* HIDE HANDMADE BLOCK (temporary / safe) */
#handmade, .handmade, [data-block="handmade"]{ display:none !important; }

/* ADMIN PREMIUM */

.admin-nav{
background:#fff;
border-bottom:1px solid #eee;
padding:14px 24px;
display:flex;
gap:18px;
align-items:center;
}

.admin-nav a{
text-decoration:none;
color:#333;
font-weight:600;
padding:8px 14px;
border-radius:10px;
}

.admin-nav a:hover{
background:#f5f1ec;
}

.admin-nav a:last-child{
margin-left:auto;
color:#999;
}

.card{
border-radius:20px;
box-shadow:0 15px 35px rgba(0,0,0,0.06);
}

input,select{
border-radius:10px;
padding:10px;
border:1px solid #e6ddd4;
}

button{
border-radius:12px;
padding:10px 18px;
font-weight:600;
}

