/*
Theme Name: Instytut Volare Child Theme
Theme URI: https://www.volare.edu.pl
Description: Akredytowany motyw potomny dla Instytutu Volare z integracją Tutor LMS i blokami Spectra / Gutenberg.
Author: Instytut Volare Sp. z o.o.
Author URI: https://www.volare.edu.pl
Template: spectra-one
Version: 1.1.4
Text Domain: instytut-volare-child-theme
*/

/* Fonty ładowane optymalnie przez wp_enqueue_style + preconnect w functions.php */

html {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

:root {
  --volare-primary: #0284c7;
  --volare-primary-hover: #0369a1;
  --volare-accent: #8e3b8f;
  --volare-accent-warm: #ee852a;
  --volare-dark: #1b1744;
  --volare-slate: #292468;
  --volare-body: #475569;
  --volare-bg: #f8fafc;
  --volare-font-heading: 'Outfit', 'Plus Jakarta Sans', system-ui, sans-serif;
  --volare-font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
  --volare-radius: 16px;
}

body, p, ul, ol, input, button, select, textarea {
  font-family: var(--volare-font-body) !important;
  font-size-adjust: from-font;
}

body {
  background-color: #fcf9f6;
  color: var(--volare-slate);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

.volare-wrap,
.volare-wrap * {
  box-sizing: border-box;
}

/* Globalna unifikacja nagłówków */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.volare-heading,
.entry-title {
  font-family: var(--volare-font-heading) !important;
  font-size-adjust: from-font;
  letter-spacing: -0.02em;
}

/* Unifikacja modułów Tutor LMS */
.tutor-wrap,
.tutor-courses-wrap,
.tutor-course-details-wrap {
  font-family: var(--volare-font-body) !important;
}

.tutor-course-title,
.tutor-course-header h1,
.tutor-segment-title,
.tutor-card .tutor-course-name {
  font-family: var(--volare-font-heading) !important;
}

.volare-grad-text {
  background: linear-gradient(90deg, #de77a3 0%, #e77384 25%, #ee9872 55%, #ecaa65 80%, #f2bf5e 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  isolation: isolate;
  display: inline-block;
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-size-adjust: none !important;
  -webkit-text-size-adjust: none !important;
  text-size-adjust: none !important;
  font-size: 24px;
  vertical-align: middle;
  line-height: 1;
}

/* TOPBAR */
.volare-topbar {
  background-color: #f4ece2;
  color: #645a50;
  font-size: 11.5px;
  padding: 6px 24px;
  width: 100%;
  border-bottom: 1px solid #e7ded2;
}
.volare-topbar-inner {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.volare-topbar-left {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.volare-topbar-right {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-left: auto;
}
.volare-topbar-item,
.volare-topbar-address {
  display: flex;
  align-items: center;
  gap: 6px;
}
.volare-topbar-social {
  display: flex;
  align-items: center;
  gap: 8px;
}
.volare-topbar-social a,
.volare-topbar .volare-topbar-social a {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: #47382c !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  font-size: 11.5px;
  font-weight: 800;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.volare-topbar-social a:hover,
.volare-topbar .volare-topbar-social a:hover {
  background: #c83a9e !important;
  border-color: #c83a9e !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(200, 58, 158, 0.35);
}
.volare-topbar-social a svg,
.volare-topbar .volare-topbar-social a svg {
  display: block;
}
.volare-topbar-social a svg path,
.volare-topbar .volare-topbar-social a svg path {
  fill: currentColor;
}
.volare-topbar-social a:hover svg,
.volare-topbar-social a:hover svg path,
.volare-topbar .volare-topbar-social a:hover svg,
.volare-topbar .volare-topbar-social a:hover svg path {
  fill: #ffffff !important;
  color: #ffffff !important;
}
/* TOPBAR SHIELD */
.volare-topbar,
.volare-topbar *,
.volare-topbar a,
.volare-topbar-left,
.volare-topbar-left *,
.volare-topbar-item,
.volare-topbar-item * {
  color: #645a50 !important;
}
.volare-topbar a.volare-topbar-email,
.volare-topbar a.volare-topbar-phone,
.volare-topbar a.volare-topbar-address,
.volare-topbar .volare-topbar-email,
.volare-topbar .volare-topbar-phone,
.volare-topbar .volare-topbar-address {
  color: #2d231b !important;
  font-weight: 600;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease;
}
.volare-topbar a:not(.volare-topbar-social a):hover,
.volare-topbar-email:hover,
.volare-topbar-phone:hover,
.volare-topbar-address:hover {
  color: #c83a9e !important;
}

/* NAVBAR */
.volare-navbar {
  background: #fbf7f2;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #ebdcd0;
  padding: 8px 24px;
  box-shadow: 0 4px 20px rgba(100, 70, 40, 0.05);
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: 61px;
  height: auto;
  display: flex;
  align-items: center;
}
.volare-navbar-inner {
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.volare-logo-link {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  max-height: 40px !important;
  overflow: hidden !important;
}
.volare-logo-img {
  height: 40px !important;
  max-height: 40px !important;
  width: auto !important;
  max-width: 240px !important;
  object-fit: contain !important;
  display: block !important;
  transition: height 0.2s ease;
}

.volare-nav-menu {
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.8vw, 22px);
  font-weight: 600;
  font-size: 14px;
}

.volare-navbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.volare-navbar-actions .volare-nav-icon-btn,
.volare-nav-icon-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50%;
  background: linear-gradient(115deg, #c83a9e 0%, #e25b68 50%, #ee852a 100%) !important;
  background-size: 86px 38px !important;
  background-repeat: no-repeat !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  cursor: pointer;
  text-decoration: none !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(200, 58, 158, 0.4) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  flex-shrink: 0;
}
.volare-navbar-actions .volare-btn-cart {
  background-position: 0 0 !important;
}
.volare-navbar-actions .volare-btn-user {
  background-position: -48px 0 !important;
}
.volare-nav-icon-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(200, 58, 158, 0.55) !important;
  color: #ffffff !important;
}
.volare-nav-icon-btn svg.volare-nav-svg-icon {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  flex-shrink: 0 !important;
  color: #ffffff !important;
  pointer-events: none !important;
}
.volare-hamburger-btn svg.volare-hamburger-svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  flex-shrink: 0 !important;
  color: #2d231b !important;
  pointer-events: none !important;
}
.volare-nav-icon-btn .material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-size: 25px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.volare-nav-icon-btn .volare-cart-badge,
.volare-cart-badge {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  background: #c83a9e !important;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 9999px !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
  box-sizing: border-box !important;
  display: none !important; /* Domyślnie ukryty - brak czerwonej kropki */
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  pointer-events: none;
}

/* Wyświetlaj TYLKO wtedy, gdy koszyk faktycznie zawiera pozycje (>0) */
.volare-nav-icon-btn .volare-cart-badge.has-items,
.volare-cart-badge.has-items,
.volare-cart-badge:not([data-count="0"]):not(:empty) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Gdy pusty lub ma 0 - bezwzględne ukrycie */
.volare-cart-badge:empty,
.volare-cart-badge[data-count="0"] {
  display: none !important;
}


.volare-hamburger-btn {
  display: none;
  background: #f4ece2;
  border: 1px solid #ebdcd0;
  border-radius: 10px;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #231626;
  padding: 0;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.volare-hamburger-btn:hover {
  background: #fdf4f8;
  border-color: #c83a9e;
  color: #c83a9e;
}
.volare-hamburger-btn .volare-hamburger-icon {
  font-size: 26px;
  line-height: 1;
}

/* OFF-CANVAS MOBILE DRAWER & BACKDROP */
.volare-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 10, 25, 0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.volare-drawer-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.volare-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 360px;
  background: #ffffff;
  z-index: 9999;
  box-shadow: -10px 0 35px rgba(0, 0, 0, 0.2);
  transform: translateX(100%);
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 24px 20px;
  box-sizing: border-box;
}
.volare-mobile-drawer.is-open {
  transform: translateX(0);
}

.volare-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f1f5f9;
}
.volare-drawer-header .volare-logo-img {
  height: 38px;
  max-width: 180px;
}
.volare-drawer-close {
  background: #f1f5f9;
  border: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #475569;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.volare-drawer-close:hover {
  background: #fee2e2;
  color: #ef4444;
  transform: rotate(90deg);
}

.volare-drawer-nav {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 24px;
}
.volare-drawer-link {
  padding: 12px 16px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #201224 !important;
  border-radius: 12px;
  display: block !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
}
.volare-drawer-link::after {
  display: none !important;
}
.volare-drawer-link:hover,
.volare-drawer-link.active {
  background: #fdf4f8 !important;
  color: #9d2562 !important;
  padding-left: 20px !important;
}

.volare-drawer-cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
  width: 100%;
}
.volare-drawer-btn {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 8px !important;
  padding: 13px 20px !important;
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  box-sizing: border-box;
}
.volare-drawer-cart-badge {
  background: rgba(255, 255, 255, 0.28) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin-left: 6px !important;
}

.volare-drawer-footer {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid #f1f5f9;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 13px;
  color: #64748b;
}
.volare-drawer-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #475569;
}
.volare-drawer-contact-item a {
  color: #475569;
  text-decoration: none;
  font-weight: 500;
}
.volare-drawer-contact-item a:hover {
  color: #9d2562;
}
.volare-drawer-socials {
  display: flex;
  gap: 10px;
  margin-top: 6px;
}
.volare-drawer-socials a {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f1f5f9;
  color: #475569;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: bold;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.volare-drawer-socials a:hover {
  background: #9d2562;
  color: #ffffff;
  transform: translateY(-2px);
}
.volare-drawer-socials a svg {
  display: block;
}
.volare-drawer-socials a svg path {
  fill: currentColor;
}
.volare-drawer-socials a:hover svg path {
  fill: #ffffff !important;
}
.volare-nav-link {
  color: #201224 !important;
  text-decoration: none !important;
  display: inline-block !important;
  position: relative !important;
  padding: 6px 2px !important;
  transition: color 0.2s ease !important;
}
.volare-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 2.5px;
  background: var(--volare-sub-accent, #c83a9e);
  border-radius: 9999px;
  transition: width 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, background 0.2s ease;
}
.volare-nav-link:hover {
  color: var(--volare-sub-accent, #c83a9e) !important;
}
.volare-nav-link:hover::after,
.volare-nav-link.active::after {
  width: 100%;
}
.volare-nav-link.active {
  color: var(--volare-sub-accent, #c83a9e) !important;
  font-weight: 700;
}

/* Nav links wewnątrz beżowego paska nawigacji (#fbf7f2) */
.volare-navbar .volare-nav-link {
  color: #231626 !important;
}
.volare-navbar .volare-nav-link:hover,
.volare-navbar .volare-nav-link.active {
  color: var(--volare-sub-accent, #c83a9e) !important;
}

/* ==========================================================================
   DEDYKOWANY SENSORYCZNY HOVER DLA POZYCJI MENU (PIRAMIDA ROZWOJU)
   Niezależnie od aktywnej podstrony, najechanie na daną zakładkę podświetla
   ją jej autorską barwą ze zmysłów oraz barwi pasek wskaźnika.
   ========================================================================== */

/* 1. Szkolenia Online -> Głębokie Indygo (#6b35a0) */
.volare-navbar .volare-nav-link[data-path*="/szkolenia-online/"]:hover,
.volare-nav-link[data-path*="/szkolenia-online/"]:hover {
  color: #6b35a0 !important;
}
.volare-nav-link[data-path*="/szkolenia-online/"]:hover::after {
  background: #6b35a0 !important;
}
.volare-drawer-link[data-path*="/szkolenia-online/"]:hover {
  color: #6b35a0 !important;
  background: rgba(107, 53, 160, 0.1) !important;
}

/* 2. Szkolenia stacjonarne -> Żywa Fuksja (#c83a9e) */
.volare-navbar .volare-nav-link[data-path*="/szkolenia-stacjonarne/"]:hover,
.volare-nav-link[data-path*="/szkolenia-stacjonarne/"]:hover {
  color: #c83a9e !important;
}
.volare-nav-link[data-path*="/szkolenia-stacjonarne/"]:hover::after {
  background: #c83a9e !important;
}
.volare-drawer-link[data-path*="/szkolenia-stacjonarne/"]:hover {
  color: #c83a9e !important;
  background: rgba(200, 58, 158, 0.1) !important;
}

/* 3. Edukacja i Materiały -> Miodowe Złoto (Tekst: #b45309 dla kontrastu WCAG AA min. 4.5:1) */
.volare-navbar .volare-nav-link[data-path*="/katalog/"]:hover,
.volare-nav-link[data-path*="/katalog/"]:hover {
  color: #b45309 !important;
}
.volare-nav-link[data-path*="/katalog/"]:hover::after {
  background: #b45309 !important;
}
.volare-drawer-link[data-path*="/katalog/"]:hover {
  color: #b45309 !important;
  background: rgba(180, 83, 9, 0.1) !important;
}

/* 4. Terapia i Diagnostyka -> Morski Turkus (#2e9bb0) */
.volare-navbar .volare-nav-link[data-path*="/integracja-sensoryczna/"]:hover,
.volare-nav-link[data-path*="/integracja-sensoryczna/"]:hover {
  color: #2e9bb0 !important;
}
.volare-nav-link[data-path*="/integracja-sensoryczna/"]:hover::after {
  background: #2e9bb0 !important;
}
.volare-drawer-link[data-path*="/integracja-sensoryczna/"]:hover {
  color: #2e9bb0 !important;
  background: rgba(46, 155, 176, 0.1) !important;
}

/* 5. Kontakt -> Medyczny Błękit (#3f7fc4) */
.volare-navbar .volare-nav-link[data-path*="/kontakt/"]:hover,
.volare-nav-link[data-path*="/kontakt/"]:hover {
  color: #3f7fc4 !important;
}
.volare-nav-link[data-path*="/kontakt/"]:hover::after {
  background: #3f7fc4 !important;
}
.volare-drawer-link[data-path*="/kontakt/"]:hover {
  color: #3f7fc4 !important;
  background: rgba(63, 127, 196, 0.1) !important;
}

/* Baza Wiedzy & FAQ -> Głębokie Indygo (#6b35a0) */
.volare-navbar .volare-nav-link[data-path*="/baza-wiedzy/"]:hover,
.volare-nav-link[data-path*="/baza-wiedzy/"]:hover {
  color: #6b35a0 !important;
}
.volare-nav-link[data-path*="/baza-wiedzy/"]:hover::after {
  background: #6b35a0 !important;
}
.volare-drawer-link[data-path*="/baza-wiedzy/"]:hover {
  color: #6b35a0 !important;
  background: rgba(107, 53, 160, 0.1) !important;
}

/* BUTTONS (Standalone links / buttons - Róż-Fuksja wg piramidy) */
a.volare-btn-primary:not(.wp-block-button__link),
button.volare-btn-primary,
.volare-btn-primary:not(.wp-block-button) {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  border: none !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  padding: 11px 24px !important;
  border-radius: 9999px !important;
  box-shadow: 0 6px 18px -2px rgba(200, 58, 158, 0.45) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease !important;
  cursor: pointer;
}
a.volare-btn-primary:not(.wp-block-button__link):hover,
button.volare-btn-primary:hover,
.volare-btn-primary:not(.wp-block-button):hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #d845ad 0%, #9e43a0 100%) !important;
  box-shadow: 0 10px 24px -2px rgba(200, 58, 158, 0.6) !important;
  color: #ffffff !important;
  filter: brightness(1.05) !important;
}

a.volare-btn-secondary:not(.wp-block-button__link),
button.volare-btn-secondary,
.volare-btn-secondary:not(.wp-block-button) {
  background: #ffffff !important;
  color: #201224 !important;
  border: 1.5px solid #cbd5e1 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  padding: 11px 26px !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, color 0.2s ease !important;
  cursor: pointer;
}
a.volare-btn-secondary:not(.wp-block-button__link):hover,
button.volare-btn-secondary:hover,
.volare-btn-secondary:not(.wp-block-button):hover {
  background-color: #ffffff !important;
  border-color: #9d2562 !important;
  color: #9d2562 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 18px rgba(157, 37, 98, 0.12) !important;
}

a.volare-btn-training:not(.wp-block-button__link),
button.volare-btn-training,
.volare-btn-training:not(.wp-block-button) {
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%) !important;
  color: #ffffff !important;
  border: none !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  padding: 11px 24px !important;
  border-radius: 9999px !important;
  box-shadow: 0 6px 16px -2px rgba(15, 118, 110, 0.28) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease !important;
  cursor: pointer;
}
a.volare-btn-training:not(.wp-block-button__link):hover,
button.volare-btn-training:hover,
.volare-btn-training:not(.wp-block-button):hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 22px -2px rgba(15, 118, 110, 0.38) !important;
  color: #ffffff !important;
  filter: brightness(1.05) !important;
}

/* Gutenberg Button Wrapper Resets - never apply pill styling to wrapper containers */
div.wp-block-button,
.wp-block-button,
.wp-block-button.volare-btn-primary,
.wp-block-button.volare-btn-secondary,
.wp-block-button.volare-btn-white,
.wp-block-button.volare-btn-workshop {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
  display: inline-block !important;
}

/* HERO SECTION & SMOOTH SLIDER */
.volare-hero {
  position: relative;
  overflow: hidden;
  background-color: #f6f0ea;
  padding: 60px 24px 110px 24px;
}
.volare-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.volare-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  display: block;
  filter: blur(2px);
  transform: scale(1.02);
  transform-origin: center;
}
.volare-hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(246, 240, 234, 0.78) 0%, rgba(246, 240, 234, 0.52) 45%, rgba(246, 240, 234, 0.2) 70%, rgba(246, 240, 234, 0) 100%);
  z-index: 1;
}

.volare-hero-content {
  position: relative;
  z-index: 10;
  max-width: 850px;
  width: 100%;
  padding-left: 56px;
  padding-right: 80px;
  box-sizing: border-box;
}

/* CSS Grid Viewport - slides share exact same grid cell so height adapts automatically */
.volare-slides-container {
  max-width: 850px;
  position: relative;
  width: 100%;
}
.volare-slides-viewport {
  display: grid !important;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: relative;
  width: 100%;
  margin-bottom: 24px;
}
.volare-slide {
  grid-area: 1 / 1 / 2 / 2;
  position: relative;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50px);
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.45s ease;
  box-sizing: border-box;
}
.volare-slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
  z-index: 2;
}
.volare-slide.is-leaving {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: translateX(50px) !important;
  z-index: 1;
}

/* Hero Typography & Badges */
.volare-slide-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fdf4f8;
  border: 1px solid rgba(157, 37, 98, 0.2);
  color: #9d2562;
  padding: 6px 16px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 20px;
  max-width: 100%;
  box-sizing: border-box;
}
.volare-slide-badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #6b21a8;
  flex-shrink: 0;
}
.volare-slide-title {
  font-size: clamp(34px, 5.2vw, 58px);
  line-height: 1.15;
  font-weight: 850;
  color: #201224;
  margin: 0 0 20px 0;
  letter-spacing: -0.025em;
}
.volare-slide-desc {
  font-size: 19px;
  line-height: 1.65;
  color: #000000 !important;
  font-weight: 600 !important;
  margin: 0;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.7);
}
.volare-slide-desc a {
  color: #9d2562 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}
.volare-slide-desc a:hover {
  color: #6b21a8 !important;
}

/* Hero Actions & Controls */
.volare-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 24px;
  position: relative;
  z-index: 15;
}
.volare-hero-controls {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 32px;
  position: relative;
  z-index: 15;
}
.volare-hero-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}
.volare-dot-indicator {
  background: #cbd5e1;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}

/* Arrow controls */
.volare-slider-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, filter 0.2s ease;
  flex-shrink: 0;
}
.volare-slider-btn:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16);
}
.volare-prev-btn,
.volare-next-btn {
  position: absolute;
  top: 48%;
  transform: translateY(-50%);
  z-index: 20;
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px rgba(200, 58, 158, 0.4) !important;
}
.volare-prev-btn {
  left: 16px;
}
.volare-next-btn {
  right: 24px;
}
.volare-prev-btn:hover,
.volare-next-btn:hover {
  transform: translateY(calc(-50% - 2px)) !important;
  filter: brightness(1.08) !important;
  background: linear-gradient(135deg, #d845ad 0%, #9e43a0 100%) !important;
  box-shadow: 0 10px 24px rgba(200, 58, 158, 0.6) !important;
  color: #ffffff !important;
}
.volare-prev-btn .material-symbols-outlined,
.volare-next-btn .material-symbols-outlined {
  color: #ffffff !important;
}
.volare-mobile-arrow {
  display: none;
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(200, 58, 158, 0.35) !important;
}
.volare-mobile-arrow:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #d845ad 0%, #9e43a0 100%) !important;
  box-shadow: 0 6px 16px rgba(200, 58, 158, 0.55) !important;
  filter: brightness(1.08) !important;
  color: #ffffff !important;
}
.volare-mobile-arrow .material-symbols-outlined {
  color: #ffffff !important;
  font-size: 20px;
}

/* Kafelki cech pod hero (Nowa architektura: 2/3 zdjęcie + 1/3 opis) */
.volare-feature-tile {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(157, 37, 98, 0.12);
  box-shadow: 0 10px 24px -6px rgba(32, 18, 36, 0.05);
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease;
  min-height: 290px;
}

.volare-feature-tile:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 34px -8px rgba(157, 37, 98, 0.16);
  border-color: rgba(157, 37, 98, 0.28);
}

.volare-feature-tile-media {
  position: relative;
  width: 100%;
  height: 185px; /* ~62% wysokości karty */
  overflow: hidden;
  background: #f6f0ea;
}

.volare-feature-tile-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.volare-feature-tile:hover .volare-feature-tile-media img {
  transform: scale(1.05);
}

.volare-feature-tile-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(32, 18, 36, 0.65);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #ffffff;
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 9999px;
  letter-spacing: 0.05em;
  z-index: 2;
}

.volare-feature-tile-body {
  padding: 14px 16px 16px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #ffffff;
}

.volare-feature-tile-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
}

.volare-feature-tile-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.volare-feature-tile-arrow {
  font-size: 18px !important;
  color: #9d2562 !important;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}

.volare-feature-tile:hover .volare-feature-tile-arrow {
  transform: translate(2px, -2px);
}

.volare-feature-tile-desc {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #5f4f64 !important;
  margin: 0 !important;
  font-weight: 400 !important;
}

/* Kafelki cech pod hero (wersja gradientowa - legacy) */
.volare-card-grad {
  background: linear-gradient(135deg, #1b1744 0%, #292468 45%, #352e80 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 16px 30px -8px rgba(27, 23, 68, 0.4) !important;
  transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease !important;
  cursor: pointer;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 190px;
}
.volare-card-grad:hover {
  background: linear-gradient(135deg, #141133 0%, #201c54 45%, #2a2569 100%) !important;
  filter: brightness(1.04) !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 22px 35px -8px rgba(27, 23, 68, 0.5) !important;
}
.volare-card-grad * {
  color: #ffffff !important;
}
.volare-card-grad p {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  line-height: 1.55 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
  letter-spacing: 0.01em;
}
.volare-card-grad h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
}

/* Course cards */
.volare-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid rgba(157, 37, 98, 0.12);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.volare-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 30px -8px rgba(107, 33, 168, 0.12);
}
.volare-course-title-link {
  color: #201224;
  text-decoration: none;
  transition: color 0.2s ease;
}
.volare-course-title-link:hover {
  color: #9d2562;
}
.volare-course-btn {
  background: #fdf4f8;
  color: #9d2562 !important;
  font-size: 11px;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
}
.volare-course-btn:hover {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  transform: translateX(2px);
}
.volare-course-thumb {
  transition: transform 0.35s ease;
}
.volare-card:hover .volare-course-thumb {
  transform: scale(1.04);
}

/* FOOTER */
.volare-footer {
  background: radial-gradient(115% 125% at 50% 0%, #173d6d 0%, #0d2547 45%, #061427 100%) !important;
  color: #94a3b8;
  font-size: 13px;
  padding: 32px 24px 20px 24px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.volare-footer-inner {
  max-width: 1240px;
  margin: 0 auto;
}
.volare-footer a {
  color: #94a3b8;
  text-decoration: none;
  transition: color 0.2s ease;
}
.volare-footer a:hover {
  color: #e6ac59 !important;
}
.volare-footer-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 12.5px;
  line-height: 1.45;
}
.volare-footer-nav-list a {
  color: #cbd5e1 !important;
  text-decoration: none !important;
  transition: color 0.15s ease, transform 0.15s ease;
  display: inline-block;
}
.volare-footer-nav-list a:hover {
  color: #e6ac59 !important;
  transform: translateX(2px);
}
.volare-footer-legal-bar {
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.5;
}
.volare-footer-legal-bar a {
  color: #cbd5e1;
}
.volare-footer-legal-bar a:hover {
  color: #e6ac59 !important;
}
.volare-footer-socials {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}
.volare-footer-socials a {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #cbd5e1 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.volare-footer-socials a:hover {
  background: #c83a9e !important;
  border-color: #c83a9e !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}
.volare-footer-socials a svg {
  display: block;
}
.volare-footer-socials a svg path {
  fill: currentColor;
}
.volare-footer-socials a:hover svg path {
  fill: #ffffff !important;
}

/* Standard Page content container */
.volare-page-main {
  max-width: 1240px !important;
  margin: 0 auto;
  padding: 28px 20px 80px 20px !important;
  min-height: 55vh;
}
.volare-page-main a:not(.tutor-btn):not(.tutor-button-primary):not([class*="tutor-btn"]):not([class*="volare-btn"]):not(.wp-block-button__link):not(.wp-element-button) {
  color: var(--volare-primary);
  text-decoration: underline;
  text-decoration-color: rgba(157, 37, 98, 0.3);
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.volare-page-main a:not(.tutor-btn):not(.tutor-button-primary):not([class*="tutor-btn"]):not([class*="volare-btn"]):not(.wp-block-button__link):not(.wp-element-button):hover {
  color: #9d2562;
  text-decoration-color: #9d2562;
}

/* TUTOR LMS CATALOG INTEGRATION */
.tutor-courses-wrap.course-archive-page,
.tutor-wrap.tutor-courses-wrap {
  max-width: 1240px !important;
  margin: 0 auto;
  padding: 28px 20px 80px 20px !important;
  min-height: 60vh;
}
.tutor-courses-wrap .tutor-card.tutor-course-card {
  border-radius: 16px;
  border: 1px solid rgba(157, 37, 98, 0.12);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}
.tutor-courses-wrap .tutor-card.tutor-course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 30px -8px rgba(107, 33, 168, 0.12);
}
.tutor-courses-wrap .tutor-btn-primary,
.tutor-courses-wrap .tutor-button-primary {
  background-color: #0284c7 !important;
  border-color: #0284c7 !important;
}
.tutor-courses-wrap .tutor-btn-primary:hover,
.tutor-courses-wrap .tutor-button-primary:hover {
  background-color: #0369a1 !important;
  border-color: #0369a1 !important;
}

/* VOLARE CATALOG TOOLBAR & SEARCH */
.volare-catalog-toolbar-wrapper {
  width: 100%;
  margin-bottom: 32px;
}
.volare-catalog-toolbar-form {
  margin: 0 !important;
}
.volare-catalog-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: #ffffff;
  padding: 14px 20px;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}
.volare-catalog-search-box {
  position: relative;
  flex: 1 1 320px;
  max-width: 520px;
  height: 44px;
}
.volare-catalog-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: 20px;
  pointer-events: none;
}
.volare-catalog-search-input {
  width: 100% !important;
  height: 44px !important;
  padding: 0 38px 0 44px !important;
  font-size: 15px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background-color: #f8fafc !important;
  color: #1e293b !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.volare-catalog-search-input:focus {
  background-color: #ffffff !important;
  border-color: #9d2562 !important;
  box-shadow: 0 0 0 3px rgba(157, 37, 98, 0.15) !important;
}
.volare-catalog-search-clear {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: #e2e8f0;
  color: #475569;
  border: none;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  padding: 0;
}
.volare-catalog-search-clear:hover {
  background: #cbd5e1;
  color: #201224;
}
.volare-catalog-controls {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.volare-catalog-count-badge {
  font-size: 14px;
  color: #64748b;
  background: #f1f5f9;
  padding: 8px 14px;
  border-radius: 8px;
  font-weight: 500;
  white-space: nowrap;
}
.volare-catalog-count-badge strong {
  color: #201224;
  font-weight: 700;
}
.volare-catalog-sort-group {
  display: flex;
  align-items: center;
  gap: 8px;
}
.volare-catalog-sort-label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
  color: #475569;
  white-space: nowrap;
  margin: 0 !important;
}
.volare-catalog-sort-select {
  min-width: 0 !important;
  height: 44px !important;
  padding: 0 32px 0 14px !important;
  font-size: 14px !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  background-color: #f8fafc !important;
  color: #1e293b !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  outline: none !important;
  transition: border-color 0.2s, background-color 0.2s !important;
}
.volare-catalog-sort-select:focus {
  border-color: #9d2562 !important;
  background-color: #ffffff !important;
}
.volare-search-no-results {
  text-align: center;
  padding: 50px 24px;
  background: #ffffff;
  border-radius: 16px;
  border: 1px dashed #cbd5e1;
  margin: 24px 0;
  width: 100%;
}
.volare-no-results-icon {
  font-size: 48px;
  color: #0284c7;
  margin-bottom: 12px;
  display: inline-block;
}
.volare-no-results-title {
  font-size: 20px;
  font-weight: 700;
  color: #201224;
  margin: 0 0 8px 0;
}
.volare-no-results-desc {
  font-size: 14px;
  color: #64748b;
  margin: 0 0 20px 0;
  line-height: 1.5;
}
.volare-reset-search-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 22px;
  background: #9d2562 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  border: none !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}
.volare-reset-search-btn:hover {
  background: #7e1d4e !important;
  transform: translateY(-1px);
}
@media (max-width: 768px) {
  .tutor-courses-wrap.course-archive-page,
  .tutor-wrap.tutor-courses-wrap {
    padding: 24px 16px 60px 16px !important;
  }
  .volare-catalog-toolbar-wrapper {
    margin-bottom: 20px !important;
  }
  .volare-catalog-toolbar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
  }
  .volare-catalog-search-box {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
  }
  .volare-catalog-search-input {
    height: 44px !important;
    font-size: 14px !important;
    padding: 0 36px 0 40px !important;
  }
  .volare-catalog-search-icon {
    left: 12px !important;
    font-size: 18px !important;
  }
  .volare-catalog-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }
  .volare-catalog-count-badge {
    font-size: 13px !important;
    padding: 6px 10px !important;
    flex-shrink: 1 !important;
    white-space: nowrap !important;
    min-width: 0 !important;
  }
  .volare-catalog-sort-group {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    justify-content: flex-end !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }
  .volare-catalog-sort-label {
    font-size: 13px !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  .volare-catalog-sort-select {
    min-width: 0 !important;
    height: 38px !important;
    padding: 0 28px 0 10px !important;
    font-size: 13px !important;
    max-width: 130px !important;
    width: 100% !important;
    border-radius: 8px !important;
  }
}

@media (max-width: 480px) {
  .volare-wrap.volare-page-main,
  main.volare-page-main {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .volare-catalog-toolbar {
    padding: 10px 12px !important;
    gap: 10px !important;
  }
  .volare-catalog-controls {
    gap: 6px !important;
  }
  .volare-catalog-sort-label {
    display: none !important;
  }
  .volare-sort-label-text {
    display: none !important;
  }
  .volare-catalog-count-badge {
    font-size: 12px !important;
    padding: 5px 8px !important;
  }
  .volare-catalog-sort-select {
    min-width: 0 !important;
    max-width: 115px !important;
    height: 36px !important;
    padding: 0 22px 0 8px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 340px) {
  .volare-catalog-controls {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .volare-catalog-count-badge {
    width: 100% !important;
    text-align: center !important;
  }
  .volare-catalog-sort-group {
    width: 100% !important;
    justify-content: flex-end !important;
  }
}

/* TUTOR LMS CART & CHECKOUT INTEGRATION */
.tutor-cart-page,
.tutor-checkout-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px 80px 24px;
  min-height: 55vh;
}
.tutor-cart-empty-state {
  text-align: center;
  padding: 60px 24px 70px 24px !important;
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid rgba(157, 37, 98, 0.12);
  box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.04);
  max-width: 560px;
  margin: 40px auto;
}
.tutor-cart-empty-state img {
  max-width: 150px !important;
  margin: 0 auto 24px auto !important;
  display: block !important;
}
.tutor-cart-empty-state p {
  font-family: var(--volare-font-heading) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  margin: 0 0 28px 0 !important;
  letter-spacing: -0.02em !important;
}

/* Force white text, no underline, and proper button styling for all tutor buttons in cart/checkout */
.volare-page-main a.tutor-btn,
.volare-page-main .tutor-btn,
.tutor-cart-empty-state a,
.tutor-cart-empty-state a.tutor-btn,
.tutor-cart-page .tutor-btn-primary,
.tutor-checkout-page .tutor-btn-primary {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}
.volare-page-main a.tutor-btn:hover,
.volare-page-main .tutor-btn:hover,
.tutor-cart-empty-state a:hover,
.tutor-cart-empty-state a.tutor-btn:hover,
.tutor-cart-page .tutor-btn-primary:hover,
.tutor-checkout-page .tutor-btn-primary:hover {
  background: linear-gradient(135deg, #0284c7 0%, #025380 100%) !important;
  filter: brightness(1.05) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(2, 132, 199, 0.45) !important;
}
.tutor-cart-empty-state a *,
.tutor-cart-empty-state a:hover * {
  color: #ffffff !important;
  text-decoration: none !important;
}

/* RESPONSIVE BREAKPOINTS (DESKTOP, TABLET, MOBILE) */
@media (max-width: 1080px) {
  .volare-nav-menu {
    display: none !important;
  }
  .volare-hamburger-btn {
    display: flex !important;
  }
  .volare-topbar-social {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .volare-topbar {
    padding: 7px 16px;
    font-size: 11px;
  }
  .volare-topbar-inner {
    justify-content: center;
    gap: 14px;
  }
  .volare-topbar-left {
    justify-content: center;
    gap: 16px;
    width: 100%;
  }
  .volare-topbar-address,
  .volare-topbar-address-wrap,
  .volare-topbar-right,
  .volare-topbar-social {
    display: none !important;
  }

  .volare-navbar {
    padding: 8px 14px;
    min-height: 60px;
  }
  .volare-logo-img {
    height: 36px !important;
    max-height: 36px !important;
    max-width: 150px !important;
  }
  .volare-navbar-actions {
    gap: 8px;
  }
  .volare-nav-icon-btn {
    width: 38px !important;
    height: 38px !important;
  }
  .volare-nav-icon-btn svg.volare-nav-svg-icon {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  flex-shrink: 0 !important;
  color: #ffffff !important;
  pointer-events: none !important;
}
.volare-hamburger-btn svg.volare-hamburger-svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  flex-shrink: 0 !important;
  color: #2d231b !important;
  pointer-events: none !important;
}
.volare-nav-icon-btn .material-symbols-outlined {
    font-size: 23px !important;
    font-weight: 500 !important;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24 !important;
  }
  .volare-hamburger-btn {
    width: 38px !important;
    height: 38px !important;
  }
  .volare-hamburger-btn .volare-hamburger-icon {
    font-size: 26px !important;
  }

  /* Hero Section na mobilkach */
  .volare-hero,
  .volare-hero-inner {
    padding: 28px 16px 60px 16px !important;
  }
  .volare-hero-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .volare-slides-container {
    max-width: 100% !important;
    width: 100% !important;
  }
  .volare-slides-viewport {
    margin-bottom: 16px !important;
  }
  .volare-slide {
    width: 100% !important;
  }
  .volare-slide-badge {
    font-size: 10px !important;
    padding: 5px 12px !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }
  .volare-slide-title {
    font-size: clamp(24px, 6.8vw, 36px) !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    margin: 0 0 12px 0 !important;
  }
  .volare-slide-desc {
    font-size: 15px !important;
    line-height: 1.55 !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin: 0 !important;
  }

  /* Desktop side arrows hide on mobile, mobile arrows row becomes visible */
  .volare-prev-btn,
  .volare-next-btn {
    display: none !important;
  }
  .volare-mobile-arrow {
    display: flex !important;
  }

  .volare-hero-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }
  .volare-hero-actions a {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 12px 20px !important;
  }

  .volare-hero-controls {
    justify-content: center !important;
    margin-top: 22px !important;
    gap: 14px !important;
  }
}

@media (max-width: 520px) {
  .volare-logo-img {
    height: 34px !important;
    max-height: 34px !important;
    max-width: 130px !important;
  }
  .volare-navbar-actions {
    gap: 6px;
  }
  .volare-nav-icon-btn {
    width: 36px !important;
    height: 36px !important;
    background-size: 78px 36px !important;
  }
  .volare-navbar-actions .volare-btn-cart {
    background-position: 0 0 !important;
  }
  .volare-navbar-actions .volare-btn-user {
    background-position: -42px 0 !important;
  }
  .volare-nav-icon-btn svg.volare-nav-svg-icon {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  flex-shrink: 0 !important;
  color: #ffffff !important;
  pointer-events: none !important;
}
.volare-hamburger-btn svg.volare-hamburger-svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  flex-shrink: 0 !important;
  color: #2d231b !important;
  pointer-events: none !important;
}
.volare-nav-icon-btn .material-symbols-outlined {
    font-size: 22px !important;
    font-weight: 500 !important;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24 !important;
  }
  .volare-hamburger-btn {
    width: 36px !important;
    height: 36px !important;
  }
  .volare-hamburger-btn .volare-hamburger-icon {
    font-size: 25px !important;
  }
}

@media (max-width: 400px) {
  .volare-topbar {
    padding: 5px 8px;
    font-size: 10.5px;
  }
  .volare-topbar-inner {
    gap: 6px 12px;
  }
  .volare-topbar-left {
    gap: 6px 12px;
    font-size: 10.5px;
  }
  .volare-logo-img {
    height: 30px !important;
    max-height: 30px !important;
    max-width: 105px !important;
  }
  .volare-nav-icon-btn {
    width: 35px !important;
    height: 35px !important;
    background-size: 76px 35px !important;
  }
  .volare-navbar-actions .volare-btn-cart {
    background-position: 0 0 !important;
  }
  .volare-navbar-actions .volare-btn-user {
    background-position: -41px 0 !important;
  }
  .volare-nav-icon-btn svg.volare-nav-svg-icon {
  width: 21px !important;
  height: 21px !important;
  display: block !important;
  flex-shrink: 0 !important;
  color: #ffffff !important;
  pointer-events: none !important;
}
.volare-hamburger-btn svg.volare-hamburger-svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  flex-shrink: 0 !important;
  color: #2d231b !important;
  pointer-events: none !important;
}
.volare-nav-icon-btn .material-symbols-outlined {
    font-size: 22px !important;
    font-weight: 500 !important;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24 !important;
  }
  .volare-hamburger-btn {
    width: 35px !important;
    height: 35px !important;
  }
  .volare-hamburger-btn .volare-hamburger-icon {
    font-size: 24px !important;
  }
  .volare-mobile-drawer {
    max-width: 88vw;
    padding: 20px 16px;
  }
  .volare-drawer-link {
    padding: 10px 14px !important;
    font-size: 14px !important;
  }
}

/* FAQ ACCORDION (Zarówno dla stron podrzędnych, jak i bazy wiedzy) */
.volare-faq-list,
.volare-nd-faq-list {
  max-width: 900px;
  margin: 0 auto 48px auto;
}

.volare-faq-item,
.volare-nd-faq-item {
  background: #fbf7f2 !important;
  border-radius: 14px;
  border: 1px solid #e8e2d8 !important;
  box-shadow: 0 4px 15px rgba(30, 94, 190, 0.04);
  margin-bottom: 14px;
  overflow: hidden;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.volare-faq-item:hover {
  border-color: #6b35a0;
  box-shadow: 0 6px 20px rgba(107, 53, 160, 0.08);
}

.volare-nd-faq-item:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 6px 20px rgba(30, 94, 190, 0.08) !important;
}

.volare-faq-item.is-open {
  border-color: #6b35a0;
  box-shadow: 0 8px 24px rgba(107, 53, 160, 0.1);
}

.volare-nd-faq-item.is-open {
  background: #fdfbf7 !important;
  border-color: #1e5ebe !important;
  box-shadow: 0 8px 24px rgba(30, 94, 190, 0.12) !important;
}

.volare-faq-question,
.volare-nd-faq-question {
  width: 100% !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 20px 24px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  cursor: pointer !important;
  gap: 16px !important;
  transition: color 0.2s ease !important;
  margin: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.volare-faq-question:hover,
.volare-faq-item.is-open .volare-faq-question {
  color: #6b35a0 !important;
}

.volare-nd-faq-question:hover,
.volare-nd-faq-item.is-open .volare-nd-faq-question {
  color: #1e5ebe !important;
}

.volare-faq-question span:first-child,
.volare-nd-faq-question span:first-child {
  flex: 1;
}

.volare-faq-question .faq-icon,
.volare-faq-question .volare-nd-faq-icon {
  font-size: 24px !important;
  color: #6b35a0 !important;
  transition: transform 0.2s ease !important;
  flex-shrink: 0;
}

.volare-nd-faq-question .faq-icon,
.volare-nd-faq-question .volare-nd-faq-icon {
  font-size: 24px !important;
  color: #1e5ebe !important;
  transition: transform 0.2s ease !important;
  flex-shrink: 0;
}

.volare-faq-answer,
.volare-nd-faq-answer {
  padding: 0 24px 22px 24px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #475569 !important;
  border-top: 1px solid #f8f6f2 !important;
  padding-top: 16px !important;
}

/* FRONT PAGE MAIN CONTAINER & HERO EDGE-TO-EDGE */
.volare-front-main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

.volare-front-main .entry-content,
.volare-front-main .wp-block-post-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#volare-hero-section,
.volare-hero-full {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
  position: relative !important;
  overflow: hidden !important;
}

.volare-hero-bg,
#volare-hero-section > div:first-child {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

.volare-hero-bg img,
#volare-hero-section > div:first-child img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.volare-hero-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 60px 24px 110px 24px;
  position: relative;
  z-index: 10;
}

/* ==========================================================================
   SYSTEM 8 BARW SENSORYCZNYCH DLA PODSTRON (KOD Z PODRĘCZNIKA MGR JOANNY KRYSIAK)
   ========================================================================== */

/* 1. DOMYŚLNY MOTYW / STRONA GŁÓWNA (Zmysł Smaku / Nauka: #ee852a) */
:root {
  --volare-sub-accent: #ee852a;
  --volare-sub-dark: #b85208;
  --volare-sub-glow: rgba(238, 133, 42, 0.35);
  --volare-sub-tint: #fff7ed;
  --volare-sub-badge: #fef3e7;
  --volare-sub-badge-text: #b85208;
}

/* 2. TERAPIA I DIAGNOSTYKA SI (Zmysł Równowagi / Układ Przedsionkowy: #2e9bb0) */
body.page-id-245,
body.page-slug-integracja-sensoryczna,
body.page-id-347,
body.page-slug-umow-wizyte {
  --volare-sub-accent: #2e9bb0;
  --volare-sub-dark: #186877;
  --volare-sub-glow: rgba(46, 155, 176, 0.35);
  --volare-sub-tint: #e6f7fa;
  --volare-sub-badge: #d4f1f6;
  --volare-sub-badge-text: #186877;
}

/* 3. SZKOLENIA STACJONARNE I DLA PLACÓWEK (Zmysł Węchu / Relacja: #c83a9e) */
body.page-id-136,
body.page-slug-szkolenia-stacjonarne,
body.page-id-227,
body.page-slug-szkolenia {
  --volare-sub-accent: #c83a9e;
  --volare-sub-dark: #881c68;
  --volare-sub-glow: rgba(200, 58, 158, 0.35);
  --volare-sub-tint: #fdf2f8;
  --volare-sub-badge: #fbcfe8;
  --volare-sub-badge-text: #881c68;
}

/* 4. SENSOGIMNASTYKA® (Zmysł Propriocepcji / Czucie Głębokie: #8e3b8f) */
body.page-slug-sensogimnastyka {
  --volare-sub-accent: #8e3b8f;
  --volare-sub-dark: #581c59;
  --volare-sub-glow: rgba(142, 59, 143, 0.35);
  --volare-sub-tint: #faf5fa;
  --volare-sub-badge: #edd3ee;
  --volare-sub-badge-text: #581c59;
}

/* 5. SZKOLENIA ONLINE & BAZA WIEDZY (Zmysł Słuchu / Zrozumienie: #6b35a0) */
body.page-slug-szkolenia-online,
body.page-id-142,
body.page-slug-baza-wiedzy {
  --volare-sub-accent: #6b35a0;
  --volare-sub-dark: #461a72;
  --volare-sub-glow: rgba(107, 53, 160, 0.35);
  --volare-sub-tint: #f5f0fb;
  --volare-sub-badge: #e9dbf7;
  --volare-sub-badge-text: #461a72;
}

.volare-page-hero.volare-catalog-hero.volare-online-courses-hero {
  background: linear-gradient(135deg, #6b35a0 0%, #4b1d75 100%) !important;
  box-shadow: 0 10px 30px rgba(107, 53, 160, 0.22) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

/* 6. EDUKACJA, EBOOKI I MATERIAŁY (Zmysł Interocepcji / Samoregulacja: #e2a12a) */
body.page-id-138,
body.page-slug-katalog,
body.post-type-archive-courses,
body.page-id-85,
body.page-slug-sklep {
  --volare-sub-accent: #e2a12a;
  --volare-sub-dark: #9a6609;
  --volare-sub-glow: rgba(226, 161, 42, 0.35);
  --volare-sub-tint: #fef9ee;
  --volare-sub-badge: #fde8bf;
  --volare-sub-badge-text: #875505;
}

/* 7. KONTAKT I LOKALIZACJA KRAKÓW (Medyczny Błękit / Zaufanie i Otwarta Komunikacja: #3f7fc4) */
body.page-id-144,
body.page-slug-kontakt {
  --volare-sub-accent: #3f7fc4;
  --volare-sub-dark: #1e4b85;
  --volare-sub-glow: rgba(63, 127, 196, 0.35);
  --volare-sub-tint: #f0f7ff;
  --volare-sub-badge: #d4e7fc;
  --volare-sub-badge-text: #1e4b85;
}

/* 8. O INSTYTUCIE, EVIDENCE-BASED & MEN (Zmysł Wzroku / Autorytet: #3f7fc4) */
body.page-id-140,
body.page-slug-o-instytucie,
body.page-id-190,
body.page-slug-akredytacja-men,
body.page-id-192,
body.page-slug-evidence-based-education {
  --volare-sub-accent: #3f7fc4;
  --volare-sub-dark: #204e84;
  --volare-sub-glow: rgba(63, 127, 196, 0.35);
  --volare-sub-tint: #eff6ff;
  --volare-sub-badge: #dbeafe;
  --volare-sub-badge-text: #204e84;
}

/* ==========================================================================
   VOLARE GUTENBERG BLOCK COMPONENTS & SUBPAGE STYLING
   ========================================================================== */

/* Subpage Hero Banner z dynamicznym motywem barwnym - Harmonized Compact Format */
.volare-page-hero,
.wp-block-group.volare-page-hero {
  background: radial-gradient(125% 125% at 50% 0%, 
    color-mix(in srgb, var(--volare-sub-accent) 75%, white) 0%, 
    var(--volare-sub-accent) 45%, 
    var(--volare-sub-dark) 100%
  ) !important;
  border-radius: 20px !important;
  padding: 30px 34px !important;
  color: #ffffff !important;
  margin-bottom: 24px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 16px 36px -12px var(--volare-sub-glow) !important;
}

.volare-page-hero::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.22) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.volare-hero-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  backdrop-filter: blur(8px) !important;
  padding: 6px 14px !important;
  border-radius: 9999px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  color: #ffffff !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

.volare-hero-badge .material-symbols-outlined {
  font-size: 16px !important;
  color: #ffffff !important;
}

.volare-hero-title,
.wp-block-heading.volare-hero-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(26px, 3.5vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 12px 0 !important;
  color: #ffffff !important;
  text-wrap: balance !important;
}

.volare-hero-desc,
p.volare-hero-desc {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: clamp(15px, 1.5vw, 16.5px) !important;
  line-height: 1.6 !important;
  color: #f1f5f9 !important;
  margin: 0 !important;
  max-width: 820px !important;
  text-wrap: pretty !important;
}

/* Szkolenia Stacjonarne - Przyciski podnawigacji w nagłówku (Horyzontalne, niebieskie) */
.volare-hero-subnav-buttons {
  display: flex !important;
  gap: 14px !important;
  max-width: 820px !important;
  width: 100% !important;
  margin-top: 22px !important;
  box-sizing: border-box !important;
}

.volare-hero-subnav-btn {
  flex: 1 1 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  padding: 11px 20px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.38) !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

.volare-hero-subnav-btn span,
.volare-hero-subnav-btn .material-symbols-outlined {
  color: #ffffff !important;
}

.volare-hero-subnav-btn:hover {
  background: linear-gradient(135deg, #0369a1 0%, #075985 100%) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(2, 132, 199, 0.5) !important;
}

.volare-hero-subnav-btn:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
}

/* Szkolenia Stacjonarne - Pasek linku do regulaminu pod różowym boxem hero */
.volare-training-terms-bar {
  display: flex !important;
  align-items: center !important;
  margin-top: -10px !important;
  margin-bottom: 24px !important;
  padding-left: 2px !important;
}

.volare-training-terms-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 6px 14px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9999px !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.volare-training-terms-link:hover {
  color: #0369a1 !important;
  border-color: #cbd5e1 !important;
  background: #f8fafc !important;
  box-shadow: 0 3px 8px rgba(2, 132, 199, 0.12) !important;
  transform: translateY(-1px) !important;
}

.volare-training-terms-link .volare-terms-icon {
  font-size: 16px !important;
  color: #0284c7 !important;
  line-height: 1 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

.volare-training-terms-link:hover .volare-terms-icon {
  color: #0369a1 !important;
}

.volare-training-terms-link .volare-terms-text {
  text-decoration: none !important;
  line-height: 1.4 !important;
}

.volare-training-terms-link:hover .volare-terms-text {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

#szkolenia-otwarte,
#szkolenia-zamawiane {
  scroll-margin-top: 100px !important;
}

@media (max-width: 640px) {
  .volare-hero-subnav-buttons {
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }
  .volare-training-terms-bar {
    margin-top: -6px !important;
    margin-bottom: 20px !important;
  }
  .volare-hero-subnav-btn {
    width: 100% !important;
    padding: 11px 16px !important;
    font-size: 14px !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

@media (max-width: 640px) {
  .volare-page-hero,
  .wp-block-group.volare-page-hero,
  .volare-page-hero.volare-catalog-hero {
    padding: 22px 18px !important;
    border-radius: 16px !important;
    margin-bottom: 18px !important;
  }
  .volare-hero-title,
  .wp-block-heading.volare-hero-title {
    font-size: clamp(22px, 5.5vw, 28px) !important;
    line-height: 1.22 !important;
    margin: 0 0 10px 0 !important;
  }
  .volare-hero-desc,
  p.volare-hero-desc {
    font-size: 14.5px !important;
    line-height: 1.55 !important;
  }
}

/* Catalog Hero Specific Alignment */
.volare-page-hero.volare-catalog-hero {
  padding: 30px 34px !important;
  margin-bottom: 24px !important;
  border-radius: 20px !important;
}

.volare-catalog-hero .volare-hero-badge {
  margin-bottom: 10px !important;
}

.volare-catalog-hero .volare-hero-desc {
  max-width: 820px !important;
}

@media (max-width: 640px) {
  .volare-page-hero.volare-catalog-hero {
    padding: 22px 18px !important;
    margin-bottom: 18px !important;
    border-radius: 16px !important;
  }
}

/* Split Grid Inside Subpage Hero */
.volare-page-hero-grid {
  display: grid !important;
  grid-template-columns: 1.15fr 0.85fr !important;
  gap: 36px !important;
  align-items: center !important;
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 1080px) {
  .volare-page-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

.volare-hero-badges-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 20px !important;
}

.volare-hero-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  color: #cbd5e1 !important;
  font-weight: 600 !important;
}

.volare-hero-chip .material-symbols-outlined {
  font-size: 15px !important;
  color: #f3c85a !important;
}

/* Glassmorphic Diagnosis Card Inside Hero */
.volare-hero-diagnosis-box {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-radius: 20px !important;
  padding: 24px 26px !important;
  box-shadow: 0 16px 40px -10px rgba(0, 0, 0, 0.35) !important;
}

.volare-hero-diagnosis-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 0 14px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1.25 !important;
}

.volare-hero-diagnosis-title .material-symbols-outlined {
  font-size: 22px !important;
  color: #f3c85a !important;
}

.volare-hero-diagnosis-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.volare-hero-diagnosis-list li {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: #e2e8f0 !important;
  position: relative !important;
  padding-left: 28px !important;
  margin: 0 !important;
  display: block !important;
}

.volare-hero-diagnosis-list li strong {
  color: #ffffff !important;
  font-weight: 700 !important;
  margin-right: 4px !important;
}

.volare-hero-diagnosis-list li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.volare-hero-diagnosis-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 750 !important;
  font-size: 15px !important;
  padding: 13.5px 22px !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(200, 58, 158, 0.45) !important;
  border: none !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.volare-hero-diagnosis-btn:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, #d845ad 0%, #9e43a0 100%) !important;
  box-shadow: 0 10px 28px rgba(200, 58, 158, 0.6) !important;
  color: #ffffff !important;
}

@media (max-width: 640px) {
  .volare-hero-diagnosis-box {
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }
}

.volare-hero-diagnosis-sublink {
  font-size: 12px !important;
  color: #cbd5e1 !important;
  text-align: center !important;
  margin-top: 10px !important;
}

.volare-hero-diagnosis-sublink a {
  color: #f3c85a !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* Statistics Grid */
.volare-stats-grid,
.wp-block-columns.volare-stats-grid {
  gap: 20px !important;
  margin-bottom: 48px !important;
}

.volare-stat-card,
.wp-block-group.volare-stat-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 26px 20px !important;
  border: 1px solid rgba(109, 40, 217, 0.12) !important;
  text-align: center !important;
  box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.04) !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.volare-stat-num,
.wp-block-heading.volare-stat-num {
  font-family: 'Outfit', sans-serif !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.1 !important;
}

.volare-stat-label,
p.volare-stat-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* Cards & Feature Blocks */
.volare-card,
.wp-block-group.volare-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  padding: 32px 28px !important;
  border: 1px solid rgba(109, 40, 217, 0.12) !important;
  box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
  height: auto !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.volare-card:hover {
  box-shadow: 0 16px 36px -10px rgba(109, 40, 217, 0.12) !important;
}

.volare-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}

.volare-icon-badge {
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.volare-icon-badge.purple { background: #e0f2fe !important; color: #0369a1 !important; }
.volare-icon-badge.orange { background: #fdf2f8 !important; color: #db2777 !important; }
.volare-icon-badge.emerald { background: #ecfdf5 !important; color: #059669 !important; }
.volare-icon-badge.blue { background: #eff6ff !important; color: #2563eb !important; }

/* Accent Container */
.volare-accent-box,
.wp-block-group.volare-accent-box {
  background: linear-gradient(135deg, #fdf6f9 0%, #f6f0ea 100%) !important;
  border-radius: 20px !important;
  border: 1px solid rgba(157, 37, 98, 0.15) !important;
  padding: 24px 28px !important;
  margin-bottom: 40px !important;
  box-sizing: border-box !important;
}

.volare-accent-box > .wp-block-columns,
.volare-accent-box > .volare-grid-4,
.volare-accent-box .wp-block-columns.volare-grid-4,
.volare-accent-box .wp-block-columns {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}

.volare-accent-box .wp-block-column p:last-child {
  margin-bottom: 0 !important;
}

/* Call to Action Banner */
.volare-cta-banner,
.wp-block-group.volare-cta-banner {
  background: linear-gradient(135deg, #1b1744 0%, #292468 50%, #352e80 100%) !important;
  border-radius: 20px !important;
  padding: 40px 36px !important;
  color: #ffffff !important;
  margin-top: 48px !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
  box-shadow: 0 15px 35px -10px rgba(27, 23, 68, 0.4) !important;
}

.volare-cta-title,
.wp-block-heading.volare-cta-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin: 0 0 8px 0 !important;
}

.volare-cta-desc,
p.volare-cta-desc {
  font-size: 14px !important;
  color: #cbd5e1 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Gutenberg Buttons Integration */
.wp-block-button.volare-btn-primary .wp-block-button__link {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  border: none !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  padding: 11px 24px !important;
  border-radius: 9999px !important;
  box-shadow: 0 6px 18px -2px rgba(244, 114, 133, 0.45) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease !important;
  cursor: pointer;
}

.wp-block-button.volare-btn-primary .wp-block-button__link:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px -2px rgba(244, 114, 133, 0.55) !important;
  color: #ffffff !important;
  filter: brightness(1.05) !important;
}

/* Secondary Button - Default for light backgrounds */
.wp-block-button.volare-btn-secondary .wp-block-button__link {
  background: #ffffff !important;
  color: #201224 !important;
  border: 1.5px solid #cbd5e1 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  padding: 11px 24px !important;
  border-radius: 9999px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
  cursor: pointer;
}

.wp-block-button.volare-btn-secondary .wp-block-button__link:hover {
  background: #ffffff !important;
  border-color: #9d2562 !important;
  color: #9d2562 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(157, 37, 98, 0.12) !important;
}

/* Secondary Button - Inside Dark CTA Banner (Glassmorphism on dark purple) */
.volare-cta-banner .wp-block-button.volare-btn-secondary .wp-block-button__link {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
}

.volare-cta-banner .wp-block-button.volare-btn-secondary .wp-block-button__link:hover {
  background: rgba(255, 255, 255, 0.26) !important;
  border-color: rgba(255, 255, 255, 0.8) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
}

/* Layout for buttons inside CTA banner */
.volare-cta-banner .wp-block-buttons {
  gap: 12px !important;
  align-items: center !important;
}

.wp-block-button.volare-btn-white .wp-block-button__link {
  background: #ffffff !important;
  color: #201224 !important;
  border: 1px solid #cbd5e1 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  padding: 12px 24px !important;
  border-radius: 9999px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  transition: transform 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
  cursor: pointer;
}

.wp-block-button.volare-btn-white .wp-block-button__link:hover {
  background: #ffffff !important;
  border-color: #38bdf8 !important;
  color: #0369a1 !important;
  transform: translateY(-2px) !important;
}

/* FAQ Details Native Block */
.volare-faq-details,
details.wp-block-details.volare-faq-details {
  background: #ffffff !important;
  border-radius: 14px !important;
  border: 1px solid rgba(109, 40, 217, 0.12) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 14px !important;
  padding: 18px 24px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

details.wp-block-details.volare-faq-details summary {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
  padding-right: 32px !important;
  user-select: none;
}

details.wp-block-details.volare-faq-details summary::-webkit-details-marker {
  display: none !important;
}

details.wp-block-details.volare-faq-details summary::after {
  content: 'expand_more';
  font-family: 'Material Symbols Outlined' !important;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  color: #9d2562;
  transition: transform 0.25s ease;
}

details.wp-block-details.volare-faq-details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

details.wp-block-details.volare-faq-details[open] summary {
  color: #9d2562 !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 12px !important;
}

details.wp-block-details.volare-faq-details p {
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin: 0 !important;
}

/* Step / Process Numbers */
.volare-step-box {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 24px !important;
  border: 1px solid rgba(109, 40, 217, 0.12) !important;
  position: relative !important;
  height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

.volare-step-num {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%);
  color: #ffffff;
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

/* ==========================================================================
   GUTENBERG SUBPAGES BULLETPROOF LAYOUT & RESPONSIVENESS
   ========================================================================== */
:root {
  --wp--style--global--content-size: 1240px !important;
  --wp--style--global--wide-size: 1360px !important;
}

.volare-page-main,
.volare-page-inner {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.volare-page-main .entry-content > *,
.volare-page-main .wp-block-post-content > * {
  max-width: 100% !important;
}

.volare-page-main :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100% !important;
}

/* Typography & Word Break Protection */
.wp-block-heading,
.volare-hero-title,
.volare-hero-desc,
.volare-card h1, .volare-card h2, .volare-card h3, .volare-card h4, .volare-card h5,
.volare-card p,
.volare-step-box h4,
.volare-step-box p,
.wp-block-button__link {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
}

/* 3-Column Grid */
.volare-grid-3,
.wp-block-columns.volare-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 48px !important;
}

@media (max-width: 991px) {
  .volare-grid-3,
  .wp-block-columns.volare-grid-3 {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  }
}

.volare-grid-3 > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.volare-grid-3 > .wp-block-column > .volare-card,
.volare-grid-3 > .wp-block-column > .volare-step-box {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Stats & 4-Column Grid */
.volare-stats-grid,
.wp-block-columns.volare-stats-grid,
.volare-grid-4,
.wp-block-columns.volare-grid-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 48px !important;
}

@media (max-width: 991px) {
  .volare-stats-grid,
  .wp-block-columns.volare-stats-grid,
  .volare-grid-4,
  .wp-block-columns.volare-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575px) {
  .volare-stats-grid,
  .wp-block-columns.volare-stats-grid,
  .volare-grid-4,
  .wp-block-columns.volare-grid-4 {
    grid-template-columns: 1fr !important;
  }
}

.volare-stats-grid > .wp-block-column,
.volare-grid-4 > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.volare-stats-grid > .wp-block-column > .volare-card,
.volare-grid-4 > .wp-block-column > .volare-card,
.volare-grid-4 > .wp-block-column > .volare-step-box {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 2-Column Feature Cards */
.volare-feature-columns,
.wp-block-columns.volare-feature-columns {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 24px !important;
  margin-bottom: 48px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.volare-feature-columns > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: initial !important;
  margin: 0 !important;
}

.volare-feature-columns > .wp-block-column > .volare-card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Schedule Section & Workshop Cards */
.volare-schedule-section,
.wp-block-group.volare-schedule-section {
  background: #ffffff !important;
  border-radius: 20px !important;
  border: 1px solid rgba(109, 40, 217, 0.12) !important;
  padding: 36px 32px !important;
  box-shadow: 0 10px 30px -8px rgba(0, 0, 0, 0.05) !important;
  margin-bottom: 48px !important;
  box-sizing: border-box !important;
}

.volare-schedule-header,
.wp-block-group.volare-schedule-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
  flex-wrap: wrap !important;
}

.volare-schedule-header-left {
  flex: 1 1 400px !important;
}

.volare-schedule-header-left h2,
.volare-schedule-header-left .wp-block-heading {
  font-family: 'Outfit', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #201224 !important;
  margin: 0 0 6px 0 !important;
}

.volare-schedule-badge,
p.volare-schedule-badge {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #16a34a !important;
  background: #dcfce7 !important;
  padding: 6px 16px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.volare-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #16a34a;
  display: inline-block;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.2);
}

.volare-workshop-card,
.wp-block-group.volare-workshop-card {
  background: #f8fafc !important;
  border: 1px solid rgba(2, 132, 199, 0.16) !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  margin-bottom: 16px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  box-sizing: border-box !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.volare-workshop-card:hover {
  background: #ffffff !important;
  border-color: #0284c7 !important;
  box-shadow: 0 10px 28px -6px rgba(2, 132, 199, 0.16) !important;
  transform: translateY(-2px);
}

.volare-workshop-main {
  flex: 1 1 auto !important;
  min-width: 280px !important;
}

.volare-workshop-tags,
p.volare-workshop-tags {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 8px 0 !important;
  line-height: 1 !important;
  flex-wrap: wrap !important;
}

.volare-city-badge {
  background: #9d2562 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 3px 9px !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  display: inline-block !important;
}

.volare-city-badge.teal {
  background: #0f766e !important;
}

.volare-city-badge.online {
  background: #2563eb !important;
}

.volare-hours-badge {
  color: #64748b !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}

.volare-workshop-title,
.wp-block-heading.volare-workshop-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.35 !important;
}

.volare-workshop-desc,
p.volare-workshop-desc {
  font-size: 13.5px !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.volare-workshop-aside {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  flex-shrink: 0 !important;
}

.volare-meta-box {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.volare-meta-label,
p.volare-meta-label {
  font-size: 11px !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  margin: 0 !important;
}

.volare-meta-val,
p.volare-meta-val {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

.volare-meta-sub {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin-top: 2px !important;
  white-space: nowrap !important;
}

.volare-meta-box--price {
  padding-inline: 14px !important;
  border-left: 1px solid #f1e5d8 !important;
  border-right: 1px solid #f1e5d8 !important;
}

.volare-meta-val.volare-meta-price,
p.volare-meta-val.volare-meta-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #9d2562 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 5px !important;
}

.volare-meta-price-sub {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

.volare-meta-price-old {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
}

.volare-meta-promo-sub {
  display: inline-block !important;
  margin-top: 3px !important;
  padding: 2px 7px !important;
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  border-radius: 999px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: #9a3412 !important;
  white-space: nowrap !important;
}

.volare-meta-val.alert-orange,
p.volare-meta-val.alert-orange {
  color: #be185d !important;
}

.volare-meta-val.alert-green,
p.volare-meta-val.alert-green {
  color: #16a34a !important;
}

.volare-workshop-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 160px !important;
  min-width: 150px !important;
  margin: 0 !important;
}

.volare-workshop-actions .wp-block-button {
  width: 100% !important;
  margin: 0 !important;
}

.volare-workshop-actions .wp-block-button.volare-btn-workshop {
  order: 1 !important;
}

.volare-workshop-actions .wp-block-button.volare-btn-workshop-outline {
  order: 2 !important;
}

.wp-block-button.volare-btn-workshop-outline {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.wp-block-button.volare-btn-workshop-outline .wp-block-button__link {
  background: #ffffff !important;
  color: #0369a1 !important;
  border: 1.5px solid #bae6fd !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 3px rgba(109, 40, 217, 0.05) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}

.wp-block-button.volare-btn-workshop-outline .wp-block-button__link:hover {
  background: #f0f9ff !important;
  border-color: #0284c7 !important;
  color: #075985 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(109, 40, 217, 0.12) !important;
}

.wp-block-button.volare-btn-workshop-outline .wp-block-button__link:active {
  transform: translateY(0) !important;
}

.wp-block-button.volare-btn-workshop-outline .wp-block-button__link .material-symbols-outlined {
  font-size: 16px !important;
  color: #0369a1 !important;
}

.wp-block-button.volare-btn-workshop {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.wp-block-button.volare-btn-workshop .wp-block-button__link {
  background: #9d2562 !important;
  color: #ffffff !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8.5px 12px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(109, 40, 217, 0.25) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.wp-block-button.volare-btn-workshop .wp-block-button__link:hover {
  background: #7e1d4e !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(109, 40, 217, 0.35) !important;
}

.wp-block-button.volare-btn-workshop .wp-block-button__link .material-symbols-outlined {
  font-size: 16px !important;
  color: #ffffff !important;
}

/* Wariant karty B2B / Szkolenia Zamawiane */
.volare-workshop-card--b2b,
.wp-block-group.volare-workshop-card--b2b {
  background: #ffffff !important;
  border: 1px solid rgba(109, 40, 217, 0.14) !important;
  border-left: 4px solid #9d2562 !important;
  border-radius: 16px !important;
  padding: 24px 28px !important;
  margin-bottom: 16px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.volare-workshop-card--b2b:hover {
  background: #f0f9ff !important;
  border-color: #0284c7 !important;
  border-left-color: #0ea5e9 !important;
  box-shadow: 0 10px 28px -6px rgba(109, 40, 217, 0.15) !important;
  transform: translateY(-2px);
}

/* Wyrównanie kolumn na desktopie: stałe szerokości kolumn i przycisków w jednej linii */
@media (min-width: 992px) {
  /* Szkolenia Otwarte: Termin i Dostępność w 1 kolumnie (grid), poszerzone pole tekstowe na tytuł i opis, stałe szerokości kolumn */
  .volare-workshop-card:not(.volare-workshop-card--b2b) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
  }
  .volare-workshop-card:not(.volare-workshop-card--b2b) .volare-workshop-main {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    padding-right: 14px !important;
  }
  .volare-workshop-card:not(.volare-workshop-card--b2b) .volare-workshop-aside {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    flex: 0 0 540px !important;
    width: 540px !important;
    min-width: 540px !important;
    max-width: 540px !important;
    justify-content: flex-end !important;
  }
  .volare-workshop-meta-group {
    display: grid !important;
    grid-template-columns: 175px 180px !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "date  price"
      "avail price" !important;
    align-items: center !important;
    column-gap: 16px !important;
    row-gap: 8px !important;
    width: 371px !important;
    min-width: 371px !important;
    max-width: 371px !important;
    flex-shrink: 0 !important;
  }
  .volare-meta-box--date {
    grid-area: date !important;
    width: 175px !important;
    min-width: 0 !important;
  }
  .volare-meta-box--avail {
    grid-area: avail !important;
    width: 175px !important;
    min-width: 0 !important;
  }
  .volare-meta-box--price {
    grid-area: price !important;
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    border-left: 1px solid #f1e5d8 !important;
    border-right: 1px solid #f1e5d8 !important;
  }
  .volare-workshop-card:not(.volare-workshop-card--b2b) .volare-workshop-actions {
    width: 153px !important;
    min-width: 153px !important;
    max-width: 153px !important;
    flex-shrink: 0 !important;
  }
}

@media (min-width: 901px) {
  .volare-workshop-card--b2b .volare-workshop-main {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    padding-right: 18px !important;
  }
  .volare-workshop-card--b2b .volare-workshop-aside {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    flex-shrink: 0 !important;
    width: 382px !important;
    min-width: 382px !important;
    justify-content: flex-end !important;
  }
  .volare-workshop-card--b2b .volare-b2b-pricing {
    width: 195px !important;
    min-width: 195px !important;
    max-width: 195px !important;
    flex-shrink: 0 !important;
  }
  .volare-workshop-card--b2b .volare-workshop-actions {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    flex-shrink: 0 !important;
  }
}

/* Przyciski w kartach ofertowych – obsługa czytelnego układu dwulinijkowego */
.volare-workshop-card--b2b .volare-btn-workshop .wp-block-button__link {
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.25 !important;
  padding: 9px 12px !important;
  min-height: 48px !important;
  font-size: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

.volare-workshop-card--b2b .volare-btn-workshop .wp-block-button__link span {
  display: inline-block !important;
  text-align: center !important;
}

/* Kompaktowa PIONOWA matryca cenowa B2B (.volare-b2b-pricing) */
.volare-b2b-pricing {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 6px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  min-width: 165px !important;
  box-sizing: border-box !important;
}

.volare-price-tier {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  position: relative !important;
}

.volare-price-tier:not(:first-child) {
  border-top: 1px solid #e2e8f0 !important;
  padding-top: 5px !important;
}

.volare-price-tier:not(:last-child)::after {
  display: none !important;
}

.volare-price-tier__label {
  font-size: 10.5px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: #64748b !important;
  white-space: nowrap !important;
}

.volare-price-tier__val {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 800 !important;
  color: #201224 !important;
  white-space: nowrap !important;
  line-height: 1.15 !important;
}

.volare-price-tier__val--online {
  color: #0f766e !important;
}

.volare-price-tier__tax {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #334155 !important;
  text-transform: lowercase !important;
  margin-left: 2px !important;
}

/* Pudełko informacyjne z zasadami realizacji oferty B2B (.volare-b2b-terms-box) */
.volare-b2b-terms-box,
.wp-block-group.volare-b2b-terms-box {
  background: linear-gradient(145deg, #ffffff 0%, #faf8f5 100%) !important;
  border: 1px solid rgba(109, 40, 217, 0.16) !important;
  border-radius: 20px !important;
  padding: 32px !important;
  margin-top: 36px !important;
  margin-bottom: 48px !important;
  box-shadow: 0 8px 30px -8px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
}

.volare-b2b-terms-header {
  margin-bottom: 20px !important;
}

.volare-b2b-terms-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 18px !important;
}

.volare-b2b-term-card {
  background: #ffffff !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  border-radius: 14px !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
}

.volare-b2b-term-card h4 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.volare-b2b-term-card h4 .material-symbols-outlined {
  font-size: 19px !important;
  color: #0369a1 !important;
}

.volare-b2b-term-card p {
  font-size: 13px !important;
  color: #475569 !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

.volare-b2b-term-card a {
  color: #0369a1 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

.volare-b2b-term-card a:hover {
  color: #0284c7 !important;
}

/* Formatowanie bezpośredniego kontaktu w kartach organizacyjnych */
.volare-b2b-contact-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-top: 6px !important;
}

.volare-b2b-contact-phone {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #9d2562 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: color 0.2s ease !important;
}

.volare-b2b-contact-phone:hover {
  color: #0284c7 !important;
}

.volare-b2b-contact-email {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: color 0.2s ease !important;
}

.volare-b2b-contact-email:hover {
  color: #0369a1 !important;
}

@media (max-width: 991px) {
  .volare-schedule-section,
  .wp-block-group.volare-schedule-section {
    padding: 24px 16px !important;
    border-radius: 16px !important;
    margin-bottom: 32px !important;
  }
  .volare-workshop-card,
  .wp-block-group.volare-workshop-card,
  .volare-workshop-card--b2b,
  .wp-block-group.volare-workshop-card--b2b {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
    padding: 20px 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .volare-workshop-main {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .volare-workshop-aside {
    width: 100% !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    padding-top: 14px !important;
    border-top: 1px dashed rgba(109, 40, 217, 0.15) !important;
  }
  /* Szkolenia Otwarte (mobile/tablet): wyrównanie w 1 linii do lewej: termin / cena / dostępność */
  .volare-workshop-card:not(.volare-workshop-card--b2b) .volare-workshop-aside {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }
  .volare-workshop-meta-group {
    display: grid !important;
    grid-template-columns: 1.1fr 1.15fr 1fr !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .volare-meta-box--date {
    order: 1 !important;
    min-width: 0 !important;
  }
  .volare-meta-box--price {
    order: 2 !important;
    min-width: 0 !important;
    padding-inline: 0 !important;
    border-left: none !important;
    border-right: none !important;
  }
  .volare-meta-box--avail {
    order: 3 !important;
    min-width: 0 !important;
  }
  .volare-workshop-meta-group p.volare-meta-val {
    white-space: normal !important;
    line-height: 1.25 !important;
  }
  .volare-workshop-meta-group p.volare-meta-label {
    font-size: 10px !important;
    margin-bottom: 2px !important;
  }
  .volare-workshop-meta-group .volare-meta-val {
    font-size: 13.5px !important;
  }
  .volare-workshop-meta-group .volare-meta-val.volare-meta-price {
    font-size: 15.5px !important;
    white-space: nowrap !important;
  }
  .volare-workshop-meta-group .volare-meta-sub {
    font-size: 11px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
  .volare-workshop-meta-group .volare-meta-promo-sub {
    font-size: 10px !important;
    padding: 1px 6px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    display: inline-block !important;
    max-width: 125px !important;
  }
  .volare-workshop-card:not(.volare-workshop-card--b2b) .volare-workshop-actions {
    width: 100% !important;
    flex: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .volare-workshop-card:not(.volare-workshop-card--b2b) .volare-workshop-actions .wp-block-button,
  .volare-workshop-card:not(.volare-workshop-card--b2b) .volare-workshop-actions .wp-block-button__link {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
  .volare-b2b-pricing {
    flex: 1 1 200px !important;
    min-width: 160px !important;
  }
  .volare-workshop-card--b2b .volare-workshop-actions {
    flex: 1 1 150px !important;
    width: auto !important;
  }
}

@media (max-width: 600px) {
  .volare-workshop-aside {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding-top: 12px !important;
  }
  .volare-workshop-card:not(.volare-workshop-card--b2b) .volare-workshop-aside {
    gap: 14px !important;
  }
  .volare-workshop-meta-group {
    gap: 12px !important;
  }
  .volare-meta-box--price {
    padding-inline: 0 !important;
    border-left: none !important;
    border-right: none !important;
  }
  .volare-b2b-pricing {
    width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 8px 12px !important;
    gap: 4px !important;
  }
  .volare-price-tier {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 8px !important;
  }
  .volare-price-tier:not(:first-child) {
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 4px !important;
  }
  .volare-workshop-actions,
  .volare-workshop-card--b2b .volare-workshop-actions {
    flex-direction: column !important;
    width: 100% !important;
    flex: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    gap: 8px !important;
  }
  .volare-workshop-actions .wp-block-button,
  .volare-workshop-actions .wp-block-button__link,
  .volare-workshop-card--b2b .volare-workshop-actions .wp-block-button,
  .volare-workshop-card--b2b .volare-workshop-actions .wp-block-button__link {
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
  .volare-b2b-terms-box,
  .wp-block-group.volare-b2b-terms-box {
    padding: 22px 18px !important;
  }
  .volare-schedule-section,
  .wp-block-group.volare-schedule-section {
    padding: 18px 12px !important;
    border-radius: 14px !important;
  }
  .volare-workshop-card,
  .wp-block-group.volare-workshop-card,
  .volare-workshop-card--b2b,
  .wp-block-group.volare-workshop-card--b2b {
    gap: 12px !important;
    padding: 16px 14px !important;
    border-radius: 14px !important;
    margin-bottom: 14px !important;
  }
  .volare-workshop-title,
  .wp-block-heading.volare-workshop-title {
    font-size: 17px !important;
    line-height: 1.35 !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
  .volare-workshop-desc,
  p.volare-workshop-desc {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 380px) {
  .volare-workshop-meta-group {
    grid-template-columns: 1.1fr 1.2fr 1fr !important;
    gap: 8px !important;
  }
  .volare-workshop-meta-group p.volare-meta-label {
    font-size: 9.5px !important;
  }
  .volare-workshop-meta-group .volare-meta-val {
    font-size: 12.5px !important;
  }
  .volare-workshop-meta-group .volare-meta-val.volare-meta-price {
    font-size: 14.5px !important;
  }
}

/* Comparison Items (Neuromit vs Nauka) */
.volare-comparison-item,
.wp-block-group.volare-comparison-item {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 22px 24px !important;
  margin-bottom: 16px !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.volare-comparison-item:hover {
  background: #ffffff !important;
  border-color: rgba(109, 40, 217, 0.2) !important;
  box-shadow: 0 6px 20px -6px rgba(109, 40, 217, 0.08) !important;
}

.volare-comparison-item .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
}

.volare-comparison-item .wp-block-columns > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: initial !important;
  margin: 0 !important;
}

/* Contact Page Grid */
.volare-contact-grid,
.wp-block-columns.volare-contact-grid {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr !important;
  gap: 28px !important;
  margin-bottom: 40px !important;
  align-items: start !important;
}

@media (max-width: 1080px) {
  .volare-contact-grid,
  .wp-block-columns.volare-contact-grid {
    grid-template-columns: 1fr !important;
  }
}

.volare-contact-grid > .wp-block-column {
  width: 100% !important;
  max-width: 100% !important;
  flex: initial !important;
  margin: 0 !important;
}

/* 1. Zrównoważony nagłówek formularza kontaktowego */
.volare-contact-grid .volare-card > h2.wp-block-heading,
.volare-contact-grid h2 {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(22px, 2.2vw, 25px) !important;
  font-weight: 750 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
  margin: 0 0 6px 0 !important;
}

.volare-contact-grid .volare-card > p.has-text-color {
  font-size: 14px !important;
  color: #334155 !important;
  margin: 0 0 20px 0 !important;
  line-height: 1.5 !important;
}

/* Dual-Action Direct Call Box (Wybór: Telefon lub Formularz) */
.volare-direct-call-box {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  margin-bottom: 22px !important;
}
.volare-direct-call-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}
.volare-direct-call-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  color: #0f172a !important;
}
.volare-direct-call-title .material-symbols-outlined {
  font-size: 17px !important;
  color: #2563eb !important;
}
.volare-direct-call-hours {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
}
.volare-direct-call-hours .material-symbols-outlined {
  font-size: 14px !important;
  color: #64748b !important;
}
.volare-direct-call-buttons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
.volare-direct-phone-pill {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  padding: 9px 12px !important;
  text-decoration: none !important;
  color: #0f172a !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
  min-height: 44px !important;
  box-sizing: border-box !important;
}
.volare-direct-phone-pill:hover {
  border-color: #3b82f6 !important;
  background: #eff6ff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.12) !important;
}
.volare-direct-phone-ico {
  font-size: 20px !important;
  color: #2563eb !important;
  flex-shrink: 0 !important;
}
.volare-direct-phone-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.25 !important;
}
.volare-direct-phone-lbl {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #64748b !important;
}
.volare-direct-phone-num {
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.01em !important;
}
.volare-direct-phone-pill:hover .volare-direct-phone-num {
  color: #1d4ed8 !important;
}
.volare-direct-call-divider {
  text-align: center !important;
  position: relative !important;
  margin: 0 !important;
}
.volare-direct-call-divider::before {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: #e2e8f0 !important;
  z-index: 1 !important;
}
.volare-direct-call-divider span {
  position: relative !important;
  z-index: 2 !important;
  background: #f4f7fa !important;
  padding: 0 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #475569 !important;
}

@media (max-width: 600px) {
  .volare-direct-call-buttons {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .volare-direct-call-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }
}

/* 2. Uporządkowana architektura kart bocznych (Sidebar) */
.volare-contact-sidebar {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.volare-contact-sidebar .volare-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important;
  padding: 20px 22px !important;
  margin: 0 !important;
  height: auto !important;
  box-shadow: 0 4px 16px -4px rgba(15, 23, 42, 0.04) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}

.volare-contact-sidebar .volare-card:hover {
  border-color: #3f7fc4 !important;
  box-shadow: 0 10px 28px -6px rgba(63, 127, 196, 0.16) !important;
  transform: translateY(-2px) !important;
}

/* Nagłówek karty: Ikonka + Etykieta działu w rzędzie */
.volare-contact-sidebar .volare-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 16px !important;
  margin-bottom: 14px !important;
}

.volare-contact-sidebar .volare-icon-badge {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  background: linear-gradient(135deg, #eff6ff 0%, #e0effe 100%) !important;
  border: 1px solid #bfdbfe !important;
  box-shadow: 0 4px 14px -2px rgba(37, 99, 235, 0.14) !important;
}

.volare-contact-sidebar .volare-icon-badge .material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-size: 35px !important;
  line-height: 1 !important;
  color: #1d4ed8 !important;
  font-weight: 400 !important;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.volare-contact-sidebar .volare-card-header p {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: #3b82f6 !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.25 !important;
}

/* Duży, wyrazisty numer telefonu / nazwa / email */
.volare-contact-sidebar .volare-card-header h3,
.volare-contact-sidebar h3.wp-block-heading,
.volare-contact-sidebar a.volare-phone-link {
  font-family: 'Outfit', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  text-decoration: none !important;
  display: block !important;
  transition: color 0.2s ease !important;
}

.volare-contact-sidebar a.volare-phone-link:hover,
.volare-contact-sidebar h3 a:hover {
  color: #2563eb !important;
}

/* Opis zakresu spraw */
.volare-contact-sidebar p {
  font-size: 13.5px !important;
  color: #475569 !important;
  line-height: 1.45 !important;
  margin: 0 0 10px 0 !important;
}

/* Godziny pracy - uporządkowana ramka metadanych */
.volare-contact-sidebar p.has-text-color {
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #334155 !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  margin: 0 0 12px 0 !important;
  display: block !important;
}

/* Dolny zintegrowany link akcji */
.volare-contact-sidebar p:last-child {
  margin: 0 !important;
  padding-top: 8px !important;
  border-top: 1px solid #f1f5f9 !important;
}

.volare-contact-sidebar p:last-child a,
.volare-contact-sidebar a:not(.volare-phone-link) {
  font-size: 13px !important;
  font-weight: 750 !important;
  color: #3f7fc4 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  transition: all 0.2s ease !important;
}

.volare-contact-sidebar p:last-child a:hover,
.volare-contact-sidebar a:not(.volare-phone-link):hover {
  color: #1e4b85 !important;
  transform: translateX(3px) !important;
}

/* Card Heading Normalization */
.volare-card h3,
.volare-card .wp-block-heading:is(h3) {
  font-family: 'Outfit', sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  line-height: 1.35 !important;
}

/* Button Wrapping Prevention */
.wp-block-button__link,
.volare-btn-primary .wp-block-button__link,
.volare-btn-secondary .wp-block-button__link,
.volare-btn-white .wp-block-button__link {
  white-space: nowrap !important;
  word-break: normal !important;
}

/* FLUENT FORMS - BESPOKE VOLARE STYLING */
.fluentform,
.fluentform.ff-default,
.fluent_form_1,
.volare-fluent-form {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.volare-fluent-form .ff-el-group,
.fluent_form_1 .ff-el-group {
  margin-bottom: 16px !important;
}

.volare-fluent-form .ff-el-input--label label,
.fluent_form_1 .ff-el-input--label label {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #201224 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.volare-fluent-form .ff-el-form-control,
.fluent_form_1 .ff-el-form-control,
.fluent_form_1 input[type="text"],
.fluent_form_1 input[type="email"],
.fluent_form_1 input[type="tel"],
.fluent_form_1 select,
.fluent_form_1 textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  border: 1.5px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #201224 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  outline: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.volare-fluent-form .ff-el-form-control:focus,
.fluent_form_1 .ff-el-form-control:focus,
.fluent_form_1 input:focus,
.fluent_form_1 select:focus,
.fluent_form_1 textarea:focus {
  border-color: #0284c7 !important;
  box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.12) !important;
  background: #ffffff !important;
}

.volare-fluent-form textarea.ff-el-form-control,
.fluent_form_1 textarea {
  min-height: 140px !important;
  resize: vertical !important;
}

@media (min-width: 901px) {
  .volare-fluent-form textarea.ff-el-form-control,
  .fluent_form_1 textarea {
    min-height: 228px !important;
    resize: vertical !important;
  }
}

/* 2-Columns grid inside Fluent Forms */
.fluent_form_1 .ff-t-container {
  display: flex !important;
  gap: 14px !important;
  margin-bottom: 0 !important;
}

.fluent_form_1 .ff-t-cell {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  padding: 0 !important;
}

@media (max-width: 640px) {
  .fluent_form_1 .ff-t-container {
    flex-direction: column !important;
    gap: 0 !important;
  }
}

/* RODO Checkbox & Terms */
.volare-rodo-checkbox,
.fluent_form_1 .ff-el-tc {
  margin-top: 10px !important;
}

.volare-rodo-checkbox .ff_tc_label,
.fluent_form_1 .ff_tc_label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 12px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
}

.volare-rodo-checkbox input[type="checkbox"],
.fluent_form_1 input[type="checkbox"] {
  margin-top: 3px !important;
  accent-color: #3f7fc4 !important;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}

.volare-rodo-checkbox a,
.fluent_form_1 .ff_t_c a {
  color: #3f7fc4 !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

.volare-rodo-checkbox a:hover,
.fluent_form_1 .ff_t_c a:hover {
  color: #1e4b85 !important;
}

/* Submit Button w Medycznym Błękicie */
.fluent_form_1 .ff_submit_btn_wrapper {
  margin-top: 20px !important;
}

.fluent_form_1 .ff-btn-submit.volare-btn-primary,
.fluent_form_1 .ff-btn-submit,
.fluent_form_1 button[type="submit"] {
  background: linear-gradient(135deg, #3f7fc4 0%, #1e4b85 100%) !important;
  color: #ffffff !important;
  border: 1px solid #204e84 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 750 !important;
  padding: 12px 28px !important;
  border-radius: 9999px !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 18px -2px rgba(63, 127, 196, 0.4) !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease !important;
}

.fluent_form_1 .ff-btn-submit.volare-btn-primary:hover,
.fluent_form_1 .ff-btn-submit:hover,
.fluent_form_1 button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px -2px rgba(63, 127, 196, 0.5) !important;
  filter: brightness(1.05) !important;
  color: #ffffff !important;
}

/* Success Message */
.fluent_form_1 .ff-message-success,
.fluentform .ff-message-success {
  background: #f0fdf4 !important;
  border: 1.5px solid #86efac !important;
  border-radius: 14px !important;
  padding: 16px 20px !important;
  color: #166534 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  box-shadow: 0 4px 14px rgba(22, 101, 52, 0.08) !important;
  margin-top: 16px !important;
}

/* Validation Errors */
.fluent_form_1 .error.text-danger,
.fluentform .text-danger,
.fluent_form_1 .ff-el-is-error .ff-el-form-control {
  border-color: #ef4444 !important;
}

.fluent_form_1 .error.text-danger {
  color: #dc2626 !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  margin-top: 4px !important;
}

/* ==========================================================================
   Tutor LMS Registration: Ujednolicenie pola wyboru płci / zwrotu
   ========================================================================== */
#tutor-registration-form .volare-gender-select,
.tutor-form-group select.volare-gender-select,
.volare-gender-select {
  font-family: var(--volare-font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #211a2e !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  height: 46px !important;
  padding: 10px 38px 10px 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
  transition: all 0.2s ease-in-out !important;
  cursor: pointer !important;
}

#tutor-registration-form .volare-gender-select:focus,
.tutor-form-group select.volare-gender-select:focus,
.volare-gender-select:focus {
  background-color: #ffffff !important;
  border-color: #9d2562 !important;
  box-shadow: 0 0 0 2px rgba(157, 37, 98, 0.15) !important;
  outline: none !important;
}

#tutor-registration-form .volare-gender-select option,
.volare-gender-select option {
  font-family: var(--volare-font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 14px !important;
  color: #211a2e !important;
  background-color: #ffffff !important;
  padding: 8px 12px !important;
}

#tutor-registration-form .tutor-form-group label.tutor-block {
  font-family: var(--volare-font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #211a2e !important;
  margin-bottom: 8px !important;
}

/* Przycisk pobierania certyfikatu na kafelkach kursów w panelu studenta LMS */
.tutor-progress-card-actions a.volare-cert-action-btn,
a.tutor-btn.volare-cert-action-btn {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  color: #ffffff !important;
  border: none !important;
  font-family: var(--volare-font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 0.75rem !important; /* 12px, identycznie jak Zakończono */
  font-weight: 600 !important;
  line-height: 1.25rem !important; /* 20px */
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 1px 3px rgba(217, 119, 6, 0.25) !important;
  transition: all 0.2s ease-in-out !important;
  vertical-align: middle !important;
}

.tutor-progress-card-actions a.volare-cert-action-btn:hover,
a.tutor-btn.volare-cert-action-btn:hover {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(217, 119, 6, 0.35) !important;
  transform: translateY(-1px);
}

/* ==========================================================================
   VOLARE LEAD MAGNET MODAL (POBIERANIE BEZPŁATNEGO EBOOKA)
   ========================================================================== */
.volare-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s ease;
}
.volare-modal-overlay.is-active {
  opacity: 1;
  visibility: visible;
}
.volare-modal-card {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(109, 40, 217, 0.08);
  max-width: 680px;
  width: 100%;
  position: relative;
  overflow: hidden;
  transform: scale(0.95) translateY(10px);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}
.volare-modal-overlay.is-active .volare-modal-card {
  transform: scale(1) translateY(0);
}
.volare-modal-close,
.volare-popup-close-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #16133a;
  border: 2px solid #ffffff;
  box-shadow: 0 2px 8px rgba(22, 19, 58, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 100;
}
.volare-modal-close:hover,
.volare-modal-close:focus-visible,
.volare-popup-close-btn:hover,
.volare-popup-close-btn:focus-visible {
  background: #9d2562;
  color: #ffffff;
  transform: scale(1.08);
  outline: none;
}
.volare-modal-close:active,
.volare-popup-close-btn:active {
  transform: scale(0.95);
}
.volare-modal-body-split {
  display: grid;
  grid-template-columns: 260px 1fr;
}
@media (max-width: 640px) {
  .volare-modal-body-split {
    grid-template-columns: 1fr;
  }
}
.volare-modal-preview-col {
  background: linear-gradient(155deg, #161238 0%, #271f54 100%);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
  position: relative;
}
.volare-modal-book-img {
  width: 100%;
  max-width: 200px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.12);
  margin-bottom: 14px;
  transform: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: block;
}
.volare-modal-preview-col:hover .volare-modal-book-img {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.2);
}
@media (max-width: 640px) {
  .volare-modal-preview-col {
    padding: 20px 16px 16px 16px;
  }
  .volare-modal-book-img {
    max-width: 140px;
    margin-bottom: 10px;
  }
}
.volare-modal-book-badge {
  display: inline-block;
  background: #fdf4f8;
  color: #9d2562;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
}
.volare-modal-book-meta {
  font-size: 12px;
  color: #e2d9f3;
  margin: 0;
  line-height: 1.4;
}
.volare-modal-form-col {
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.volare-modal-title {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif);
  font-size: 22px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 8px 0;
  line-height: 1.25;
}
.volare-modal-desc {
  font-size: 13px;
  color: #64748b;
  margin: 0 0 20px 0;
  line-height: 1.5;
}
.volare-lead-field {
  margin-bottom: 14px;
}
.volare-lead-field label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #334155;
  margin-bottom: 4px;
}
.volare-lead-field input[type="text"],
.volare-lead-field input[type="email"] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  color: #0f172a;
  background: #f8fafc;
  transition: all 0.2s ease;
  box-sizing: border-box;
}
.volare-lead-field input:focus {
  outline: none;
  border-color: #6d28d9;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.15);
}
.volare-lead-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 11px;
  line-height: 1.45;
  color: #64748b;
}
.volare-lead-consent input {
  margin-top: 2px;
  accent-color: #6d28d9;
  flex-shrink: 0;
}
.volare-lead-consent a {
  color: #6d28d9;
  text-decoration: underline;
}
.volare-lead-submit {
  width: 100%;
  padding: 12px 20px;
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(200, 58, 158, 0.4);
}
.volare-lead-submit:hover {
  background: linear-gradient(135deg, #d845ad 0%, #9e43a0 100%);
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(200, 58, 158, 0.55);
}
.volare-lead-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.volare-lead-status-msg {
  font-size: 13px;
  margin-top: 12px;
  text-align: center;
  display: none;
}
.volare-lead-status-msg.is-success {
  color: #15803d;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  padding: 10px;
  border-radius: 6px;
  display: block;
}
.volare-lead-status-msg.is-error {
  color: #b91c1c;
  background: #fef2f2;
  border: 1px solid #fecaca;
  padding: 10px;
  border-radius: 6px;
  display: block;
}

/* ==========================================================================
   KATALOG: PRZEŁĄCZNIK TYPU MATERIAŁÓW (KURSY / EBOOKI)
   ========================================================================== */
.volare-catalog-type-pills {
  display: inline-flex;
  background: #f1f5f9;
  padding: 4px;
  border-radius: 10px;
  gap: 4px;
  margin-right: 12px;
  flex-wrap: wrap;
}
.volare-type-pill {
  border: none;
  background: transparent;
  padding: 7px 16px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.volare-type-pill:hover {
  color: #0f172a;
  background: rgba(255, 255, 255, 0.6);
}
.volare-type-pill.is-active {
  background: #ffffff;
  color: #6d28d9;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.volare-type-pill .material-symbols-outlined {
  font-size: 17px;
}

/* Ukrycie pustych kontenerów ocen (gdy brak recenzji) */
.tutor-course-ratings:empty {
  display: none !important;
  margin-bottom: 0 !important;
}

/* ==========================================================================
   NOWOCZESNY, SPÓJNY KOSZYK I KASA (WOOCOMMERCE)
   ========================================================================== */

/* 1. Elegancki przycisk usuwania pozycji (X) */
.woocommerce table.cart a.remove,
.woocommerce-page table.cart a.remove,
.volare-remove-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #64748b !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  padding: 0 !important;
}

.woocommerce table.cart a.remove .volare-remove-icon,
.woocommerce table.cart a.remove .material-symbols-outlined,
.volare-remove-btn .material-symbols-outlined,
.volare-remove-icon {
  font-size: 18px !important;
  color: #64748b !important;
  transition: color 0.2s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  line-height: 1 !important;
}

.woocommerce table.cart a.remove:hover,
.woocommerce-page table.cart a.remove:hover,
.volare-remove-btn:hover {
  background: #fef2f2 !important;
  border-color: #fecaca !important;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15) !important;
  transform: scale(1.06) !important;
}

.woocommerce table.cart a.remove:hover .volare-remove-icon,
.woocommerce table.cart a.remove:hover .material-symbols-outlined,
.volare-remove-btn:hover .material-symbols-outlined {
  color: #dc2626 !important;
  transform: rotate(90deg) !important;
}

/* 2. Tabela koszyka (Volare Design System) */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  max-width: 1040px;
  margin: 0 auto;
}

.woocommerce table.shop_table.cart.volare-cart-table,
.woocommerce table.shop_table.cart {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #ede9fe !important;
  box-shadow: 0 4px 20px -4px rgba(109, 40, 217, 0.05) !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin-bottom: 32px !important;
  width: 100% !important;
}

.woocommerce table.shop_table.cart thead th {
  background: #faf8fd !important;
  color: #475569 !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 16px 20px !important;
  border-bottom: 2px solid #ede9fe !important;
  border-top: none !important;
}

.woocommerce table.shop_table.cart tbody td {
  padding: 18px 20px !important;
  border-top: 1px solid #f1f5f9 !important;
  vertical-align: middle !important;
}

.woocommerce table.shop_table.cart td.product-remove {
  width: 48px !important;
  text-align: center !important;
}

.woocommerce table.shop_table.cart td.product-thumbnail {
  width: 110px !important;
  padding-right: 10px !important;
}

.woocommerce table.shop_table.cart td.product-thumbnail img {
  width: 100px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  display: block !important;
}

.woocommerce table.shop_table.cart td.product-name a.volare-cart-product-title,
.woocommerce table.shop_table.cart td.product-name a {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  transition: color 0.2s ease !important;
}

.woocommerce table.shop_table.cart td.product-name a:hover {
  color: #6d28d9 !important;
}

.woocommerce table.shop_table.cart td.product-price,
.volare-cart-item-price {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16.5px !important;
  font-weight: 700 !important;
  color: #334155 !important;
  white-space: nowrap !important;
}

.woocommerce table.shop_table.cart td.product-quantity {
  width: 90px !important;
  text-align: center !important;
}

.woocommerce table.shop_table.cart td.product-quantity .quantity input.qty {
  width: 56px !important;
  height: 40px !important;
  text-align: center !important;
  border-radius: 8px !important;
  border: 1px solid #cbd5e1 !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #0f172a !important;
  background: #ffffff !important;
  padding: 0 4px !important;
}

.woocommerce table.shop_table.cart td.product-subtotal,
.volare-cart-item-subtotal {
  font-family: 'Outfit', sans-serif !important;
  font-size: 17.5px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
  text-align: right !important;
}

/* Pasek akcji i kuponu */
.volare-cart-actions {
  background: #faf8fd !important;
  padding: 16px 20px !important;
  border-top: 1px solid #ede9fe !important;
}

.volare-actions-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

.volare-coupon-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

.volare-coupon-input {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  min-width: 220px !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  color: #0f172a !important;
}

.volare-coupon-input:focus {
  border-color: #6d28d9 !important;
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.12) !important;
}

.volare-coupon-btn {
  background: #6d28d9 !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 10px 20px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
}

.volare-coupon-btn:hover {
  background: #5b21b6 !important;
  transform: translateY(-1px) !important;
}

.volare-btn-continue-shopping {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #64748b !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  transition: all 0.2s ease !important;
}

.volare-btn-continue-shopping:hover {
  color: #6d28d9 !important;
  border-color: #c4b5fd !important;
  background: #fdfaff !important;
}

/* 3. Podsumowanie zamówienia (cart_totals) */
.woocommerce .cart-collaterals .cart_totals {
  background: #ffffff !important;
  border: 1px solid #ede9fe !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px -4px rgba(109, 40, 217, 0.05) !important;
  padding: 28px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 480px !important;
  margin-left: auto !important;
}

.woocommerce .cart-collaterals .cart_totals h2 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 16px 0 !important;
  border-bottom: 2px solid #f8fafc !important;
  padding-bottom: 12px !important;
}

.woocommerce .cart-collaterals .cart_totals table.shop_table {
  border: none !important;
  width: 100% !important;
  margin-bottom: 20px !important;
}

.woocommerce .cart-collaterals .cart_totals table.shop_table th {
  font-size: 14px !important;
  color: #64748b !important;
  font-weight: 600 !important;
  padding: 10px 0 !important;
  border-top: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.woocommerce .cart-collaterals .cart_totals table.shop_table td {
  text-align: right !important;
  padding: 10px 0 !important;
  border-top: none !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total th,
.woocommerce .cart-collaterals .cart_totals table.shop_table tr.order-total td {
  font-family: 'Outfit', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #6d28d9 !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  padding: 15px 28px !important;
  border-radius: 12px !important;
  text-align: center !important;
  display: block !important;
  box-shadow: 0 4px 16px rgba(200, 58, 158, 0.4) !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
  background: linear-gradient(135deg, #d845ad 0%, #9e43a0 100%) !important;
  filter: brightness(1.05) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(200, 58, 158, 0.55) !important;
}

/* 4. Formularz zamówienia /zamowienie/ (Kasa) */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  background: #ffffff !important;
  border: 1px solid #ede9fe !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 4px 20px -4px rgba(109, 40, 217, 0.05) !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout h3 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #f8fafc !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.woocommerce form .form-row select,
.woocommerce form .form-row select.country_to_state,
.woocommerce form .form-row select.country_select,
#billing_country_field select {
  cursor: pointer !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  padding: 11px 40px 11px 14px !important;
  font-size: 14px !important;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  color: #0f172a !important;
  height: 46px !important;
  line-height: 22px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px 16px !important;
}

.woocommerce-checkout .select2-container,
#billing_country_field .select2-container {
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single,
#billing_country_field .select2-container--default .select2-selection--single {
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 10px !important;
  height: 46px !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
#billing_country_field .select2-container--default.select2-container--open .select2-selection--single,
#billing_country_field .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #6d28d9 !important;
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.12) !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
#billing_country_field .select2-selection__rendered {
  color: #0f172a !important;
  font-size: 14px !important;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif !important;
  line-height: 44px !important;
  padding-left: 0 !important;
  padding-right: 28px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow,
#billing_country_field .select2-selection__arrow {
  height: 44px !important;
  top: 0 !important;
  right: 12px !important;
  width: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b,
#billing_country_field .select2-selection__arrow b {
  border: none !important;
  width: 16px !important;
  height: 16px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: 16px 16px !important;
  margin: 0 !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: #6d28d9 !important;
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.12) !important;
  background-color: #ffffff !important;
}

.woocommerce form .form-row label {
  font-weight: 600 !important;
  font-size: 13.5px !important;
  color: #334155 !important;
  margin-bottom: 6px !important;
}

.woocommerce-checkout #payment {
  background: #faf8fd !important;
  border-radius: 14px !important;
  border: 1px solid #ede9fe !important;
  padding: 20px !important;
}

.woocommerce-checkout #place_order {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 16px 32px !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(200, 58, 158, 0.45) !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
}

.woocommerce-checkout #place_order:hover {
  background: linear-gradient(135deg, #d845ad 0%, #9e43a0 100%) !important;
  filter: brightness(1.05) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(200, 58, 158, 0.6) !important;
}

/* 5. Zmniejszenie odstępu między miniaturą a tytułem w kartach katalogu */
.tutor-card.tutor-course-card .tutor-card-body {
  padding-top: 14px !important;
  padding-bottom: 16px !important;
}

.tutor-card.tutor-course-card .tutor-course-ratings {
  margin-bottom: 4px !important;
}

.tutor-card.tutor-course-card .tutor-course-name {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

.tutor-card.tutor-course-card .tutor-course-name a {
  display: block !important;
  line-height: 1.35 !important;
}

/* 6. Kompaktowy 2-kolumnowy układ kasy na desktopie */
@media (min-width: 992px) {
  .woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1.15fr 0.85fr !important;
    gap: 32px !important;
    align-items: start !important;
  }
  .woocommerce-checkout #customer_details {
    margin-bottom: 0 !important;
    padding: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .woocommerce-checkout #customer_details.col2-set .col-1,
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout .col2-set .col-1 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .woocommerce-checkout #customer_details.col2-set .col-2,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce-checkout .col2-set .col-2 {
    display: none !important;
  }
  .woocommerce-checkout #order_review_heading {
    display: none !important;
  }
  .woocommerce-checkout #order_review {
    position: sticky !important;
    top: 24px !important;
    padding: 24px !important;
  }
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  padding: 8px 12px !important;
  font-size: 13.5px !important;
  border-radius: 8px !important;
}

.woocommerce form .form-row label {
  font-size: 12.5px !important;
  margin-bottom: 3px !important;
}

.woocommerce-billing-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 14px !important;
}

.woocommerce-billing-fields__field-wrapper .form-row {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
}

.woocommerce-billing-fields__field-wrapper .form-row.form-row-wide-full,
.woocommerce-billing-fields__field-wrapper .form-row.form-row-wide {
  grid-column: span 2 !important;
}

/* 7. Strona zrealizowanego zamówienia (Thank You Page) - Kompaktowy, elegancki design */
.volare-thankyou-wrapper {
  max-width: 680px !important;
  margin: 32px auto 60px !important;
  padding: 0 16px !important;
}

.volare-order-status-card {
  background: #ffffff;
  border: 1px solid #ede9fe;
  border-radius: 16px;
  padding: 26px 22px;
  text-align: center;
  box-shadow: 0 4px 20px -4px rgba(109, 40, 217, 0.05);
  margin-bottom: 20px;
}

.volare-status-icon.is-success {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #dcfce7;
  color: #16a34a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.volare-status-icon.is-success .material-symbols-outlined {
  font-size: 26px;
}

.volare-thankyou-title {
  font-family: 'Outfit', sans-serif;
  font-size: 21px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 6px 0;
  letter-spacing: -0.01em;
}

.volare-thankyou-subtitle {
  font-size: 13.5px;
  color: #475569;
  line-height: 1.5;
  max-width: 540px;
  margin: 0 auto 16px auto;
}

.volare-email-highlight {
  color: #701a75;
  word-break: break-all;
}

/* Karta Rezerwacji Wizyty w gabinecie */
.volare-thankyou-booking-card {
  background: #fdf4ff;
  border: 1.5px solid #f0abfc;
  border-radius: 14px;
  padding: 18px 20px;
  text-align: left;
  margin: 18px 0;
}

.volare-booking-header-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.volare-booking-tag {
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: #701a75;
  color: #ffffff;
  padding: 3px 8px;
  border-radius: 6px;
}

.volare-booking-title {
  font-family: 'Outfit', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #4a044e;
  margin: 0;
}

.volare-booking-time-badge {
  background: #ffffff;
  border: 1px solid #f5d0fe;
  border-radius: 10px;
  padding: 9px 13px;
  font-size: 13.5px;
  color: #701a75;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.volare-booking-time-badge .material-symbols-outlined {
  font-size: 18px;
  color: #c83a9e;
}

.volare-booking-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

@media (max-width: 600px) {
  .volare-booking-meta-grid {
    grid-template-columns: 1fr;
  }
}

.volare-booking-meta-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: #ffffff;
  border: 1px solid #fae8ff;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12.5px;
}

.volare-booking-meta-item .material-symbols-outlined {
  font-size: 18px;
  color: #a21caf;
  flex-shrink: 0;
  margin-top: 1px;
}

.volare-booking-meta-item .label {
  display: block;
  font-size: 11px;
  color: #64748b;
  margin-bottom: 1px;
}

.volare-booking-meta-item strong {
  color: #1e1b4b;
}

.volare-booking-meta-item .room-hint {
  color: #701a75;
  font-size: 11.5px;
  margin-left: 3px;
}

.volare-booking-meta-item.volare-full-col {
  grid-column: 1 / -1;
}

.volare-booking-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed #f0abfc;
}

.volare-btn-gcal {
  background: #0284c7;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  padding: 9px 16px;
  border-radius: 10px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.25);
}

.volare-btn-gcal:hover {
  background: #0369a1;
  transform: translateY(-1px);
}

.volare-btn-cancel-link {
  background: #ffffff;
  color: #b91c1c !important;
  border: 1px solid #fca5a5;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 10px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s ease;
}

.volare-btn-cancel-link:hover {
  background: #fef2f2;
  border-color: #ef4444;
}

/* Pasek parametrów transakcji */
.volare-order-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  background: #faf8fd;
  border: 1px solid #ede9fe;
  border-radius: 12px;
  padding: 12px 14px;
  margin-top: 14px;
  text-align: left;
}

@media (max-width: 600px) {
  .volare-order-meta-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.volare-meta-tile {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.volare-tile-label {
  font-size: 10.5px;
  text-transform: uppercase;
  font-weight: 700;
  color: #64748b;
  letter-spacing: 0.04em;
}

.volare-tile-value {
  font-family: 'Outfit', sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  color: #0f172a;
}

.volare-meta-tile.is-total .volare-tile-value {
  color: #701a75;
  font-weight: 800;
  font-size: 14.5px;
}

.volare-thankyou-quick-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 16px 0;
}

.volare-btn-cta-panel {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%);
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 20px;
  border-radius: 10px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 12px rgba(200, 58, 158, 0.3);
  transition: all 0.2s ease;
}

.volare-btn-cta-panel:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.volare-btn-cta-catalog {
  background: #ffffff;
  color: #475569 !important;
  border: 1px solid #cbd5e1;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 18px;
  border-radius: 10px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.volare-btn-cta-catalog:hover {
  color: #701a75 !important;
  border-color: #701a75;
  background: #faf8fd;
}

.volare-thankyou-details-card {
  background: #ffffff;
  border: 1px solid #ede9fe;
  border-radius: 16px;
  padding: 22px 24px;
  box-shadow: 0 4px 20px -4px rgba(109, 40, 217, 0.05);
}

.volare-thankyou-details-card h2.woocommerce-order-details__title {
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  margin-top: 0;
  margin-bottom: 14px;
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 8px;
}

.volare-thankyou-details-card table.shop_table.order_details {
  border: none;
  width: 100%;
  margin-bottom: 0;
}

.volare-thankyou-details-card table.shop_table.order_details th {
  background: #faf8fd;
  color: #475569;
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 8px 12px;
  border-bottom: 1px solid #ede9fe;
}

.volare-thankyou-details-card table.shop_table.order_details td {
  padding: 12px 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
  font-size: 13.5px;
}

.volare-thankyou-details-card table.shop_table.order_details tfoot th {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  background: transparent !important;
  border-top: 1px dashed #f1f5f9 !important;
  padding: 8px 12px !important;
  text-transform: uppercase !important;
}

.volare-thankyou-details-card table.shop_table.order_details tfoot td {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  border-top: 1px dashed #f1f5f9 !important;
  padding: 8px 12px !important;
}

/* Ujednolicenie metadanych pozycji (eliminacja ogromnych akapitów wc-item-meta) */
.volare-thankyou-details-card ul.wc-item-meta {
  list-style: none !important;
  padding: 0 !important;
  margin: 6px 0 0 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.volare-thankyou-details-card ul.wc-item-meta li {
  margin: 0 !important;
  padding: 3px 8px !important;
  background: #fdf4ff !important;
  border: 1px solid #f0abfc !important;
  border-radius: 6px !important;
  font-size: 11.5px !important;
  color: #701a75 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.volare-thankyou-details-card ul.wc-item-meta li strong.wc-item-meta-label {
  font-weight: 700 !important;
  color: #701a75 !important;
  margin: 0 !important;
}

.volare-thankyou-details-card ul.wc-item-meta li p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 600 !important;
  color: #1e1b4b !important;
}

/* Ukrycie zbędnego bloku adresu rozliczeniowego */
.volare-thankyou-details-card .woocommerce-customer-details {
  display: none !important;
}
}

.volare-thankyou-details-card h2.woocommerce-order-details__title {
  font-family: 'Outfit', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  margin-top: 0;
  margin-bottom: 20px;
  border-bottom: 2px solid #f8fafc;
  padding-bottom: 12px;
}

.volare-thankyou-details-card table.shop_table.order_details {
  border: none;
  width: 100%;
  margin-bottom: 20px;
}

.volare-thankyou-details-card table.shop_table.order_details th {
  background: #faf8fd;
  color: #475569;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 12px 16px;
  border-bottom: 1px solid #ede9fe;
}

.volare-thankyou-details-card table.shop_table.order_details td {
  padding: 14px 16px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: middle;
}

.volare-thankyou-details-card .woocommerce-customer-details {
  border-top: 2px solid #f8fafc;
  padding-top: 20px;
  margin-top: 20px;
}

/* Sekcja pobierania plików cyfrowych */
.volare-thankyou-details-card .woocommerce-order-downloads {
  background: #faf8fd;
  border: 1px solid #ede9fe;
  border-radius: 14px;
  padding: 24px;
  margin-bottom: 30px;
}

.volare-thankyou-details-card .woocommerce-order-downloads__title {
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: #1e1b4b;
  margin-top: 0;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.volare-thankyou-details-card .woocommerce-table--order-downloads {
  border: none !important;
  width: 100% !important;
  background: transparent !important;
}

.volare-thankyou-details-card .woocommerce-table--order-downloads th {
  background: #f3e8ff !important;
  color: #581c87 !important;
  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 10px 14px;
  border-radius: 6px;
}

.volare-thankyou-details-card .woocommerce-table--order-downloads td {
  padding: 12px 14px;
  border-bottom: 1px solid #ede9fe;
  font-size: 14px;
  color: #334155;
  vertical-align: middle;
}

.volare-thankyou-details-card a.woocommerce-MyAccount-downloads-file {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  box-shadow: 0 2px 8px rgba(200, 58, 158, 0.4) !important;
  transition: all 0.2s ease !important;
}

.volare-thankyou-details-card a.woocommerce-MyAccount-downloads-file:hover {
  filter: brightness(1.05) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(244, 114, 133, 0.45) !important;
}

/* ==========================================================================
   VOLARE GUTENBERG IMAGE & BLOCK COMPATIBILITY
   ========================================================================== */
.volare-page-main .wp-block-image img,
.entry-content .wp-block-image img,
.wp-block-image.volare-img img {
  border-radius: 16px !important;
  box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.06) !important;
  object-fit: cover !important;
  display: block !important;
  width: 100% !important;
}

.volare-page-main .wp-block-image figcaption,
.entry-content .wp-block-image figcaption {
  font-size: 12.5px !important;
  color: #64748b !important;
  margin-top: 8px !important;
  text-align: left !important;
}

/* Card Lists */
.volare-card .wp-block-list {
  padding-left: 20px !important;
  margin-bottom: 16px !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  font-size: 14px !important;
}

/* Volare Native Block Helpers */
.volare-section-partners {
  background-color: #fcfbfa !important;
  border-top: 1px solid #ede9fe !important;
  border-bottom: 1px solid #ede9fe !important;
  padding: 35px 20px !important;
}
.volare-section-courses {
  background-color: #ffffff !important;
  padding: 70px 24px 90px 24px !important;
}
.volare-section-why {
  background-color: #f8f5f0 !important;
  padding: 70px 24px 90px 24px !important;
  text-align: center !important;
}
.volare-section-faq {
  background-color: #fcfbfa !important;
  padding: 70px 24px 90px 24px !important;
}

/* Card Module Typography & Spacing */
.volare-card .volare-card-module-title,
.volare-card h4.wp-block-heading {
  color: #1e1338 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.volare-card p.volare-card-desc,
.volare-card > p.has-text-color {
  line-height: 1.6 !important;
}

/* Training Landing Pages Helpers */
.volare-card-sidebar-box {
  padding: 28px 24px !important;
  border: 2px solid rgba(109, 40, 217, 0.2) !important;
  background: #faf5ff !important;
  border-radius: 16px !important;
}
.volare-card-sidebar-box h3.wp-block-heading {
  font-size: 20px !important;
  color: #1e1338 !important;
  margin-bottom: 12px !important;
}
.volare-card-sidebar-box .wp-block-button,
.volare-card-sidebar-box .wp-block-button__link {
  width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
  display: flex !important;
}

/* ==========================================================================
   GLOBAL SCROLL REVEAL & POPUP / FADEIN ANIMATIONS (INTERSECTION OBSERVER)
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
  /* Klasa aktywowana przez JS - zapobiega ukrywaniu treści gdyby JS był wyłączony */
  .volare-animate-ready [data-reveal],
  .volare-nd-animate-ready [data-reveal] {
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
  }

  /* Wariant POP: sprężysty, dynamiczny efekt popup (skalowanie + uniesienie) */
  .volare-animate-ready [data-reveal="pop"],
  .volare-nd-animate-ready [data-reveal="pop"] {
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.2, 1.15, 0.35, 1);
  }

  /* Wariant FADE: subtelny czysty fade-in */
  .volare-animate-ready [data-reveal="fade"],
  .volare-nd-animate-ready [data-reveal="fade"] {
    transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  }

  /* Stan początkowy (ukryty przed przewinięciem do elementu) */
  .volare-animate-ready [data-reveal]:not(.is-revealed),
  .volare-nd-animate-ready [data-reveal]:not(.is-revealed) {
    opacity: 0;
    pointer-events: none;
  }

  .volare-animate-ready [data-reveal="fade-up"]:not(.is-revealed),
  .volare-nd-animate-ready [data-reveal="fade-up"]:not(.is-revealed) {
    transform: translateY(32px);
  }

  .volare-animate-ready [data-reveal="pop"]:not(.is-revealed),
  .volare-nd-animate-ready [data-reveal="pop"]:not(.is-revealed) {
    transform: translateY(26px) scale(0.95);
  }

  .volare-animate-ready [data-reveal="fade"]:not(.is-revealed),
  .volare-nd-animate-ready [data-reveal="fade"]:not(.is-revealed) {
    transform: none;
  }

  /* Stan ujawniony (po wejściu w viewport) */
  .volare-animate-ready [data-reveal].is-revealed,
  .volare-nd-animate-ready [data-reveal].is-revealed {
    opacity: 1;
    /* transform nie jest wymuszany sztywno, co pozwala na pełne działanie transition z :not(.is-revealed) oraz efektów :hover */
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ==========================================================================
   VOLARE - WOOCOMMERCE PUSTY KOSZYK (HERO, REKOMENDACJE & TRUST STRIP)
   ========================================================================== */
.volare-empty-cart-wrap {
  max-width: 1140px;
  margin: 36px auto 60px auto;
  padding: 0 16px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  box-sizing: border-box;
}

/* 1. Karta Hero Pustego Koszyka */
.volare-empty-cart-card {
  background: #ffffff;
  border: 1px solid #ebdcd0;
  border-radius: 24px;
  padding: 52px 32px 48px 32px;
  text-align: center;
  box-shadow: 0 16px 40px -10px rgba(100, 70, 40, 0.08);
  position: relative;
  overflow: hidden;
}

.volare-empty-cart-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 9999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 24px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.volare-empty-cart-icon-halo {
  margin: 0 auto 22px auto;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23, 61, 109, 0.08) 0%, rgba(200, 58, 158, 0.04) 70%, transparent 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.volare-empty-cart-icon-bg {
  width: 68px;
  height: 68px;
  border-radius: 20px;
  background: linear-gradient(135deg, #173d6d 0%, #0d2547 100%);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(23, 61, 109, 0.28);
}

.volare-empty-cart-svg {
  display: block;
}

.volare-empty-cart-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: clamp(26px, 3.6vw, 36px) !important;
  font-weight: 800 !important;
  color: #1e1338 !important;
  line-height: 1.25 !important;
  margin: 0 0 14px 0 !important;
}

.volare-empty-cart-lead {
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  color: #5f4f64 !important;
  max-width: 620px !important;
  margin: 0 auto 32px auto !important;
}

.volare-empty-cart-nav-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: center;
}

.volare-empty-cart-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

.volare-empty-cart-btn--primary {
  background: linear-gradient(135deg, #173d6d 0%, #0284c7 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(2, 132, 199, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.volare-empty-cart-btn--primary:hover {
  background: linear-gradient(135deg, #0d2547 0%, #0369a1 100%) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(2, 132, 199, 0.44);
  color: #ffffff !important;
}

.volare-empty-cart-btn--secondary {
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1.5px solid #cbd5e1 !important;
}

.volare-empty-cart-btn--secondary:hover {
  border-color: #0284c7 !important;
  color: #0284c7 !important;
  background: #f8fafc !important;
  transform: translateY(-2px);
}

.volare-empty-cart-btn span {
  color: inherit;
}

/* 2. Sekcja Rekomendacji (Polecane Produkty) */
.volare-empty-cart-recommendations {
  margin-top: 56px;
}

.volare-rec-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 12px;
}

.volare-rec-eyebrow {
  display: block;
  font-family: 'Outfit', sans-serif;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: #c83a9e;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.volare-rec-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #1e1338 !important;
  margin: 0 !important;
}

.volare-rec-view-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 700;
  color: #0284c7;
  text-decoration: none !important;
  transition: gap 0.2s ease, color 0.2s ease;
}

.volare-rec-view-all:hover {
  color: #0369a1;
  gap: 9px;
}

.volare-rec-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.volare-rec-card {
  background: #ffffff;
  border: 1px solid #ebdcd0;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
  box-shadow: 0 4px 14px rgba(100, 70, 40, 0.04);
}

.volare-rec-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px -6px rgba(100, 70, 40, 0.12);
  border-color: #c83a9e;
}

.volare-rec-card-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  background: #f1ece5;
  overflow: hidden;
  text-decoration: none;
}

.volare-rec-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.volare-rec-card:hover .volare-rec-card-media img {
  transform: scale(1.04);
}

.volare-rec-card-no-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  background: #f8fafc;
}

.volare-rec-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.88);
  color: #ffffff;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.volare-rec-card-content {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: space-between;
}

.volare-rec-card-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  margin: 0 0 14px 0 !important;
}

.volare-rec-card-title a {
  color: #1e293b !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.volare-rec-card-title a:hover {
  color: #c83a9e !important;
}

.volare-rec-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #f1f5f9;
}

.volare-rec-price-wrap .amount,
.volare-rec-price {
  font-family: 'Outfit', sans-serif;
  font-size: 16.5px;
  font-weight: 800;
  color: #0f172a;
}

.volare-rec-price-free {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #16a34a;
}

.volare-btn-quick-add {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 7px 12px !important;
  border-radius: 8px !important;
  background: #f1f5f9 !important;
  color: #1e293b !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  border: 1px solid #cbd5e1 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.volare-btn-quick-add:hover {
  background: #173d6d !important;
  color: #ffffff !important;
  border-color: #173d6d !important;
}

.volare-btn-quick-add span {
  font-size: 16px !important;
}

.volare-btn-quick-view {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12.5px;
  font-weight: 700;
  color: #0284c7;
  text-decoration: none;
}

/* 3. Pasek Gwarancji i Zaufania (Trust Strip) */
.volare-empty-cart-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 48px;
  padding: 26px;
  background: #fcfaf7;
  border: 1px solid #ebdcd0;
  border-radius: 20px;
}

.volare-trust-box {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.volare-trust-box-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.volare-trust-box-icon span {
  font-size: 22px;
}

.volare-trust-box-body strong {
  display: block;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: #1e1338;
  margin-bottom: 4px;
}

.volare-trust-box-body p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #64748b;
}

/* Responsywność pustego koszyka */
@media (max-width: 1024px) {
  .volare-rec-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .volare-empty-cart-trust {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .volare-empty-cart-card {
    padding: 36px 20px 32px 20px;
    border-radius: 18px;
  }
  .volare-empty-cart-nav-buttons {
    flex-direction: column;
    width: 100%;
  }
  .volare-empty-cart-btn {
    width: 100%;
    justify-content: center;
  }
  .volare-rec-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .volare-rec-header {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ==========================================================================
   UKRYCIE METADANYCH AUTORA W KARTACH KATALOGU (TUTOR LMS & E-BOOKI)
   ========================================================================== */
.tutor-card .tutor-meta.tutor-mt-auto,
.tutor-course-card .tutor-meta.tutor-mt-auto,
.volare-ebook-card .tutor-meta.tutor-mt-auto,
.tutor-meta-course-by-cat,
.tutor-meta-course-by {
  display: none !important;
}

/* ==========================================================================
   METODA SENSOGIMNASTYKA® - KARTY PROGRAMÓW & PRZESTRZENIE STRONY GŁÓWNEJ
   ========================================================================== */
.volare-nd-senso-section {
  padding-top: 55px !important;
  padding-bottom: 24px !important;
  border-top: none !important;
}

#kursy.volare-nd-bento-section {
  padding-top: 32px !important;
  border-top: none !important;
}

.volare-senso-card {
  background: #fbf7f2;
  border: 1px solid #ebdcd0;
  border-radius: 18px;
  padding: 28px 28px 24px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer;
  box-sizing: border-box;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

.volare-senso-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(30, 41, 59, 0.08);
  border-color: #d1bba7;
}

.volare-senso-card-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

.volare-senso-icon-box {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.volare-senso-card:hover .volare-senso-icon-box {
  transform: scale(1.05);
}

.volare-senso-icon-box .material-symbols-outlined {
  font-size: 32px !important;
}

.volare-senso-category {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

.volare-senso-title {
  font-size: 20px;
  font-weight: 800;
  color: #1e293b;
  margin: 0 0 10px 0;
  line-height: 1.3;
  transition: color 0.2s ease;
}

.volare-senso-card:hover .volare-senso-title {
  color: #0f172a;
}

.volare-senso-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #334155;
  margin: 0;
}

.volare-senso-footer {
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px dashed rgba(235, 220, 208, 0.8);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 700;
}

.volare-senso-card:hover .volare-senso-footer span:last-child {
  transform: translateX(3px);
}

/* Usunięcie linii poziomych między sekcjami na całej stronie głównej */
.volare-front-main section,
.volare-nd-hero-art,
.volare-nd-bento-section,
.volare-nd-cert-section,
.volare-nd-faq-section {
  border-top: none !important;
  border-bottom: none !important;
}

/* ==========================================================================
   DROPDOWN MENU PROFILU UŻYTKOWNIKA W NAVBARZE
   ========================================================================== */
.volare-user-dropdown-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.volare-nav-icon-btn.volare-user-menu-trigger {
  border: none;
  cursor: pointer;
  outline: none;
  font-family: inherit;
  padding: 0;
}

.volare-user-dropdown {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  width: 275px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  box-shadow: 0 16px 40px -8px rgba(15, 23, 42, 0.16), 0 4px 12px -2px rgba(15, 23, 42, 0.06);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px) scale(0.97);
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s;
  z-index: 99999;
  box-sizing: border-box;
  overflow: hidden;
}

.volare-user-dropdown.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.volare-user-dropdown-head {
  padding: 24px 20px 16px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #ffffff;
  border-bottom: 1px solid #f1f5f9;
}

.volare-user-dropdown-head-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
  width: 100%;
  cursor: pointer;
  border-radius: 12px;
  padding: 4px;
  transition: background 0.15s ease, opacity 0.15s ease;
}

.volare-user-dropdown-head-link:hover {
  background: #f8fafc;
}

.volare-user-dropdown-head-link:hover .volare-user-dropdown-name {
  color: #1a56db;
}

.volare-user-dropdown-avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #e0f2fe;
  color: #0369a1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
  margin-bottom: 10px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(3, 105, 161, 0.15);
}

.volare-user-dropdown-avatar .tutor-avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e0f2fe;
  color: #0369a1;
  font-weight: 700;
  font-size: 22px;
}

.volare-user-dropdown-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.volare-user-dropdown-name {
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 2px 0;
  line-height: 1.3;
}

.volare-user-dropdown-email {
  font-size: 13px;
  color: #334155;
  margin: 0 0 12px 0;
  line-height: 1.35;
  word-break: break-all;
}

.volare-switch-mode-btn {
  width: 100%;
  padding: 9px 12px;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #dbeafe;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.volare-switch-mode-btn:hover {
  background: #dbeafe;
  border-color: #bfdbfe;
  transform: translateY(-1px);
}

.volare-user-dropdown-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 8px 8px 12px 8px !important;
}

.volare-user-dropdown-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.volare-user-dropdown-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  color: #1e293b;
  text-decoration: none !important;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.4;
  transition: background 0.15s ease, color 0.15s ease;
}

.volare-user-dropdown-link:hover {
  background: #f8fafc;
  color: #0f172a;
}

.volare-user-dropdown-link .material-symbols-outlined {
  font-size: 21px;
  color: #64748b;
  transition: color 0.15s ease;
  flex-shrink: 0;
}

.volare-user-dropdown-link:hover .material-symbols-outlined {
  color: #0f172a;
}

.volare-user-dropdown-divider {
  height: 1px;
  background: #f1f5f9;
  margin: 6px 6px !important;
}

.volare-user-dropdown-link.volare-link-logout {
  color: #475569;
}

.volare-user-dropdown-link.volare-link-logout:hover {
  background: #fef2f2;
  color: #dc2626;
}

.volare-user-dropdown-link.volare-link-logout:hover .material-symbols-outlined {
  color: #dc2626;
}

/* Wyloguj w toast menu mobilnym (widoczny, ale nie przyciągający wiele uwagi) */
.volare-drawer-logout-wrap {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px dashed rgba(235, 220, 208, 0.7);
  display: flex;
  justify-content: flex-start;
}

.volare-drawer-logout-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #8c7e72;
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none !important;
  padding: 6px 10px;
  border-radius: 8px;
  transition: color 0.2s ease, background 0.2s ease;
}

.volare-drawer-logout-btn:hover {
  color: #be185d;
  background: rgba(190, 24, 93, 0.06);
}

.volare-drawer-logout-btn .material-symbols-outlined {
  font-size: 18px;
}

/* ==========================================================================
   STRONA BŁĘDU 404 (SZABLON FSE & NPM DUAL COMPATIBLE)
   ========================================================================== */
.volare-404-wrap {
  background-color: #f7f3ec !important;
  color: #2a1d17 !important;
  padding: 60px 24px 80px 24px !important;
  min-height: 70vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.volare-404-grid {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.15fr 0.85fr !important;
  align-items: center !important;
  gap: 56px !important;
}

.volare-404-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  color: #9b4b29 !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 20px !important;
  text-transform: uppercase !important;
  background: rgba(155, 75, 41, 0.08) !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(155, 75, 41, 0.2) !important;
}

.volare-404-title {
  font-family: 'Outfit', 'Fraunces', Georgia, serif !important;
  font-size: clamp(30px, 3.8vw, 52px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 20px 0 !important;
  color: #2a1d17 !important;
  font-weight: 800 !important;
}

.volare-404-lead {
  font-size: 16.5px !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin: 0 0 32px 0 !important;
  max-width: 540px !important;
}

.volare-404-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  max-width: 540px !important;
  margin-bottom: 24px !important;
}

.volare-404-actions a,
.volare-404-actions button {
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
}

/* Główny przycisk "Strona główna" - rekomendowany błękitno-szafirowy gradient #1e5ebe -> #225db7 */
.volare-404-actions a.volare-404-btn-home,
a.volare-404-btn-home {
  background: linear-gradient(135deg, #1e5ebe 0%, #225db7 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  border-radius: 9999px !important;
  box-shadow: 0 6px 18px -2px rgba(30, 94, 190, 0.42) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 13.5px !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease !important;
  cursor: pointer !important;
}
.volare-404-actions a.volare-404-btn-home:hover,
a.volare-404-btn-home:hover {
  background: linear-gradient(135deg, #256deb 0%, #1d4ed8 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px -2px rgba(30, 94, 190, 0.58) !important;
  color: #ffffff !important;
  filter: brightness(1.05) !important;
}

.volare-404-actions .volare-btn-primary {
  background: linear-gradient(135deg, #1e5ebe 0%, #225db7 100%) !important;
  border-color: #1a4f9c !important;
  color: #ffffff !important;
  box-shadow: 0 6px 18px -2px rgba(30, 94, 190, 0.42) !important;
}
.volare-404-actions .volare-btn-primary:hover {
  background: linear-gradient(135deg, #256deb 0%, #1d4ed8 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 24px -2px rgba(30, 94, 190, 0.58) !important;
}

.volare-404-actions .volare-btn-secondary {
  background: #ffffff !important;
  border: 1px solid rgba(42, 29, 23, 0.15) !important;
  color: #2a1d17 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.volare-404-actions .volare-btn-secondary:hover {
  background: #f1ebd8 !important;
  border-color: rgba(30, 94, 190, 0.35) !important;
  color: #1e5ebe !important;
}

.volare-404-call-strip {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #ffffff !important;
  border: 1px solid rgba(42, 29, 23, 0.12) !important;
  border-radius: 12px !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  color: #334155 !important;
  box-shadow: 0 2px 8px rgba(42, 29, 23, 0.04) !important;
  max-width: 540px !important;
  box-sizing: border-box !important;
}
  color: #334155 !important;
  box-shadow: 0 2px 8px rgba(42, 29, 23, 0.04) !important;
}
.volare-404-call-strip a {
  color: #9b4b29 !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}
.volare-404-call-strip a:hover {
  text-decoration: underline !important;
}
.volare-404-call-strip small {
  color: #64748b !important;
  font-size: 11.5px !important;
  margin-left: 4px !important;
}

.volare-404-image-card {
  background: #efe8dc !important;
  padding: 14px !important;
  border-radius: 30px !important;
  box-shadow: 0 16px 40px rgba(42, 29, 23, 0.06) !important;
  border: 1px solid rgba(42, 29, 23, 0.08) !important;
}

.volare-404-img {
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  border-radius: 22px !important;
  display: block !important;
  background-color: #e2dbd0 !important;
}

.volare-404-caption {
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #6b5e57 !important;
  padding: 14px 8px 4px 8px !important;
}

@media (max-width: 960px) {
  .volare-404-wrap {
    padding: 36px 18px 60px 18px !important;
  }
  .volare-404-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .volare-404-image-card {
    order: -1 !important;
  }
  .volare-404-img {
    height: 280px !important;
  }
}

@media (max-width: 540px) {
  .volare-404-actions {
    grid-template-columns: 1fr !important;
  }
}



/* ==========================================================================
   Volare Bento Gallery & Room Rules Banner (Sala Sensoryczna)
   ========================================================================== */
.volare-rules-banner {
  background: #ffffff !important;
  border: 1px solid #ede9fe !important;
  border-left: 4px solid #6d28d9 !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  box-shadow: 0 4px 12px rgba(109, 40, 217, 0.04) !important;
  margin: 24px 0 28px 0 !important;
}

.volare-rules-banner .icon-box {
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  background: #f5f3ff !important;
  color: #6d28d9 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.volare-rules-banner p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #475569 !important;
}

.volare-rules-banner strong {
  color: #1e1b4b !important;
  font-weight: 700 !important;
}

.volare-bento-grid {
  display: grid !important;
  grid-template-columns: 44% 56% !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin-top: 16px !important;
}

.volare-bento-left {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.volare-bento-left .img-wrap {
  flex: 1 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
  background: #eae5df !important;
}

.volare-bento-left img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.volare-bento-right {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  height: 100% !important;
}

.volare-bento-card {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

.volare-bento-card .img-wrap {
  flex: 1 !important;
  min-height: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
  background: #eae5df !important;
}

.volare-bento-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.volare-bento-caption {
  font-size: 13px !important;
  color: #64748b !important;
  margin-top: 8px !important;
  line-height: 1.4 !important;
  flex-shrink: 0 !important;
}

/* Nowy Bento Grid 4-elementowy (przekątne: 2 poziome + 2 pionowe, bez przycinania kadrów i logotypów) */
.volare-bento-4grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
  align-items: start !important;
  margin-top: 24px !important;
}

.volare-bento-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 28px !important;
}

.volare-bento-item {
  display: flex !important;
  flex-direction: column !important;
}

.volare-bento-img-wrap {
  width: 100% !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07) !important;
  background: #f1ede8 !important;
  line-height: 0 !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.volare-bento-img-wrap:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12) !important;
}

.volare-bento-img-wrap img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
}

@media (max-width: 860px) {
  .volare-bento-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .volare-bento-left .img-wrap {
    height: 380px !important;
  }
  .volare-bento-card .img-wrap {
    height: 240px !important;
  }
  .volare-bento-4grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .volare-bento-col {
    gap: 22px !important;
  }
}

/* Wyrównanie dolnej krawędzi fotografii w sekcji wprowadzającej SI (desktop vs mobile) */
@media (min-width: 782px) {
  .volare-si-intro-columns,
  .wp-block-columns.volare-si-intro-columns {
    display: grid !important;
    grid-template-columns: 52% 48% !important;
    gap: 32px !important;
    align-items: stretch !important;
  }
  .volare-si-intro-left,
  .wp-block-column.volare-si-intro-left {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
  }
  .volare-si-intro-left .volare-si-intro-text {
    margin-bottom: auto !important;
  }
  .volare-si-intro-left .wp-block-image {
    margin-top: auto !important;
    margin-bottom: 0 !important;
  }
  .volare-si-intro-right,
  .wp-block-column.volare-si-intro-right {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
  }
  .volare-si-intro-right .wp-block-image:last-child {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 781px) {
  .volare-si-intro-columns,
  .wp-block-columns.volare-si-intro-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }
  .volare-si-intro-left,
  .wp-block-column.volare-si-intro-left {
    display: block !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .volare-si-intro-left .wp-block-image {
    margin-top: 24px !important;
    margin-bottom: 0 !important;
  }
}

/* Asymetryczny moduł wideo z sali SI (/integracja-sensoryczna/) — Click-to-Play Facade + Zero-Cropping 9:16 */
.volare-si-video-showcase {
  display: grid !important;
  grid-template-columns: minmax(260px, 340px) 1fr !important;
  gap: 36px !important;
  align-items: center !important;
  margin: 28px 0 36px 0 !important;
  padding: 28px !important;
  background: #f8fafc !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;
}

.volare-video-stage {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 9 / 16 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #f1ede8 !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1) !important;
}

.volare-video-facade {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: #f1ede8 !important;
  cursor: pointer !important;
  text-align: left !important;
}

.volare-video-facade:focus-visible {
  outline: 3px solid var(--volare-sub-accent, #2e9bb0) !important;
  outline-offset: -3px !important;
}

.volare-video-facade img,
.volare-video-stage video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  background: #0f172a !important;
}

.volare-video-facade img {
  background: #f1ede8 !important;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.volare-video-facade:hover img {
  transform: scale(1.02) !important;
}

.volare-video-play-btn {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 68px !important;
  height: 68px !important;
  border-radius: 50% !important;
  background: rgba(24, 104, 119, 0.92) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.28) !important;
  transition: transform 0.2s ease, background-color 0.2s ease !important;
}

.volare-video-facade:hover .volare-video-play-btn {
  transform: translate(-50%, -50%) scale(1.08) !important;
  background: var(--volare-sub-accent, #2e9bb0) !important;
}

.volare-video-play-btn svg {
  width: 28px !important;
  height: 28px !important;
  margin-left: 3px !important;
  fill: currentColor !important;
}

.volare-video-duration {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(15, 23, 42, 0.78) !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0.02em !important;
}

.volare-si-video-copy h3 {
  margin: 0 0 12px 0 !important;
  font-size: clamp(1.35rem, 2.2vw, 1.65rem) !important;
  line-height: 1.25 !important;
  color: #0f172a !important;
}

.volare-si-video-copy p {
  margin: 0 0 16px 0 !important;
  color: #334155 !important;
  line-height: 1.6 !important;
  max-width: 60ch !important;
}

.volare-si-video-points {
  margin: 0 0 22px 0 !important;
  padding-left: 20px !important;
  color: #1e293b !important;
  line-height: 1.55 !important;
}

.volare-si-video-points li + li {
  margin-top: 8px !important;
}

.volare-si-video-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 16px !important;
}

.volare-si-video-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  background: var(--volare-sub-dark, #186877) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.volare-si-video-cta:hover {
  background: var(--volare-sub-accent, #2e9bb0) !important;
  transform: translateY(-1px) !important;
}

.volare-si-video-cta:focus-visible {
  outline: 3px solid var(--volare-sub-accent, #2e9bb0) !important;
  outline-offset: 2px !important;
}

.volare-si-video-note {
  font-size: 13px !important;
  color: #475569 !important;
}

@media (max-width: 860px) {
  .volare-si-video-showcase {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 20px !important;
  }
  .volare-video-stage {
    max-width: 340px !important;
    margin: 0 auto !important;
  }
}

/* ==========================================================================
   LANDING PAGES - INSTYTUT VOLARE (DESIGN SYSTEM & HIGH-CONVERTING CRO)
   ========================================================================== */

/* Główny kontener strony lądowania */
.volare-landing-page {
  font-family: var(--volare-font-body, "Plus Jakarta Sans", sans-serif) !important;
  color: #292468;
  background-color: #ffffff;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  width: 100%;
}

.volare-landing-page * {
  box-sizing: border-box;
}

/* Wewnętrzny kontener o stałej szerokości */
.volare-lp-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

.volare-lp-container-narrow {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 24px;
  width: 100%;
}

/* Sekcje uniwersalne */
.volare-lp-section {
  padding: 80px 0;
  position: relative;
  width: 100%;
}

.volare-lp-section-alt {
  background-color: #fcf9f6;
}

.volare-lp-section-warm {
  background: linear-gradient(180deg, #fff9f5 0%, #ffffff 100%);
}

.volare-lp-section-purple {
  background: linear-gradient(135deg, #1b1744 0%, #292468 100%);
  color: #ffffff;
}

@media (max-width: 768px) {
  .volare-lp-section {
    padding: 52px 0;
  }
}

/* Nagłówki sekcji */
.volare-lp-section-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 52px auto;
}

.volare-lp-section-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fdf2f8;
  color: #c83a9e;
  border: 1px solid #fbcfe8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 9999px;
  margin-bottom: 16px;
}

.volare-lp-section-purple .volare-lp-section-tag {
  background: rgba(200, 58, 158, 0.2);
  color: #fbcfe8;
  border-color: rgba(200, 58, 158, 0.4);
}

.volare-lp-section-title {
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 900;
  line-height: 1.2;
  color: #1b1744;
  margin: 0 0 16px 0;
  letter-spacing: -0.02em;
}

.volare-lp-section-purple .volare-lp-section-title {
  color: #ffffff;
}

.volare-lp-section-desc {
  font-size: 17px;
  line-height: 1.65;
  color: #475569;
  margin: 0;
}

.volare-lp-section-purple .volare-lp-section-desc {
  color: #cbd5e1;
}

/* ==========================================================================
   SEKCJA HERO - ENERGIA, SOCZYSTE KOLORY, RADOSNY KLIMAT ANIMACJI
   ========================================================================== */

.volare-lp-hero {
  padding: 56px 0 72px 0;
  background: radial-gradient(ellipse at 85% 20%, rgba(200, 58, 158, 0.12) 0%, rgba(238, 152, 114, 0.08) 40%, #ffffff 80%);
  position: relative;
  overflow: hidden;
}

.volare-lp-hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 48px;
  align-items: center;
}

@media (max-width: 980px) {
  .volare-lp-hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.volare-lp-hero-text {
  position: relative;
  z-index: 2;
}

.volare-lp-badge-launch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(200, 58, 158, 0.12) 0%, rgba(238, 152, 114, 0.18) 100%);
  color: #c83a9e;
  border: 1.5px solid rgba(200, 58, 158, 0.3);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 9999px;
  margin-bottom: 20px;
  box-shadow: 0 4px 14px rgba(200, 58, 158, 0.1);
}

.volare-lp-hero-title {
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: clamp(34px, 4.2vw, 52px);
  font-weight: 900;
  line-height: 1.12;
  color: #1b1744;
  margin: 0 0 20px 0;
  letter-spacing: -0.025em;
}

.volare-lp-gradient-text {
  background: linear-gradient(135deg, #c83a9e 0%, #ee9872 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline;
}

.volare-lp-hero-subtitle {
  font-size: 18px;
  line-height: 1.65;
  color: #334155;
  margin: 0 0 24px 0;
}

.volare-lp-hero-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 32px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.volare-lp-hero-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15.5px;
  line-height: 1.5;
  color: #1e293b;
}

.volare-lp-bullet-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  margin-top: 1px;
  box-shadow: 0 3px 8px rgba(200, 58, 158, 0.35);
}

/* Prawa kolumna Hero - Kompozycja wizualna ze zdjęciami i pigułkami */
.volare-lp-hero-visual {
  position: relative;
  text-align: center;
}

.volare-lp-hero-img-wrap {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 50px -12px rgba(27, 23, 68, 0.18), 0 0 0 1px rgba(200, 58, 158, 0.15);
  background: #ffffff;
  transition: transform 0.3s ease;
}

.volare-lp-hero-img-wrap:hover {
  transform: translateY(-4px);
}

.volare-lp-hero-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Pływające pigułki (Chips) na zdjęciu hero */
.volare-lp-float-badge {
  position: absolute;
  background: #ffffff;
  border-radius: 9999px;
  padding: 10px 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 13.5px;
  color: #1b1744;
  box-shadow: 0 12px 28px rgba(27, 23, 68, 0.14), 0 0 0 1px rgba(238, 220, 208, 0.6);
  z-index: 3;
}

.volare-lp-float-badge-1 {
  top: 18px;
  left: -16px;
}

.volare-lp-float-badge-2 {
  bottom: 24px;
  right: -16px;
}

@media (max-width: 600px) {
  .volare-lp-float-badge-1 {
    top: 10px;
    left: 8px;
  }
  .volare-lp-float-badge-2 {
    bottom: 12px;
    right: 8px;
  }
}

/* ==========================================================================
   DYNAMICZNA KARTA AKCJI (SHORTCODE [volare_landing_action])
   ========================================================================== */

.volare-landing-action-container {
  margin: 28px 0;
  width: 100%;
}

.volare-lp-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 14px 36px rgba(27, 23, 68, 0.08), 0 0 0 1px rgba(200, 58, 158, 0.14);
  position: relative;
  overflow: hidden;
}

.volare-lp-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #de77a3 0%, #e77384 25%, #ee9872 55%, #ecaa65 80%, #f2bf5e 100%);
}

.volare-lp-badge-row {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.volare-lp-badge-purple {
  background: #fdf2f8;
  color: #c83a9e;
  border: 1px solid #fbcfe8;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 9999px;
}

.volare-lp-badge-success {
  background: #dcfce7;
  color: #15803d;
  border: 1px solid #bbf7d0;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 9999px;
}

/* Zegar Countdown */
.volare-lp-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 16px 0 24px 0;
  padding: 16px;
  background: linear-gradient(135deg, #fff9f6 0%, #fdf2f8 100%);
  border-radius: 16px;
  border: 1.5px dashed rgba(200, 58, 158, 0.35);
}

.volare-countdown-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 58px;
  background: #ffffff;
  border-radius: 12px;
  padding: 8px 10px;
  box-shadow: 0 4px 10px rgba(200, 58, 158, 0.08);
  border: 1px solid #fce7f3;
}

.volare-cd-val {
  font-size: 26px;
  font-weight: 900;
  color: #8e3b8f;
  font-family: var(--volare-font-heading, "Outfit", sans-serif);
  line-height: 1;
}

.volare-cd-lbl {
  font-size: 10px;
  font-weight: 800;
  color: #c83a9e;
  margin-top: 4px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.volare-countdown-sep {
  font-size: 22px;
  font-weight: 900;
  color: #c83a9e;
  line-height: 1;
}

/* Pola formularza Waitlist */
.volare-lp-fields-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

@media (max-width: 600px) {
  .volare-lp-fields-grid {
    grid-template-columns: 1fr;
  }
}

.volare-lp-input-group {
  text-align: left;
}

.volare-lp-input-group label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: #1b1744;
  margin-bottom: 6px;
}

.volare-lp-input-group input {
  width: 100% !important;
  background: #fdfaf7 !important;
  border: 1.5px solid #ebdcd0 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  color: #1b1744 !important;
  font-family: inherit !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

.volare-lp-input-group input:focus {
  border-color: #c83a9e !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(200, 58, 158, 0.12) !important;
}

.volare-lp-consent-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 12.5px !important;
  color: #475569 !important;
  line-height: 1.45 !important;
  margin: 16px 0 20px 0 !important;
  cursor: pointer !important;
  text-align: left !important;
}

.volare-lp-consent-label input {
  margin-top: 3px !important;
  accent-color: #c83a9e !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}

/* Przyciski CTA */
.volare-lp-btn-cta {
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 16px 28px !important;
  border-radius: 9999px !important;
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: 16.5px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 8px 24px rgba(200, 58, 158, 0.35) !important;
}

.volare-lp-btn-submit {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%) !important;
  color: #ffffff !important;
}

.volare-lp-btn-submit:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 30px rgba(200, 58, 158, 0.5) !important;
  color: #ffffff !important;
}

.volare-lp-btn-primary {
  background: linear-gradient(135deg, #16a34a 0%, #15803d 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(22, 163, 74, 0.35) !important;
}

.volare-lp-btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 30px rgba(22, 163, 74, 0.5) !important;
  color: #ffffff !important;
}

.volare-lp-price-box {
  margin: 12px 0 20px 0;
  text-align: center;
}

.volare-lp-price {
  font-size: 32px;
  font-weight: 900;
  color: #1b1744;
  font-family: var(--volare-font-heading, "Outfit", sans-serif);
  display: block;
}

.volare-lp-price-note {
  font-size: 13px;
  color: #64748b;
  margin-top: 4px;
}

.volare-lp-status-message {
  margin-top: 16px;
  padding: 14px 18px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
}

.volare-lp-status-message.is-success {
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.volare-lp-status-message.is-error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

/* ==========================================================================
   PASEK STATYSTYK / SOCIAL PROOF (18 LAT, 160 TYS+, 11 MODUŁÓW, 15 MIES.)
   Nowy design: pływająca karta zamiast ciemnego paska, aby uniknąć złudzenia stopki (false floor)
   ========================================================================== */

.volare-lp-stats-bar {
  background: transparent;
  padding: 10px 0 36px 0;
  position: relative;
  width: 100%;
}

.volare-lp-stats-card {
  background: linear-gradient(135deg, #ffffff 0%, #faf5ff 55%, #fff7ed 100%);
  border: 2px solid #e9d5ff;
  border-radius: 24px;
  padding: 36px 32px 24px 32px;
  box-shadow: 0 16px 40px -10px rgba(109, 40, 217, 0.10), 0 0 0 1px rgba(109, 40, 217, 0.04);
  position: relative;
}

.volare-lp-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  text-align: center;
}

@media (min-width: 861px) {
  .volare-lp-stat-item:not(:last-child) {
    border-right: 1px solid #f1f5f9;
  }
}

@media (max-width: 860px) {
  .volare-lp-stats-card {
    padding: 28px 20px 24px 20px;
    border-radius: 20px;
  }
  .volare-lp-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 16px;
  }
}

.volare-lp-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.volare-lp-stat-number {
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: clamp(32px, 3.5vw, 44px);
  font-weight: 900;
  line-height: 1;
  margin-bottom: 8px;
  background: linear-gradient(135deg, #6d28d9 0%, #db2777 50%, #ea580c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.volare-lp-stat-label {
  font-size: 13px;
  font-weight: 700;
  color: #475569;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  line-height: 1.35;
}

/* Wskaźnik dalszego przewijania - likwiduje złudzenie końca strony */
.volare-lp-scroll-cue {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px dashed #e2e8f0;
  text-align: center;
}

.volare-lp-scroll-cue-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #6d28d9;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 999px;
  background: #f3e8ff;
  border: 1px solid #e9d5ff;
  transition: all 0.25s ease;
  box-shadow: 0 2px 8px rgba(109, 40, 217, 0.08);
}

.volare-lp-scroll-cue-link:hover {
  background: #ede9fe;
  color: #581c87;
  transform: translateY(2px);
  box-shadow: 0 4px 12px rgba(109, 40, 217, 0.15);
}

.volare-lp-cue-arrow {
  display: inline-block;
  font-size: 16px;
  font-weight: 900;
  animation: volareBounce 1.6s infinite ease-in-out;
}

@keyframes volareBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(4px);
  }
}

/* ==========================================================================
   DLA KOGO JEST TEN KURS (4 KOLOROWE KARTY Z PASTELOWYMI TŁAMI)
   ========================================================================== */

.volare-lp-audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {
  .volare-lp-audience-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .volare-lp-audience-grid {
    grid-template-columns: 1fr;
  }
}

.volare-lp-card-feature {
  background: #ffffff;
  border-radius: 20px;
  padding: 32px 24px;
  border: 1px solid #ebdcd0;
  box-shadow: 0 6px 20px rgba(27, 23, 68, 0.04);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.volare-lp-card-feature:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(27, 23, 68, 0.09);
  border-color: #c83a9e;
}

.volare-lp-card-feature::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #c83a9e 0%, #ee9872 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.volare-lp-card-feature:hover::before {
  opacity: 1;
}

.volare-lp-icon-box {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin-bottom: 20px;
  box-shadow: 0 4px 14px rgba(200, 58, 158, 0.12);
}

.volare-lp-icon-pink {
  background: #fdf2f8;
  color: #c83a9e;
  border: 1px solid #fbcfe8;
}

.volare-lp-icon-amber {
  background: #fffbeb;
  color: #d97706;
  border: 1px solid #fde68a;
}

.volare-lp-icon-blue {
  background: #eff6ff;
  color: #2563eb;
  border: 1px solid #bfdbfe;
}

.volare-lp-icon-purple {
  background: #faf5ff;
  color: #9333ea;
  border: 1px solid #e9d5ff;
}

.volare-lp-card-feature h3 {
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: 20px;
  font-weight: 800;
  color: #1b1744;
  margin: 0 0 12px 0;
  line-height: 1.3;
}

.volare-lp-card-feature p {
  font-size: 14.5px;
  line-height: 1.6;
  color: #475569;
  margin: 0;
}

/* ==========================================================================
   PROGRAM 11 MODUŁÓW KURSU - ZDJĘCIA, KOLORY I PRAKTYCZNA METRYKA
   ========================================================================== */

.volare-lp-curriculum-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

@media (max-width: 980px) {
  .volare-lp-curriculum-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .volare-lp-curriculum-grid {
    grid-template-columns: 1fr;
  }
}

.volare-lp-module-card {
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #ebdcd0;
  box-shadow: 0 6px 20px rgba(27, 23, 68, 0.04);
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.volare-lp-module-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(200, 58, 158, 0.12);
  border-color: #c83a9e;
}

.volare-lp-module-thumb {
  position: relative;
  width: 100%;
  height: 180px;
  background: #f1f5f9;
  overflow: hidden;
}

.volare-lp-module-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}

.volare-lp-module-card:hover .volare-lp-module-thumb img {
  transform: scale(1.05);
}

.volare-lp-module-tag-chip {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(27, 23, 68, 0.85);
  backdrop-filter: blur(8px);
  color: #ffffff;
  font-family: var(--volare-font-heading, "Outfit", sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.volare-lp-module-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.volare-lp-module-title {
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: 19px;
  font-weight: 800;
  color: #1b1744;
  margin: 0 0 10px 0;
  line-height: 1.35;
}

.volare-lp-module-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #475569;
  margin: 0 0 16px 0;
  flex-grow: 1;
}

.volare-lp-module-highlights {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #f1f5f9;
  padding-top: 12px;
  font-size: 12.5px;
  color: #64748b;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.volare-lp-module-highlights li {
  display: flex;
  align-items: center;
  gap: 6px;
}

.volare-lp-module-highlights li::before {
  content: '✓';
  color: #c83a9e;
  font-weight: 900;
  font-size: 12px;
}

/* Karta bonusowa w siatce modułów */
.volare-lp-module-card-bonus {
  border: 2px dashed #c83a9e;
  background: linear-gradient(135deg, #fff5fa 0%, #fffdf9 100%);
}

.volare-lp-module-card-bonus .volare-lp-module-tag-chip {
  background: linear-gradient(135deg, #c83a9e 0%, #8e3b8f 100%);
}

/* ==========================================================================
   SEKCJA PARTNERÓW BRANŻOWYCH (TUBAN, AKSON, SKLEP ANIMATORA, LUNAR)
   ========================================================================== */

.volare-lp-partner-card-wrapper {
  background: #ffffff;
  border-radius: 24px;
  padding: 44px 36px;
  box-shadow: 0 12px 36px rgba(200, 58, 158, 0.08);
  border: 2px dashed #fbcfe8;
  text-align: center;
}

.volare-lp-partner-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 36px;
}

@media (max-width: 860px) {
  .volare-lp-partner-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .volare-lp-partner-grid {
    grid-template-columns: 1fr;
  }
}

.volare-lp-partner-card {
  background: #fff9fc;
  border: 1.5px solid #fce7f3;
  border-radius: 18px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.25s ease;
}

.volare-lp-partner-card:hover {
  transform: translateY(-4px);
  border-color: #c83a9e;
  box-shadow: 0 10px 24px rgba(200, 58, 158, 0.12);
  background: #ffffff;
}

.volare-lp-partner-discount {
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: 32px;
  font-weight: 900;
  color: #c83a9e;
  line-height: 1;
  margin-bottom: 8px;
}

.volare-lp-partner-name {
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: 18px;
  font-weight: 800;
  color: #1b1744;
  margin: 0 0 6px 0;
}

.volare-lp-partner-desc {
  font-size: 13px;
  line-height: 1.5;
  color: #64748b;
  margin: 0;
}

/* ==========================================================================
   CERTYFIKAT UKOŃCZENIA SZKOLENIA
   ========================================================================== */

.volare-lp-cert-box {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: center;
}

@media (max-width: 860px) {
  .volare-lp-cert-box {
    grid-template-columns: 1fr;
    gap: 36px;
    text-align: center;
  }
}

.volare-lp-cert-visual {
  position: relative;
}

.volare-lp-cert-image {
  width: 100%;
  max-width: 480px;
  border-radius: 18px;
  box-shadow: 0 20px 45px rgba(27, 23, 68, 0.16), 0 0 0 1px rgba(200, 58, 158, 0.15);
  display: block;
  margin: 0 auto;
}

/* ==========================================================================
   OPINIE ABSOLWENTÓW (TESTIMONIALS)
   ========================================================================== */

.volare-lp-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

@media (max-width: 860px) {
  .volare-lp-testimonials-grid {
    grid-template-columns: 1fr;
  }
}

.volare-lp-testimonial {
  background: #ffffff;
  border: 1px solid #ebdcd0;
  border-radius: 20px;
  padding: 32px 28px;
  box-shadow: 0 8px 24px rgba(27, 23, 68, 0.04);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.volare-lp-testimonial-stars {
  font-size: 20px;
  color: #f59e0b;
  margin-bottom: 14px;
}

.volare-lp-testimonial-text {
  font-size: 15.5px;
  line-height: 1.65;
  color: #292468;
  font-style: italic;
  margin: 0 0 20px 0;
}

.volare-lp-testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid #f1f5f9;
  padding-top: 16px;
}

.volare-lp-testimonial-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fdf2f8;
  color: #c83a9e;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  border: 1.5px solid #fbcfe8;
}

.volare-lp-testimonial-name {
  font-family: var(--volare-font-heading, "Outfit", sans-serif);
  font-weight: 800;
  color: #1b1744;
  font-size: 15px;
}

.volare-lp-testimonial-role {
  font-size: 12.5px;
  color: #64748b;
}

/* ==========================================================================
   NAJCZĘŚCIEJ ZADAWANE PYTANIA (FAQ) - DOSTĘPNE DETAILS/SUMMARY
   ========================================================================== */

.volare-lp-faq-container {
  max-width: 860px;
  margin: 0 auto;
}

.volare-lp-faq-item {
  background: #ffffff;
  border: 1.5px solid #ebdcd0;
  border-radius: 16px;
  padding: 20px 24px;
  margin-bottom: 16px;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(27, 23, 68, 0.03);
}

.volare-lp-faq-item:hover {
  border-color: #c83a9e;
}

.volare-lp-faq-item[open] {
  border-color: #c83a9e;
  box-shadow: 0 8px 24px rgba(200, 58, 158, 0.1);
  background: #fffdfd;
}

.volare-lp-faq-item summary {
  font-family: var(--volare-font-heading, "Outfit", sans-serif) !important;
  font-size: 17.5px;
  font-weight: 800;
  color: #1b1744;
  cursor: pointer;
  outline: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  list-style: none;
}

.volare-lp-faq-item summary::-webkit-details-marker {
  display: none;
}

.volare-lp-faq-item summary::after {
  content: '+';
  font-size: 24px;
  font-weight: 700;
  color: #c83a9e;
  line-height: 1;
  transition: transform 0.25s ease;
}

.volare-lp-faq-item[open] summary::after {
  content: '−';
  transform: rotate(180deg);
}

.volare-lp-faq-item p {
  margin: 14px 0 0 0;
  font-size: 15px;
  line-height: 1.65;
  color: #475569;
}

/* ==========================================================================
   FINAŁOWE CTA NA DOLE STRONY
   ========================================================================== */

.volare-lp-final-cta-box {
  background: linear-gradient(135deg, #fff9f6 0%, #fdf2f8 100%);
  border-radius: 28px;
  padding: 60px 36px;
  text-align: center;
  box-shadow: 0 16px 40px rgba(200, 58, 158, 0.1);
  border: 2px dashed rgba(200, 58, 158, 0.3);
  max-width: 860px;
  margin: 0 auto;
}

@media (max-width: 600px) {
  .volare-lp-final-cta-box {
    padding: 36px 20px;
  }
}

/* ==========================================================================
   UKRYCIE PRZYCISKU "EDYTUJ SZABLON" Z GÓRNEGO PASKA (ADMIN BAR / TOOLBAR)
   ========================================================================== */
#wpadminbar #wp-admin-bar-site-editor,
#wpadminbar #wp-admin-bar-edit-site {
  display: none !important;
}

/* ==========================================================================
   POJEDYNCZA KARTA PUBLIKACJI / E-BOOKA WOOCOMMERCE ([volare_single_product])
   Paleta: Edukacja i Materiały (Miodowe Złoto #e2a12a, Ciepły Beż #fbf7f2, Grafit #0f172a)
   ========================================================================== */

body.volare-single-product-body,
body.volare-single-ebook-body {
  --volare-sub-accent: #e2a12a;
  --volare-sub-dark: #9a6609;
  --volare-sub-glow: rgba(226, 161, 42, 0.28);
  --volare-sub-tint: #fef9ee;
  --volare-sub-badge: #fde8bf;
  --volare-sub-badge-text: #875505;
  background-color: #fcfbfa;
}

.volare-ebook-single-wrap {
  inline-size: 100%;
  max-inline-size: 1240px;
  margin-inline: auto;
  color: #1e293b;
}

/* 1. Pasek nawigacji powrotnej i ścieżki (Topbar) */
.volare-ebook-topbar {
  display: flex;
  flex-wrap: wrap;
  align-items: safe center;
  justify-content: space-between;
  gap: 16px;
  margin-block-end: 24px;
  padding-block-end: 16px;
  border-block-end: 1px solid #ece4da;
}

.volare-ebook-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #1e293b !important;
  text-decoration: none !important;
  padding: 8px 14px;
  border-radius: 10px;
  background-color: #f4ece2;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
  min-block-size: 40px;
}

.volare-ebook-back-link .material-symbols-outlined {
  font-size: 18px;
  color: #9a6609;
  transition: transform 0.2s ease;
}

.volare-ebook-back-link:hover {
  background-color: #eadbc9;
  color: #0f172a !important;
}

.volare-ebook-back-link:hover .material-symbols-outlined {
  transform: translateX(-3px);
}

.volare-ebook-back-link:focus-visible {
  outline: 2px solid #9a6609;
  outline-offset: 2px;
}

.volare-ebook-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: #64748b;
}

.volare-ebook-breadcrumbs a {
  color: #475569 !important;
  text-decoration: none !important;
  font-weight: 500;
  transition: color 0.15s ease;
}

.volare-ebook-breadcrumbs a:hover {
  color: #9a6609 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.volare-ebook-breadcrumbs .volare-crumb-sep {
  color: #94a3b8;
  user-select: none;
}

.volare-ebook-breadcrumbs .volare-crumb-current {
  color: #1e293b;
  font-weight: 600;
}

/* Powiadomienia WooCommerce (np. po dodaniu do koszyka) */
.woocommerce-message:has(.wc-forward),
.woocommerce-cart .woocommerce-message:has(a[href*="koszyk"]),
.woocommerce-checkout .woocommerce-message,
.volare-wc-notices .woocommerce-message:has(.wc-forward) {
  display: none !important;
}

.volare-wc-notices .woocommerce-message,
.volare-wc-notices .woocommerce-info {
  background-color: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 12px !important;
  color: #14532d !important;
  padding: 16px 20px !important;
  margin-block-end: 24px !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 14.5px;
  font-weight: 500;
}

.volare-wc-notices .woocommerce-message::before,
.volare-wc-notices .woocommerce-info::before {
  display: none !important;
}

.volare-wc-notices .woocommerce-message .button {
  background-color: #15803d !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  order: 2;
  margin-inline-start: auto;
}

/* 2. Karta Główna Ekspozycji Publikacji (Above-the-Fold Hero Card) */
.volare-ebook-hero-card {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 44px;
  align-items: start;
  background-color: #ffffff;
  border: 1px solid #e7dfd5;
  border-radius: 16px;
  padding: 36px;
  margin-block-end: 40px;
}

/* Scena okładki A4 */
.volare-ebook-cover-stage {
  background: radial-gradient(120% 120% at 50% 15%, #f7f1e8 0%, #ebe1d3 100%);
  border-radius: 12px;
  padding: 28px 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.volare-ebook-cover-frame {
  position: relative;
  inline-size: 100%;
  max-inline-size: 276px;
  aspect-ratio: 1241 / 1755;
  border-radius: 8px;
  overflow: clip;
  box-shadow: 0 22px 44px -12px rgba(27, 23, 68, 0.28), 0 4px 12px rgba(15, 23, 42, 0.12);
  background-color: #2b2520;
}

.volare-ebook-cover-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: inset 3px 0 6px rgba(255, 255, 255, 0.22), inset -1px 0 2px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}

.volare-ebook-cover-img {
  display: block !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  object-fit: cover !important;
}

/* Dedykowany wariant ekspozycji dla szkoleń stacjonarnych i warsztatów (16:9 zamiast A4) */
.volare-ebook-single-wrap.is-training-product .volare-ebook-hero-card {
  grid-template-columns: 400px minmax(0, 1fr);
}

.volare-ebook-single-wrap.is-training-product .volare-ebook-cover-stage {
  padding: 18px;
}

.volare-ebook-single-wrap.is-training-product .volare-ebook-cover-frame {
  max-inline-size: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 12px;
}

.volare-ebook-single-wrap.is-training-product .volare-ebook-cover-frame::after {
  display: none;
}

@media (max-width: 960px) {
  .volare-ebook-single-wrap.is-training-product .volare-ebook-hero-card {
    grid-template-columns: 1fr;
  }
}

/* Metadane szkolenia w koszyku pod tytułem */
.volare-cart-table td.product-name dl.variation {
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 14px !important;
  font-size: 12.5px !important;
  color: #475569 !important;
}

.volare-cart-table td.product-name dl.variation dt,
.volare-cart-table td.product-name dl.variation dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

.volare-cart-table td.product-name dl.variation dt {
  font-weight: 700 !important;
  color: #334155 !important;
}

.volare-cart-table td.product-name dl.variation dd p {
  display: inline !important;
  margin: 0 !important;
}

/* Prawa kolumna informacji o publikacji */
.volare-ebook-hero-info {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
}

.volare-ebook-meta-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  line-height: 1.4;
  color: #64748b;
  margin: 0 0 12px 0 !important;
}

.volare-ebook-meta-line strong {
  color: #334155;
  font-weight: 700;
}

.volare-ebook-meta-line .volare-meta-dot {
  color: #cbd5e1;
}

.volare-ebook-title,
h1.volare-ebook-title {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif) !important;
  font-size: clamp(24px, 2.6vw, 33px) !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.02em !important;
  color: #0f172a !important;
  margin: 0 0 16px 0 !important;
  text-wrap: balance;
}

.volare-ebook-lead,
p.volare-ebook-lead {
  font-size: 16.5px !important;
  line-height: 1.65 !important;
  color: #334155 !important;
  margin: 0 0 24px 0 !important;
  max-inline-size: 66ch;
  text-wrap: pretty;
}

/* Pasek parametrów wydawniczych (dl / dt / dd) */
.volare-ebook-specs-bar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding-block: 16px;
  padding-inline: 20px;
  margin: 0 0 24px 0;
  background-color: #faf6f0;
  border: 1px solid #eadfce;
  border-radius: 12px;
}

.volare-ebook-spec-item {
  min-inline-size: 0;
}

.volare-ebook-spec-item dt {
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  margin: 0 0 4px 0;
  line-height: 1.3;
}

.volare-ebook-spec-item dd {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif);
  font-size: 14.5px;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}

/* Moduł Zakupu / Pobrania */
.volare-ebook-buy-panel {
  background-color: #fbf7f2;
  border: 1px solid #e5d8c5;
  border-radius: 14px;
  padding: 22px 24px;
}

.volare-ebook-buy-main {
  display: flex;
  flex-wrap: wrap;
  align-items: safe center;
  justify-content: space-between;
  gap: 20px;
  padding-block-end: 18px;
  border-block-end: 1px solid #ece1d2;
}

.volare-ebook-price-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.volare-ebook-price-label {
  font-size: 12.5px;
  font-weight: 600;
  color: #64748b;
}

.volare-ebook-price-value {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--volare-font-heading, 'Outfit', sans-serif);
  font-variant-numeric: tabular-nums;
}

.volare-price-amount {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.1;
  color: #0f172a;
  letter-spacing: -0.02em;
}

.volare-price-currency {
  font-size: 20px;
  font-weight: 700;
  color: #334155;
}

.volare-price-free {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
  color: #15803d;
}

.volare-price-free-note {
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
}

.volare-price-purchased {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 22px;
  font-weight: 800;
  color: #15803d;
}

.volare-ebook-actions-block,
.volare-ebook-cart-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 !important;
}

.volare-ebook-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-block-size: 48px !important;
  padding: 12px 26px !important;
  border-radius: 12px !important;
  border: none !important;
  background: linear-gradient(115deg, #c83a9e 0%, #e25b68 50%, #ee852a 100%) !important;
  color: #ffffff !important;
  font-family: var(--volare-font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 8px 20px -4px rgba(200, 58, 158, 0.38) !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease, filter 0.2s ease !important;
}

.volare-ebook-btn-primary .material-symbols-outlined {
  font-size: 20px !important;
  color: #ffffff !important;
}

.volare-ebook-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px -4px rgba(200, 58, 158, 0.48) !important;
  filter: brightness(1.04);
  color: #ffffff !important;
}

.volare-ebook-btn-primary:focus-visible {
  outline: 2px solid #0f172a !important;
  outline-offset: 3px !important;
}

.volare-ebook-btn-primary.is-emerald {
  background: #15803d !important;
  box-shadow: 0 8px 20px -4px rgba(21, 128, 61, 0.32) !important;
}

.volare-ebook-btn-primary.is-emerald:hover {
  background: #166534 !important;
}

.volare-ebook-btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-block-size: 48px !important;
  padding: 12px 20px !important;
  border-radius: 12px !important;
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  font-family: var(--volare-font-body, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.volare-ebook-btn-secondary .material-symbols-outlined {
  font-size: 18px !important;
  color: #9a6609 !important;
  transition: transform 0.2s ease;
}

.volare-ebook-btn-secondary:hover {
  border-color: #9a6609 !important;
  background-color: #fef9ee !important;
  color: #875505 !important;
}

.volare-ebook-btn-secondary:hover .material-symbols-outlined {
  transform: translateX(3px);
}

.volare-ebook-btn-secondary:focus-visible {
  outline: 2px solid #9a6609 !important;
  outline-offset: 2px !important;
}

/* Pasek zaufania pod przyciskiem zakupu */
.volare-ebook-trust-row {
  list-style: none !important;
  padding: 14px 0 0 0 !important;
  margin: 0 !important;
  display: flex;
  flex-wrap: wrap;
  flex-wrap: balance;
  align-items: center;
  gap: 12px 24px;
}

.volare-ebook-trust-row li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 500;
  color: #475569;
  margin: 0 !important;
}

.volare-ebook-trust-row .material-symbols-outlined {
  font-size: 17px;
  color: #9a6609;
  flex-shrink: 0;
}

/* 3. Dwukolumnowy Układ Redakcyjny (Below the Fold: Treść 68ch + Sticky Sidebar) */
.volare-ebook-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 370px;
  gap: 36px;
  align-items: start;
  margin-block-end: 56px;
}

.volare-ebook-main-col {
  min-inline-size: 0;
}

.volare-ebook-prose-card {
  background-color: #ffffff;
  border: 1px solid #e7dfd5;
  border-radius: 16px;
  padding: 40px 44px;
}

.volare-ebook-section-heading,
h2.volare-ebook-section-heading {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif) !important;
  font-size: clamp(21px, 2.2vw, 25px) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 24px 0 !important;
  padding-block-end: 16px;
  border-block-end: 1px solid #f1eae0;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

/* Typografia redakcyjna opisu (65-72ch) */
.volare-ebook-prose {
  max-inline-size: 68ch;
  font-size: 16px;
  line-height: 1.75;
  color: #334155;
}

.volare-ebook-prose p {
  margin-block: 0 1.25em;
  text-wrap: pretty;
}

.volare-ebook-prose .volare-lead-intro,
.volare-ebook-prose .volare-lead-text {
  font-size: 17px;
  line-height: 1.7;
  color: #1e293b;
  background-color: #fbf7f2;
  border: 1px solid #ece1d2;
  border-radius: 12px;
  padding: 20px 24px;
  margin-block-end: 28px;
}

.volare-ebook-prose h3 {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-block: 32px 14px !important;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.volare-ebook-prose ul {
  list-style: none !important;
  padding-inline-start: 0 !important;
  margin-block: 0 28px !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.volare-ebook-prose > .volare-ebook-description > ul > li,
.volare-ebook-prose > ul > li {
  position: relative;
  padding-inline-start: 28px;
  line-height: 1.65;
  color: #334155;
  text-wrap: pretty;
}

.volare-ebook-prose > .volare-ebook-description > ul > li::before,
.volare-ebook-prose > ul > li::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 9px;
  inline-size: 10px;
  block-size: 10px;
  border-radius: 3px;
  background-color: #e2a12a;
}

.volare-ebook-prose ul ul {
  margin-block: 10px 4px !important;
  padding-inline-start: 16px !important;
  border-inline-start: 1px solid #e2d6c5;
  gap: 8px;
}

.volare-ebook-prose ul ul li {
  position: relative;
  padding-inline-start: 16px;
  font-size: 15px;
  color: #475569;
  text-wrap: pretty;
}

.volare-ebook-prose ul ul li::before {
  content: '–';
  position: absolute;
  inset-inline-start: 0;
  color: #9a6609;
  font-weight: 700;
}

.volare-ebook-prose strong {
  color: #0f172a;
  font-weight: 700;
}

/* Ramki merytoryczne wewnątrz treści (bez kolorowego border-left > 1px!) */
.volare-ebook-prose .volare-callout-box {
  background-color: #fef9ee;
  border: 1px solid #f2d99b;
  border-radius: 12px;
  padding: 20px 24px;
  margin-block: 28px;
}

.volare-ebook-prose .volare-callout-box h4 {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 8px 0 !important;
  text-wrap: balance;
}

.volare-ebook-prose .volare-callout-box p {
  margin: 0 !important;
  font-size: 15px;
  line-height: 1.65;
  color: #334155;
}

.volare-ebook-prose .volare-disclaimer-box {
  background-color: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 18px 22px;
  margin-block: 28px 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: #475569;
}

.volare-ebook-prose .volare-disclaimer-box strong {
  color: #1e293b;
}

/* 4. Prawa kolumna boczna (Sticky Sidebar) */
.volare-ebook-aside-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  inset-block-start: 92px;
}

.volare-ebook-aside-card {
  background-color: #ffffff;
  border: 1px solid #e7dfd5;
  border-radius: 14px;
  padding: 24px;
}

.volare-ebook-author-card {
  background-color: #fbf7f2;
  border-color: #e5d8c5;
}

.volare-aside-card-title,
h3.volare-aside-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--volare-font-heading, 'Outfit', sans-serif) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.3;
  text-wrap: balance;
}

.volare-aside-card-title .material-symbols-outlined {
  font-size: 21px;
  color: #9a6609;
  flex-shrink: 0;
}

.volare-author-name {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif);
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 2px 0 !important;
}

.volare-author-role {
  font-size: 13px;
  font-weight: 700;
  color: #875505;
  margin: 0 0 12px 0 !important;
}

.volare-author-bio {
  font-size: 14px;
  line-height: 1.62;
  color: #334155;
  margin: 0 !important;
  text-wrap: pretty;
}

.volare-aside-check-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.volare-aside-check-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.55;
  color: #334155;
  text-wrap: pretty;
}

.volare-aside-check-list .material-symbols-outlined {
  font-size: 18px;
  color: #15803d;
  margin-block-start: 2px;
  flex-shrink: 0;
}

.volare-aside-check-list a {
  color: #875505 !important;
  font-weight: 700;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.volare-ebook-consult-card {
  background-color: #f4f9fb;
  border-color: #cde4ec;
}

.volare-ebook-consult-card .volare-aside-card-title .material-symbols-outlined {
  color: #186877;
}

.volare-consult-text {
  font-size: 14px;
  line-height: 1.6;
  color: #334155;
  margin: 0 0 16px 0 !important;
  text-wrap: pretty;
}

.volare-ebook-consult-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  inline-size: 100%;
  padding: 11px 16px;
  border-radius: 10px;
  background-color: #ffffff;
  border: 1px solid #b8d9e4;
  color: #186877 !important;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.volare-ebook-consult-link .material-symbols-outlined {
  font-size: 18px;
  color: #186877;
  transition: transform 0.2s ease;
}

.volare-ebook-consult-link:hover {
  background-color: #e6f7fa;
  border-color: #2e9bb0;
}

.volare-ebook-consult-link:hover .material-symbols-outlined {
  transform: translateX(3px);
}

/* 5. Sekcja Pozostałych Publikacji (Kolekcja Wydawnicza) */
.volare-ebook-related-section {
  padding-block-start: 32px;
  border-block-start: 1px solid #ebdcc8;
}

.volare-ebook-related-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-block-end: 22px;
}

.volare-ebook-related-heading,
h2.volare-ebook-related-heading {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif) !important;
  font-size: clamp(20px, 2.2vw, 24px) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 4px 0 !important;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.volare-ebook-related-sub {
  font-size: 14.5px;
  color: #64748b;
  margin: 0 !important;
}

.volare-ebook-related-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 700;
  color: #875505 !important;
  text-decoration: none !important;
  padding: 8px 14px;
  border-radius: 10px;
  background-color: #fef9ee;
  border: 1px solid #f2d99b;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.volare-ebook-related-all .material-symbols-outlined {
  font-size: 17px;
  transition: transform 0.2s ease;
}

.volare-ebook-related-all:hover {
  background-color: #fde8bf;
  border-color: #e2a12a;
}

.volare-ebook-related-all:hover .material-symbols-outlined {
  transform: translateX(3px);
}

.volare-ebook-related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.volare-ebook-related-card {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border: 1px solid #e7dfd5;
  border-radius: 16px;
  overflow: clip;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.volare-ebook-related-card:hover {
  border-color: #d1bfa7;
  transform: translateY(-3px);
  box-shadow: 0 14px 28px -10px rgba(27, 23, 68, 0.12);
}

.volare-ebook-related-stage {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px 20px 20px;
  background-color: #fbf8f2;
  border-block-end: 1px solid #f0e6d8;
  text-decoration: none;
}

.volare-ebook-related-cover-frame {
  inline-size: 130px;
  aspect-ratio: 1241 / 1755;
  border-radius: 6px;
  overflow: clip;
  box-shadow: 0 10px 24px -6px rgba(27, 23, 68, 0.24), 0 2px 6px -1px rgba(0, 0, 0, 0.08);
  background-color: #2b2520;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.volare-ebook-related-card:hover .volare-ebook-related-cover-frame {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 14px 30px -6px rgba(27, 23, 68, 0.32);
}

.volare-ebook-related-cover-frame img {
  display: block !important;
  inline-size: 100% !important;
  block-size: 100% !important;
  object-fit: cover !important;
}

.volare-ebook-related-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 20px 22px;
}

.volare-ebook-related-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-block-end: 10px;
}

.volare-ebook-tag {
  font-size: 11.5px;
  font-weight: 700;
  color: #875505;
  background-color: #f8f1e5;
  border: 1px solid #eedec4;
  padding: 3px 8px;
  border-radius: 5px;
  letter-spacing: 0.01em;
}

.volare-ebook-related-title,
h3.volare-ebook-related-title {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif) !important;
  font-size: 17.5px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin: 0 0 10px 0 !important;
  text-wrap: balance;
}

.volare-ebook-related-title a {
  color: #0f172a !important;
  text-decoration: none !important;
  transition: color 0.15s ease;
}

.volare-ebook-related-title a:hover {
  color: #9a6609 !important;
}

.volare-ebook-related-desc {
  font-size: 13.5px;
  line-height: 1.55;
  color: #475569;
  margin: 0 0 16px 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  overflow: clip;
  text-wrap: pretty;
}

.volare-ebook-related-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-block-start: auto;
  padding-block-start: 14px;
  border-block-start: 1px solid #f1eae0;
}

.volare-ebook-related-price-box {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.volare-ebook-related-price-lbl {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #8a7c6c;
}

.volare-ebook-related-price {
  font-family: var(--volare-font-heading, 'Outfit', sans-serif);
  font-size: 17px;
  font-weight: 800;
  color: #0f172a;
  font-variant-numeric: tabular-nums;
}

.volare-ebook-related-price.is-free {
  color: #15803d;
}

.volare-ebook-related-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
  color: #9a6609 !important;
  text-decoration: none !important;
  padding: 7px 12px;
  border-radius: 8px;
  background-color: #fbf5ea;
  border: 1px solid #f2dfbd;
  transition: all 0.2s ease;
}

.volare-ebook-related-btn .material-symbols-outlined {
  font-size: 16px;
  transition: transform 0.2s ease;
}

.volare-ebook-related-btn:hover {
  background-color: #e2a12a;
  border-color: #c98818;
  color: #ffffff !important;
}

.volare-ebook-related-btn:hover .material-symbols-outlined {
  transform: translateX(3px);
  color: #ffffff;
}

/* 6. Responsywność (Tablet & Mobile, w tym 320px) */
@media (max-width: 1024px) {
  .volare-ebook-hero-card {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 28px;
    padding: 24px;
  }

  .volare-ebook-specs-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .volare-ebook-content-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .volare-ebook-aside-col {
    position: static;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
  }
}

@media (max-width: 767px) {
  .volare-single-product-page {
    padding: 10px 12px 40px 12px !important;
  }

  .volare-ebook-topbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-block-end: 12px;
  }

  .volare-ebook-back-link {
    padding: 6px 12px;
    font-size: 12.5px;
  }

  .volare-ebook-breadcrumbs {
    font-size: 12px;
    line-height: 1.35;
  }

  .volare-ebook-hero-card {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px 12px;
    margin-block-end: 16px;
    border-radius: 14px;
  }

  .volare-ebook-cover-stage {
    padding: 14px 10px;
    border-radius: 10px;
  }

  .volare-ebook-cover-frame {
    max-inline-size: 170px;
  }

  .volare-ebook-meta-line {
    font-size: 11.5px;
    margin-block-end: 6px !important;
  }

  .volare-ebook-title,
  h1.volare-ebook-title {
    font-size: 19px !important;
    line-height: 1.25 !important;
    margin: 0 0 8px 0 !important;
  }

  .volare-ebook-lead {
    font-size: 13.5px;
    line-height: 1.5;
    margin: 0 0 12px 0 !important;
  }

  .volare-ebook-specs-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 10px;
    padding: 10px 12px;
    margin: 0 0 12px 0;
    border-radius: 10px;
  }

  .volare-ebook-spec-item dt {
    font-size: 11px;
    margin-block-end: 1px;
  }

  .volare-ebook-spec-item dd {
    font-size: 13px;
  }

  .volare-ebook-buy-panel {
    padding: 12px 14px;
    border-radius: 12px;
  }

  .volare-ebook-buy-main {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .volare-ebook-price-label {
    font-size: 11px;
    margin-block-end: 2px;
  }

  .volare-ebook-price-amount {
    font-size: 24px;
  }

  .volare-ebook-actions-block,
  .volare-ebook-cart-form {
    flex-direction: column;
    align-items: stretch;
    inline-size: 100%;
    gap: 8px;
  }

  .volare-ebook-btn-primary,
  .volare-ebook-btn-secondary {
    inline-size: 100%;
    padding: 10px 14px;
    font-size: 13.5px;
    justify-content: center;
  }

  .volare-ebook-trust-row {
    margin-block-start: 10px;
    padding-block-start: 10px;
    gap: 6px;
  }

  .volare-ebook-trust-row li {
    font-size: 11.5px;
    line-height: 1.35;
    gap: 6px;
  }

  .volare-ebook-trust-row .material-symbols-outlined {
    font-size: 15px;
  }

  /* Sekcja opisu merytorycznego - zwarta i czytelna na telefonie */
  .volare-ebook-content-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-block-end: 20px;
  }

  .volare-ebook-prose-card {
    padding: 16px 14px;
    border-radius: 14px;
  }

  .volare-ebook-section-heading {
    font-size: 18px;
    margin: 0 0 12px 0 !important;
  }

  .volare-ebook-prose > p:first-child {
    padding: 12px 14px;
    margin-block-end: 14px !important;
    font-size: 13.5px;
    line-height: 1.5;
  }

  .volare-ebook-prose h2,
  .volare-ebook-prose h3,
  .volare-ebook-prose h4 {
    margin-block-start: 18px !important;
    margin-block-end: 8px !important;
    font-size: 16px !important;
  }

  .volare-ebook-prose p {
    margin-block-end: 10px !important;
    font-size: 13.5px;
    line-height: 1.55;
  }

  .volare-ebook-prose ul {
    margin: 0 0 12px 0 !important;
    padding-inline-start: 18px;
  }

  .volare-ebook-prose li {
    margin-block-end: 5px !important;
    font-size: 13px;
    line-height: 1.45;
  }

  .volare-ebook-prose ul ul {
    margin: 4px 0 6px 0 !important;
    padding-inline-start: 14px;
  }

  .volare-callout-box,
  .volare-disclaimer-box {
    padding: 12px 14px;
    margin: 12px 0 !important;
    font-size: 13px;
  }

  /* Prawy panel boczny na telefonie */
  .volare-ebook-aside-col {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .volare-ebook-aside-card {
    padding: 14px 14px;
    border-radius: 12px;
  }

  .volare-aside-card-title {
    font-size: 14.5px;
    margin: 0 0 8px 0 !important;
    gap: 6px;
  }

  .volare-author-name {
    font-size: 14px;
    margin-block-end: 2px !important;
  }

  .volare-author-role {
    font-size: 12px;
    margin-block-end: 6px !important;
  }

  .volare-author-bio {
    font-size: 12.5px;
    line-height: 1.45;
  }

  .volare-aside-check-list {
    gap: 6px;
  }

  .volare-aside-check-list li {
    font-size: 12px;
    line-height: 1.4;
    gap: 7px;
  }

  .volare-consult-text {
    font-size: 12.5px;
    line-height: 1.45;
  }

  .volare-ebook-consult-link {
    margin-block-start: 10px;
    padding: 8px 12px;
    font-size: 12.5px;
  }

  /* Pozostałe publikacje na telefonie */
  .volare-ebook-related-section {
    padding-block-start: 20px;
    margin-block-start: 8px;
  }

  .volare-ebook-related-header {
    gap: 10px;
    margin-block-end: 14px;
  }

  .volare-ebook-related-heading {
    font-size: 18px;
    margin: 0 0 3px 0 !important;
  }

  .volare-ebook-related-sub {
    font-size: 12.5px;
  }

  .volare-ebook-related-all {
    padding: 6px 10px;
    font-size: 12px;
  }

  .volare-ebook-related-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .volare-ebook-related-card {
    border-radius: 14px;
  }

  .volare-ebook-related-stage {
    padding: 16px 12px 14px;
  }

  .volare-ebook-related-cover-frame {
    inline-size: 110px;
  }

  .volare-ebook-related-body {
    padding: 14px 14px;
  }

  .volare-ebook-related-title,
  h3.volare-ebook-related-title {
    font-size: 16px !important;
    margin: 0 0 6px 0 !important;
  }

  .volare-ebook-related-desc {
    font-size: 12.5px;
    margin: 0 0 10px 0 !important;
  }

  .volare-ebook-related-footer {
    padding-block-start: 10px;
  }

  .volare-ebook-related-price {
    font-size: 15.5px;
  }

  .volare-ebook-related-btn {
    padding: 6px 10px;
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  .volare-ebook-specs-bar {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 8px 10px;
  }

  .volare-ebook-cover-frame {
    max-inline-size: 140px;
  }

  .volare-ebook-related-cover-frame {
    inline-size: 96px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .volare-ebook-back-link,
  .volare-ebook-back-link .material-symbols-outlined,
  .volare-ebook-btn-primary,
  .volare-ebook-btn-secondary,
  .volare-ebook-btn-secondary .material-symbols-outlined,
  .volare-ebook-consult-link .material-symbols-outlined,
  .volare-ebook-related-btn,
  .volare-ebook-related-btn .material-symbols-outlined,
  .volare-ebook-related-card,
  .volare-ebook-related-cover-frame {
    transition: none !important;
    transform: none !important;
  }
}



/* ==========================================================================
   Volare Sidebar Card — Anti-Slop Bespoke Design System
   ========================================================================== */
.volare-sidebar-card {
  background: #ffffff;
  border: 1px solid rgba(27, 23, 68, 0.09);
  border-radius: 16px;
  box-shadow: 0 4px 20px -2px rgba(27, 23, 68, 0.06), 0 2px 6px -1px rgba(27, 23, 68, 0.04);
  padding: 28px 24px;
  position: relative;
  font-family: var(--volare-font-body);
  color: var(--volare-slate);
}

/* Eyebrow badge: Przedsprzedaż */
.volare-sidebar-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: #9a3412;
  margin-bottom: 16px;
  letter-spacing: 0.01em;
}

.volare-eyebrow-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #ea580c;
  box-shadow: 0 0 0 0 rgba(234, 88, 12, 0.5);
  animation: volarePulse 2s infinite cubic-bezier(0.45, 0, 0.55, 1);
}

@keyframes volarePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(234, 88, 12, 0.5);
  }
  70% {
    box-shadow: 0 0 0 7px rgba(234, 88, 12, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(234, 88, 12, 0);
  }
}

/* Sekcja cenowa */
.volare-sidebar-price-area {
  margin-bottom: 20px;
}

.volare-price-main {
  display: flex;
  align-items: baseline;
  gap: 4px;
  line-height: 1;
}

.volare-price-figure {
  font-family: var(--volare-font-heading);
  font-size: clamp(38px, 4vw, 44px);
  font-weight: 800;
  color: #1b1744;
  letter-spacing: -0.03em;
}

.volare-price-currency {
  font-family: var(--volare-font-heading);
  font-size: 20px;
  font-weight: 700;
  color: #1b1744;
  margin-right: 4px;
}

.volare-price-suffix {
  font-size: 13px;
  font-weight: 500;
  color: #64748b;
  text-transform: lowercase;
}

.volare-price-comparison {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
  font-size: 13px;
}

.volare-price-old {
  color: #94a3b8;
}

.volare-price-old del {
  color: #94a3b8;
  font-weight: 500;
}

.volare-price-tag-save {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  border-radius: 6px;
  color: #047857;
  font-weight: 600;
  font-size: 12px;
}

/* Przycisk akcji CTA */
.volare-sidebar-form {
  margin: 0 0 12px 0;
  padding: 0;
}

.volare-sidebar-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px 24px;
  background-color: var(--volare-primary, #c83a9e);
  color: #ffffff !important;
  font-family: var(--volare-font-heading);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  border: none;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(200, 58, 158, 0.28);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.volare-sidebar-cta-btn:hover {
  background-color: var(--volare-primary-hover, #b32e8c);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(200, 58, 158, 0.38);
  color: #ffffff !important;
}

.volare-sidebar-cta-btn:active {
  transform: translateY(0);
}

.volare-sidebar-cta-btn .material-symbols-outlined {
  font-size: 20px;
  transition: transform 0.2s ease;
}

.volare-sidebar-cta-btn:hover .material-symbols-outlined {
  transform: translateX(3px);
}

.volare-sidebar-cta-btn.is-active {
  background-color: #10b981;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.28);
}

.volare-sidebar-cta-btn.is-active:hover {
  background-color: #059669;
}

.volare-sidebar-cta-btn.is-in-cart {
  background-color: #1b1744;
  box-shadow: 0 4px 14px rgba(27, 23, 68, 0.28);
}

.volare-sidebar-cta-btn.is-in-cart:hover {
  background-color: #292468;
}

/* Informacja o fakturze dla placówek */
.volare-sidebar-invoice-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 0 24px 0;
  font-size: 12.5px;
  color: #64748b;
  text-align: center;
}

.volare-sidebar-invoice-note .material-symbols-outlined {
  font-size: 16px;
  color: #64748b;
}

/* Banner dla zalogowanych / zapisanych */
.volare-enrolled-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  margin-bottom: 20px;
  color: #15803d;
}

.volare-enrolled-banner .material-symbols-outlined {
  font-size: 26px;
}

.volare-enrolled-banner strong {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: #166534;
}

.volare-enrolled-sub {
  font-size: 12.5px;
  color: #15803d;
}

/* Spokojna lista specyfikacji (Anti-Slop: jeden stonowany odcień ikon, wysoka czytelność) */
.volare-sidebar-specs-wrap {
  border-top: 1px solid #f1f5f9;
  padding-top: 20px;
}

.volare-sidebar-specs {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 0;
}

.volare-sidebar-spec-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.volare-sidebar-spec-item dt {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 500;
  color: #64748b;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.volare-sidebar-spec-item dt .material-symbols-outlined {
  font-size: 17px;
  color: #64748b;
}

.volare-sidebar-spec-item dd {
  font-size: 14px;
  font-weight: 600;
  color: #1b1744;
  margin: 0 0 0 24px;
  padding: 0;
  line-height: 1.4;
}

.volare-spec-sub {
  font-size: 12.5px;
  font-weight: 500;
  color: #64748b;
}

.volare-spec-highlight {
  font-weight: 700;
  color: #1b1744;
}

.volare-spec-pill {
  display: inline-block;
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  margin-left: 6px;
  vertical-align: middle;
}

/* Responsywne pozycjonowanie panelu zakupu kursu (Mobile-First) */
.volare-course-entry-box-mobile {
  display: block;
  margin-top: 28px;
  margin-bottom: 28px;
}

.volare-course-entry-box-desktop {
  display: none;
}

@media (min-width: 1200px) {
  .volare-course-entry-box-mobile {
    display: none !important;
  }

  .volare-course-entry-box-desktop {
    display: block !important;
  }
}

/* Wskaźnik liczby zapisanych w pętli kursów */
.tutor-meta div[title*="uczestników"] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--volare-body);
  font-weight: 600;
}

/* Wyróżniony box założycielki (E-booki & Szkolenia) */
.volare-nd-founder-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.volare-nd-founder-btn-group .volare-nd-btn-art-primary,
.volare-nd-founder-btn-group .volare-nd-btn-founder-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  padding: 11px 20px !important;
  border-radius: 14px !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  letter-spacing: normal !important;
}

.volare-nd-founder-btn-group .material-symbols-outlined {
  font-size: 19px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.volare-nd-btn-founder-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ffffff;
  color: #1e293b !important;
  border: 1.5px solid #cbd5e1;
  border-radius: 14px;
  min-height: 52px;
  padding: 10px 18px;
  font-weight: 700;
  font-size: 14.5px;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.volare-nd-btn-founder-secondary span {
  color: #1e293b !important;
  transition: color 0.2s ease;
}

.volare-nd-btn-founder-secondary .material-symbols-outlined {
  color: #64748b;
  font-size: 18px;
  transition: color 0.2s ease;
}

.volare-nd-btn-founder-secondary:hover {
  background: #fdf8f4;
  border-color: #ee852a;
  color: #ee852a !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(238, 133, 42, 0.15);
}

.volare-nd-btn-founder-secondary:hover span,
.volare-nd-btn-founder-secondary:hover .material-symbols-outlined {
  color: #ee852a !important;
}

@media (max-width: 640px) {
  .volare-nd-founder-pub-card .volare-nd-founder-btn-group {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .volare-nd-founder-pub-card .volare-nd-founder-btn-group a {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    font-size: 14px !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding: 10px 18px !important;
    letter-spacing: normal !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 380px) {
  .volare-nd-founder-pub-card .volare-nd-founder-btn-group a {
    font-size: 13.5px !important;
    gap: 8px !important;
    min-height: 46px !important;
    padding: 9px 14px !important;
  }
}

/* ==========================================================================
   Pakiety dla placówek B2B w siatce katalogu Tutor LMS (Układ 3 obok siebie)
   ========================================================================== */
.tutor-course-list.tutor-grid .tutor-card.tutor-course-card.volare-b2b-package-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1.5px solid rgba(157, 37, 98, 0.22);
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(157, 37, 98, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.tutor-course-list.tutor-grid .tutor-card.tutor-course-card.volare-b2b-package-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px -6px rgba(157, 37, 98, 0.16);
  border-color: #9d2562;
}

.volare-b2b-package-card .tutor-card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 14px 18px 10px 18px !important;
}

.volare-b2b-package-card .tutor-card-footer {
  margin-top: auto !important;
  padding: 12px 18px !important;
  background: #faf7f9 !important;
  border-top: 1px solid #f1e8f3 !important;
}

/* ==========================================================================
   Optymalizacja spójności katalogu i redukcja pustego miejsca
   - Ukrycie liczby zapisanych i czasu trwania (zgodnie z wytycznymi)
   - Bezwzględne ukrywanie elementów odfiltrowanych (.is-hidden)
   ========================================================================== */
.tutor-course-list .tutor-card.is-hidden,
.tutor-course-list [data-content-type].is-hidden,
.tutor-card.is-hidden,
.volare-b2b-package-card.is-hidden {
  display: none !important;
}

/* Usunięcie licznika uczestników i czasu trwania kursu */
.tutor-course-card .tutor-meta,
.tutor-course-list .tutor-card-body .tutor-meta,
.tutor-course-card .tutor-course-ratings:empty {
  display: none !important;
}

/* Wyrównanie wysokości i eliminacja pustej przestrzeni w kartach katalogu */
.tutor-course-list.tutor-grid .tutor-card.tutor-course-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 14px;
}

.tutor-course-list .tutor-card.tutor-course-card .tutor-card-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 14px 18px 10px 18px !important;
}

.tutor-course-list .tutor-card.tutor-course-card .tutor-course-name {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.tutor-course-list .tutor-card.tutor-course-card .tutor-card-footer {
  margin-top: auto !important;
  padding: 12px 18px !important;
  background: #faf7f9 !important;
  border-top: 1px solid #f1e8f3 !important;
}



/* ==========================================================================
   Dedykowany układ strony pakietu dla placówek B2B (.volare-b2b-package-wrapper)
   ========================================================================== */
.volare-b2b-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, 420px);
  gap: 40px;
  align-items: start;
}

@media (max-width: 960px) {
  .volare-b2b-main-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .volare-b2b-right-pane {
    position: static !important;
    order: -1;
    margin-bottom: 20px;
  }
}

/* ==========================================================================
   TUTOR LMS LEARNING AREA: Poprawka paska górnego (.tutor-learning-header)
   Zapewnia stabilne dokowanie paska do górnej krawędzi okna podczas przewijania,
   bez dziur i nachodzenia na wideo/treść lekcji.
   ========================================================================== */
.tutor-learning-area .tutor-learning-header,
.tutor-has-site-shell .tutor-learning-header,
.tutor-learning-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999 !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05) !important;
}

.admin-bar .tutor-learning-area .tutor-learning-header,
.tutor-has-admin-bar .tutor-learning-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  .admin-bar .tutor-learning-area .tutor-learning-header,
  .tutor-has-admin-bar .tutor-learning-header {
    top: 46px !important;
  }
}

.tutor-learning-area.tutor-has-site-shell {
  padding-top: 0 !important;
}

/* Zabezpieczenie siatki CSS Grid w obszarze lekcji Tutor LMS */
.tutor-sidebar-backdrop {
  display: none !important;
}

@media (min-width: 993px) {
  .tutor-learning-area-body > .tutor-learning-area-content,
  .tutor-learning-area.tutor-has-site-shell .tutor-learning-area-content {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }
}

/* ==========================================================================
   TUTOR LMS: Spójny kolor główny (Błękit z Hero: #0284c7 / #0369a1 / #38bdf8)
   ========================================================================== */
:root,
[data-tutor-theme="light"],
.tutor-learning-area,
.tutor-wrap,
.tutor-courses-wrap {
  --tutor-color-primary: #0284c7 !important;
  --tutor-color-primary-rgb: 2, 132, 199 !important;
  --tutor-color-primary-hover: #0369a1 !important;
  --tutor-brand-600: #0284c7 !important;
  --tutor-brand-700: #0369a1 !important;
  --tutor-brand-500: #0ea5e9 !important;
  --tutor-surface-brand-primary: #0284c7 !important;
  --tutor-button-primary: #0284c7 !important;
  --tutor-button-primary-hover: #0369a1 !important;
}

.tutor-btn-primary,
.tutor-button-primary,
.tutor-progress-value,
.tutor-badge-primary,
.tutor-badge.is-primary,
.tutor-course-lesson.is-active,
.tutor-course-lesson.is-current {
  --tutor-color-primary: #0284c7 !important;
}

.tutor-btn-primary,
.tutor-button-primary {
  background-color: #0284c7 !important;
  border-color: #0284c7 !important;
  color: #ffffff !important;
}

.tutor-btn-primary:hover,
.tutor-button-primary:hover {
  background-color: #0369a1 !important;
  border-color: #0369a1 !important;
  color: #ffffff !important;
}

.tutor-progress-value {
  background-color: #0284c7 !important;
}

/* Aktywne zakładki w panelu kursu / lekcji Tutor LMS */
.tutor-nav-tabs .tutor-nav-item.is-active .tutor-nav-link,
.tutor-nav-item.is-active .tutor-nav-link,
.tutor-course-nav-link.is-active {
  color: #0284c7 !important;
  border-bottom-color: #0284c7 !important;
}

/* ==========================================================================
   TUTOR LMS LEARNING AREA: Mobilna szuflada spisu lekcji (Mobile Drawer)
   Gwarantuje, że pasek boczny z listą lekcji działa stabilnie jako szuflada off-canvas
   ========================================================================== */
@media (max-width: 992px) {
  /* Hamburger w pasku nagłówka Tutor */
  .tutor-learning-header-toggle-mobile {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    z-index: 1001 !important;
  }

  .tutor-learning-header-toggle-mobile button,
  .tutor-learning-header-toggle-mobile .tutor-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
    background: #f1f5f9 !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    padding: 0 !important;
  }

  .tutor-learning-header-toggle-mobile button:hover,
  .tutor-learning-header-toggle-mobile button:active {
    background: #e2e8f0 !important;
    color: #0284c7 !important;
    border-color: #0284c7 !important;
  }

  /* Wymuszenie pozycji Fixed dla szuflady bocznej na telefonie - nadpisuje sticky z site-shell */
  .tutor-learning-area .tutor-learning-sidebar,
  .tutor-learning-area.tutor-has-site-shell .tutor-learning-sidebar,
  .tutor-learning-sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: min(88vw, 360px) !important;
    max-width: 100vw !important;
    height: 100% !important;
    height: 100dvh !important;
    background-color: #ffffff !important;
    box-shadow: -8px 0 36px rgba(15, 23, 42, 0.28) !important;
    z-index: 999999 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 16px 14px 40px 14px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s ease !important;
    transform: translateX(105%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Stan otwarty szuflady (obsługuje zarówno klasę .is-open z Alpine, jak i naszą .is-active) */
  .tutor-learning-area .tutor-learning-sidebar.is-open,
  .tutor-learning-area.tutor-has-site-shell .tutor-learning-sidebar.is-open,
  .tutor-learning-sidebar.is-open,
  .tutor-learning-area .tutor-learning-sidebar.is-active,
  .tutor-learning-area.tutor-has-site-shell .tutor-learning-sidebar.is-active,
  .tutor-learning-sidebar.is-active,
  body.volare-studio-expanded .tutor-learning-sidebar.is-open,
  body.volare-studio-expanded .tutor-learning-sidebar.is-active {
    display: flex !important;
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 9999999 !important;
  }

  .tutor-learning-sidebar.is-open .tutor-learning-sidebar-curriculum,
  .tutor-learning-sidebar.is-active .tutor-learning-sidebar-curriculum,
  .tutor-learning-sidebar.is-open .tutor-learning-sidebar-pages,
  .tutor-learning-sidebar.is-active .tutor-learning-sidebar-pages {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: flex !important;
  }

  /* Półprzezroczysty backdrop pod szufladą */
  .tutor-sidebar-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: rgba(15, 23, 42, 0.65) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
    z-index: 999998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
  }

  .tutor-sidebar-backdrop.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Nagłówek wewnątrz szuflady (tytuł kursu + przycisk X do zamknięcia) */
  .tutor-learning-sidebar .tutor-hidden.tutor-lg-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 4px 14px 4px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    margin-bottom: 12px !important;
    flex-shrink: 0 !important;
  }

  .tutor-learning-sidebar .tutor-hidden.tutor-lg-flex .tutor-learning-header-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 !important;
    line-height: 1.3 !important;
  }

  /* Blokada przewijania tła gdy szuflada jest otwarta */
  body.tutor-sidebar-open {
    overflow: hidden !important;
  }
}


