/* Vesta · subtelne odświeżenie istniejącej strony Divi 5 · 1.0.0 */
body.vesta-d5-page {
  --vesta-content-width: 1280px;
  --vesta-content-gutter: clamp(20px, 3.5vw, 48px);
  --vesta-refresh-gold: linear-gradient(115deg, #b77a25 0%, #edc983 35%, #fff1cb 49%, #c08c39 65%, #a86d20 100%);
}

/* Jedna szerokość i jeden margines dla wszystkich rzędów treści. */
body.vesta-d5-page .et_builder_inner_content .et_pb_section > .et_pb_row:not(.vesta-hero-slideshow-row):not(.vesta-back-to-top-row) {
  box-sizing: border-box !important;
  width: min(var(--vesta-content-width), calc(100% - var(--vesta-content-gutter) * 2)) !important;
  max-width: var(--vesta-content-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.vesta-d5-page .vesta-site-header.et_pb_section {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 0 !important;
  background: #fffefd !important;
  border-bottom: 1px solid rgba(16, 38, 59, .09) !important;
  box-shadow: 0 8px 28px rgba(7, 23, 37, .045) !important;
}
body.vesta-d5-page .vesta-site-header .vesta-header-topbar.et_pb_row {
  display: grid !important;
  grid-template-columns: minmax(185px, 1fr) auto minmax(260px, 1fr) !important;
  align-items: center !important;
  column-gap: 24px !important;
  min-height: 44px !important;
  padding: 7px 0 !important;
  overflow: visible !important;
  background: #0b2238 !important;
  box-shadow: 0 0 0 100vmax #0b2238 !important;
  clip-path: inset(0 -100vmax);
  border: 0 !important;
}
body.vesta-d5-page .vesta-site-header .vesta-header-topbar > .et_pb_column,
body.vesta-d5-page .vesta-site-header .vesta-header-main-row > .et_pb_column {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-basis: auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.vesta-d5-page .vesta-topbar-location strong { font-size: 11px !important; letter-spacing: .01em !important; }
body.vesta-d5-page .vesta-topbar-location span { font-size: 9px !important; }
body.vesta-d5-page .vesta-topbar-perks span { font-size: 9px !important; letter-spacing: .075em !important; }
body.vesta-d5-page .vesta-topbar-perks p { gap: 23px !important; }
body.vesta-d5-page .vesta-phone-list--topbar strong { font-size: 13px !important; }
body.vesta-d5-page .vesta-phone-list--topbar span { font-size: 7px !important; }
body.vesta-d5-page .vesta-site-header .vesta-header-main-row.et_pb_row {
  display: grid !important;
  grid-template-columns: 194px minmax(0, 1fr) auto !important;
  align-items: center !important;
  min-height: 106px !important;
  padding: 13px 0 !important;
  gap: 22px !important;
}
body.vesta-d5-page .vesta-header-main-row .vesta-header-brand-col { gap: 12px !important; justify-content: flex-start !important; }
body.vesta-d5-page .vesta-header-main-row .vesta-header-nav-col { justify-content: center !important; }
body.vesta-d5-page .vesta-header-main-row .vesta-header-actions-col { gap: 10px !important; justify-content: flex-end !important; }
body.vesta-d5-page .vesta-header-actions-col > .et_pb_button_module_wrapper { flex: 0 0 auto !important; margin: 0 !important; width: auto !important; }

/* Lepsza hierarchia logotypu; oryginalna tarcza pozostaje bez zmian. */
body.vesta-d5-page .vesta-brand-link {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 5px 8px;
  margin: -5px -8px;
  border-radius: 16px;
  text-decoration: none;
}
body.vesta-d5-page .vesta-brand-link::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -8px;
  opacity: 0;
  border-radius: 22px;
  background: radial-gradient(ellipse at 30% 50%, rgba(232, 192, 118, .24), rgba(248, 238, 215, .15) 55%, transparent 75%);
  transition: opacity .35s ease;
}
body.vesta-d5-page .vesta-brand-link:hover::before,
body.vesta-d5-page .vesta-brand-link:focus-visible::before { opacity: 1; }
body.vesta-d5-page .vesta-header-brand-col .vesta-logo-shield,
body.vesta-d5-page .vesta-header-brand-col .vesta-logo-shield .et_pb_image_wrap,
body.vesta-d5-page .vesta-header-brand-col .vesta-logo-shield img {
  display: block !important;
  width: 52px !important;
  min-width: 52px !important;
  height: 67px !important;
  max-height: none !important;
  margin: 0 !important;
  background: transparent !important;
  object-fit: contain !important;
}
body.vesta-d5-page .vesta-header-brand-col .vesta-logo-shield img {
  transition: transform .4s cubic-bezier(.2,.7,.2,1), filter .4s ease !important;
  filter: drop-shadow(0 4px 7px rgba(183, 122, 37, .1)) !important;
}
body.vesta-d5-page .vesta-brand-link:hover .vesta-logo-shield img,
body.vesta-d5-page .vesta-brand-link:focus-visible .vesta-logo-shield img {
  transform: translateY(-3px) scale(1.035) !important;
  filter: drop-shadow(0 9px 11px rgba(183, 122, 37, .25)) !important;
}
body.vesta-d5-page .vesta-header-brand-col .vesta-logo-wordmark { margin: 0 !important; }
body.vesta-d5-page .vesta-logo-wordmark p { display: grid !important; gap: 7px !important; margin: 0 !important; }
body.vesta-d5-page .vesta-logo-wordmark span { font-size: 8px !important; line-height: 1 !important; letter-spacing: .26em !important; color: #a76e23 !important; }
body.vesta-d5-page .vesta-logo-wordmark strong {
  display: block !important;
  font-family: Georgia, serif !important;
  font-size: 29px !important;
  line-height: 1 !important;
  letter-spacing: .045em !important;
  color: #142d44 !important;
}
@supports (background-clip: text) or (-webkit-background-clip: text) {
  body.vesta-d5-page .vesta-logo-wordmark strong {
    background-image: linear-gradient(110deg, #112c43 0%, #35506a 28%, #bc8a3e 43%, #e3c484 51%, #17374e 68%, #112c43 100%) !important;
    background-size: 240% 100% !important;
    background-position: 100% 50% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    color: transparent !important;
    transition: background-position .85s ease !important;
  }
  body.vesta-d5-page .vesta-brand-link:hover .vesta-logo-wordmark strong,
  body.vesta-d5-page .vesta-brand-link:focus-visible .vesta-logo-wordmark strong { background-position: 0% 50% !important; }
}

body.vesta-d5-page .vesta-header-main-row .vesta-nav nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: max-content !important;
  max-width: 100% !important;
  padding: 5px !important;
  gap: 2px !important;
  background: linear-gradient(145deg, #fbfaf7, #f1f3f4) !important;
  border: 1px solid rgba(16, 38, 59, .075) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 #fff, 0 6px 20px rgba(7, 23, 37, .035) !important;
}
body.vesta-d5-page .vesta-header-main-row .vesta-nav a { min-height: 44px !important; padding: 10px 12px !important; gap: 6px !important; border-radius: 10px !important; }
body.vesta-d5-page .vesta-header-main-row .vesta-nav a strong { font-size: 12px !important; font-weight: 650 !important; letter-spacing: 0 !important; }
body.vesta-d5-page .vesta-header-main-row .vesta-nav-index { font-size: 8px !important; }
body.vesta-d5-page .vesta-header-main-row .vesta-nav a:is(:hover, :focus-visible, .is-current) {
  background: #fffefd !important;
  border-color: rgba(197, 140, 51, .36) !important;
  box-shadow: 0 3px 10px rgba(16, 38, 59, .045), inset 0 -2px 0 #d6ad67 !important;
  transform: translateY(-1px) !important;
}
/* Divi nadaje klasę przycisku bezpośrednio elementowi a. */
body.vesta-d5-page a.et_pb_button.vesta-brand-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 13px 20px !important;
  border: 1px solid rgba(197, 140, 51, .55) !important;
  border-radius: 8px !important;
  font-family: var(--vesta-sans, Inter, Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
}
body.vesta-d5-page a.et_pb_button.vesta-brand-button--solid {
  color: #122b40 !important;
  background: linear-gradient(120deg, #efd194, #d7a14d 65%, #e8bd71) !important;
  box-shadow: 0 6px 18px rgba(183, 122, 37, .16) !important;
}
body.vesta-d5-page a.et_pb_button.vesta-brand-button--outline { background: rgba(255, 255, 255, .8) !important; color: #142f46 !important; box-shadow: none !important; }
body.vesta-d5-page a.et_pb_button.vesta-brand-button:hover { box-shadow: 0 10px 24px rgba(183, 122, 37, .2) !important; }
body.vesta-d5-page .vesta-header-actions-col a.et_pb_button { padding: 12px 15px !important; min-height: 44px !important; font-size: 10px !important; white-space: nowrap !important; }
body.vesta-d5-page .vesta-site-header.is-scrolled .vesta-header-main-row.et_pb_row { min-height: 88px !important; padding: 8px 0 !important; }
body.vesta-d5-page .vesta-site-header.is-scrolled .vesta-header-topbar.et_pb_row { min-height: 0 !important; max-height: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; overflow: hidden !important; }

/* Zachowana kompozycja: jasny panel, zdjęcie elewacji, granatowa rezerwacja. */
body.vesta-d5-page .vesta-hero-section.vesta-hero-v46 { min-height: 0 !important; padding-top: 58px !important; padding-bottom: 94px !important; }
body.vesta-d5-page .vesta-hero-v46 .vesta-hero-content-row.et_pb_row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr) !important;
  gap: clamp(40px, 6vw, 112px) !important;
  align-items: center !important;
  padding: 0 !important;
}
body.vesta-d5-page .vesta-hero-content-row > .et_pb_column {
  width: 100% !important;
  flex-basis: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}
body.vesta-d5-page .vesta-hero-v46 .vesta-hero-copy-panel {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  max-width: 600px !important;
  gap: 0 !important;
  padding: clamp(28px, 3.2vw, 44px) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, rgba(255,254,251,.97), rgba(249,246,238,.93)) !important;
  border: 1px solid rgba(231,203,151,.78) !important;
  box-shadow: 0 24px 65px rgba(7,23,37,.2), inset 0 0 0 3px rgba(255,255,255,.55) !important;
}
body.vesta-d5-page .vesta-hero-copy-panel > .et_pb_module { margin-bottom: 20px !important; }
body.vesta-d5-page .vesta-hero-copy-panel > .vesta-hero-mark { margin-bottom: 18px !important; }
body.vesta-d5-page .vesta-hero-copy-panel > .vesta-badge { margin-bottom: 20px !important; }
body.vesta-d5-page .vesta-hero-copy-panel .vesta-hero-title h1 { font-size: clamp(44px, 4.3vw, 64px) !important; line-height: 1.02 !important; letter-spacing: -.035em !important; }
body.vesta-d5-page .vesta-hero-copy-panel .vesta-hero-lead p { font-size: 15px !important; line-height: 1.8 !important; color: #4d6070 !important; }
body.vesta-d5-page .vesta-hero-copy-panel > .et_pb_button_module_wrapper { display: inline-flex !important; margin: 0 0 12px !important; }
body.vesta-d5-page .vesta-hero-copy-panel > .vesta-mini-features-wrap { margin: 12px 0 0 !important; }
body.vesta-d5-page .vesta-hero-copy-panel .vesta-mini-features { gap: 8px 18px !important; font-size: 9px !important; letter-spacing: .06em !important; }
body.vesta-d5-page .vesta-hero-content-row > .vesta-hero-side { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-end !important; min-height: 0 !important; perspective: none !important; }
body.vesta-d5-page .vesta-hero-side > .vesta-booking-card {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 370px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 32px !important;
  gap: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #16364d, #0b2238 70%, #081b2d) !important;
  transform: none !important;
}
body.vesta-d5-page .vesta-booking-card .vesta-booking-title :is(h1,h2) { font-size: 34px !important; line-height: 1.08 !important; letter-spacing: -.025em !important; color: #fffefd !important; }
body.vesta-d5-page .vesta-booking-card .vesta-booking-copy { display: block !important; }
body.vesta-d5-page .vesta-booking-card .vesta-booking-copy p { font-size: 13px !important; line-height: 1.8 !important; color: #d2dce3 !important; }
body.vesta-d5-page .vesta-booking-card .vesta-booking-badge p { font-size: 8px !important; letter-spacing: .1em !important; }
body.vesta-d5-page .vesta-booking-card > .et_pb_module { margin-bottom: 20px !important; }
body.vesta-d5-page .vesta-booking-card .vesta-booking-phone { margin-bottom: 0 !important; }
body.vesta-d5-page .vesta-booking-card > .et_pb_button_module_wrapper { margin-bottom: 0 !important; }
body.vesta-d5-page .vesta-booking-lines { margin-top: 6px !important; margin-bottom: 18px !important; }
body.vesta-d5-page .vesta-booking-card .vesta-booking-button { width: 100% !important; }
body.vesta-d5-page .vesta-benefits-row.et_pb_row { border-radius: 18px !important; }
body.vesta-d5-page .vesta-room-cards > .et_pb_column { border-radius: 16px !important; box-shadow: 0 8px 30px rgba(16,38,59,.045) !important; }
body.vesta-d5-page .vesta-room-cards > .et_pb_column:hover { box-shadow: 0 18px 42px rgba(16,38,59,.1) !important; }
body.vesta-d5-page .vesta-feature-grid p { border-radius: 12px !important; }
body.vesta-d5-page .vesta-cta-row.et_pb_row { border-radius: 20px !important; background: linear-gradient(130deg, #15374e, #0b2238 72%, #102c42) !important; }

@media (max-width: 1199px) and (min-width: 981px) {
  body.vesta-d5-page .vesta-site-header .vesta-header-main-row.et_pb_row { grid-template-columns: 168px minmax(0,1fr) auto !important; gap: 14px !important; }
  body.vesta-d5-page .vesta-header-actions-col > .et_pb_button_module_wrapper:has(.vesta-route-button) { display: none !important; }
  body.vesta-d5-page .vesta-header-main-row .vesta-nav a { padding: 10px !important; }
  body.vesta-d5-page .vesta-header-main-row .vesta-nav a strong { font-size: 11px !important; }
  body.vesta-d5-page .vesta-header-main-row .vesta-nav-index { display: none !important; }
  body.vesta-d5-page .vesta-topbar-perks p { gap: 14px !important; }
  body.vesta-d5-page .vesta-topbar-perks span { font-size: 8px !important; }
}
@media (max-width: 980px) {
  body.vesta-d5-page .vesta-site-header .vesta-header-topbar.et_pb_row { grid-template-columns: minmax(0,1fr) auto !important; min-height: 42px !important; gap: 12px !important; }
  body.vesta-d5-page .vesta-site-header .vesta-header-topbar .vesta-header-topbar-perks { display: none !important; }
  body.vesta-d5-page .vesta-site-header .vesta-header-main-row.et_pb_row { grid-template-columns: minmax(0,1fr) auto !important; min-height: 90px !important; padding: 10px 0 !important; gap: 14px !important; }
  body.vesta-d5-page .vesta-site-header .vesta-header-main-row > .vesta-header-nav-col { display: none !important; }
  body.vesta-d5-page .vesta-header-actions-col > .et_pb_button_module_wrapper:has(.vesta-route-button) { display: none !important; }
  body.vesta-d5-page .vesta-header-actions-col .vesta-mobile-toggle { display: block !important; flex: 0 0 44px !important; width: 44px !important; height: 44px !important; }
  body.vesta-d5-page .vesta-hero-v46 .vesta-hero-content-row.et_pb_row { grid-template-columns: minmax(0,1fr) minmax(280px,.8fr) !important; gap: 26px !important; }
  body.vesta-d5-page .vesta-hero-copy-panel .vesta-hero-title h1 { font-size: clamp(40px,5.5vw,54px) !important; }
  body.vesta-d5-page .vesta-hero-copy-panel .vesta-hero-lead p { font-size: 14px !important; }
  body.vesta-d5-page .vesta-hero-side > .vesta-booking-card { padding: 26px !important; }
}
@media (max-width: 767px) {
  body.vesta-d5-page .vesta-hero-section.vesta-hero-v46 { padding-top: 30px !important; padding-bottom: 74px !important; }
  body.vesta-d5-page .vesta-hero-v46 .vesta-hero-content-row.et_pb_row { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 24px !important; }
  body.vesta-d5-page .vesta-hero-content-row > .vesta-hero-copy-panel { width: 100% !important; max-width: none !important; padding: 29px !important; margin: 0 !important; }
  body.vesta-d5-page .vesta-hero-content-row > .vesta-hero-side { margin-top: 0 !important; min-height: 0 !important; }
  body.vesta-d5-page .vesta-hero-side > .vesta-booking-card { max-width: none !important; padding: 28px !important; }
  body.vesta-d5-page .vesta-hero-copy-panel .vesta-hero-title h1 { font-size: clamp(39px,9vw,57px) !important; }
  body.vesta-d5-page .vesta-header-brand-col .vesta-logo-shield,
  body.vesta-d5-page .vesta-header-brand-col .vesta-logo-shield .et_pb_image_wrap,
  body.vesta-d5-page .vesta-header-brand-col .vesta-logo-shield img { width: 43px !important; min-width: 43px !important; height: 55px !important; }
  body.vesta-d5-page .vesta-logo-wordmark strong { font-size: 25px !important; }
  body.vesta-d5-page .vesta-site-header .vesta-header-main-row.et_pb_row { min-height: 78px !important; }
  body.vesta-d5-page .vesta-phone-list--topbar { gap: 13px !important; }
  body.vesta-d5-page .vesta-phone-list--topbar strong { font-size: 11px !important; }
  body.vesta-d5-page .vesta-topbar-location p { gap: 8px !important; }
  body.vesta-d5-page .vesta-topbar-location span { display: none !important; }
  body.vesta-d5-page .vesta-topbar-location strong { font-size: 10px !important; }
  body.vesta-d5-page .vesta-site-header.is-scrolled .vesta-header-main-row.et_pb_row { min-height: 72px !important; }
}
@media (max-width: 520px) {
  body.vesta-d5-page .vesta-header-actions-col > .et_pb_button_module_wrapper:has(.vesta-header-cta) { display: none !important; }
  body.vesta-d5-page .vesta-topbar-location strong { font-size: 9px !important; }
  body.vesta-d5-page .vesta-phone-list--topbar { gap: 9px !important; }
  body.vesta-d5-page .vesta-phone-list--topbar strong { font-size: 10px !important; }
  body.vesta-d5-page .vesta-phone-list--topbar span { font-size: 6px !important; }
  body.vesta-d5-page .vesta-hero-copy-panel > .et_pb_button_module_wrapper { width: 100% !important; }
  body.vesta-d5-page .vesta-hero-copy-panel a.et_pb_button { width: 100% !important; margin: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.vesta-d5-page .vesta-brand-link *, body.vesta-d5-page .vesta-brand-link::before { transition: none !important; }
  body.vesta-d5-page .vesta-brand-link:hover .vesta-logo-shield img { transform: none !important; }
}
