/* Никоновские бани — общие стили сайта (site.css) */
:root{ --grad-warm:linear-gradient(135deg,#e07a3c 0%,#d4691e 50%,#8b3e12 100%); --grad-dark:linear-gradient(160deg,#1d1611 0%,#14100c 100%); }

html,body{ background:#14100c; overflow-x:hidden; overflow-x:clip; }
body{ font-family:'Jost',sans-serif; color:#e7dac6; }
::selection{ background:#e07a3c; color:#14100c; }

::-webkit-scrollbar{ width:11px; }
::-webkit-scrollbar-track{ background:#1d1611; }
::-webkit-scrollbar-thumb{ background:linear-gradient(#e07a3c,#8b3e12); border-radius:20px; border:2px solid #1d1611; }

.font-display{ font-family:'Cormorant Garamond', serif; }

.text-gold-grad{
  background:linear-gradient(100deg,#f0d9a8,#c8a06a 40%,#e07a3c 75%,#f0d9a8);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  background-size:200% auto; animation:shimmer 6s linear infinite;
}
@keyframes shimmer{ to{ background-position:200% center; } }

.eyebrow{ letter-spacing:.35em; }

.glass{
  background:rgba(42,32,26,.55);
  backdrop-filter:blur(14px);
  border:1px solid rgba(200,160,106,.18);
}

.logo{ filter:brightness(1.5) saturate(1.05) drop-shadow(0 2px 10px rgba(0,0,0,.55)); transition:filter .4s; }
.group:hover .logo{ filter:brightness(1.75) saturate(1.05) drop-shadow(0 2px 10px rgba(0,0,0,.55)); }

.btn-ember{
  background:var(--grad-warm);
  box-shadow:0 10px 30px -10px rgba(224,122,60,.6), inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, filter .35s;
}
.btn-ember:hover{ transform:translateY(-3px); filter:brightness(1.08); box-shadow:0 18px 40px -12px rgba(224,122,60,.7); }
.btn-ghost{ border:1px solid rgba(200,160,106,.5); transition:all .35s; }
.btn-ghost:hover{ background:rgba(200,160,106,.12); border-color:#c8a06a; transform:translateY(-3px); }

.no-scroll{ overflow:hidden; }

.animate-floaty{ animation:floaty 6s ease-in-out infinite; }
@keyframes floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }

@keyframes steam{
  0%{ transform:translateY(0) scale(1); opacity:0; }
  15%{ opacity:.6; }
  100%{ transform:translateY(-170px) scale(1.7); opacity:0; }
}

input[type=range]{ -webkit-appearance:none; appearance:none; height:6px; border-radius:99px;
  background:linear-gradient(90deg,#e07a3c var(--p,50%), rgba(200,160,106,.2) var(--p,50%)); }
input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; border-radius:50%;
  background:#f4ece0; border:3px solid #e07a3c; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.5); }
input[type=range]::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:#f4ece0; border:3px solid #e07a3c; cursor:pointer; }

.tile{ overflow:hidden; position:relative; }
.tile img{ transition:transform .8s cubic-bezier(.2,.8,.2,1), filter .5s; }
.tile:hover img{ transform:scale(1.12); filter:brightness(.8); }
.tile .zoom{ opacity:0; transition:opacity .4s; }
.tile:hover .zoom{ opacity:1; }

#lightbox{ transition:opacity .4s; }

/* Общий календарь выбора даты (квиз + CRM) */
.q-date-wrap{ position:relative; }
.q-date-wrap > input{ cursor:pointer; }
.q-date-wrap > i.fa-calendar{ position:absolute; right:1rem; top:50%; transform:translateY(-50%); color:#f4ece0; font-size:1.25rem; pointer-events:none; }
.q-cal{ position:absolute; left:0; top:calc(100% + 8px); z-index:60; width:310px; max-width:90vw; border-radius:1rem; padding:1rem; background:#241b14; border:1px solid rgba(200,160,106,.3); box-shadow:0 30px 60px -20px rgba(0,0,0,.8); }
.q-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; text-align:center; }
.q-cal-wd{ font-size:10px; color:#a89f92; padding:5px 0; text-transform:uppercase; letter-spacing:.08em; }
.q-cal-day{ height:34px; border-radius:9px; color:#e7dac6; font-size:13px; border:0; background:transparent; transition:background .2s, color .2s; cursor:pointer; }
.q-cal-day:hover{ background:rgba(224,122,60,.22); color:#f4ece0; }
.q-cal-day.sel{ background:linear-gradient(135deg,#e07a3c,#8b3e12); color:#14100c; font-weight:600; }
.q-cal-day.past{ color:rgba(168,159,146,.3); cursor:default; }
.q-cal-day.past:hover{ background:transparent; color:rgba(168,159,146,.3); }
.q-cal-day:disabled{ color:rgba(168,159,146,.3); cursor:default; }

/* Виджет связи (contact-widget) — на всех страницах */
#contact-widget .cw-item{ display:flex; align-items:center; gap:.65rem; opacity:0; transform:translateX(10px); transition:opacity .3s, transform .3s; }
#contact-widget.open .cw-item{ opacity:1; transform:none; }
#contact-widget.open .cw-item:nth-child(2){ transition-delay:50ms; }
#contact-widget.open .cw-item:nth-child(3){ transition-delay:100ms; }
#contact-widget.open .cw-item:nth-child(4){ transition-delay:150ms; }
.cw-label{ font-size:.75rem; color:#e7dac6; background:rgba(42,32,26,.85); border:1px solid rgba(200,160,106,.25); padding:.28rem .65rem; border-radius:99px; white-space:nowrap; }
#contact-widget .cw-item span:first-child{ transition:all .25s; }
#contact-widget .cw-item:hover span:first-child{ border-color:rgba(224,122,60,.6); color:#e07a3c; transform:scale(1.08); }

/* ===== Утилиты, которых нет в собранном styles.css =====
   Добавлены вручную (без пересборки Tailwind) для страниц домов и главной.
   Значения совпадают с дефолтами Tailwind, чтобы не конфликтовать при будущей пересборке. */
.gap-8{ gap:2rem; }
.text-base{ font-size:1rem; line-height:1.5rem; }
.underline{ text-decoration-line:underline; }
.z-20{ z-index:20; }
.border-ember\/40{ border-color:rgba(224,122,60,.4); }
.mb-9{ margin-bottom:2.25rem; }
.-mt-20{ margin-top:-5rem; }
.h-40{ height:10rem; }
.w-52{ width:13rem; }
.scroll-mt-24{ scroll-margin-top:6rem; }
.auto-rows-\[165px\]{ grid-auto-rows:165px; }
@media (min-width:640px){
  .sm\:gap-4{ gap:1rem; }
  .sm\:pt-12{ padding-top:3rem; }
  .sm\:pb-24{ padding-bottom:6rem; }
  .sm\:-mt-24{ margin-top:-6rem; }
  .sm\:text-lg{ font-size:1.125rem; line-height:1.75rem; }
  .sm\:text-left{ text-align:left; }
  .sm\:w-52{ width:13rem; }
  .sm\:items-center{ align-items:center; }
  .sm\:auto-rows-\[195px\]{ grid-auto-rows:195px; }
}
@media (min-width:1024px){
  .lg\:gap-12{ gap:3rem; }
}
