[hidden]{display:none!important}
.rules-section{padding-top:24px;padding-bottom:40px}.booking-details{border:1px solid var(--line);border-radius:18px;background:#fffdf5;padding:22px 26px}.booking-details summary{cursor:pointer;font-weight:700;font-size:20px}.booking-details summary span{display:inline-block;font-weight:400;font-size:13px;color:var(--muted);margin-left:12px}.booking-details[open] summary{margin-bottom:28px}.rules-content{font-size:16px;line-height:1.65}.rules-content h3{margin:28px 0 12px}.rules-content li{margin:10px 0}.rules-table-scroll{overflow-x:auto}.rules-table{border-collapse:collapse;width:100%;min-width:510px;font-size:15px}.rules-table td,.rules-table th{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}.rules-table thead{background:#edf0df}.rules-table tbody tr:nth-child(5),.rules-table tbody tr:nth-child(6){background:#faf1dd}.legal-page{max-width:960px}.legal-page h1{font-size:clamp(32px,5vw,58px);line-height:1.08}.legal-page h2{font-size:30px;margin-top:44px}.legal-page p{line-height:1.8}.footer-legal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:14px 28px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.footer-legal button{border:0;padding:0;background:none;font:inherit;color:inherit;cursor:pointer;text-decoration:underline}footer.wrap{flex-wrap:wrap}
.cookie-banner{position:fixed;z-index:1000;right:24px;bottom:24px;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:25px;border:1px solid #c4cda9;border-radius:22px;background:#fffdf5;box-shadow:0 10px 55px #27391f33;font-size:14px;line-height:1.5}.cookie-banner h2{font-size:25px;margin:0 0 12px}.cookie-banner p{margin:10px 0}.cookie-choice{display:flex;gap:12px;align-items:flex-start;margin:18px 0}.cookie-choice input{width:21px;height:21px;flex:none;margin-top:2px;accent-color:#4c751b}.cookie-choice a{text-decoration:underline}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}.cookie-actions .btn{font-size:13px;padding:12px 16px}.cookie-decline{background:transparent;border:1px solid #82906b}.cookie-actions button:disabled{opacity:.45;cursor:not-allowed}.review-consent-placeholder{min-height:260px;display:grid;place-content:center;text-align:center;padding:28px;border:1px dashed #a9b890;border-radius:16px;background:#edf0df}.review-consent-placeholder .btn{justify-self:center}
.street-truck{object-fit:contain!important;background:white;border-radius:24px}.street-community{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:60px}.street-community img{width:100%;height:auto;max-height:200px;object-fit:contain}.street-posters{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.street-posters figure{margin:0}.street-posters img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 8px 28px #26391a15}.street-posters a{display:block;cursor:zoom-in}.street-posters figcaption{padding:15px 0;color:var(--muted);font-size:14px}.street-teaser{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.street-teaser img{width:100%;height:auto;border-radius:22px}.nav nav{gap:15px;font-size:13px}
@media(max-width:800px){.street-community,.street-teaser{grid-template-columns:1fr;gap:24px}.street-community>a{max-width:250px}.street-posters{grid-template-columns:1fr}.cookie-banner{right:16px;bottom:78px;max-height:calc(100dvh - 105px);padding:20px}.booking-details{padding:20px 16px}.booking-details summary span{display:block;margin:8px 0 0}.rules-table td,.rules-table th{padding:10px}.footer-legal{flex-direction:column;align-items:flex-start}}

.rental-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.rental-grid{grid-template-columns:1fr}}

.booking-consent{display:flex;align-items:flex-start;gap:12px;margin:22px 0;font-size:13px;line-height:1.5}.booking-consent input{width:20px;height:20px;flex:none;accent-color:#4b721e;margin-top:2px}.booking-consent a{text-decoration:underline}.booking-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-success{padding:16px;border-radius:12px;background:#e8f2df;color:#2f531c}.booking-error{padding:16px;border-radius:12px;background:#fff0eb;color:#9b3025}#booking-submit:disabled{opacity:.6;cursor:wait}

.company-details{flex-basis:100%;font-size:12px;line-height:1.7;color:var(--muted);padding-top:16px;overflow-wrap:anywhere}

.header-contact{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:2px}.header-region{font-size:14px;font-weight:400;line-height:1.4;color:var(--muted)}
@media(max-width:800px){.header-contact{margin-left:auto}}
@media(max-width:480px){.header-contact{display:none}}

.footer-bottom{flex-basis:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.footer-bottom .company-details{flex:1;max-width:760px}.site-credit{display:flex;align-items:center;gap:14px;text-align:right;font-size:14px;line-height:1.6;color:var(--muted);flex-shrink:0}.site-credit a{color:var(--green)}.admin-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px}.admin-icon:hover{background:#e9eddd}@media(max-width:800px){.footer-bottom{flex-direction:column;align-items:stretch;gap:20px}.site-credit{align-self:flex-end}}
/* Seasonal accents supplement the original brand and are absent in base mode. */
body[data-season="autumn"]{--cream:#fff8eb;--yellow:#edbd66}body[data-season="winter"]{--cream:#fafbf7;--yellow:#e4c775}body[data-season="spring"]{--cream:#fafbf0;--yellow:#e6dc8c}body[data-season="summer"]{--cream:#fffaf0;--yellow:#f4d568}
.season-banner{position:relative;isolation:isolate;overflow:hidden;min-height:175px;margin-top:22px;border-radius:16px;display:flex;justify-content:center;align-items:center;padding:24px 25%;background:#fff9ed}.season-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;pointer-events:none}.season-message{text-align:center;max-width:620px;overflow-wrap:anywhere}.season-message h2{font-size:26px;line-height:1.2;letter-spacing:-.5px;margin:0 0 8px}.season-message p{font-size:16px;line-height:1.5;margin:0 0 10px;white-space:normal}.season-message a{font-size:14px;font-weight:700;color:var(--green);display:inline-block;padding:6px 0;min-height:32px}.season-banner+.hero{padding-top:30px}@media(max-width:800px){.season-banner{padding:25px 19%;min-height:170px;margin-top:16px}.season-message h2{font-size:23px}.season-message{background:#fff9edd9;border-radius:10px;padding:10px}.season-message p{font-size:14px}}@media(max-width:480px){.season-banner{padding:20px 14px 20px 24%;min-height:180px}.season-banner>img{object-position:left}.season-message{padding:12px;text-align:left}.season-message h2{font-size:21px}}

.header-location{display:flex;align-items:center;justify-content:flex-end;gap:10px}.header-max{display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:32px;padding:6px 2px;border-radius:5px}.header-max img{width:56px;height:18px;object-fit:contain}.header-max:hover{background:#e9eddd}@media(max-width:480px){.header-contact{display:flex;order:3;width:100%;margin:0}.header-location{width:100%;justify-content:center}.nav{padding-top:8px;padding-bottom:4px;row-gap:0}}

.dessert-grid .small-card img{aspect-ratio:3/2;object-fit:contain;background:#fff9ed}

#catering-grid .product-card>img{aspect-ratio:3/2;object-fit:contain;background:#fff9ed}

.directions{padding-top:55px;padding-bottom:45px}.directions-card{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#edf0df}.directions-copy{padding:36px;display:flex;flex-direction:column;align-items:flex-start}.directions-copy h2{font-size:38px;margin-bottom:20px}.directions-copy h3{font-size:22px}.directions-address{font-size:18px;margin:4px 0}.directions-copy .sub{margin:4px 0 22px}.directions-copy .btn{margin-bottom:18px}.directions-phone{font-size:19px;font-weight:bold;text-decoration:none;margin-bottom:12px}.directions-copy .text-link{font-size:14px}.directions-map{min-height:420px;display:grid;background:#fff9ed}.directions-map iframe{width:100%;height:100%;min-height:420px;border:0}.map-consent-placeholder{padding:36px;align-self:center;text-align:center;max-width:460px;margin:auto;background:transparent!important}.map-consent-placeholder strong{font-size:23px;line-height:1.3;display:block}.map-consent-placeholder p{font-size:16px;line-height:1.6}.map-consent-placeholder[hidden],.directions-map iframe[hidden]{display:none!important}@media(max-width:800px){.directions-card{grid-template-columns:1fr}.directions-copy{padding:28px}.directions-map,.directions-map iframe{min-height:340px}.directions-copy h2{font-size:32px}}

.trust-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center;margin-bottom:30px}.trust-heading h2{margin:0}.trust-intro{font-size:18px;line-height:1.7;margin:0}.trust-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.trust-logo{height:116px;display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--line);border-radius:14px;padding:18px;margin:0}.trust-logo img{width:100%;height:100%;object-fit:contain}.trust-exhibition{display:grid;grid-template-columns:230px 1fr;gap:36px;background:#edf0df;border:1px solid var(--line);border-radius:20px;padding:32px;margin-top:26px}.trust-exhibition-names{font-size:30px;line-height:1.5;font-weight:800;color:var(--green);align-self:center}.trust-exhibition-names span{display:block;font-size:24px}.trust-exhibition h3{font-size:24px;line-height:1.25;margin:0 0 14px}.trust-exhibition p{margin:0 0 16px}.trust-exhibition .text-link{font-weight:bold}@media(max-width:900px){.trust-logos{grid-template-columns:repeat(4,minmax(0,1fr))}.trust-heading{grid-template-columns:1fr;gap:16px}.trust-exhibition{grid-template-columns:180px 1fr;gap:24px}}@media(max-width:600px){.trust-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.trust-logo{height:88px;padding:10px;border-radius:10px}.trust-exhibition{grid-template-columns:1fr;padding:24px}.trust-exhibition-names{font-size:26px}.trust-exhibition-names span{display:inline;margin-left:16px;font-size:22px}.trust-intro{font-size:16px}.trust-exhibition h3{font-size:22px}}

/* Compact partner grid; viewport trims whitespace without altering original artwork. */
.trust-logos{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:8px}.trust-logo{height:76px;padding:12px;border-radius:10px;text-decoration:none}.trust-logo>img{width:112px;height:48px;object-fit:contain}.trust-logo .partner-crop{display:block;position:relative;overflow:hidden;flex-shrink:0}.partner-crop img{object-fit:fill}.trust-logo[href]:hover{border-color:var(--green);background:#fff}.trust-logo[href]:focus-visible{outline:3px solid var(--green);outline-offset:2px}@media(max-width:600px){.trust-logos{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:6px}.trust-logo{height:70px;padding:10px}}

/* ARTISHOK_SERVICE_IMAGE_FILL_START */

/*
   Главная → Кейтеринг / Аренда
   Фото полностью заполняет верхнюю часть карточки
*/

.service-card {
  overflow: hidden !important;
}

.service-card > img.section-art {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  height: 360px !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  border-radius: 0 !important;
}

/* Планшет */
@media (max-width: 900px) {
  .service-card > img.section-art {
    height: 300px !important;
  }
}

/* Телефон */
@media (max-width: 600px) {
  .service-card > img.section-art {
    width: 100% !important;
    height: 240px !important;
    object-fit: cover !important;
  }
}

/* ARTISHOK_SERVICE_IMAGE_FILL_END */


/* ARTISHOK_BACK_TO_TOP_START */

.back-to-top {
  position: fixed;
  right: 26px;
  bottom: 26px;
  z-index: 9999;

  width: 54px;
  height: 54px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(33, 68, 45, 0.18);
  border-radius: 50%;

  background: #23472d;
  color: #fffdf5;

  font-size: 28px;
  line-height: 1;
  font-family: Arial, sans-serif;

  box-shadow: 0 8px 28px rgba(25, 45, 31, 0.22);

  cursor: pointer;

  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);

  transition:
    opacity .25s ease,
    transform .25s ease,
    visibility .25s ease,
    background .2s ease;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  background: #315f3d;
  transform: translateY(-2px);
}

.back-to-top:focus-visible {
  outline: 3px solid rgba(231, 163, 49, .55);
  outline-offset: 3px;
}

/* на телефоне поднимаем выше нижней панели сайта */
@media (max-width: 700px) {
  .back-to-top {
    width: 48px;
    height: 48px;

    right: 16px;
    bottom: 82px;

    font-size: 25px;
  }
}

/* ARTISHOK_BACK_TO_TOP_END */


/* =========================================
   BACK TO TOP — CENTERED GLASS BUTTON
   ========================================= */

.back-to-top {
  left: 50% !important;
  right: auto !important;
  bottom: 22px !important;

  width: 46px !important;
  height: 46px !important;

  border-radius: 50% !important;

  background: rgba(35, 71, 45, 0.58) !important;
  border: 1px solid rgba(255, 255, 255, 0.42) !important;

  color: rgba(255, 255, 255, 0.92) !important;

  font-size: 24px !important;

  box-shadow:
    0 5px 18px rgba(20, 45, 28, 0.14) !important;

  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);

  opacity: 0 !important;
  visibility: hidden;

  transform:
    translate(-50%, 12px) !important;

  transition:
    opacity .25s ease,
    transform .25s ease,
    background .2s ease !important;
}

.back-to-top.is-visible {
  opacity: 0.62 !important;
  visibility: visible;

  transform:
    translate(-50%, 0) !important;
}

.back-to-top.is-visible:hover {
  opacity: 0.95 !important;

  background:
    rgba(35, 71, 45, 0.82) !important;

  transform:
    translate(-50%, -3px) !important;
}

.back-to-top:focus-visible {
  opacity: 1 !important;

  outline:
    2px solid rgba(231, 163, 49, 0.7) !important;

  outline-offset: 3px;
}

/* Телефон:
   располагаем выше нижней панели сайта */
@media (max-width: 700px) {

  .back-to-top {
    left: 50% !important;
    right: auto !important;

    bottom: 78px !important;

    width: 42px !important;
    height: 42px !important;

    font-size: 22px !important;

    transform:
      translate(-50%, 10px) !important;
  }

  .back-to-top.is-visible {
    opacity: 0.55 !important;

    transform:
      translate(-50%, 0) !important;
  }

  .back-to-top.is-visible:hover {
    transform:
      translate(-50%, -2px) !important;
  }
}


/* GOODNESS_PROJECT_LOGO_START */

.good-project-logo {
  display: block !important;
  width: min(340px, 78vw) !important;
  max-width: 100% !important;
  height: auto !important;

  margin: 18px 0 22px !important;
  padding: 0 !important;

  object-fit: contain !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  background: transparent !important;

  mix-blend-mode: multiply;
}

@media (max-width: 700px) {
  .good-project-logo {
    width: min(270px, 82vw) !important;
    margin: 14px 0 18px !important;
  }
}

/* GOODNESS_PROJECT_LOGO_END */


/* ARTISHOK_LOGO_SEASONS_START */

/* ==========================================================
   Сезонный декор логотипа
   Работает НЕЗАВИСИМО от сезонного баннера
   ========================================================== */

header .nav > a[aria-label*="главная"] {
  position: relative;
  overflow: visible !important;
  isolation: isolate;
}

header .nav > a[aria-label*="главная"] > .logo {
  position: relative;
  z-index: 3;
}

.logo-season-fx {
  position: absolute;

  left: 50%;
  top: -48px;

  width: 270px;
  height: 128px;

  transform: translateX(-50%);

  z-index: 2;

  overflow: visible;
  pointer-events: none;
}

.logo-season-particle {
  position: absolute;
  left: var(--x);
  top: -20px;

  pointer-events: none;
  will-change: transform, opacity;
}


/* ==========================================================
   ОСЕНЬ
   Клён + дуб + берёза
   ========================================================== */

body[data-logo-season="autumn"]
.logo-season-particle.autumn-leaf {
  width: var(--leaf-w);
  height: var(--leaf-h);

  color: var(--leaf-color);

  opacity: 0;

  filter:
    drop-shadow(0 2px 2px rgba(73, 47, 19, .13));

  transform-origin: 50% 45%;

  animation:
    artishokAutumnLeaf
    var(--dur)
    ease-in-out
    infinite;

  animation-delay:
    calc(var(--delay) * -1s);
}

.logo-season-particle.autumn-leaf svg {
  display: block;

  width: 100%;
  height: 100%;

  overflow: visible;
}

/* небольшая разница между типами листьев */

.autumn-leaf.leaf-maple {
  filter:
    drop-shadow(0 2px 3px rgba(99, 43, 18, .14));
}

.autumn-leaf.leaf-oak {
  filter:
    drop-shadow(0 2px 2px rgba(75, 53, 19, .13));
}

.autumn-leaf.leaf-birch {
  filter:
    drop-shadow(0 1px 2px rgba(93, 66, 19, .12));
}

@keyframes artishokAutumnLeaf {

  0% {
    opacity: 0;

    transform:
      translate3d(0, -14px, 0)
      rotate(var(--start-rot))
      rotateY(0deg);
  }

  10% {
    opacity: .84;
  }

  28% {
    transform:
      translate3d(
        calc(var(--drift) * .25),
        30px,
        0
      )
      rotate(calc(var(--start-rot) + 80deg))
      rotateY(55deg);
  }

  55% {
    transform:
      translate3d(
        calc(var(--drift) * -.2),
        67px,
        0
      )
      rotate(calc(var(--start-rot) + 180deg))
      rotateY(130deg);
  }

  78% {
    opacity: .76;

    transform:
      translate3d(
        calc(var(--drift) * .65),
        98px,
        0
      )
      rotate(calc(var(--start-rot) + 285deg))
      rotateY(205deg);
  }

  100% {
    opacity: 0;

    transform:
      translate3d(
        var(--drift),
        132px,
        0
      )
      rotate(calc(var(--start-rot) + 390deg))
      rotateY(270deg);
  }
}


/* ==========================================================
   ЗИМА — СНЕГ
   ========================================================== */

body[data-logo-season="winter"]
.logo-season-particle.season-snow {

  color: rgba(150, 184, 207, .88);

  font-size: var(--size);
  line-height: 1;

  opacity: 0;

  text-shadow:
    0 1px 2px rgba(255,255,255,.95);

  animation:
    artishokSnow
    var(--dur)
    linear
    infinite;

  animation-delay:
    calc(var(--delay) * -1s);
}

@keyframes artishokSnow {

  0% {
    opacity: 0;
    transform: translate3d(0,-10px,0);
  }

  16% {
    opacity: .76;
  }

  100% {
    opacity: 0;

    transform:
      translate3d(
        var(--drift),
        125px,
        0
      )
      rotate(190deg);
  }
}


/* ==========================================================
   ВЕСНА — ЛЕПЕСТКИ
   ========================================================== */

body[data-logo-season="spring"]
.logo-season-particle.season-petal {

  width: var(--petal-w);
  height: var(--petal-h);

  border-radius:
    80% 20% 72% 28%;

  background:
    linear-gradient(
      140deg,
      rgba(241, 177, 192, .96),
      rgba(255, 225, 224, .96)
    );

  opacity: 0;

  animation:
    artishokPetal
    var(--dur)
    ease-in-out
    infinite;

  animation-delay:
    calc(var(--delay) * -1s);
}

@keyframes artishokPetal {

  0% {
    opacity: 0;
    transform: translate3d(0,-12px,0) rotate(0deg);
  }

  15% {
    opacity: .76;
  }

  100% {
    opacity: 0;

    transform:
      translate3d(
        var(--drift),
        125px,
        0
      )
      rotate(320deg);
  }
}


/* ==========================================================
   ЛЕТО — МЯГКИЕ СОЛНЕЧНЫЕ ИСКРЫ
   ========================================================== */

body[data-logo-season="summer"]
.logo-season-particle.season-spark {

  color: rgba(231, 166, 45, .68);

  font-size: var(--size);
  line-height: 1;

  animation:
    artishokSummerSpark
    var(--dur)
    ease-in-out
    infinite;

  animation-delay:
    calc(var(--delay) * -1s);
}

@keyframes artishokSummerSpark {

  0%,
  100% {
    opacity: .10;

    transform:
      translateY(4px)
      scale(.65)
      rotate(0deg);
  }

  50% {
    opacity: .75;

    transform:
      translateY(-5px)
      scale(1.08)
      rotate(45deg);
  }
}


/* Телефон */

@media (max-width: 700px) {

  .logo-season-fx {
    width: 205px;
    height: 98px;

    top: -34px;

    transform:
      translateX(-50%)
      scale(.86);

    transform-origin:
      center bottom;
  }
}


/* Учитываем системную настройку уменьшения анимации */

@media (prefers-reduced-motion: reduce) {

  .logo-season-fx {
    display: none !important;
  }
}

/* ARTISHOK_LOGO_SEASONS_END */


/* =========================================
   КЕЙТЕРИНГ — ПОКАЗАТЬ ВЕРХ ФОТОГРАФИИ
   ========================================= */

/* Первая карточка — Кейтеринг */
.service-grid .service-card:first-child > img.section-art {
  object-fit: cover !important;
  object-position: center top !important;
}

/* На телефоне также сохраняем головы и шапку в кадре */
@media (max-width: 700px) {
  .service-grid .service-card:first-child > img.section-art {
    object-position: center top !important;
  }
}


/* === Dikran 1.0 footer brand === */

.site-credit > span{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}

.dikran-platform-credit{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  margin-top:10px;
  padding:4px 0;
  cursor:help;
  outline:none;
}

.dikran-platform-credit img{
  display:block;
  width:180px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.dikran-platform-tooltip{
  position:absolute;
  right:0;
  bottom:calc(100% + 9px);
  z-index:30;

  width:max-content;
  max-width:min(330px,82vw);

  padding:10px 13px;
  border-radius:10px;

  background:#173b2c;
  color:#fff;

  font-size:12px;
  line-height:1.45;
  text-align:left;

  box-shadow:0 10px 30px rgba(0,0,0,.18);

  opacity:0;
  visibility:hidden;
  transform:translateY(5px);

  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility .18s ease;

  pointer-events:none;
}

.dikran-platform-tooltip strong{
  color:#fff;
  font-weight:700;
}

.dikran-platform-tooltip::after{
  content:"";
  position:absolute;
  right:24px;
  top:100%;

  border:6px solid transparent;
  border-top-color:#173b2c;
}

.dikran-platform-credit:hover .dikran-platform-tooltip,
.dikran-platform-credit:focus .dikran-platform-tooltip,
.dikran-platform-credit:focus-visible .dikran-platform-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

@media(max-width:800px){

  .site-credit > span{
    align-items:flex-end;
  }

  .dikran-platform-credit img{
    width:165px;
  }

  .dikran-platform-tooltip{
    right:0;
    font-size:12px;
  }
}



/* CHEF_MEDIA_CARDS_START */


/* ==========================================
   ДИКРАН В МЕДИА
   ========================================== */

.chef-media {
  margin-top: 28px;
  margin-bottom: 24px;

  padding-top: 22px;

  border-top:
    1px solid rgba(32, 61, 45, .13);
}


.chef-media-heading {
  margin-bottom: 15px;
}


.chef-media-heading .eyebrow {
  margin-bottom: 5px;
}


.chef-media-intro {
  margin: 0;

  max-width: 620px;

  font-size: 14px;
  line-height: 1.45;

  opacity: .72;
}


.chef-media-grid {
  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 10px;
}


.chef-media-card {
  min-width: 0;

  padding: 14px;

  border:
    1px solid rgba(32, 61, 45, .12);

  border-radius: 18px;

  background:
    rgba(255, 255, 255, .30);

  transition:
    transform .20s ease,
    box-shadow .20s ease,
    border-color .20s ease,
    background .20s ease;
}


.chef-media-card:hover {
  transform:
    translateY(-2px);

  border-color:
    rgba(32, 61, 45, .23);

  background:
    rgba(255, 255, 255, .52);

  box-shadow:
    0 8px 22px rgba(32, 61, 45, .08);
}


.chef-media-logo {
  height: 38px;

  margin-bottom: 12px;

  display: flex;
  align-items: center;

  overflow: hidden;
}


.chef-media-logo img {
  display: block;

  width: auto;
  max-width: 116px;

  height: 34px;
  max-height: 34px;

  object-fit: contain;
  object-position: left center;
}


.chef-media-card > strong {
  display: block;

  margin-bottom: 6px;

  font-size: 16px;
  line-height: 1.25;

  color: #203d2d;
}


.chef-media-card > p {
  margin:
    0 0 12px;

  min-height: 42px;

  font-size: 13px;
  line-height: 1.38;

  opacity: .76;
}


.chef-media-actions {
  display: flex;
  flex-direction: column;

  align-items: flex-start;

  gap: 5px;
}


.chef-media-actions a {
  display: inline-flex;

  gap: 5px;

  align-items: center;

  color: #244a31;

  font-size: 12px;
  line-height: 1.3;

  font-weight: 700;

  text-decoration: none;

  border-bottom:
    1px solid rgba(36, 74, 49, .42);

  transition:
    border-color .18s ease,
    opacity .18s ease;
}


.chef-media-actions a:hover {
  opacity: .72;

  border-color:
    rgba(36, 74, 49, .8);
}


.chef-media-actions a span {
  font-size: 11px;
}


/* Планшет */

@media (max-width: 1050px) {

  .chef-media-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .chef-media-card:last-child {
    grid-column:
      1 / -1;
  }

}


/* Телефон */

@media (max-width: 700px) {

  .chef-media {
    margin-top: 24px;
  }

  .chef-media-grid {
    display: flex;

    overflow-x: auto;

    gap: 10px;

    padding-bottom: 7px;

    scroll-snap-type:
      x mandatory;

    -webkit-overflow-scrolling:
      touch;
  }

  .chef-media-card {
    flex:
      0 0 min(78vw, 260px);

    scroll-snap-align:
      start;
  }

  .chef-media-card:last-child {
    grid-column: auto;
  }

}


/* CHEF_MEDIA_CARDS_END */



/* CHEF_MEDIA_SAINARA_START */


/* ==========================================
   САИНАРА — сказочная карточка
   ========================================== */

.chef-media-card.sainara-card {
  position: relative;

  background:
    linear-gradient(
      180deg,
      rgba(255, 248, 253, .95) 0%,
      rgba(255, 244, 235, .92) 100%
    ) !important;

  border-color:
    rgba(184, 94, 132, .18) !important;

  box-shadow:
    0 10px 24px rgba(176, 69, 123, .06);
}

.chef-media-card.sainara-card:hover {
  border-color:
    rgba(184, 94, 132, .28) !important;

  box-shadow:
    0 14px 30px rgba(176, 69, 123, .10);
}

.chef-media-card.sainara-card::before {
  content: "";

  position: absolute;
  inset: 0;

  border-radius: 18px;

  background:
    radial-gradient(
      circle at top right,
      rgba(255, 220, 120, .20),
      transparent 34%
    ),
    radial-gradient(
      circle at bottom left,
      rgba(243, 181, 201, .18),
      transparent 30%
    );

  pointer-events: none;
}

.sainara-logo {
  position: relative;
  z-index: 1;

  display: flex;
  align-items: center;
  gap: 8px;

  margin-bottom: 12px;
  min-height: 38px;
}

.sainara-deco {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 16px;
  line-height: 1;

  color: #d79b34;
  opacity: .9;
}

.sainara-wordmark {
  display: inline-block;

  font-family: "Trebuchet MS", "Arial Rounded MT Bold", Arial, sans-serif;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .02em;

  color: #b44d7d;

  text-shadow:
    0 1px 0 rgba(255,255,255,.85),
    0 6px 18px rgba(180, 77, 125, .14);
}

.sainara-card > strong,
.sainara-card > p,
.sainara-card .chef-media-actions {
  position: relative;
  z-index: 1;
}

.sainara-card > strong {
  color: #7a3157 !important;
}

.sainara-card .chef-media-actions a {
  color: #8b395f !important;
  border-color: rgba(139, 57, 95, .42) !important;
}

.sainara-card .chef-media-actions a:hover {
  border-color: rgba(139, 57, 95, .78) !important;
}


/* чуть лучше на сетке 2х2 */
@media (min-width: 701px) and (max-width: 1050px) {
  .chef-media-card.sainara-card {
    grid-column: 1 / -1;
  }
}


/* mobile */
@media (max-width: 700px) {
  .sainara-wordmark {
    font-size: 28px;
  }
}


/* CHEF_MEDIA_SAINARA_END */



/* CHEF_MEDIA_RECOMPOSE_START */


/* ==========================================
   Блок "Дикран и Анна" — раскрываем фото
   ========================================== */

.about {
  align-items: stretch !important;
}

.about .portrait {
  min-height: 700px !important;

  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;

  padding: 12px 8px 0 !important;

  overflow: hidden !important;
}

.about .portrait img {
  display: block !important;

  width: auto !important;
  height: 104% !important;
  max-width: none !important;

  object-fit: contain !important;
  object-position: center bottom !important;
}


/* ==========================================
   Сетка карточек медиа
   ========================================== */

.chef-media-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
}


/* ==========================================
   Саинара на всю ширину нижнего ряда
   ========================================== */

.chef-media-card.sainara-card {
  grid-column: 1 / -1 !important;

  padding: 18px 18px 18px 18px !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 248, 253, .97) 0%,
      rgba(255, 242, 234, .95) 100%
    ) !important;

  border-color:
    rgba(184, 94, 132, .20) !important;

  box-shadow:
    0 12px 28px rgba(176, 69, 123, .08) !important;

  overflow: hidden !important;
}

.chef-media-card.sainara-card::before {
  content: "";

  position: absolute;
  inset: 0;

  border-radius: 18px;

  background:
    radial-gradient(
      circle at 18% 18%,
      rgba(255, 214, 112, .16),
      transparent 26%
    ),
    radial-gradient(
      circle at 88% 82%,
      rgba(244, 180, 210, .14),
      transparent 24%
    );

  pointer-events: none;
}

.sainara-card-inner {
  position: relative;
  z-index: 1;

  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
}

.sainara-book-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sainara-book {
  width: 190px;

  border-radius: 18px;

  box-shadow:
    0 18px 36px rgba(115, 55, 82, .16);

  transform: rotate(-3deg);
  overflow: hidden;
}

.sainara-book img {
  display: block;
  width: 100%;
  height: auto;
}

.sainara-content {
  min-width: 0;
}

.sainara-kicker {
  margin: 0 0 6px !important;

  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;

  color: #8d4065 !important;
  opacity: .92 !important;
}

.sainara-wordmark {
  margin: 0 0 8px !important;

  font-family: "Trebuchet MS", "Arial Rounded MT Bold", Arial, sans-serif !important;
  font-size: 42px !important;
  line-height: 1 !important;
  font-weight: 900 !important;

  color: #b44d7d !important;

  text-shadow:
    0 1px 0 rgba(255,255,255,.88),
    0 8px 18px rgba(180, 77, 125, .13);
}

.sainara-author {
  margin: 0 0 12px !important;

  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;

  color: #6d4054 !important;
}

.sainara-text {
  margin: 0 0 12px !important;

  font-size: 15px !important;
  line-height: 1.5 !important;

  color: rgba(32, 61, 45, .84) !important;
}

.sainara-card .chef-media-actions a {
  color: #8b395f !important;
  border-color: rgba(139, 57, 95, .42) !important;
}

.sainara-card .chef-media-actions a:hover {
  border-color: rgba(139, 57, 95, .82) !important;
}


/* ==========================================
   Планшет
   ========================================== */

@media (max-width: 1200px) {
  .about .portrait {
    min-height: 620px !important;
  }
}

@media (max-width: 1050px) {
  .chef-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .chef-media-card.sainara-card {
    grid-column: 1 / -1 !important;
  }

  .sainara-card-inner {
    grid-template-columns: 200px minmax(0, 1fr) !important;
  }
}


/* ==========================================
   Телефон
   ========================================== */

@media (max-width: 700px) {

  .about .portrait {
    min-height: 480px !important;
    padding: 8px 8px 0 !important;
  }

  .about .portrait img {
    height: 102% !important;
  }

  .chef-media-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;

    overflow: visible !important;
    gap: 10px !important;
    padding-bottom: 0 !important;

    scroll-snap-type: none !important;
  }

  .chef-media-card {
    flex: initial !important;
  }

  .chef-media-card.sainara-card {
    grid-column: auto !important;
  }

  .sainara-card-inner {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .sainara-book {
    width: min(64vw, 220px) !important;
    transform: rotate(-2deg) !important;
  }

  .sainara-wordmark {
    font-size: 34px !important;
  }

  .sainara-author {
    font-size: 16px !important;
  }
}


/* CHEF_MEDIA_RECOMPOSE_END */


/* =========================================
   AFISHA / AKCII — IMAGE FILL + CONTROLS
   ========================================= */

/* 1. Внешний контейнер слайдера/карточки */
.home-promo,
.home-promos,
.promo-slider,
.afisha-slider,
.events-slider,
.poster-slider,
.stock-slider,
.promo-section,
.afisha-section {
  position: relative !important;
}

/* 2. Карточка */
.home-promo .promo-card,
.home-promos .promo-card,
.promo-slider .promo-card,
.afisha-slider .promo-card,
.events-slider .promo-card,
.poster-slider .promo-card,
.stock-slider .promo-card,
.home-promo .event-card,
.home-promos .event-card,
.afisha-slider .event-card,
.events-slider .event-card,
.poster-slider .event-card {
  position: relative !important;
  overflow: hidden !important;
}

/* 3. Левая часть с фото */
.home-promo .promo-media,
.home-promos .promo-media,
.promo-slider .promo-media,
.afisha-slider .promo-media,
.events-slider .promo-media,
.poster-slider .promo-media,
.stock-slider .promo-media,
.home-promo .card-media,
.home-promos .card-media,
.afisha-slider .card-media,
.events-slider .card-media,
.poster-slider .card-media,
.home-promo .event-media,
.home-promos .event-media,
.afisha-slider .event-media,
.events-slider .event-media,
.poster-slider .event-media,
.home-promo .promo-image,
.home-promos .promo-image,
.afisha-slider .promo-image,
.events-slider .promo-image,
.poster-slider .promo-image,
.stock-slider .promo-image,
.home-promo .event-image,
.home-promos .event-image,
.afisha-slider .event-image,
.events-slider .event-image,
.poster-slider .event-image {
  position: relative !important;
  overflow: hidden !important;
  background: transparent !important;
  padding: 0 !important;
}

/* 4. Само изображение — на весь контейнер */
.home-promo .promo-media img,
.home-promos .promo-media img,
.promo-slider .promo-media img,
.afisha-slider .promo-media img,
.events-slider .promo-media img,
.poster-slider .promo-media img,
.stock-slider .promo-media img,
.home-promo .card-media img,
.home-promos .card-media img,
.afisha-slider .card-media img,
.events-slider .card-media img,
.poster-slider .card-media img,
.home-promo .event-media img,
.home-promos .event-media img,
.afisha-slider .event-media img,
.events-slider .event-media img,
.poster-slider .event-media img,
.home-promo .promo-image img,
.home-promos .promo-image img,
.afisha-slider .promo-image img,
.events-slider .promo-image img,
.poster-slider .promo-image img,
.stock-slider .promo-image img,
.home-promo .event-image img,
.home-promos .event-image img,
.afisha-slider .event-image img,
.events-slider .event-image img,
.poster-slider .event-image img,
.home-promo picture img,
.home-promos picture img,
.promo-slider picture img,
.afisha-slider picture img,
.events-slider picture img,
.poster-slider picture img,
.stock-slider picture img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* 5. Если у левой колонки задан фон — убираем его,
      чтобы не было зелёных полос */
.home-promo .promo-media,
.home-promos .promo-media,
.afisha-slider .promo-media,
.events-slider .promo-media,
.poster-slider .promo-media,
.stock-slider .promo-media,
.home-promo .promo-image,
.home-promos .promo-image,
.afisha-slider .promo-image,
.events-slider .promo-image,
.poster-slider .promo-image,
.stock-slider .promo-image {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* 6. Управление слайдером — внутрь карточки, вправо вниз */
.home-promo .slider-controls,
.home-promos .slider-controls,
.promo-slider .slider-controls,
.afisha-slider .slider-controls,
.events-slider .slider-controls,
.poster-slider .slider-controls,
.stock-slider .slider-controls,
.home-promo .carousel-controls,
.home-promos .carousel-controls,
.afisha-slider .carousel-controls,
.events-slider .carousel-controls,
.poster-slider .carousel-controls,
.home-promo .promo-controls,
.home-promos .promo-controls,
.afisha-slider .promo-controls,
.events-slider .promo-controls,
.poster-slider .promo-controls,
.stock-slider .promo-controls,
.home-promo .swiper-controls,
.home-promos .swiper-controls,
.afisha-slider .swiper-controls,
.events-slider .swiper-controls,
.poster-slider .swiper-controls {
  position: absolute !important;
  right: 22px !important;
  bottom: 22px !important;
  left: auto !important;

  z-index: 20 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;

  margin: 0 !important;
  padding: 10px 12px !important;

  border-radius: 18px !important;
  background: rgba(255, 249, 237, 0.92) !important;
  box-shadow: 0 10px 30px rgba(35, 71, 45, 0.12) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* 7. Кнопки стрелок / паузы / счётчик */
.home-promo .slider-controls button,
.home-promos .slider-controls button,
.promo-slider .slider-controls button,
.afisha-slider .slider-controls button,
.events-slider .slider-controls button,
.poster-slider .slider-controls button,
.stock-slider .slider-controls button,
.home-promo .carousel-controls button,
.home-promos .carousel-controls button,
.afisha-slider .carousel-controls button,
.events-slider .carousel-controls button,
.poster-slider .carousel-controls button,
.home-promo .promo-controls button,
.home-promos .promo-controls button,
.afisha-slider .promo-controls button,
.events-slider .promo-controls button,
.poster-slider .promo-controls button,
.stock-slider .promo-controls button {
  margin: 0 !important;
}

.home-promo .slider-controls .count,
.home-promos .slider-controls .count,
.promo-slider .slider-controls .count,
.afisha-slider .slider-controls .count,
.events-slider .slider-controls .count,
.poster-slider .slider-controls .count,
.stock-slider .slider-controls .count,
.home-promo .carousel-controls .count,
.home-promos .carousel-controls .count,
.afisha-slider .carousel-controls .count,
.events-slider .carousel-controls .count,
.poster-slider .carousel-controls .count,
.home-promo .promo-controls .count,
.home-promos .promo-controls .count,
.afisha-slider .promo-controls .count,
.events-slider .promo-controls .count,
.poster-slider .promo-controls .count,
.stock-slider .promo-controls .count {
  min-width: auto !important;
  white-space: nowrap !important;
  margin: 0 4px !important;
}

/* 8. На мобильном — тоже в карточке, но компактнее */
@media (max-width: 900px) {
  .home-promo .slider-controls,
  .home-promos .slider-controls,
  .promo-slider .slider-controls,
  .afisha-slider .slider-controls,
  .events-slider .slider-controls,
  .poster-slider .slider-controls,
  .stock-slider .slider-controls,
  .home-promo .carousel-controls,
  .home-promos .carousel-controls,
  .afisha-slider .carousel-controls,
  .events-slider .carousel-controls,
  .poster-slider .carousel-controls,
  .home-promo .promo-controls,
  .home-promos .promo-controls,
  .afisha-slider .promo-controls,
  .events-slider .promo-controls,
  .poster-slider .promo-controls,
  .stock-slider .promo-controls {
    right: 14px !important;
    bottom: 14px !important;
    padding: 8px 10px !important;
    gap: 8px !important;
    border-radius: 14px !important;
  }
}

/* 9. Если карточка двухколоночная — чуть больше места под управление */
@media (min-width: 901px) {
  .home-promo .promo-card,
  .home-promos .promo-card,
  .afisha-slider .promo-card,
  .events-slider .promo-card,
  .poster-slider .promo-card,
  .stock-slider .promo-card,
  .home-promo .event-card,
  .home-promos .event-card,
  .afisha-slider .event-card,
  .events-slider .event-card,
  .poster-slider .event-card {
    padding-bottom: 72px !important;
  }
}

