/* Il Matto — вариант B: «Пространства», страница зала, «Банкеты и события», «Галерея».
   Секции [im_sp_*], [im_bq_*], [im_gl_*] (inc/shortcodes/spaces.php). Скоуп .im-ed — вариант A этот файл не видит.
   Главы на весь экран строятся на классах .ed-ch из editorial.css (те же, что на главной); здесь — только надстройки:
   строка фактов, две текстовые ссылки, журнальные сетки фото, плитки с попапами, карусель карточек, строки залов.
   Mobile-first: телефон 390 — основа, ≥768 и ≥1024/1200 — раскладки шире. Цвета — токены --ed-* из editorial.css. */

/* ==========================================================================
   1. Главы: обложка страницы и главы залов (надстройка над .ed-ch)
   ========================================================================== */
.im-ed .sp-ch .ed-ch__title a{color:inherit;text-decoration:none}
.im-ed .sp-ch .ed-ch__body{padding-bottom:clamp(64px,10vh,96px)} /* место под нижнюю строку брони на телефоне */
.im-ed .sp-ch__meta{font-size:10.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ed-gold-l);text-shadow:0 1px 10px rgba(0,0,0,.5)}
.im-ed .sp-ch__acts{display:flex;flex-wrap:wrap;align-items:center;gap:2px 36px;margin-top:8px}
.im-ed .sp-ch__acts .ed-link{text-shadow:0 1px 10px rgba(0,0,0,.5)}
.im-ed .ed-ch--center .sp-ch__acts{justify-content:center}
.im-ed .ed-ch--right .sp-ch__acts{justify-content:flex-end}
.im-ed .sp-ch__crumb a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(201,163,92,.45);padding-bottom:2px;transition:border-color .3s ease}
.im-ed .sp-ch__crumb a:hover{border-color:var(--ed-gold-l)}
.im-ed .sp-ch--hero .ed-ch__title{font-size:clamp(34px,5.6vw,72px)}
.im-ed .sp-ch--hero .ed-ch__in,.im-ed .sp-cover .ed-ch__in{gap:18px}
.im-ed .sp-cover .ed-ch__text{max-width:40ch}
.im-ed .sp-cover__scroll{
  position:absolute;z-index:3;right:var(--ed-pad);bottom:calc(22px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(241,231,212,.6);text-decoration:none;
}
.im-ed .sp-cover__scroll::after{
  content:'';width:1px;height:38px;background:linear-gradient(180deg,rgba(241,231,212,.7),transparent);
  transform-origin:top;animation:eddrop 2.2s ease-in-out infinite;
}
@media (max-width:767px){
  .im-ed .sp-cover__scroll{display:none} /* на телефоне ниже — нижняя строка брони */
  .im-ed .sp-ch .ed-ch__title{font-size:clamp(28px,8.2vw,40px)}
  .im-ed .sp-ch--hero .ed-ch__title{font-size:clamp(30px,9vw,44px)}
}
@media (min-width:768px){
  .im-ed .sp-ch .ed-ch__body{padding-bottom:clamp(48px,8vh,88px)}
  .im-ed .sp-ch__acts{gap:2px 44px}
}

/* пауза между главами — короче и тише манифеста главной */
.im-ed .sp-pause{padding:clamp(84px,13vw,190px) 0}
.im-ed .sp-pause .ed-manifest__title{font-size:clamp(22px,3.6vw,50px);max-width:28ch}

/* ==========================================================================
   2. Общее: секции, шапка секции, стрелки лент, финал
   ========================================================================== */
.im-ed .sp-sec{position:relative;padding:var(--ed-sp) 0}
.im-ed .sp-head{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:clamp(26px,4vw,52px)}
.im-ed .sp-head__title{margin-top:18px}
.im-ed .sp-head__text{margin:14px 0 0}
.im-ed .sp-slider__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.im-ed .sp-slider__head .sp-head{margin-bottom:clamp(22px,3vw,40px)}
.im-ed .sp-nav{display:none;gap:8px;flex:none;margin-bottom:clamp(22px,3vw,40px)}
.im-ed .sp-nav__btn{
  display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;
  border:1px solid var(--ed-line);background:none;color:var(--ed-ink);cursor:pointer;transition:border-color .3s ease,opacity .3s ease;
}
.im-ed .sp-nav__btn:disabled{opacity:.3;cursor:default}
@media (hover:hover){.im-ed .sp-nav__btn:not(:disabled):hover{border-color:var(--ed-gold)}}
@media (min-width:768px){.im-ed .sp-nav{display:flex}}

.im-ed .sp-fin{padding:clamp(90px,12vw,180px) 0 clamp(80px,10vw,150px)}
.im-ed .sp-fin__text{margin:-6px 0 0;font-size:clamp(14px,1.3vw,16px);line-height:1.7;color:var(--ed-mut);max-width:48ch}
.im-ed .sp-fin .ed-fin__acts{gap:6px 44px}
.im-ed .sp-fin__tel svg{color:var(--ed-gold)}
.im-ed .sp-fin__tel span{letter-spacing:.16em}

/* ==========================================================================
   3. Журнальная сетка фото: 2 в ряд / широкая, лайтбокс (pages.js)
   ========================================================================== */
.im-ed .sp-gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:6px}
.im-ed .sp-gal__item{
  position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:#D9CBB0;
  -webkit-tap-highlight-color:transparent;
}
.im-ed .sp-gal__item--wide{grid-column:span 2;aspect-ratio:16/10}
.im-ed .sp-gal__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.3s var(--ed-ease)}
.im-ed .sp-gal__cap{
  position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(23,18,14,.62));color:#F3ECDC;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
}
.im-ed .sp-gal__item:focus-visible{outline:2px solid var(--ed-gold);outline-offset:2px}
@media (hover:hover){.im-ed .sp-gal__item:hover img{transform:scale(1.04)}}
@media (min-width:768px){
  .im-ed .sp-gal{gap:12px;grid-auto-rows:1fr}
  .im-ed .sp-gal--3{grid-template-columns:repeat(2,minmax(0,1fr))} /* галерея зала: крупно, 2 в ряд / широкая на всю ширину */
  .im-ed .sp-gal--4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .im-ed .sp-gal__item{aspect-ratio:auto;min-height:0}
  .im-ed .sp-gal__item:not(.sp-gal__item--wide){aspect-ratio:4/5}
  .im-ed .sp-gal__item--wide{grid-column:span 2;aspect-ratio:auto}
  .im-ed .sp-gal__cap{padding:34px 18px 14px;font-size:10px}
}
@media (min-width:1200px){.im-ed .sp-gal{gap:16px}.im-ed .sp-gal--4{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* галерея зала */
.im-ed .sp-hallgal__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:clamp(18px,3vw,32px)}
.im-ed .sp-hallgal__count{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ed-mut)}

/* ==========================================================================
   4. Другие залы — лента фото с подписью поверх
   ========================================================================== */
.im-ed .sp-other{padding-top:0}
.im-ed .sp-other__head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:clamp(18px,3vw,32px)}
.im-ed .sp-other__head .sp-nav{margin-bottom:0}
.im-ed .sp-strip{
  display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--ed-pad);
  padding:0 var(--ed-pad) 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;
}
.im-ed .sp-strip::-webkit-scrollbar{display:none}
.im-ed .sp-strip.is-dragging{cursor:grabbing;scroll-snap-type:none}
.im-ed .sp-strip__item{
  position:relative;flex:0 0 min(72vw,360px);aspect-ratio:4/5;scroll-snap-align:start;overflow:hidden;
  background:#2A2018;color:#F1E8D6;text-decoration:none;-webkit-tap-highlight-color:transparent;
}
.im-ed .sp-strip__item img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform 1.6s var(--ed-ease);-webkit-user-drag:none;user-select:none}
.im-ed .sp-strip__veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(23,18,14,.04) 40%,rgba(23,18,14,.82) 100%)}
.im-ed .sp-strip__cap{position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;gap:7px}
.im-ed .sp-strip__meta{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--ed-gold-l)}
.im-ed .sp-strip__name{font-family:var(--serif);font-weight:400;font-size:clamp(18px,1.9vw,26px);line-height:1.12;letter-spacing:.08em;text-transform:uppercase}
@media (hover:hover){.im-ed .sp-strip__item:hover img{transform:scale(1.06)}}
.im-ed .sp-other__foot{margin-top:clamp(18px,3vw,30px)}
@media (min-width:768px){
  .im-ed .sp-strip{gap:14px;max-width:var(--ed-wrap);margin:0 auto}
  .im-ed .sp-strip__item{flex-basis:calc((100% - 14px * 2) / 3)}
}
@media (min-width:1024px){
  .im-ed .sp-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding-bottom:0}
  .im-ed .sp-strip__item{flex:none;width:auto}
  .im-ed .sp-other .sp-nav{display:none}
}

/* ==========================================================================
   5. Банкеты: фото-плитки форматов (2–1–2), попап — pop.css
   ========================================================================== */
.im-ed .bq-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.im-ed .bq-tile{
  position:relative;display:block;width:100%;padding:0;border:0;margin:0;cursor:pointer;text-align:left;
  aspect-ratio:4/5;overflow:hidden;isolation:isolate;background:#2A2018;color:#F1E8D6;font:inherit;-webkit-tap-highlight-color:transparent;
}
.im-ed .bq-tile--wide{grid-column:1/-1;aspect-ratio:16/10}
.im-ed .bq-tile__media{position:absolute;inset:0}
.im-ed .bq-tile__media img,.im-ed .bq-tile__media .ph{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.3s var(--ed-ease)}
.im-ed .bq-tile::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(23,18,14,0) 40%,rgba(23,18,14,.84))}
.im-ed .bq-tile__cap{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:5px}
.im-ed .bq-tile__meta{font-size:9.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--ed-gold-l)}
.im-ed .bq-tile__title{font-family:var(--serif);font-weight:400;font-size:clamp(16px,4.6vw,22px);line-height:1.15;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.im-ed .bq-tile__short{font-size:11.5px;line-height:1.45;color:rgba(241,232,214,.8);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.im-ed .bq-tile__info{
  position:absolute;right:10px;top:10px;z-index:2;width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:#F1E8D6;border:1px solid rgba(241,231,212,.45);background:rgba(23,18,14,.28);
}
.im-ed .bq-tile:focus-visible{outline:2px solid var(--ed-gold);outline-offset:3px}
@media (hover:hover){.im-ed .bq-tile:hover .bq-tile__media img{transform:scale(1.045)}}
@media (max-width:767px){
  .im-ed .bq-tile:not(.bq-tile--wide) .bq-tile__short{display:none} /* на маленькой плитке — только гости и название */
  .im-ed .bq-tile--wide .bq-tile__title{font-size:clamp(20px,6vw,26px)}
}
@media (min-width:768px){
  .im-ed .bq-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;grid-auto-rows:1fr}
  .im-ed .bq-tile{aspect-ratio:auto;min-height:0}
  .im-ed .bq-tile:not(.bq-tile--wide){aspect-ratio:4/5}
  .im-ed .bq-tile--wide,.im-ed .bq-tile:nth-child(n+4){grid-column:span 2;aspect-ratio:auto}
  .im-ed .bq-tile__cap{left:22px;right:22px;bottom:20px;gap:7px}
  .im-ed .bq-tile__title{font-size:clamp(20px,2vw,28px)}
  .im-ed .bq-tile__short{font-size:13px;max-width:44ch}
  .im-ed .bq-tile__info{right:14px;top:14px;width:32px;height:32px}
}
@media (min-width:1200px){.im-ed .bq-tiles{gap:18px}}

/* ==========================================================================
   6. Банкеты: карусель «что включено» — карточки с фото, попап
   ========================================================================== */
.im-ed .bq-rail{
  display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--ed-pad);
  padding:0 var(--ed-pad) 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;
}
.im-ed .bq-rail::-webkit-scrollbar{display:none}
.im-ed .bq-rail.is-dragging{cursor:grabbing;scroll-snap-type:none}
.im-ed .bq-card{
  flex:0 0 min(62vw,250px);scroll-snap-align:start;display:flex;flex-direction:column;padding:0;border:0;margin:0;background:none;
  color:var(--ed-ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.im-ed .bq-card__media{display:block;aspect-ratio:3/4;overflow:hidden;background:#D9CBB0;box-shadow:0 26px 50px -36px rgba(74,52,30,.55)}
.im-ed .bq-card__media img,.im-ed .bq-card__media .ph{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.3s var(--ed-ease);-webkit-user-drag:none;user-select:none}
.im-ed .bq-card__body{display:flex;flex-direction:column;gap:6px;padding:14px 0 0}
.im-ed .bq-card__title{font-family:var(--serif);font-weight:400;font-size:clamp(15px,1.4vw,18px);line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
.im-ed .bq-card__short{font-size:12.5px;line-height:1.55;color:var(--ed-mut)}
.im-ed .bq-card:focus-visible{outline:2px solid var(--ed-gold);outline-offset:3px}
@media (hover:hover){.im-ed .bq-card:hover .bq-card__media img{transform:scale(1.045)}.im-ed .bq-card:hover .bq-card__title{color:var(--ed-gold-t)}}
@media (min-width:768px){
  .im-ed .bq-rail{gap:20px;max-width:var(--ed-wrap);margin:0 auto}
  .im-ed .bq-card{flex-basis:calc((100% - 20px * 2) / 3)}
  .im-ed .bq-card__body{padding-top:16px}
}
@media (min-width:1200px){
  .im-ed .bq-rail{gap:24px}
  .im-ed .bq-card{flex-basis:calc((100% - 24px * 3) / 4)}
}

/* ==========================================================================
   7. Банкеты: вместимость залов строками, награды строкой
   ========================================================================== */
.im-ed .bq-rows{border-top:1px solid var(--ed-line)}
.im-ed .bq-row{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--ed-line)}
.im-ed .bq-row__name{grid-column:1;grid-row:1;font-family:var(--serif);font-weight:400;font-size:clamp(16px,1.5vw,20px);line-height:1.25;letter-spacing:.1em;text-transform:uppercase;color:var(--ed-ink);text-decoration:none;transition:color .3s ease}
.im-ed .bq-row__name:hover{color:var(--ed-gold-t)}
.im-ed .bq-row__floor{grid-column:1;grid-row:2;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ed-mut)}
.im-ed .bq-row__cap{grid-column:2;grid-row:1;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ed-gold-t);text-align:right;white-space:nowrap}
.im-ed .bq-row__act{grid-column:2;grid-row:2;justify-self:end}
.im-ed .bq-row__act .ed-link{padding:4px 0}
@media (min-width:768px){
  .im-ed .bq-row{grid-template-columns:1.4fr 1fr 1fr auto;gap:0 24px;padding:22px 0}
  .im-ed .bq-row__name,.im-ed .bq-row__floor,.im-ed .bq-row__cap,.im-ed .bq-row__act{grid-column:auto;grid-row:auto}
  .im-ed .bq-row__cap{text-align:left}
}

.im-ed .bq-awards{padding:0}
.im-ed .bq-awards__in{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;
  padding:clamp(40px,5vw,64px) var(--ed-pad);border-top:1px solid var(--ed-line);border-bottom:1px solid var(--ed-line);
}
.im-ed .bq-awards__line{
  margin:0;max-width:80ch;
  font-family:var(--serif);font-weight:400;font-size:clamp(13px,1.2vw,16px);line-height:1.9;letter-spacing:.08em;text-transform:uppercase;color:var(--ed-ink);
}
.im-ed .bq-awards__line i{display:inline-block;width:5px;height:5px;margin:0 14px;vertical-align:middle;background:var(--ed-gold);transform:rotate(45deg)}
.im-ed .bq-awards+.section{padding-top:var(--ed-sp)}

/* ==========================================================================
   8. Галерея: заголовок и сразу фото, альбомы табами
   ========================================================================== */
html.im-ed-root:has(.im-page--gallery){background:#F3EADB} /* без тёмного хиро — оверскролл кремовый */
.im-ed .sp-top{position:relative;padding:calc(var(--ed-hdr-h) + clamp(56px,9vw,120px)) 0 var(--ed-sp)}
.im-ed .gl__head{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:clamp(22px,3vw,40px)}
.im-ed .gl__title{margin-top:18px;font-size:clamp(34px,6vw,76px)}
.im-ed .gl__text{margin:12px 0 0}
.im-ed .gl__tabs{
  display:flex;gap:clamp(20px,3vw,44px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  border-bottom:1px solid var(--ed-line);margin-bottom:clamp(16px,3vw,36px);
}
.im-ed .gl__tabs::-webkit-scrollbar{display:none}
.im-ed .gl__tab{
  flex:none;display:inline-flex;align-items:baseline;gap:8px;padding:6px 0 14px;margin-bottom:-1px;border:0;border-bottom:1px solid transparent;background:none;cursor:pointer;
  font-family:var(--sans);font-size:clamp(12px,1.2vw,14px);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ed-mut);
  transition:color .3s ease,border-color .3s ease;-webkit-tap-highlight-color:transparent;
}
.im-ed .gl__tab small{font-size:9.5px;letter-spacing:.14em;color:var(--ed-mut);opacity:.85}
.im-ed .gl__tab.is-on{color:var(--ed-ink);border-bottom-color:var(--ed-gold)}
.im-ed .gl__tab.is-on small{color:var(--ed-gold-t);opacity:1}
@media (hover:hover){.im-ed .gl__tab:hover{color:var(--ed-ink)}}
.im-ed .gl-panel{display:none}
.im-ed .gl-panel.is-on{display:block;animation:spfade .35s ease}
@keyframes spfade{from{opacity:0}to{opacity:1}}
.im-ed .gl+.sp-fin{padding-top:clamp(40px,6vw,90px)}

@media (prefers-reduced-motion:reduce){
  .im-ed .sp-gal__item img,.im-ed .sp-strip__item img,.im-ed .bq-tile__media img,.im-ed .bq-card__media img{transition:none;transform:none!important}
  .im-ed .sp-cover__scroll::after{animation:none}
}
