:root{
  --wine-0:#050103;
  --wine-1:#12030a;
  --wine-2:#1f0512;
  --wine-3:#2c0819;
  --wine-glow:#3c0a20;
  --ink:#f5ecee;
  --ink-soft:#c9b6bc;
  --ink-faint:#8c7278;
  --gold-1:#f8e6bc;
  --gold-2:#e0b06a;
  --gold-3:#b98244;
  --gold-4:#8c5f2c;
  --line:rgba(224,176,106,0.18);
  --danger:#c85a5a;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(58% 46% at 50% 0%, var(--wine-glow) 0%, transparent 62%),
    radial-gradient(75% 55% at 88% 100%, rgba(185,130,68,0.10) 0%, transparent 55%),
    radial-gradient(65% 48% at 8% 88%, rgba(44,8,25,0.65) 0%, transparent 60%),
    linear-gradient(180deg, var(--wine-1) 0%, var(--wine-0) 55%, #020001 100%);
  color:var(--ink);
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:0.045;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  z-index:0;
}

.wrap{
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 auto;
  padding:28px 22px 60px;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  min-height:100dvh;
}

footer{ margin-top:auto; padding-top:34px; }

/* ---------- top bar ---------- */
.top-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:34px;
}

.back-link{
  font-size:14px;
  font-weight:600;
  letter-spacing:0.02em;
  text-decoration:none;
  color:var(--ink-soft);
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2) 50%, var(--gold-3));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  transition:opacity 0.25s ease;
}
.back-link:hover{ opacity:0.75; }

/* ---------- headings / notes ---------- */
.page-title{
  margin:0 0 10px;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:clamp(26px, 5vw, 36px);
  color:var(--ink);
}

.page-sub{
  margin:0 0 18px;
  font-size:15px;
  line-height:1.6;
  color:var(--ink-soft);
  max-width:520px;
}

.demo-note{
  display:inline-block;
  margin:0 0 24px;
  padding:10px 16px;
  border-radius:12px;
  font-size:13px;
  line-height:1.55;
  color:var(--gold-2);
  background:rgba(224,176,106,0.08);
  border:1px solid var(--line);
  max-width:560px;
}

/* ---------- steps ---------- */
.step{ display:none; }
.step.active{ display:block; animation:fadeUp 0.5s ease; }

.step-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:20px;
  background:none;
  border:none;
  cursor:pointer;
  font-size:14px;
  color:var(--ink-faint);
  transition:color 0.2s ease;
  padding:0;
}
.step-back:hover{ color:var(--gold-2); }

h2{
  margin:0 0 8px;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:24px;
  color:var(--ink);
}

/* ---------- section picker ---------- */
.section-grid{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.section-card{
  display:block;
  width:100%;
  text-align:left;
  padding:28px 26px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(44,8,25,0.55), rgba(18,3,10,0.55));
  border:1px solid var(--line);
  cursor:pointer;
  transition:transform 0.3s ease, border-color 0.3s ease;
  font-family:inherit;
  color:inherit;
}
.section-card:hover{
  transform:translateY(-3px);
  border-color:rgba(224,176,106,0.45);
}
.section-card h3{
  margin:0 0 8px;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:21px;
  color:var(--ink);
}
.section-card p{
  margin:0 0 16px;
  font-size:14px;
  line-height:1.55;
  color:var(--ink-soft);
}
.section-card .section-cta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13.5px;
  font-weight:600;
  letter-spacing:0.02em;
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2) 50%, var(--gold-3));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.section-card .section-cta svg{
  width:15px; height:15px; stroke:var(--gold-2); flex-shrink:0;
  transition:transform 0.25s ease;
}
.section-card:hover .section-cta svg{ transform:translateX(3px); }

/* ---------- subsections ---------- */
.subsection{ margin-bottom:34px; }
.subsection:last-child{ margin-bottom:0; }
.subsection-title{
  margin:0 0 4px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--gold-2);
}
.subsection-note{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.5;
  color:var(--ink-faint);
}
.service-includes{
  margin:0 0 6px;
  font-size:12.5px;
  line-height:1.45;
  color:var(--ink-faint);
  max-width:34ch;
}

/* ---------- services ---------- */
.service-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.service-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(44,8,25,0.55), rgba(18,3,10,0.55));
  border:1px solid var(--line);
  transition:transform 0.3s ease, border-color 0.3s ease;
}

.service-card:hover{
  transform:translateY(-3px);
  border-color:rgba(224,176,106,0.4);
}

.service-info h3{
  margin:0 0 6px;
  font-size:17px;
  font-weight:600;
  color:var(--ink);
}

.service-meta{
  display:flex;
  gap:14px;
  font-size:13.5px;
  color:var(--ink-faint);
}

.service-meta .price{
  color:var(--gold-2);
  font-weight:600;
}

.service-card .btn-gradient{
  flex-shrink:0;
  padding:12px 22px;
  font-size:14.5px;
}

/* ---------- buttons / fields ---------- */
.btn-gradient{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px 34px;
  border:none;
  border-radius:999px;
  font-size:16px;
  font-weight:600;
  letter-spacing:0.02em;
  color:#2a1608;
  cursor:pointer;
  text-decoration:none;
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2) 50%, var(--gold-3));
  background-size:180% 180%;
  box-shadow:0 10px 40px -10px rgba(224,176,106,0.4);
  animation:pulseGlow 3.2s ease-in-out infinite, gradientShift 6s ease-in-out infinite;
  transition:transform 0.25s ease;
}
.btn-gradient:hover{ transform:translateY(-2px) scale(1.015); }
.btn-gradient:active{ transform:translateY(0) scale(0.99); }
.btn-gradient:disabled{ opacity:0.4; cursor:not-allowed; animation:none; transform:none; }

.btn-outline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 20px;
  border-radius:999px;
  font-size:13.5px;
  font-weight:600;
  color:var(--ink-soft);
  background:transparent;
  border:1px solid var(--line);
  cursor:pointer;
  transition:border-color 0.25s ease, color 0.25s ease;
}
.btn-outline:hover{ border-color:var(--gold-2); color:var(--gold-1); }
.btn-outline:disabled{ opacity:0.35; cursor:not-allowed; }
.btn-outline:disabled:hover{ border-color:var(--line); color:var(--ink-soft); }

.field{
  margin-bottom:18px;
}

.field label{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  color:var(--ink-faint);
  letter-spacing:0.02em;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="time"]{
  width:100%;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.03);
  color:var(--ink);
  font-size:16px;
  font-family:inherit;
  outline:none;
  transition:border-color 0.25s ease;
}
input:focus{ border-color:var(--gold-2); }
input::placeholder{ color:var(--ink-faint); }

.auth-tabs{
  display:flex;
  gap:8px;
  margin-bottom:20px;
}

.tab{
  padding:9px 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:transparent;
  color:var(--ink-faint);
  font-size:13.5px;
  font-weight:600;
  cursor:pointer;
  transition:all 0.25s ease;
}
.tab.active{
  color:#2a1608;
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2));
  border-color:transparent;
}

/* ---------- calendar ---------- */
.cal-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:22px 0 16px;
}

.cal-nav button{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid var(--line);
  background:transparent;
  color:var(--gold-2);
  font-size:16px;
  cursor:pointer;
  transition:border-color 0.25s ease;
}
.cal-nav button:hover:not(:disabled){ border-color:var(--gold-2); }
.cal-nav button:disabled{ opacity:0.25; cursor:not-allowed; }

#monthLabel, #adminMonthLabel{
  font-family:Georgia, "Times New Roman", serif;
  font-size:18px;
  color:var(--ink);
  text-transform:capitalize;
}

.cal-grid{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:6px;
  margin-bottom:18px;
}

.cal-dow{
  text-align:center;
  font-size:11.5px;
  letter-spacing:0.06em;
  color:var(--ink-faint);
  padding-bottom:6px;
}

.cal-day{
  aspect-ratio:1;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  font-size:14px;
  color:var(--ink-soft);
  background:rgba(255,255,255,0.02);
  border:1px solid transparent;
  cursor:pointer;
  transition:all 0.2s ease;
}

.cal-day.empty{ visibility:hidden; cursor:default; }
.cal-day.disabled{
  color:var(--ink-faint);
  opacity:0.35;
  cursor:not-allowed;
  text-decoration:line-through;
}
.cal-day.available:hover{ border-color:var(--gold-2); color:var(--gold-1); }
.cal-day.selected{
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2));
  color:#2a1608;
  font-weight:700;
}
.cal-day.today{ border-color:rgba(224,176,106,0.5); }
.cal-day.has-bookings::after{
  content:"";
  position:absolute;
  width:4px; height:4px;
  border-radius:50%;
  background:var(--gold-2);
  margin-top:16px;
}
.cal-day{ position:relative; }

.slot-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(84px, 1fr));
  gap:10px;
  margin-bottom:10px;
}

.slot-btn{
  padding:11px 8px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.02);
  color:var(--ink);
  font-size:14px;
  cursor:pointer;
  transition:all 0.2s ease;
}
.slot-btn:hover{ border-color:var(--gold-2); color:var(--gold-1); }
.slot-btn.selected{
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2));
  color:#2a1608;
  border-color:transparent;
  font-weight:700;
}
.slot-btn.slot-btn-taken{
  color:var(--ink-faint);
  opacity:0.45;
  text-decoration:line-through;
  cursor:help;
  background:rgba(255,255,255,0.02);
}
.slot-btn.slot-btn-taken:hover{ border-color:var(--danger); color:var(--danger); opacity:0.7; }

.no-slots{
  font-size:14px;
  color:var(--ink-faint);
  margin:6px 0 18px;
}

/* ---------- confirmation ---------- */
.confirm-card{
  text-align:center;
  padding:44px 28px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(44,8,25,0.55), rgba(18,3,10,0.55));
  border:1px solid var(--line);
}

.confirm-icon{
  width:56px;
  height:56px;
  margin:0 auto 18px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg, rgba(224,176,106,0.2), rgba(224,176,106,0.04));
  border:1px solid var(--line);
}
.confirm-icon svg{ width:26px; height:26px; stroke:var(--gold-1); }

.confirm-card h2{ margin-bottom:14px; }
.confirm-card p{ font-size:15px; line-height:1.6; color:var(--ink-soft); margin:0 0 8px; }

/* ---------- модальное окно подтверждения ---------- */
.modal-overlay{
  position:fixed; inset:0; z-index:100;
  background:rgba(5,1,3,0.72);
  align-items:center; justify-content:center;
  padding:20px;
}
.modal-overlay[hidden]{ display:none; }
.modal-overlay:not([hidden]){ display:flex; }
.modal-card{
  max-width:380px; width:100%;
  text-align:center;
  padding:32px 26px;
  border-radius:20px;
  background:linear-gradient(180deg, var(--wine-2), var(--wine-1));
  border:1px solid var(--line);
}
.modal-card p{ font-size:15.5px; line-height:1.6; color:var(--ink); margin:0 0 24px; }
.modal-actions{ display:flex; flex-direction:column; gap:10px; }
.modal-actions .btn-danger{
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 22px; border-radius:999px; font-size:14.5px; font-weight:600;
  color:#fff; background:var(--danger); border:none; cursor:pointer;
  transition:opacity 0.2s ease;
}
.modal-actions .btn-danger:hover{ opacity:0.85; }

/* ---------- admin ---------- */
.day-editor{
  margin-top:18px;
  padding:20px;
  border-radius:16px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
}

.day-editor h3{
  margin:0 0 16px;
  font-size:16px;
  color:var(--ink);
  text-transform:capitalize;
}

.check-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  font-size:14px;
  color:var(--ink-soft);
}
.check-row input{ width:auto; accent-color:var(--gold-2); }

.hours-fields{
  display:flex;
  gap:14px;
  margin-bottom:18px;
}
.hours-fields .field{ flex:1; margin-bottom:0; }

.bookings-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:16px 0 24px;
}

.booking-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-radius:12px;
  background:rgba(255,255,255,0.02);
  border:1px solid var(--line);
  font-size:13.5px;
}

.booking-row .b-when{ color:var(--gold-2); font-weight:600; white-space:nowrap; }
.booking-row .b-what{ color:var(--ink-soft); flex:1; }
.booking-row .b-contact{ color:var(--ink-faint); white-space:nowrap; }

.empty-state{
  font-size:14px;
  color:var(--ink-faint);
  padding:20px 0;
}

.bookings-summary{
  margin:0 0 20px;
  font-size:14px;
  color:var(--ink-soft);
}

.bookings-day-group{ margin-bottom:24px; }

.bookings-day-header{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:12px;
  font-size:15px;
  font-weight:600;
  color:var(--ink);
  text-transform:capitalize;
}

.bookings-day-count{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.01em;
  color:var(--gold-2);
  background:rgba(224,176,106,0.1);
  padding:3px 11px;
  border-radius:999px;
  text-transform:none;
}

.day-editor-bookings-title{
  margin:18px 0 8px;
  font-size:13px;
  color:var(--ink-faint);
}

.day-editor-booking-row{
  display:flex;
  gap:12px;
  padding:9px 0;
  border-top:1px solid var(--line);
  font-size:13px;
  color:var(--ink-soft);
}
.day-editor-booking-row span:first-child{ color:var(--gold-2); font-weight:600; white-space:nowrap; }
.day-editor-booking-row span:nth-child(2){ flex:1; }

/* ---------- admin: цены ---------- */
.admin-tabs{
  display:flex;
  gap:8px;
  margin-bottom:28px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.admin-tabs::-webkit-scrollbar{ display:none; }
.admin-tabs .tab{ flex:none; white-space:nowrap; }

.price-subsection{ margin-bottom:30px; }
.price-subsection:last-child{ margin-bottom:0; }
.price-section-title{
  margin:0 0 18px;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:19px;
  color:var(--ink);
}
.price-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.price-row:first-of-type{ border-top:none; }
.price-row-info{ min-width:0; }
.price-row-info .name{
  font-size:14.5px;
  color:var(--ink);
  margin:0 0 2px;
}
.price-row-info .includes{
  font-size:12px;
  color:var(--ink-faint);
  margin:0;
}
.price-row-info .duration{
  font-size:12px;
  color:var(--ink-faint);
}
.price-input-wrap{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.price-input-wrap input[type="number"]{
  width:96px;
  padding:9px 10px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.03);
  color:var(--ink);
  font-size:14px;
  font-family:inherit;
  outline:none;
  text-align:right;
  transition:border-color 0.25s ease;
}
.price-input-wrap input[type="number"]:focus{ border-color:var(--gold-2); }
.price-input-wrap .rub{ font-size:13px; color:var(--ink-faint); }
.price-actions{
  display:flex;
  gap:12px;
  margin-top:28px;
  flex-wrap:wrap;
}

/* ---------- изменённые дни / уведомление ---------- */
.cal-day.customized{
  border:1px solid rgba(224,176,106,0.35);
  background:rgba(224,176,106,0.05);
}
.day-editor-status{
  margin:0 0 16px;
  font-size:13.5px;
  color:var(--gold-2);
  display:none;
  align-items:center;
  gap:6px;
}
.day-editor-status.show{ display:flex; }

.toast{
  position:fixed;
  left:50%;
  bottom:26px;
  transform:translateX(-50%) translateY(16px);
  padding:14px 22px;
  border-radius:999px;
  background:linear-gradient(115deg, var(--gold-1), var(--gold-2) 50%, var(--gold-3));
  color:#2a1608;
  font-size:14px;
  font-weight:600;
  box-shadow:0 14px 40px -10px rgba(0,0,0,0.6);
  opacity:0;
  pointer-events:none;
  transition:opacity 0.3s ease, transform 0.3s ease;
  z-index:50;
  white-space:nowrap;
}
.toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* ---------- animations ---------- */
@keyframes fadeUp{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}
@keyframes gradientShift{
  0%,100%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
}
@keyframes pulseGlow{
  0%,100%{ box-shadow:0 10px 40px -10px rgba(224,176,106,0.42), 0 0 0 0 rgba(224,176,106,0.32); }
  50%{ box-shadow:0 10px 46px -6px rgba(224,176,106,0.62), 0 0 0 10px rgba(224,176,106,0); }
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}

@media (max-width:520px){
  .service-card{ flex-direction:column; align-items:flex-start; }
  .service-card .btn-gradient{ width:100%; }
  .hours-fields{ flex-direction:column; }
  .booking-row{ flex-direction:column; align-items:flex-start; gap:4px; }
}

@media (max-width:480px){
  .wrap{ padding:20px 14px 44px; }
  .top-bar{ margin-bottom:26px; }
  .cal-grid{ gap:4px; }
  .cal-day{ font-size:12.5px; border-radius:8px; }
  .confirm-card{ padding:34px 20px; }
  .btn-gradient{ width:100%; padding:15px 22px; font-size:15px; }
  .slot-grid{ grid-template-columns:repeat(auto-fill, minmax(70px, 1fr)); gap:8px; }
  .slot-btn{ padding:10px 6px; font-size:13px; }
  .auth-tabs{ width:100%; }
  .auth-tabs .tab{ flex:1; text-align:center; }
}

/* ---------- юридические документы ---------- */
.legal-doc{
  max-width:760px;
}
.legal-doc .updated-note{
  margin:0 0 32px;
  font-size:13px;
  color:var(--ink-faint);
}
.legal-doc h2{
  margin:40px 0 14px;
  font-family:Georgia, "Times New Roman", serif;
  font-weight:400;
  font-size:19px;
  color:var(--ink);
}
.legal-doc h2:first-of-type{ margin-top:0; }
.legal-doc p{
  margin:0 0 14px;
  font-size:14.5px;
  line-height:1.75;
  color:var(--ink-soft);
}
.legal-doc ul, .legal-doc ol{
  margin:0 0 14px;
  padding-left:22px;
}
.legal-doc li{
  font-size:14.5px;
  line-height:1.75;
  color:var(--ink-soft);
  margin-bottom:6px;
}
.legal-doc strong{ color:var(--ink); font-weight:600; }
.legal-doc a{ color:var(--gold-2); }
.legal-doc .fill-in{
  color:var(--gold-2);
  background:rgba(224,176,106,0.1);
  padding:1px 6px;
  border-radius:5px;
  font-size:0.95em;
}
.legal-doc .doc-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:0 0 36px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.legal-doc .doc-nav a{
  font-size:13px;
  color:var(--ink-faint);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.legal-doc .doc-nav a:hover{ color:var(--gold-2); border-color:var(--gold-2); }

/* ---------- уведомление о cookie ---------- */
.cookie-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:80;
  max-width:640px;
  margin:0 auto;
  padding:20px 22px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(44,8,25,0.97), rgba(18,3,10,0.97));
  border:1px solid var(--line);
  box-shadow:0 20px 50px -15px rgba(0,0,0,0.7);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.cookie-banner p{
  margin:0;
  font-size:13.5px;
  line-height:1.6;
  color:var(--ink-soft);
}
.cookie-banner a{ color:var(--gold-2); }
.cookie-banner .cookie-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.cookie-banner .btn-gradient{
  padding:11px 22px;
  font-size:13.5px;
}
@media (max-width:480px){
  .cookie-banner{ left:10px; right:10px; bottom:10px; padding:14px 16px; gap:10px; }
  .cookie-banner p{ font-size:12.5px; line-height:1.45; }
  .cookie-banner .btn-gradient{ width:100%; padding:10px 20px; }
}
