.promo-section { padding: 24px 0; }
.hero + .section--tight { padding-bottom: 0; }
.hero + .section--tight + #plavby { padding-top: clamp(40px, 4.5vw, 64px); }
.promo-section--top + .section--tight { padding-block: 8px 0; }
.promo-section--top + .section--tight + #plavby { padding-top: clamp(40px, 4.5vw, 64px); }
.promo-section--bottom { padding-bottom: 48px; }
.promo-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.promo-card { --promo-ink: #fff3d9; --promo-accent: #efd295; position: relative; display: flex; align-items: center; overflow: hidden; min-width: 0; min-height: 200px; border-radius: 18px; background: #101e36; color: var(--promo-ink); text-decoration: none; isolation: isolate; box-shadow: 0 10px 30px #0e263512; transition: transform .2s ease, box-shadow .2s ease; }
a.promo-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px #0e263529; color: var(--promo-ink); text-decoration: none; }
a.promo-card:focus-visible { outline: 3px solid #0797a7; outline-offset: 5px; }
.promo-card--advent { background: #133c35; --promo-ink: #fff5dc; --promo-accent: #f3d39c; }
.promo-card--valentyn { background: #512c3e; --promo-ink: #fff0ed; --promo-accent: #ffd0c7; }
.promo-card--poukaz { background: #f4e9d5; --promo-ink: #173b42; --promo-accent: #173b42; }
.promo-card__copy { z-index: 1; flex: 1 1 62%; padding: 22px 40px; }
.promo-card__eyebrow { display: block; color: var(--promo-accent); font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.promo-card .promo-card__title { margin: 7px 0 9px; color: var(--promo-ink); font-family: Georgia, serif; font-size: clamp(27px, 2.6vw, 38px); font-weight: 500; line-height: 1.13; letter-spacing: -.025em; }
.promo-card .promo-card__text { margin: 0; color: var(--promo-ink); font-size: 14px; line-height: 1.65; max-width: 36em; }
.promo-card__cta { display: inline-flex; align-items: center; gap: 16px; margin-top: 14px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--promo-accent); font-size: 13px; font-weight: 600; }
.promo-card__cta span { font-size: 20px; }
.promo-card__art { display: block; width: 38%; height: 210px; object-fit: cover; object-position: center; margin: 0; pointer-events: none; }
.promo-card--poukaz { grid-column: 1 / -1; min-height: 200px; flex-direction: row; align-items: center; }
.promo-card--poukaz .promo-card__copy { flex: 1 1 55%; padding: 22px 40px; }
.promo-card--poukaz .promo-card__art { width: 40%; height: 210px; margin: 0; object-fit: contain; }
.banner-editor-preview { margin-bottom: 24px; max-width: 850px; }
.banner-editor-preview .promo-card:not(.promo-card--poukaz) { flex-direction: row; min-height: 200px; align-items: center; }
.banner-editor-preview .promo-card__copy { flex: 1 1 55%; padding: 22px 28px; }
.banner-editor-preview .promo-card__art { width: 40%; height: 210px; margin: 0; object-fit: contain; }
.promo-card--theme-a { border-radius: 2px; box-shadow: none; border: 1px solid #b08d4866; }
.promo-card--theme-a::after { content: ''; position: absolute; inset: 9px; border: 1px solid #d8b76f55; pointer-events: none; z-index: 2; }
.promo-card--theme-a .promo-card__copy { padding: 24px 44px; }
.promo-card--theme-a .promo-card__title { font-family: 'Newsreader', Georgia, serif; font-size: clamp(30px, 3vw, 43px); font-weight: 400; }
.promo-card--theme-a .promo-card__eyebrow { letter-spacing: .23em; }
.promo-card--theme-a .promo-card__art { filter: saturate(.65); }
.promo-card--theme-a .promo-card__cta { text-transform: uppercase; letter-spacing: .09em; font-size: 11px; }
.promo-card--theme-b { border-radius: 28px; background: #e4f5f3; --promo-ink: #0e3944; --promo-accent: #075d66; }
.promo-card--theme-b.promo-card--advent { background: #e8f1df; }
.promo-card--theme-b.promo-card--valentyn { background: #fce6e6; --promo-accent: #96344c; }
.promo-card--theme-b.promo-card--poukaz { background: #ffedbc; }
.promo-card--theme-b .promo-card__title { font-family: 'Fraunces', Georgia, serif; font-weight: 700; }
.promo-card--theme-b .promo-card__cta { border: 0; border-radius: 99px; background: #ffcd55; color: #173b42; padding: 9px 19px; }
.promo-card--theme-b .promo-card__art { border-radius: 48% 0 0 48%; filter: saturate(1.25); }
.promo-card--theme-c { border-radius: 0; background: #f2f4f6; --promo-ink: #131c24; --promo-accent: #14505f; border: 1px solid #1f6f8b33; box-shadow: none; }
.promo-card--theme-c::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 9px; background: repeating-linear-gradient(to bottom, #1f6f8b 0 1px, transparent 1px 12px); border-left: 2px solid #1f6f8b; }
.promo-card--theme-c .promo-card__title { font-family: 'Archivo', 'Segoe UI', sans-serif; font-weight: 700; letter-spacing: -.045em; }
.promo-card--theme-c .promo-card__eyebrow { font-family: 'Archivo', 'Segoe UI', sans-serif; color: #14505f; border-top: 1px solid #1f6f8b55; padding-top: 9px; width: fit-content; }
.promo-card--theme-c .promo-card__cta { background: #14505f; color: white; border: 0; padding: 9px 17px; border-radius: 2px; }
.promo-card--theme-c .promo-card__art { filter: saturate(.45); border-left: 5px solid #1f6f8b; }
.promo-card--theme-d { border-radius: 20px; background: #eef0ff; --promo-ink: #1c2246; --promo-accent: #33409b; border: 1px solid #4558c829; }
.promo-card--theme-d.promo-card--advent { background: #eaf4ef; }
.promo-card--theme-d.promo-card--valentyn { background: #fce5ec; }
.promo-card--theme-d.promo-card--poukaz { background: #fff0d4; }
.promo-card--theme-d::after { content: ''; position: absolute; left: 40px; top: 0; width: 100px; height: 11px; background: repeating-linear-gradient(90deg, #4558c8 0 12px, #eea83c 12px 24px, #e05377 24px 36px); clip-path: polygon(0 0,100% 0,100% 100%,94% 40%,88% 100%,82% 40%,76% 100%,70% 40%,64% 100%,58% 40%,52% 100%,46% 40%,40% 100%,34% 40%,28% 100%,22% 40%,16% 100%,10% 40%,4% 100%); }
.promo-card--theme-d .promo-card__title { font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif; font-weight: 800; letter-spacing: -.045em; }
.promo-card--theme-d .promo-card__cta { background: #bb345a; color: white; border-radius: 10px; padding: 9px 18px; border: 0; }
.promo-card--theme-d .promo-card__art { clip-path: polygon(9% 0,100% 0,100% 100%,0 100%); filter: saturate(1.35); }
@media (min-width: 960px) {
  .promo-grid--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .promo-grid--pair .promo-card { grid-column: auto; height: 100%; }
  .promo-grid--pair .promo-card__copy { padding: 22px 24px; }
  .promo-grid--pair .promo-card__title { font-size: 28px; }
  .promo-grid--pair .promo-card__art { width: 34%; align-self: stretch; height: auto; min-height: 210px; object-fit: cover; }
}
@media (max-width: 640px) {
  .promo-section { padding: 20px 0; }
  .promo-card, .banner-editor-preview .promo-card:not(.promo-card--poukaz) { min-height: 0; flex-direction: column; }
  .promo-card__copy, .promo-card--poukaz .promo-card__copy, .banner-editor-preview .promo-card__copy { width: 100%; padding: 18px 24px 24px; }
  .promo-card__art, .promo-card--poukaz .promo-card__art, .banner-editor-preview .promo-card__art { position: absolute; right: 0; bottom: 0; width: 120px; height: 86px; object-position: center 65%; }
  .promo-card--theme-a .promo-card__copy { padding: 20px 27px 24px; }
  .promo-card .promo-card__text { line-height: 1.5; }
  .promo-card .promo-card__cta { margin-top: 20px; max-width: calc(100% - 104px); min-height: 44px; gap: 8px; font-size: 12px; padding: 8px 12px; }
  .promo-card__cta span { flex-shrink: 0; }
  .promo-card--theme-b .promo-card__art { border-radius: 45% 0 0 0; }
  .promo-card--theme-c .promo-card__art { border-left: 0; border-top: 4px solid #1f6f8b; }
  .promo-card--theme-d .promo-card__art { clip-path: polygon(0 7%,100% 0,100% 100%,0 100%); }
}
@media (prefers-reduced-motion: reduce) { .promo-card { transition: none; } a.promo-card:hover { transform: none; } }
