/* Kostur B — Gentleman / Classic */

body.slotivo-kostur-b {
  --sv-dur: 1s;
  --sv-dur-fast: 0.65s;
  --sv-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* gentleman-classic / vintage / leather-wood — warm tertiary */
  --sv-warm: rgba(233, 193, 118, 0.4);
  --sv-gold: #e9c176;
}

/* old-money — bronze secondary */
body.slotivo-kostur-b.slotivo-kostur-b-oldmoney {
  --sv-warm: rgba(119, 90, 25, 0.4);
  --sv-gold: #775a19;
}

@media (prefers-reduced-motion: no-preference) {
  /* 1. Sidebar */
  body.slotivo-kostur-b nav.hidden.md\:flex,
  body.slotivo-kostur-b nav.md\:flex {
    animation: sv-b-sidebar-in 1.1s var(--sv-ease) both;
  }

  body.slotivo-kostur-b nav.hidden.md\:flex li,
  body.slotivo-kostur-b nav.md\:flex li {
    animation: sv-b-fade var(--sv-dur) var(--sv-ease) both;
  }

  body.slotivo-kostur-b nav.hidden.md\:flex li:nth-child(1),
  body.slotivo-kostur-b nav.md\:flex li:nth-child(1) { animation-delay: 0.2s; }
  body.slotivo-kostur-b nav.hidden.md\:flex li:nth-child(2),
  body.slotivo-kostur-b nav.md\:flex li:nth-child(2) { animation-delay: 0.3s; }
  body.slotivo-kostur-b nav.hidden.md\:flex li:nth-child(3),
  body.slotivo-kostur-b nav.md\:flex li:nth-child(3) { animation-delay: 0.4s; }
  body.slotivo-kostur-b nav.hidden.md\:flex li:nth-child(4),
  body.slotivo-kostur-b nav.md\:flex li:nth-child(4) { animation-delay: 0.5s; }
  body.slotivo-kostur-b nav.hidden.md\:flex li:nth-child(5),
  body.slotivo-kostur-b nav.md\:flex li:nth-child(5) { animation-delay: 0.6s; }
  body.slotivo-kostur-b nav.hidden.md\:flex li:nth-child(6),
  body.slotivo-kostur-b nav.md\:flex li:nth-child(6) { animation-delay: 0.7s; }

  body.slotivo-kostur-b nav.hidden.md\:flex a.border-r-2,
  body.slotivo-kostur-b nav.md\:flex a.border-r-2 {
    box-shadow: inset -3px 0 0 var(--sv-gold);
  }

  body.slotivo-kostur-b nav.hidden.md\:flex .mt-auto button:hover,
  body.slotivo-kostur-b nav.md\:flex .mt-auto button:hover {
    box-shadow: 0 0 18px var(--sv-warm);
  }

  /* 2. Hero split */
  body.slotivo-kostur-b main > section:first-of-type > div {
    animation: sv-b-mask-reveal var(--sv-dur) var(--sv-ease) both;
  }

  body.slotivo-kostur-b main > section:first-of-type > div:nth-child(2) {
    animation-delay: 0.2s;
  }

  body.slotivo-kostur-b .slotivo-hero-title {
    animation: sv-b-fade-up var(--sv-dur) var(--sv-ease) 0.35s both;
  }

  body.slotivo-kostur-b .slotivo-hero-subtitle {
    animation: sv-b-fade-up var(--sv-dur) var(--sv-ease) 0.55s both;
  }

  body.slotivo-kostur-b .slotivo-hero-img {
    animation: sv-b-img-reveal 1.3s var(--sv-ease) 0.15s both;
  }

  body.slotivo-kostur-b .slotivo-line-draw {
    position: relative;
  }

  body.slotivo-kostur-b .slotivo-line-draw::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    background: linear-gradient(90deg, var(--sv-gold), transparent);
    animation: sv-b-line-draw 1.2s var(--sv-ease) 0.6s both;
    transform-origin: left;
  }

  /* 3. Booking panel */
  body.slotivo-kostur-b .slotivo-booking-widget {
    animation: sv-b-panel-in var(--sv-dur) var(--sv-ease) 0.4s both;
  }

  body.slotivo-kostur-b .slotivo-booking-field {
    animation: sv-b-fade var(--sv-dur-fast) var(--sv-ease) both;
  }

  body.slotivo-kostur-b select:focus,
  body.slotivo-kostur-b input:focus {
    border-color: var(--sv-gold) !important;
    box-shadow: 0 0 0 1px var(--sv-warm);
  }

  body.slotivo-kostur-b .slotivo-booking-widget button:hover {
    box-shadow: 0 0 20px var(--sv-warm);
  }

  /* 4–7. Classic cards */
  body.slotivo-kostur-b [data-slotivo-reveal] {
    transition: opacity var(--sv-dur) var(--sv-ease), transform var(--sv-dur) var(--sv-ease);
  }

  body.slotivo-kostur-b .slotivo-card-lift {
    transition: transform 0.55s var(--sv-ease), box-shadow 0.55s var(--sv-ease), border-color 0.55s var(--sv-ease);
  }

  body.slotivo-kostur-b .slotivo-card-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2), 0 0 0 1px var(--sv-warm);
  }

  body.slotivo-kostur-b section img,
  body.slotivo-kostur-b article img {
    transition: transform 0.9s var(--sv-ease), filter 0.9s var(--sv-ease);
  }

  body.slotivo-kostur-b article:hover img,
  body.slotivo-kostur-b .group:hover img {
    transform: scale(1.03);
    filter: sepia(0.15);
  }

  body.slotivo-kostur-b .slotivo-stagger-item {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity var(--sv-dur) var(--sv-ease), transform var(--sv-dur) var(--sv-ease);
  }

  body.slotivo-kostur-b .slotivo-stagger-item.slotivo-revealed {
    opacity: 1;
    transform: translateY(0);
  }

  body.slotivo-kostur-b .slotivo-quote-icon {
    animation: sv-b-fade var(--sv-dur-fast) var(--sv-ease) 0.3s both;
  }

  /* 8. Footer */
  body.slotivo-kostur-b footer hr,
  body.slotivo-kostur-b footer .border-t {
    animation: sv-b-line-draw 1s var(--sv-ease) both;
  }

  /* 9–10 */
  body.slotivo-kostur-b #cookie-banner:not(.hidden) {
    animation: sv-b-fade-up var(--sv-dur) var(--sv-ease) both;
  }

  body.slotivo-kostur-b #cookie-banner button:hover {
    box-shadow: 0 0 14px var(--sv-warm);
  }

  body.slotivo-kostur-b #success-modal:not(.hidden) > *:last-child,
  body.slotivo-kostur-b .slotivo-modal-open .slotivo-modal-panel {
    animation: sv-b-modal-card 0.7s var(--sv-ease) both;
  }

  body.slotivo-kostur-b #success-modal .material-symbols-outlined {
    animation: sv-b-check 0.7s var(--sv-ease) 0.25s both;
    color: var(--sv-gold);
  }

  body.slotivo-kostur-b .slotivo-selected {
    box-shadow: 0 0 0 1px var(--sv-gold), 0 0 14px var(--sv-warm) !important;
  }
}

@keyframes sv-b-sidebar-in {
  from { opacity: 0; transform: translateX(-24px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes sv-b-mask-reveal {
  from { opacity: 0; clip-path: inset(0 100% 0 0); }
  to { opacity: 1; clip-path: inset(0 0 0 0); }
}

@keyframes sv-b-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes sv-b-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes sv-b-img-reveal {
  from { opacity: 0; transform: scale(1.03); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes sv-b-line-draw {
  from { transform: scaleX(0); opacity: 0; }
  to { transform: scaleX(1); opacity: 1; }
}

@keyframes sv-b-panel-in {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes sv-b-modal-card {
  from { opacity: 0; transform: scale(0.97) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes sv-b-check {
  from { opacity: 0; transform: scale(0.7); }
  to { opacity: 1; transform: scale(1); }
}
