@charset "UTF-8";
/* =========================================================
   WowItaly — дополнения для WordPress (тема на «Основе»)
   ========================================================= */
[hidden] { display: none !important; }

/* текстовые страницы (политика, cookie, согласие) */
.ph--text { padding-bottom: clamp(28px, 3vw, 48px); }
.ph--text .ph-title { max-width: 22em; }
.sec--tight { padding-top: clamp(24px, 3vw, 48px); }
.prose table { width: 100%; border-collapse: collapse; font-size: .95em; }
.prose th, .prose td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose img { border-radius: 14px; height: auto; }
.prose .alignleft { float: left; margin: 0 24px 16px 0; max-width: 45%; }
.prose .alignright { float: right; margin: 0 0 16px 24px; max-width: 45%; }
.prose .aligncenter { display: block; margin-inline: auto; }
.prose iframe, .prose video { max-width: 100%; border-radius: 14px; }
.prose .wp-caption { max-width: 100%; }
.prose .wp-caption-text { font-size: 13px; color: var(--muted); margin-top: 8px; }
.prose { overflow-wrap: anywhere; }
@media (max-width: 720px) { .prose .alignleft, .prose .alignright { float: none; margin: 0 0 16px; max-width: 100%; } }

/* постраничная навигация */
.pagination { margin-top: clamp(40px, 4vw, 64px); }
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: 30px; border: 1px solid var(--line); }
.pagination .page-numbers.current { background: var(--ink); color: var(--ivory); border-color: var(--ink); }

/* ссылки в подвале на документы */
.foot-legal { display: inline-flex; flex-wrap: wrap; gap: 6px 18px; }

/* админ-панель WordPress сверху не перекрывает шапку */
.admin-bar #header { top: 32px; }
@media (max-width: 782px) { .admin-bar #header { top: 46px; } }
.admin-bar #menu { top: calc(var(--hh) + 32px); }

/* окно cookie «Основы» — в цветах и шрифте сайта */
body .osnova-cookie { --oc-text: #1E1B18; --oc-muted: #6E6862; --oc-line: rgba(30, 27, 24, .14); --oc-btn: #F0ECE5; --oc-btn-hover: #E6E0D6; --oc-btn-text: #1E1B18; --oc-accent: #9E8256; --oc-accept: #1E1B18; --oc-accept-text: #F8F6F2; } /* «Принять» — как основная кнопка .pill */
[class^="osnova-cookie"], [class*=" osnova-cookie"] { font-family: var(--font-body) !important; }
@media (max-width: 720px) { .osnova-cookie { bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; } }

/* =========================================================
   Английская главная — правки Марины 17.10.2026 (рынок США)
   Кнопки: 1) Book a video call  2) WhatsApp  3) почта — в подвале
   ========================================================= */
/* WhatsApp в цвете сайта, иконка остаётся */
/* 25.10.2026: Артём — все кнопки WhatsApp зелёные, и на EN (было: латунь по правкам Марины 17.10):
   html[lang="en"] { --wa: var(--brass); --wa-dark: color-mix(in srgb, var(--brass) 82%, var(--ink)); } */

.call-ico { width: 19px; height: 19px; flex: none; display: block; margin-top: -1px; }
.pill--call { gap: 10px; }
.pill--call.pill--light:hover { background: transparent; color: var(--paper); border-color: var(--paper); }
#header .hdr-wa { color: var(--brass); }
#header .hdr-wa .wa-ico { width: 20px; height: 20px; }

/* первый экран: строка гостей и цен под подзаголовком */
.hero-range { margin-top: -8px; font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--accent-light); }

/* пресса: логотип со ссылкой на публикацию */
.who2-press a { display: inline-flex; transition: opacity .3s; }
.who2-press a:hover { opacity: .6; }

/* форма записи на звонок */
.call-form .lf--wide { grid-column: 1 / -1; border-right: 0; }
.call-form textarea { width: 100%; border: 0; outline: 0; padding: 0; background: transparent; resize: vertical; min-height: 3.2em; font: 400 17px/1.4 var(--font-body); color: var(--ink); }
.call-form textarea::placeholder, .call-form select:invalid { color: #A9A199; }
.call-consent { flex: 1 1 100%; display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.45; color: var(--muted); cursor: pointer; }
.call-consent input { margin: 3px 0 0; accent-color: var(--brass); }
.call-form .osnova-form__result { flex: 1 1 100%; padding: 12px 16px; border-radius: 12px; background: var(--ivory); font-size: 15px; }
.call-form .osnova-form__result.is-error { color: #B0412E; }

/* мобильная панель английской главной: звонок + WhatsApp */
@media (max-width: 720px) {
  .mbar--en { grid-template-columns: 1.4fr 1fr; }
  .mbar-call { background: var(--ink); color: var(--paper); }
}

/* Подписи над заголовками убраны (25.10.2026): мелкие и смысла не несут. Место виллы в первом экране оставляем. */
.label:has(+ h1, + h2, + h3, + .h2, + .vh2, + .band-t):not(.vhero .label) { display: none; }

/* Свадьбы на главной (25.10.2026): компактнее — одинаковые горизонтальные кадры в ровной сетке. */
@media (min-width: 721px) {
  .cases { row-gap: clamp(40px, 4vw, 64px); }
  .cases .slides img, .cases .case:nth-child(4n+2) .slides img, .cases .case:nth-child(4n+3) .slides img { aspect-ratio: 3 / 2; max-height: min(56svh, 500px); }
  .cases .case:nth-child(even) { margin-top: 0; } /* ровная сетка без «лесенки» (26.10.2026) */
}
/* Церемонии на главной: кнопки на одной линии, длинное описание свёрнуто до четырёх строк */
@media (min-width: 901px) {
  /* фото одной высоты: у крайних колонок отступ с одной стороны, у средней — с двух, поэтому средняя шире на отступ */
  .cer { --cp: clamp(18px, 2vw, 36px); grid-template-columns: calc((100% - 4 * var(--cp)) / 3 + var(--cp)) calc((100% - 4 * var(--cp)) / 3 + 2 * var(--cp)) calc((100% - 4 * var(--cp)) / 3 + var(--cp)); }
  .cer article:last-child { padding-right: 0; }
  /* последний слайд «Подробнее» не растягивает ленту: та же высота 3:2, текст мельче */
  .slider--cer .slides { align-items: flex-start; }
  .slider--cer .sl-end { aspect-ratio: 3 / 2; padding: 16px; gap: 6px; }
  .slider--cer .sl-end-t { font-size: clamp(22px, 1.9vw, 34px); }
  .slider--cer .sl-end-a { width: 46px; height: 46px; margin-top: 6px; }
  .cer article { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
  .cer article > .slider, .cer article > .frame-img { align-self: stretch; }
  .cer article > .more { margin-top: auto; }
  .cer p.is-clamp { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  .cer-toggle { margin-top: -8px; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; color: var(--brass); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
}
@media (max-width: 900px) { .cer-toggle { display: none; } }

/* Telegram (25.10.2026): русская версия — WhatsApp + Telegram вместо почты. Фирменный цвет Telegram. */
:root { --tg: #229ED9; --tg-dark: #1A86BA; }
.pill--tg { gap: 10px; background: var(--tg); border-color: var(--tg); color: #fff; }
.pill--tg:hover { background: var(--tg-dark); border-color: var(--tg-dark); color: #fff; }
.pill--tg svg { width: 18px; height: 18px; flex: none; }
.hdr-tg { color: var(--tg); } /* в шапке убрана 25.10.2026, класс остаётся для анкеты */
.mbar-tg { background: var(--tg) !important; color: #fff !important; }

/* Свои фильмы (25.10.2026): фоновая петля в первом экране, кнопка «Смотреть фильм», плеер поверх страницы. */
.ph-bg .ph-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pill--film { gap: 10px; background: rgba(255, 253, 248, .14); border-color: rgba(255, 253, 248, .6); color: #fff; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pill--film:hover { background: #fff; color: var(--ink); }
.pill--film svg { width: 14px; height: 14px; }
.film-dlg { width: min(1280px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 16px; background: #000; overflow: visible; }
.film-dlg::backdrop { background: rgba(10, 9, 8, .9); }
.film-dlg video { display: block; width: 100%; max-height: calc(100svh - 80px); border-radius: 16px; background: #000; }
.film-x { position: absolute; top: -48px; right: 0; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .15); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
@media (max-width: 720px) { .film-dlg { width: 100vw; max-width: 100vw; border-radius: 0; } .film-dlg video { border-radius: 0; } .film-x { top: -46px; right: 8px; } }
/* вертикальный ролик (видео со свадьбы 9:16): окно по ширине кадра */
.film-dlg.is-v { width: min(calc((100svh - 80px) * 9 / 16), calc(100vw - 32px)); border-radius: 16px; }
.film-dlg.is-v video { border-radius: 16px; }
.film-dlg.is-v .film-x { top: 0; right: -56px; }
@media (max-width: 720px) { .film-dlg.is-v .film-x { top: -46px; right: 0; } }

/* ---------- первый экран страницы со своим фильмом (вариант 6а, 25.10.2026) ---------- */
.ph--frame { padding: clamp(22px, 2vw, 32px) var(--px) clamp(40px, 5vw, 80px); /* main уже начинается под закреплённой шапкой */ background: var(--paper); color: var(--ink); }
.ph--frame .crumbs { position: static; padding: 0; color: var(--muted); }
.ph--frame .crumbs a { color: inherit; }
.phf-frame { position: relative; margin-top: 16px; height: clamp(360px, 60vh, 46vw); /* заголовок виден без прокрутки */ border-radius: 28px; overflow: hidden; background: var(--night); }
.phf-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 17, 15, 0) 35%, rgba(20, 17, 15, .72) 100%), linear-gradient(90deg, rgba(20, 17, 15, .35), rgba(20, 17, 15, 0) 55%); pointer-events: none; }
/* 6b: заголовок и кнопка фильма — внизу на видео */
.phf-over { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 40px; padding: clamp(24px, 3vw, 48px); }
.phf-frame .ph-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.phf-play { flex: none; display: flex; align-items: center; gap: 16px; padding: 0; border: 0; background: none; color: #fff; text-align: left; cursor: pointer; }
.phf-play i { display: grid; place-items: center; width: clamp(80px, 6.6vw, 96px); height: clamp(80px, 6.6vw, 96px); border-radius: 50%; background: #fff; color: var(--ink); box-shadow: 0 10px 40px rgba(0, 0, 0, .35); transition: transform .35s var(--ease); }
.phf-play i svg { display: block; width: 30%; height: 30%; }
.phf-play:hover i { transform: scale(1.07); }
/* Кнопка ▶ «зовёт» (05.11.2026): от круга расходятся две мягкие волны, при наведении волны сильнее, треугольник сдвигается вперёд */
.phf-play i { position: relative; }
.phf-play i::before, .phf-play i::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .7); animation: play-wave 2.6s var(--ease-out) infinite; pointer-events: none; }
.phf-play i::after { animation-delay: 1.3s; }
.phf-play i svg { position: relative; transition: transform .35s var(--ease); }
.phf-play:hover i svg { transform: translateX(2px) scale(1.08); }
.phf-play:hover i::before, .phf-play:hover i::after { border-color: #fff; animation-duration: 1.8s; }
.phf-play:focus-visible i { outline: 2px solid #fff; outline-offset: 4px; }
@keyframes play-wave { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.75); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .phf-play i::before, .phf-play i::after { animation: none; opacity: 0; } }
.phf-play b { display: grid; gap: 2px; font-size: 16px; font-weight: 500; text-shadow: 0 1px 12px rgba(0, 0, 0, .4); }
.phf-play b small { font-size: 13px; font-weight: 400; opacity: .85; }
.phf-body { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px clamp(32px, 5vw, 96px); align-items: start; /* 05.11.2026: кнопки по верху текста, не по центру длинного абзаца */ margin-top: clamp(24px, 3vw, 44px); }
.phf-main { display: grid; gap: 14px; justify-items: start; min-width: 0; }
.phf-place { margin: 0; font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }
.ph--frame .ph-title { margin: 0; font-size: clamp(38px, 4.8vw, 88px); max-width: 11em; color: #fff; text-shadow: 0 2px 24px rgba(20, 17, 15, .3); }
.phf-lead { margin: 0; max-width: 36em; font-size: clamp(18.5px, calc(.7vw + 10px), 22px); /* 05.11.2026: было clamp(16px, 1.2vw, 20px) — крупнее по просьбе пользователя */ line-height: 1.55; color: var(--ink-soft); }
.phf-lead .vhero-line { color: var(--ink); font-size: inherit; }
.phf-acts { display: grid; gap: 10px; justify-self: end; width: min(100%, 300px); margin-top: .3em; }
.lead-gap { display: block; height: .75em; } /* разрыв между абзацами внутри вводного текста (wow_lead_split) */
.phf-acts .pill { width: 100%; }
.ph--frame .pill--film { background: transparent; color: var(--ink); border-color: var(--ink); -webkit-backdrop-filter: none; backdrop-filter: none; }
.ph--frame .pill--film:hover { background: var(--ink); color: var(--paper); }
.phf-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(28px, 3vw, 44px) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.phf-facts li { padding: 18px 18px 0 0; }
.phf-facts li + li { padding-left: 18px; border-left: 1px solid var(--line); }
.phf-facts b { display: block; font-family: var(--font-display); font-size: clamp(22px, 1.8vw, 32px); font-weight: 400; line-height: 1.1; letter-spacing: -.015em; color: var(--ink); }
.phf-facts > li > span { display: block; font-size: 14px; color: var(--muted); }
.phf-facts .dots-d i { border-color: var(--brass); }
.phf-facts .dots-d i.on { background: var(--brass); }
@media (max-width: 900px) {
  .phf-frame { height: auto; aspect-ratio: 4 / 4.4; border-radius: 18px; }
  .phf-body { grid-template-columns: minmax(0, 1fr); }
  .phf-acts { justify-self: stretch; width: 100%; }
  .phf-over { top: 0; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding: 20px; }
  .phf-play { position: absolute; left: 20px; top: 20px; gap: 12px; } /* длинный заголовок внизу не наезжает на кнопку */
  .phf-play i { width: 56px; height: 56px; }
  .phf-play b { font-size: 15px; }
  .ph--frame .ph-title { font-size: 34px; }
  .phf-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phf-facts li { padding: 16px 12px 16px 0 !important; border-left: 0 !important; border-bottom: 1px solid var(--line); }
  .phf-facts li:nth-child(even) { padding-left: 16px !important; border-left: 1px solid var(--line) !important; }
  .phf-facts b { font-size: 20px; }
}
/* Локации на главной (26.10.2026): компактнее — два равных горизонтальных кадра в ряд, мельче локации ниже */
@media (min-width: 721px) {
  .loc-big { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .loc-big .loc:nth-child(2) { margin-top: 0; } /* ровно, без «лесенки» */
  .loc-big .slides img, .loc-big .loc:nth-child(2) .slides img { aspect-ratio: 3 / 2; max-height: min(52svh, 460px); }
  .loc-small { margin-top: clamp(40px, 4vw, 64px); }
}

/* Свои выпадающие списки (v5.js): панель под полем, скругление, тень, выбранный пункт отмечен */
.wsel-host { position: relative; }
.wsel-panel { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; min-width: max(100%, 220px); max-height: 320px; overflow-y: auto; margin: 0; padding: 6px; list-style: none; border-radius: 16px; background: var(--ivory); border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(30, 27, 24, .14); text-align: left; animation: wsel-in .16s var(--ease); }
.wsel-panel li { padding: 10px 14px; border-radius: 10px; font: 400 15px/1.3 var(--font-body); color: var(--ink); text-transform: none; letter-spacing: 0; white-space: nowrap; cursor: pointer; }
.wsel-panel li.is-active { background: var(--powder); }
.wsel-panel li[aria-selected="true"] { font-weight: 500; }
.wsel-panel li[aria-selected="true"]::after { content: "✓"; float: right; margin-left: 16px; color: var(--brass); }
.wsel-panel li[aria-disabled="true"] { color: var(--muted); opacity: .55; cursor: default; }
@keyframes wsel-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* Два блока подряд на одном фоне: без двойного отступа между ними (26.10.2026) */
.sec:not(.sec--paper):not(.sec--night):not(.sec--powder) + .sec:not(.sec--paper):not(.sec--night):not(.sec--powder),
.sec--paper + .sec--paper, .sec--night + .sec--night { padding-top: calc(var(--sy) * .35); }
.ph--plain + .sec:not(.sec--paper):not(.sec--night):not(.sec--powder) { padding-top: calc(var(--sy) * .35); }

/* Зона нажатия кнопки «Меню» на телефоне — не меньше 44 px по высоте (аудит 26.10.2026) */
@media (max-width: 900px) { #menu-btn { min-height: 44px; padding-block: 12px; margin-block: -12px; } }

/* «Связаться с нами» — правый нижний угол (26.10.2026). Кнопка — .pill дизайн-системы, список — карточка на бумаге.
   На телефоне (≤720 px) её нет: там те же каналы в нижней панели .mbar. */
.cfab { position: fixed; right: clamp(16px, 2vw, 32px); bottom: clamp(16px, 2vw, 32px); z-index: 88; display: grid; justify-items: end; gap: 10px; }
.cfab-btn {
  display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 24px 0 20px; border: 1px solid color-mix(in srgb, var(--paper) 22%, var(--ink)); /* граница видна и на тёмных блоках */ border-radius: 52px;
  background: var(--ink); color: var(--paper); font: 500 12.5px/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase; white-space: nowrap;
  box-shadow: 0 10px 30px rgba(30, 27, 24, .22); cursor: pointer;
  transition: background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease);
}
.cfab-btn:hover { background: var(--paper); color: var(--ink); }
.cfab-btn svg { width: 20px; height: 20px; flex: none; }
.cfab-x, .cfab.is-open .cfab-chat { display: none; }
.cfab.is-open .cfab-x { display: block; }
.cfab-panel {
  width: 300px; padding: 10px; border: 1px solid var(--line); border-radius: 22px; background: var(--ivory);
  box-shadow: 0 18px 50px rgba(30, 27, 24, .18); transform-origin: 100% 100%;
  animation: cfab-in .35s var(--ease-out);
}
@keyframes cfab-in { from { opacity: 0; transform: translateY(8px) scale(.97); } }
.cfab-t { padding: 8px 12px 10px; font-family: var(--font-display); font-weight: var(--dw); font-size: 19px; line-height: 1.2; letter-spacing: -.01em; color: var(--ink); }
.cfab-i { display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 14px; color: var(--ink); transition: background .25s var(--ease); }
.cfab-i:hover, .cfab-i:focus-visible { background: var(--paper); }
.cfab-i b { display: block; font-size: 15px; font-weight: 500; }
.cfab-i small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--muted); }
.cfab-ico { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; color: #fff; }
.cfab-ico svg { width: 20px; height: 20px; }
.cfab-i--tg .cfab-ico { background: var(--tg); }
.cfab-i--wa .cfab-ico { background: var(--wa); }
.cfab-i--mail .cfab-ico { background: var(--ink); }
.cfab-i--mail .cfab-ico svg { width: 18px; }
body:has(#lightbox.open, #film-modal.open, #menu-btn[aria-expanded="true"]) .cfab { display: none; } /* поверх галереи, фильма и меню не висит */
@media (max-width: 720px) { .cfab { display: none; } }
@media print { .cfab { display: none; } }


/* ===== Английская версия по ТЗ Марины (27.10.2026) — inc/en-structure.php, inc/nav.php ===== */
/* Plan your date — главная кнопка EN в фирменном цвете (латунь логотипа) */
.pill--brand { background: var(--brass); border-color: var(--brass); color: #fff; }
.pill--brand:hover { background: color-mix(in srgb, var(--brass) 82%, var(--ink)); border-color: color-mix(in srgb, var(--brass) 82%, var(--ink)); color: #fff; }
html[data-ds] #header.over-hero .pill--brand.hdr-cta { background: var(--brass); border-color: var(--brass); color: #fff; }
/* Мега-меню: колонки с серыми некликабельными подзаголовками Venues / Plan */
/* width: max-content — иначе блок сжимается до ширины пункта меню и колонки наезжают друг на друга (Safari, 05.11.2026) */
.sub--mm { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, max-content); gap: 8px 40px; width: max-content; min-width: 0; padding: 22px 26px 20px; border-radius: 18px; }
.sub--mm .mm-col { display: grid; align-content: start; }
.sub--mm .mm-h { padding: 0 0 8px; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.sub--mm a { padding: 6px 0; white-space: nowrap; }
.sub--mm a:hover { padding-left: 4px; }
.has-mm > span.nav-link { cursor: default; }
.has-mm:last-child .sub--mm, .has-mm:nth-last-child(2) .sub--mm { left: auto; right: -22px; }
/* Телефон и планшет: аккордеон в полноэкранном меню */
#menu .m-acc { border-bottom: 1px solid var(--line); }
#menu .m-acc summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; font-size: 30px; font-weight: 300; letter-spacing: -.01em; cursor: pointer; list-style: none; }
#menu .m-acc summary::-webkit-details-marker { display: none; }
#menu .m-acc summary i { width: 12px; height: 12px; margin-right: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translate(-3px, -3px); transition: transform .3s var(--ease); }
#menu .m-acc[open] summary i { transform: rotate(-135deg); }
#menu .m-acc-in { display: grid; padding: 0 0 18px; }
#menu .m-links .m-acc-in a { padding: 7px 0; border: 0; font-size: 18px; font-weight: 400; }
#menu .m-links .m-acc-in a.m-acc-top { color: var(--brass); }
#menu .m-acc-in .mm-h { margin-top: 12px; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
/* Закреплённая кнопка Plan your date внизу экрана на телефоне */
@media (max-width: 720px) {
  .mbar--plan { grid-template-columns: minmax(0, 1fr); }
  .mbar--plan .mbar-plan { height: 52px; font-size: 12.5px; }
}
/* Подвал EN: соцсети */
.foot-soc { display: inline-flex; flex-wrap: wrap; gap: 14px; }
.hub-links { display: flex; flex-wrap: wrap; gap: 10px; }

/* Подбор вилл по бюджету (inc/villa-calc.php, 03.11.2026) */
.vcalc-in { max-width: 860px; margin: 0 auto; display: grid; gap: 22px; }
.vcalc-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
/* Гости — ползунок (05.11.2026): одной строкой «подпись · ползунок · число», высотой как переключатель формата рядом */
.vcalc-g { display: flex; align-items: center; gap: 14px; flex: 1 1 300px; max-width: 400px; height: 50px; padding: 0 22px; border: 1px solid var(--line); border-radius: 46px; background: var(--ivory); }
.vcalc-g-top { display: contents; }
.vcalc-g-top span { order: 0; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.vcalc-g .c2-range { order: 1; flex: 1; min-width: 0; margin: 0; }
.vcalc-g-top output { order: 2; min-width: 3.6em; text-align: right; font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }
.vcalc-g-ends { display: none; }
@media (max-width: 720px) { .vcalc-g { max-width: none; flex-basis: 100%; } .vcalc-seg { flex: 1 1 100%; } .vcalc-seg label { flex: 1; text-align: center; } }
.vcalc-seg { display: inline-flex; padding: 4px; border: 1px solid var(--line); border-radius: 46px; background: var(--ivory); }
.vcalc-seg label { cursor: pointer; }
.vcalc-seg input { position: absolute; opacity: 0; pointer-events: none; }
.vcalc-seg span { display: block; padding: 9px 16px; border-radius: 40px; font-size: 14px; }
.vcalc-seg input:checked + span { background: var(--ink); color: var(--paper); }
.vcalc-seg input:focus-visible + span { outline: 2px solid var(--brass); }
.vcalc-list { display: grid; border-top: 1px solid var(--line); counter-reset: none; list-style: none; padding: 0; margin: 0; }
.vcalc-list li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.vcalc-v { display: grid; gap: 2px; font-size: 17px; }
.vcalc-v a { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: .2em; }
.vcalc-v a:hover { color: var(--brass); }
.vcalc-v small { font-size: 13px; color: var(--muted); }
.vcalc-list b { font-family: var(--font-display); font-weight: 400; font-size: 20px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.vcalc-none { color: var(--muted); }

/* Телефон: зона нажатия у мелких ссылок больше, а вид тот же (проверка сайта 03.11.2026) */
@media (max-width: 720px) {
	.hdr-lang a { padding: 10px 6px; margin: -10px -6px; }
	.logo { padding-block: 12px; margin-block: -12px; }
	.foot-col a, .foot-legal a { padding-block: 5px; margin-block: -5px; }
}

/* Белый текст на светлых фото читается (проверка сайта 03.11.2026): затемнение и справа, где абзац первого экрана,
   плашки темнее, у текста мягкая тень */
.ph-shade { background:
  linear-gradient(180deg, rgba(20, 17, 15, .42) 0%, rgba(20, 17, 15, 0) 22%, rgba(20, 17, 15, .16) 45%, rgba(20, 17, 15, .8) 100%),
  linear-gradient(90deg, rgba(20, 17, 15, .45) 0%, rgba(20, 17, 15, .14) 50%, rgba(20, 17, 15, .38) 100%); }
.ph--photo .ph-lead, .ph--photo .vupd, .band p, .band .band-note { text-shadow: 0 1px 14px rgba(20, 17, 15, .6), 0 0 2px rgba(20, 17, 15, .4); }
.ph--photo .ph-lead { color: rgba(255, 253, 248, .96); }
.band::after { background: rgba(20, 17, 15, .6); }
@media (max-width: 720px) { .ph-shade { background: linear-gradient(180deg, rgba(20, 17, 15, .42) 0%, rgba(20, 17, 15, .1) 25%, rgba(20, 17, 15, .55) 55%, rgba(20, 17, 15, .86) 100%); } }
.ph--photo .vupd { color: rgba(255, 253, 248, .85); }
.checks--no svg { transform: rotate(45deg); color: var(--muted); } /* «не входит», «ошибки» — крестик */

/* Кнопка рядом с «Меню» на 721–1560 px, пока шапка с бургером (04.11.2026): Plan your date на EN, «Написать» на RU */
.hdr-end { order: 4; justify-self: end; display: flex; align-items: center; gap: clamp(14px, 1.6vw, 22px); }
@media (min-width: 1561px) { .hdr-end { display: contents; } .hdr-cta--r { display: none; } } /* шире 1560 — меню целиком (pages.css), кнопка в .nav--right */
@media (max-width: 720px) { .hdr-end .hdr-cta--r { display: none; } }

/* Списки с галочками — больше воздуха (04.11.2026): строки дальше друг от друга, колонки шире разведены */
.checks { gap: clamp(14px, 1.3vw, 18px); }
.checks li { line-height: 1.55; }
.checks--2 { row-gap: clamp(18px, 1.8vw, 26px); column-gap: clamp(32px, 4.6vw, 72px); }

/* Подвал — больше воздуха (04.11.2026) */
.foot-cols { gap: clamp(44px, 4vw, 64px) clamp(28px, 4vw, 72px); padding-block: clamp(64px, 7vw, 120px); }
.foot-col { gap: 14px; }
.foot-col p { margin-bottom: 10px; }
.foot-brand { gap: 14px; }
.foot-brand img { margin-bottom: 14px; }
.foot-brand p { margin-bottom: 12px; line-height: 1.65; }

/* ===================================================================================================================
   Основной цвет — латунь вместо чёрного (05.11.2026, пробно; выбор на странице системы элементов, вариант «Латунь»).
   Кнопки и все «выбранные» состояния: фильтры, чипы, переключатели, номер страницы, активный язык. Тёмные карточки
   и разделы (.strip-all, тарифы, sec--night) — как были. Откат — удалить этот блок целиком. Префикс html — venues.css и calc.css подключаются позже.
   =================================================================================================================== */
:root { --accent: var(--brass); --accent-dark: color-mix(in srgb, var(--brass) 82%, var(--ink)); --on-accent: #fff; }
html .pill:not([class*="pill--"]) { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
html .pill:not([class*="pill--"]):hover { background: var(--accent-dark); border-color: var(--accent-dark); color: var(--on-accent); }
html .pill--line { background: transparent; border-color: var(--ink); color: var(--ink); }
html .pill--line:hover, html .pkg--main .pill--line:hover, html .step--cta .pill--ghost:hover, html .step--cta .pill--line:hover { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
html .pill--light { background: var(--paper); border-color: var(--paper); color: var(--ink); }
html .pill--light:hover { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
html .c2-chip input:checked + span, html .chip input:checked + span, html .fbtn[aria-pressed="true"],
html .pagination .page-numbers.current, html .vcalc-seg input:checked + span { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
html .pf-sel.is-set { background: var(--accent); border-color: var(--accent); }
html .pf-sel.is-set > span { color: rgba(255, 255, 255, .78); }
html .pf-sel.is-set select { color: var(--on-accent); }
html .pf-sel.is-set::after { border-color: var(--on-accent); }
html .nav-lang b, html:not([data-ds]) .nav-lang b { background: var(--accent); color: var(--on-accent) !important; }
html .hdr-mail:hover, html .strip-arrow:hover, html .ph--frame .pill--film:hover { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
html .vnav .vnav-cta { background: var(--accent); color: var(--on-accent); }
html .vnav .vnav-cta:hover { background: var(--accent-dark); }
html .cfab-btn { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
html .cfab-btn:hover { background: var(--accent-dark); }

/* ---------------- 06.11.2026: правки Марины по главной EN ---------------- */
/* Отзывы с фото: кадр пары сверху карточки, во всю её ширину */
.rev--ph { grid-template-rows: auto 1fr auto; padding-top: 0; overflow: hidden; }
.rev--ph .frame-img { aspect-ratio: 4 / 5; margin: 0 calc(-1 * clamp(24px, 2.4vw, 36px)); border-radius: 0; }
.rev--ph .frame-img img { width: 100%; height: 100%; object-fit: cover; }
.rev--ph blockquote { margin-top: 6px; }
/* Команда без «We work with»: ссылка на страницу команды под портретами */
.tm-more { margin-top: clamp(28px, 3vw, 44px); text-align: center; }
/* Большой логотип в подвале: по ширине колонки страницы, а не экрана (на широком экране и при уменьшенном масштабе обрезался) */
.sec .wordmark { padding-inline: 0; } /* стоит внутри секции формы — второй боковой отступ съедал ширину */
.wordmark span { font-size: calc((100vw - 2 * var(--px)) * .165); }
/* Юридические данные (Италия): строкой под копирайтом */
.foot-co { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 12px; line-height: 1.5; }
.foot-co a { color: inherit; }
/* Новые портреты Светланы и Лауры (Марина 06.11) — высокие кадры: в рамке держим голову, а не середину */
.tm-list img[alt="Svetlana Vlasenko"], .tm-list img[alt="Laura"], .tm-list img[alt="Светлана Власенко"], .tm-list img[alt="Лаура"] { object-position: center 8%; }
/* Лента главных из горизонтальных кадров Марины (06.11.2026, 75-home-reel-h.php): все 3:2; лента в 4,4 раза длиннее
   прежней — время круга больше, скорость та же */
.reel--h .reel-track img, .reel--h .reel-track img:nth-child(3n+2) { aspect-ratio: 3 / 2; }
.reel--h .reel-track { animation-duration: 560s; }

/* ---------------- 06.11.2026: «Проблемы вёрстки» Марины (PDF), все пункты кроме размера основного шрифта ---------------- */
/* п. 2 — «4 working hours · 30 min · 2 working days» на телефоне не помещались в три колонки: строками друг под другом */
@media (max-width: 720px) {
  .promise { grid-template-columns: minmax(0, 1fr); }
  .promise li, .promise li + li { display: grid; gap: 4px; padding: 14px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .promise b { font-size: 28px; }
}
/* п. 3 — текст первого экрана главной на видео: затемнение и в середине кадра, у подзаголовка с ценами тень */
.hero-shade { background:
  linear-gradient(180deg, rgba(20, 17, 15, .38) 0%, rgba(20, 17, 15, .08) 22%, rgba(20, 17, 15, .22) 42%, rgba(20, 17, 15, .62) 70%, rgba(20, 17, 15, .8) 100%),
  linear-gradient(90deg, rgba(20, 17, 15, .3) 0%, rgba(20, 17, 15, 0) 55%, rgba(20, 17, 15, .28) 100%); }
#hero h1, .hero-sub { text-shadow: 0 2px 22px rgba(20, 17, 15, .45), 0 0 2px rgba(20, 17, 15, .35); }
@media (max-width: 720px) {
  .hero-shade { background: linear-gradient(180deg, rgba(20, 17, 15, .4) 0%, rgba(20, 17, 15, .18) 20%, rgba(20, 17, 15, .5) 42%, rgba(20, 17, 15, .82) 68%, rgba(20, 17, 15, .9) 100%); }
}
/* п. 4 — страницы вилл: шапка уходит при прокрутке вниз (v5.js, .hdr-away), меню разделов встаёт наверх */
#header { transition: border-color .4s, background .4s, color .4s, transform .35s var(--ease); }
#header.hdr-away { transform: translateY(-100%); box-shadow: none; }
body:has(#header.hdr-away) .vnav { top: env(safe-area-inset-top, 0px); }
.vnav { transition: top .35s var(--ease); }
/* п. 5 — первые экраны с фото (гиды, Lake Como Cost): справа, где абзац и подпись автора, темнее */
.ph-shade { background:
  linear-gradient(180deg, rgba(20, 17, 15, .42) 0%, rgba(20, 17, 15, 0) 22%, rgba(20, 17, 15, .2) 45%, rgba(20, 17, 15, .8) 100%),
  linear-gradient(90deg, rgba(20, 17, 15, .45) 0%, rgba(20, 17, 15, .2) 45%, rgba(20, 17, 15, .58) 100%); }
@media (max-width: 720px) { .ph-shade { background: linear-gradient(180deg, rgba(20, 17, 15, .42) 0%, rgba(20, 17, 15, .1) 25%, rgba(20, 17, 15, .55) 55%, rgba(20, 17, 15, .86) 100%); } }
.ph--photo .vupd, .ph--photo .g-by, .ph--photo .ph-by { color: rgba(255, 253, 248, .95); }
/* п. 6 — «Связаться с нами» на планшете и на телефоне боком: круглая кнопка без подписи, не закрывает текст */
@media (max-width: 1100px), (max-height: 520px) {
  .cfab-btn { width: 52px; padding: 0; justify-content: center; }
  .cfab-btn > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
/* п. 7 — мелкие серые подписи: крупнее и темнее (таблицы, «коротко о вилле», строка доверия на главной) */
html .vtable thead th { font-size: 12.5px; color: var(--ink-soft); } /* html — сильнее venues.css, он подключается позже */
html .glance dt { font-size: 12.5px; color: var(--ink-soft); }
.hero-proof { font-size: 12.5px; color: rgba(255, 253, 248, .95); }
@media (max-width: 720px) {
  html .vtable td::before { font-size: 12px; color: var(--ink-soft); }
  .hero-proof { font-size: 11.5px; }
}
/* п. 8 — церемонии на планшете: на главной вместо фото слайдер — он, как фото, слева во всю высоту карточки */
@media (min-width: 721px) and (max-width: 900px) {
  .cer article > .slider { grid-row: 1 / span 6; align-self: start; }
  .cer article > :not(.slider) { grid-column: 2; }
}
@media (max-width: 720px) { .cer article > .slider { grid-row: auto; } }
/* п. 9 — заголовок первого экрана с фильмом на планшете — плавно, а не как на телефоне */
@media (max-width: 900px) { .ph--frame .ph-title { font-size: clamp(32px, 5.4vw, 44px); } }
/* п. 10 — кнопка-ссылка «Legally married on Lake Como» на экране 320 px переносится, а не вылезает за край */
@media (max-width: 400px) { .loc-links .more, .cer .more { white-space: normal; flex-shrink: 1; } }
/* п. 11 — в таблице-карточке ссылка после текста ячейки уходила в узкую колонку подписи: она в колонке значения */
@media (max-width: 720px) {
  html .vtable td[data-label]:not([data-label=""]) > * { grid-column: 2; }
  html .vtable td:not([data-label]) { display: block; }
}
/* п. 12 — «Коротко о вилле» на телефоне: подпись над значением, текст во всю ширину */
@media (max-width: 720px) { html .glance div { grid-template-columns: minmax(0, 1fr); gap: 4px; } }
/* п. 13 — меню телефона: стрелка не касается длинного пункта («Lake Como Weddings») */
#menu .m-acc summary { gap: 16px; }
#menu .m-acc summary i { flex: none; }
/* п. 14 — форма заявки на телефоне: одна рамка вместо двух */
@media (max-width: 720px) { .lead-form { padding: 0; border: 0; background: none; } }

/* ------------------------------------------------------------------
   Подбор вилл (09.11.2026, ТЗ Марины «калькулятор-подбор вилл», inc/villa-picker.php, assets/js/picker.js).
   Разметка шагов — как у прежнего калькулятора (.calc2, .c2-*), здесь — карточки результата, месяц, таблица.
   ------------------------------------------------------------------ */
.vpick-sec .calc2 { margin-top: 0; }
.vpick .c2-presets button.is-on { border-color: var(--ink); color: var(--ink); background: color-mix(in srgb, var(--ink) 6%, transparent); }
.vpick .c2-chip.is-off { cursor: not-allowed; }
.vpick [data-vp-more][hidden] { display: none !important; }
.vp-month select { width: 100%; max-width: 360px; min-height: 44px; padding: 9px 40px 9px 16px; border: 1px solid var(--line); border-radius: 30px; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23777' stroke-width='1.6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat; font: inherit; font-size: 15px; color: var(--ink); appearance: none; -webkit-appearance: none; }
.vp-month select:focus-visible { outline: 1.5px solid var(--brass); outline-offset: 2px; }
.vp-cards { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.vp-card { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 14px; padding: 14px; border-radius: 14px; background: var(--ivory); }
.vp-card--elop, .vp-card:not(:has(.vp-img)) { grid-template-columns: minmax(0, 1fr); }
.vp-img { width: 84px; aspect-ratio: 1; border-radius: 10px; overflow: hidden; }
.vp-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vp-body { display: grid; gap: 6px; min-width: 0; }
.vp-n { font-size: 16px; font-weight: 600; line-height: 1.3; }
.vp-n a { color: inherit; text-decoration: none; }
.vp-n a:hover { color: var(--brass); }
.vp-j { font-size: 13.5px; line-height: 1.45; color: var(--ink-soft, var(--ink)); }
.vp-p { font-size: 20px; font-weight: 600; line-height: 1.2; letter-spacing: -.01em; }
.vp-p small { font-size: 13px; font-weight: 400; color: var(--muted); letter-spacing: 0; }
.vp-l { font-size: 12.5px; line-height: 1.4; color: var(--muted); }
.vp-l--min { color: var(--brass); }
.vp-btns { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 4px; }
.vp-btns .more { font-size: 13px; }
.vp-also-t { font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.vp-also { display: grid; gap: 4px; margin: -8px 0 0; padding: 0; list-style: none; font-size: 14px; }
.vp-also a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.vp-also a:hover { text-decoration-color: var(--brass); }
.vp-msg { font-size: 15px; line-height: 1.5; }
.vp-msg--sm { font-size: 13.5px; color: var(--muted); }
.vp-btns-main .vp-wa { justify-self: center; font-size: 13px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }

.vp-table { margin-top: clamp(56px, 6vw, 96px); max-width: var(--w-media, 1040px); }
.vp-table .h2 { margin-bottom: 24px; }
.vp-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.vp-scroll table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 15px; line-height: 1.4; }
.vp-scroll th, .vp-scroll td { padding: 12px 16px 12px 0; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }
.vp-scroll thead th { font-size: 11.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); white-space: normal; }
.vp-scroll tbody th { font-weight: 500; white-space: normal; }
.vp-scroll tbody th a { color: inherit; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 3px; }
.vp-scroll .vp-tgroup th { padding-top: 26px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--brass); border-bottom-color: var(--ink); }
.vp-table .note { margin-top: 14px; }
.vp-faq { margin-top: 32px; }
@media (max-width: 720px) {
  .vp-scroll thead th:first-child, .vp-scroll tbody tr:not(.vp-tgroup) th { position: sticky; left: 0; z-index: 1; min-width: 9.5em; max-width: 9.5em; padding-right: 12px; background: var(--paper); }
  .sec--paper .vp-scroll thead th:first-child, .sec--paper .vp-scroll tbody tr:not(.vp-tgroup) th { background: var(--paper); }
  .sec:not(.sec--paper) .vp-scroll thead th:first-child, .sec:not(.sec--paper) .vp-scroll tbody tr:not(.vp-tgroup) th { background: var(--ivory); }
  .vp-card { grid-template-columns: 72px minmax(0, 1fr); }
  .vp-img { width: 72px; }
}
.vp-btns { align-items: center; }
.vp-link { font-size: 13px; color: var(--ink); text-decoration: underline; text-decoration-color: var(--brass); text-underline-offset: 3px; }
.vp-link:hover { color: var(--brass); }
.vp-scroll .vp-tgroup th span { position: sticky; left: 0; display: inline-block; }
/* Строка под карточками цен Wedding Cost (ТЗ: «одна строка мелким шрифтом») — отступ от карточек, мельче основного текста. */
.sec .tiers-note { margin-top: 20px; font-size: 14px; line-height: 1.5; color: var(--muted); }
.sec .tiers-note::before { content: "*"; margin-right: 4px; color: var(--brass); }
/* Список месяцев подбора вилл обрезался рамкой калькулятора (overflow: clip ради скругления) — рамка без обрезки, скругление у колонки результата. */
.calc2.vpick { overflow: visible; }
.vpick .c2-res { border-radius: 0 18px 18px 0; }
.vpick .vp-month { position: relative; display: block; max-width: 360px; }
.vpick .vp-month .wsel-panel { z-index: 70; }
@media (max-width: 1024px) { .vpick .c2-res { border-radius: 0 0 18px 18px; } }

/* Бегущая строка регионов на главных — ссылки на разделы (09.11.2026, 81-home-ticker-links.php); на наведении строка стоит. */
.ticker-track a { padding-right: .9em; color: inherit; text-decoration: none; transition: color .3s var(--ease); }
.ticker-track a::after { content: "·"; padding-left: .9em; color: var(--brass); }
.ticker-track a:hover, .ticker-track a:focus-visible { color: var(--brass); }
.ticker:hover .ticker-track, .ticker:focus-within .ticker-track { animation-play-state: paused; }
/* Мега-меню из коротких групп (More of Italy / Другие регионы) — одним столбиком (09.11.2026). */
.sub--mm.sub--stack { grid-auto-flow: row; grid-auto-columns: auto; gap: 16px; min-width: 220px; }

/* ------------------------------------------------------------------
   Проверка сайта 09.11.2026 — телефон (≤720 px): подписи не мельче 12 px, зоны нажатия — от 32 px.
   Было: факты первого экрана историй 9.5 px (174 страницы), подписи формы и бейджи 11 px, «more»-ссылки 20 px высотой.
   ------------------------------------------------------------------ */
@media (max-width: 720px) {
  .ph-facts li span, .ph--center .ph-facts li span, .ph--frame.ph--center .phf-facts > li > span, .slider .badge, .cs-credits dt, .lf > span, .badge, .hero-proof li, .pill.pill--line { font-size: 12px; }
  a.more { min-height: 32px; }
  .vp-btns-main .vp-wa, .vquote-link { display: inline-block; padding-block: 7px; }
  footer a { display: inline-block; padding-block: 5px; }
  .filters select, .cs-filter select, main select { min-height: 40px; }
}
/* П. 4 «Полной проверки сайта» 09.11.2026: «Записаться на видеозвонок» на 360 px шире экрана — текст кнопки переносится. */
@media (max-width: 720px) { .pill--call, .lead .pill, form .pill { white-space: normal; max-width: 100%; text-align: center; height: auto; min-height: 44px; } }

/* 10.11.2026, Марина: отзывы на страницах вилл — не как обычный текст: курсив, кавычки, латунная «“» сверху. */
html .vquote blockquote { position: relative; }
html .vquote blockquote::before { content: "“"; display: block; height: .45em; margin-bottom: .1em; font-family: var(--font-display, inherit); font-size: clamp(56px, 5vw, 84px); font-style: normal; line-height: 1; color: var(--brass); }
html .vquote blockquote p { font-style: italic; }
html .vquote blockquote p::before { content: "«"; }
html .vquote blockquote p::after { content: "»"; }
html[lang^="en"] .vquote blockquote p::before { content: "“"; }
html[lang^="en"] .vquote blockquote p::after { content: "”"; }

/* Ряд фото под вступлением виллы (_v_intro_photos, single-venue.php) — 4 в ряд, на телефоне 2. */
.vintro-pics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: clamp(32px, 4vw, 56px); }
.vintro-pics a { display: block; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; }
.vintro-pics img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 720px) { .vintro-pics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } }

/* 10.11.2026: отзыв в тексте гида («> текст» в разметке, inc/md.php) — как отзыв на странице виллы, без линии слева от .prose */
html .prose .g-quote { margin: 2.2em 0; }
html .prose .g-quote blockquote { margin: 0; padding: 0; border: 0; }
html .prose .g-quote blockquote p { margin: 0; font-size: clamp(21px, 1.8vw, 28px); line-height: 1.4; }
html .prose .g-quote footer { margin-top: 14px; font-size: 14px; color: var(--muted, #6b6258); }
html .prose .g-quote footer b { color: var(--ink, inherit); }

/* 11.11.2026 (Марина: «на телефоне меню не прокручивается вниз»): при открытом меню Lenis остановлен и гасит касания —
   у #menu атрибут data-lenis-prevent (header.php); прокрутка меню не уходит на страницу. */
#menu { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }

/* 11.11.2026: фото у абзаца в тексте виллы/гида («{photos:ID,ID}», inc/md.php) — одно во всю колонку или два рядом */
html .prose .text-pics { display: grid; grid-template-columns: repeat(var(--n, 1), minmax(0, 1fr)); gap: 10px; margin: 1.4em 0 1.8em; }
html .prose .text-pics--2 { --n: 2; }
html .prose .text-pics--3 { --n: 3; }
html .prose .text-pics a { display: block; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; }
html .prose .text-pics--1 a { aspect-ratio: 3 / 2; }
html .prose .text-pics img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* фото к отзыву виллы (_v_reviews_photo) */
.vweds-wrap .vrev-ph { aspect-ratio: 4 / 5; max-height: 520px; border-radius: 14px; overflow: hidden; }
.vweds-wrap .vrev-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 11.11.2026 (бриф 4.1, п. 18): «In their words» — тост Альберта в истории Юстины и Альберта */
.cs-flow .prose .cs-toast-by { margin: -.4em 0 0; color: var(--muted); font-size: .9em; }
.cs-flow .prose blockquote.cs-toast { margin: 1.2em 0 0; padding: 0 0 0 clamp(18px, 2vw, 28px); border-left: 2px solid var(--brass); font: inherit; color: var(--ink-soft, inherit); }
.cs-flow .prose blockquote.cs-toast > p { margin: 0 0 .9em; }
.cs-flow .prose blockquote.cs-toast > p:last-child { margin-bottom: 0; }
/* 11.11.2026 (PDF проверки, п. 8): цена свадьбы вдвоём вместо точек в блоке вилл элопмента и у виллы */
.vcard-price { font-size: 14px; color: var(--ink-soft, inherit); white-space: nowrap; }
.vbudget-level .vbudget-elope { display: block; margin-top: 6px; font-size: 14px; color: var(--muted); }
/* 11.11.2026 (PDF проверки, п. 9): «Contact us» после первого экрана — круглая кнопка без подписи, не закрывает подписи карточек */
.cfab--mini:not(.is-open) .cfab-btn { width: 52px; padding: 0; justify-content: center; }
.cfab--mini:not(.is-open) .cfab-btn > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* 12.11.2026: длинный отзыв у виллы (полный текст из Google) — шрифтом основного текста, не крупной цитатой */
html .vquote.vquote--long blockquote p { font-size: var(--body, 18px); line-height: 1.6; }
