/* =============================================================
   ULTREIA FRONT — v3.0
   CSS pulito, nessuna duplicazione, nessuna icona di default.
   ============================================================= */

/* ── Forza il wrapper Elementor a occupare il 100% ── */
.elementor-widget-ultreia_search_bar,
.elementor-widget-ultreia_search_bar .elementor-widget-container {
  width: 100% !important;
}

/* ── Base Container ── */
.elementor-widget .ultreia-search-bar {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.elementor-widget .ultreia-search-bar__grid {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 0;
  width: 100%;
  background: #ffffff;
  border-radius: 60px;
  padding: 6px;
  box-shadow: 
    0 20px 60px rgba(0,0,0,.08),
    0 8px 20px rgba(0,0,0,.06);
  transition: box-shadow .3s ease;
}

.elementor-widget .ultreia-search-bar:hover .elementor-widget .ultreia-search-bar__grid {
  box-shadow: 
    0 25px 70px rgba(0,0,0,.12),
    0 10px 25px rgba(0,0,0,.08);
}

/* ── Search Input con Rotating Placeholder ── */
.elementor-widget .ultreia-search-bar__input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 24px;
  border-right: 1px solid #e5e7eb;
  min-width: 0; /* importante per ellipsis */
  flex: 1 1 auto;
  width: 100%;
}

.elementor-widget .ultreia-search-bar__input-wrapper::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 12px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: .6;
}

.elementor-widget .ultreia-search-bar__input {
  border: none !important;
  background: transparent !important;
  padding: 16px 0 !important;
  margin: 0 !important;
  font-size: 16px;
  font-weight: 500;
  color: #1f2937;
  outline: none !important;
  box-shadow: none !important;
  width: 100%;
}

.elementor-widget .ultreia-search-bar__input::placeholder {
  color: #9ca3af;
  font-weight: 400;
}

/* ── Rotating Placeholder Effect ── */
.ultreia-rotating-placeholder {
  position: absolute;
  left: 62px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #9ca3af;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 1;
  transition: opacity .3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
}

.elementor-widget .ultreia-search-bar__input:focus + .ultreia-rotating-placeholder,
.elementor-widget .ultreia-search-bar__input:not(:placeholder-shown) + .ultreia-rotating-placeholder {
  opacity: 0;
  pointer-events: none;
}

.ultreia-rotating-placeholder__static {
  display: inline-block;
  vertical-align: middle;
  font-weight: 400;
  line-height: 1.2em;
}

.ultreia-rotating-placeholder__dynamic {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  min-width: 150px;
  height: 1.2em;
  overflow: hidden;
  white-space: nowrap;
}

.ultreia-rotating-placeholder__word {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  font-weight: 600;
  color: #2563eb;
  white-space: nowrap;
}

/* Timing e transizioni gestiti via JS per supportare N keyword senza overlap */

@keyframes rotate-word {
  0%            { opacity: 0; transform: translateY(8px); }
  8%            { opacity: 1; transform: translateY(0); }
  75%           { opacity: 1; transform: translateY(0); }
  90%, 100%     { opacity: 0; transform: translateY(-8px); }
}


.elementor-widget .ultreia-search-bar__select {
  appearance: none;
  border: none !important;
  background: transparent !important;
  padding: 16px 40px 16px 20px !important;
  font-size: 15px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
  border-right: 1px solid #e5e7eb !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='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 16px !important;
  transition: color .2s, background-color .2s;
  white-space: nowrap;
}

.elementor-widget .ultreia-search-bar__select:hover {
  background-color: rgba(243,244,246,.8);
}

.elementor-widget .ultreia-search-bar__select:focus {
  background-color: #f9fafb;
}

/* ── Search Button ── */
.elementor-widget .ultreia-search-bar__btn {
  border: none !important;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff;
  padding: 14px 40px !important;
  border-radius: 50px !important;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .3s ease !important;
  box-shadow: 
    0 4px 14px rgba(37,99,235,.25),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  letter-spacing: .02em;
}

.elementor-widget .ultreia-search-bar__btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 
    0 8px 20px rgba(37,99,235,.35),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
  background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%) !important;
}

.elementor-widget .ultreia-search-bar__btn:active {
  transform: translateY(0) !important;
  box-shadow: 
    0 2px 8px rgba(37,99,235,.3),
    inset 0 1px 0 rgba(255,255,255,.2) !important;
}

/* Icona search dentro il bottone (opzionale) */
.elementor-widget .ultreia-search-bar__btn::before {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  background-size: contain;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .elementor-widget .ultreia-search-bar__grid {
    border-radius: 50px;
  }
}

@media (max-width: 991px) {
  .elementor-widget .ultreia-search-bar__grid {
    grid-template-columns: 1fr;
    gap: 1px;
    border-radius: 24px;
    padding: 0;
    background: #f3f4f6;
  }

  .ultreia-search-bar__input-wrapper,
  .elementor-widget .ultreia-search-bar__select {
    border-right: none !important;
    background: #ffffff !important;
    border-radius: 0 !important;
  }

  .elementor-widget .ultreia-search-bar__input-wrapper {
    border-radius: 24px 24px 0 0 !important;
  }

  .ultreia-search-bar__select:last-of-type {
    border-radius: 0 !important;
  }

  .elementor-widget .ultreia-search-bar__btn {
    border-radius: 0 0 24px 24px !important;
    padding: 16px 32px !important;
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .elementor-widget .ultreia-search-bar__grid {
    border-radius: 20px;
  }

  .elementor-widget .ultreia-search-bar__input-wrapper {
    padding: 0 20px;
  }

  .elementor-widget .ultreia-search-bar__input {
    font-size: 15px;
  }

  .ultreia-rotating-placeholder {
  position: absolute;
  left: 62px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #9ca3af;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 1;
  transition: opacity .3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
}

  .ultreia-rotating-placeholder__dynamic {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  min-width: 150px;
  height: 1.2em;
  overflow: hidden;
  white-space: nowrap;
}

  .elementor-widget .ultreia-search-bar__select {
    padding: 14px 36px 14px 20px !important;
    font-size: 14px;
  }

  .elementor-widget .ultreia-search-bar__btn {
    font-size: 15px;
    padding: 14px 28px !important;
  }

  .elementor-widget .ultreia-search-bar__input-wrapper {
    border-radius: 20px 20px 0 0 !important;
  }

  .elementor-widget .ultreia-search-bar__btn {
    border-radius: 0 0 20px 20px !important;
  }
}

/* ── Dark Mode Support (opzionale) ── */
@media (prefers-color-scheme: dark) {
  .elementor-widget .ultreia-search-bar__grid {
    background: #1f2937;
    box-shadow: 
      0 20px 60px rgba(0,0,0,.4),
      0 8px 20px rgba(0,0,0,.3);
  }

  .elementor-widget .ultreia-search-bar__input-wrapper {
    border-right-color: #374151;
  }

  .elementor-widget .ultreia-search-bar__input {
    color: #f9fafb;
  }

  .elementor-widget .ultreia-search-bar__input::placeholder {
    color: #6b7280;
  }

  .ultreia-rotating-placeholder {
  position: absolute;
  left: 62px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #9ca3af;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 1;
  transition: opacity .3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
}

  .ultreia-rotating-placeholder__word {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  font-weight: 600;
  color: #2563eb;
  white-space: nowrap;
}

  .elementor-widget .ultreia-search-bar__select {
    color: #f9fafb;
    border-right-color: #374151;
  }

  .elementor-widget .ultreia-search-bar__select:hover {
    background-color: rgba(55,65,81,.5);
  }

  @media (max-width: 991px) {
    .elementor-widget .ultreia-search-bar__grid {
      background: #374151;
    }

    .ultreia-search-bar__input-wrapper,
    .elementor-widget .ultreia-search-bar__select {
      background: #1f2937 !important;
    }
  }
}
/* ============================================================================
   ULTREIA SEARCH BAR — White + Figtree + Rotating Keywords FIXED
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap');

/* Container */
.elementor-widget .ultreia-search-bar {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  font-family: 'Figtree', -apple-system, sans-serif;
}

.elementor-widget .ultreia-search-bar__grid {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 0;
  width: 100%;
  background: #ffffff !important;
  border-radius: 60px;
  padding: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,.08), 0 8px 20px rgba(0,0,0,.06);
  transition: box-shadow .3s;
}

.elementor-widget .ultreia-search-bar:hover .ultreia-search-bar__grid {
  box-shadow: 0 25px 70px rgba(0,0,0,.12), 0 10px 25px rgba(0,0,0,.08);
}

/* Input wrapper + icon */
.elementor-widget .ultreia-search-bar__input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 28px;
  border-right: 1px solid #e5e7eb;
  min-width: 0;
  flex: 1 1 auto;
  width: 100%;
}

.elementor-widget .ultreia-search-bar__input-wrapper::before {
  content: '';
  width: 20px;
  height: 20px;
  margin-right: 14px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  opacity: .7;
}

.elementor-widget .ultreia-search-bar__input {
  border: none !important;
  background: transparent !important;
  padding: 18px 0 !important;
  font-size: 16px;
  font-weight: 500;
  color: #1f2937;
  outline: none !important;
  box-shadow: none !important;
  width: 100%;
  font-family: 'Figtree', sans-serif;
}

.elementor-widget .ultreia-search-bar__input::placeholder {
  color: transparent;
}

/* Rotating placeholder - INLINE + NO WRAP */
.elementor-widget .ultreia-rotating-placeholder {
  position: absolute;
  left: 62px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #9ca3af;
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  line-height: 1;
}

.elementor-widget .ultreia-rotating-placeholder__static {
  display: inline;
  font-weight: 400;
  white-space: nowrap;
}

.elementor-widget .ultreia-rotating-placeholder__dynamic {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  min-width: 200px !important;
  width: auto !important;
  max-width: 300px !important;
  height: 1.2em;
  overflow: visible !important;
  white-space: nowrap !important;
}

.elementor-widget .ultreia-rotating-placeholder__word {
  position: absolute;
  left: 0;
  top: 0;
  width: auto !important;
  min-width: 200px !important;
  opacity: 0;
  font-weight: 600;
  color: #2563eb;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* Timing e transizioni gestiti via JS per supportare N keyword senza overlap */


@keyframes rotate-word {
  0%            { opacity: 0; transform: translateY(8px); }
  8%            { opacity: 1; transform: translateY(0); }
  75%           { opacity: 1; transform: translateY(0); }
  90%, 100%     { opacity: 0; transform: translateY(-8px); }
}

/* Selects */
.elementor-widget .ultreia-search-bar__select {
  appearance: none;
  border: none !important;
  background: transparent !important;
  padding: 18px 48px 18px 24px !important;
  font-size: 15px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  outline: none !important;
  border-right: 1px solid #e5e7eb !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='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 16px !important;
  white-space: nowrap;
  font-family: 'Figtree', sans-serif;
}

.elementor-widget .ultreia-search-bar__select:hover {
  background-color: rgba(249,250,251,.8);
}

/* Button Ultreia red */
.elementor-widget .ultreia-search-bar__btn {
  border: none !important;
  background: #e63027 !important;
  color: #ffffff;
  padding: 16px 48px !important;
  border-radius: 50px !important;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s, box-shadow .3s, background .2s !important;
  box-shadow: 0 4px 14px rgba(230,48,39,.25) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  font-family: 'Figtree', sans-serif;
}

.elementor-widget .ultreia-search-bar__btn::before {
  display: none !important;
}

.elementor-widget .ultreia-search-bar__btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(230,48,39,.35) !important;
  background: #d12820 !important;
}

/* Responsive */
@media (max-width: 991px) {
  .elementor-widget .ultreia-search-bar__grid {
    grid-template-columns: 1fr;
    gap: 1px;
    border-radius: 24px;
    padding: 0;
    background: #f3f4f6 !important;
  }

  .elementor-widget .ultreia-search-bar__input-wrapper {
    border-right: none !important;
    background: #ffffff !important;
    border-radius: 24px 24px 0 0 !important;
    padding: 0 24px;
  }

  .elementor-widget .ultreia-rotating-placeholder {
    left: 58px;
  }

  .elementor-widget .ultreia-search-bar__select {
    background: #ffffff !important;
    border-right: none !important;
    padding: 16px 44px 16px 24px !important;
  }

  .elementor-widget .ultreia-search-bar__btn {
    border-radius: 0 0 24px 24px !important;
    padding: 18px 32px !important;
  }
}

@media (max-width: 576px) {
  .elementor-widget .ultreia-rotating-placeholder__dynamic {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  min-width: 200px !important;
  width: auto !important;
  max-width: 300px !important;
  height: 1.2em;
  overflow: visible !important;
  white-space: nowrap !important;
}
}


/* ── Nessun risultato ────────────────────────────────────────────────── */
/* Quando c'è un solo figlio .ultreia-no-results, il grid container
   viene forzato a comportarsi come block per far espandere il figlio */
.elementor-loop-container:has(.ultreia-no-results) {
  display: block !important;
}

.ultreia-no-results {
  width: 100% !important;
  padding: 80px 20px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.ultreia-no-results p {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 5vw, 3.5rem);
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0 auto !important;
  text-align: center !important;
  max-width: 900px !important;
}

@media (max-width: 480px) {
  .ultreia-no-results {
    padding: 60px 16px !important;
  }
}

/* ============================================================================
   ULTREIA WIDGETS — Accordion, FAQ, Partenze, Gallery, Incluso
   CSS base: override sempre possibile dai selettori Elementor del widget
   ============================================================================ */

/* ── Accordion base (itinerario + FAQ) ── */
.ultreia-accordion {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
}
.ultreia-accordion__heading {
  padding: 16px 20px;
  font-weight: 600;
  border-bottom: 1px solid #e0e0e0;
}
.ultreia-accordion__item + .ultreia-accordion__item {
  border-top: 1px solid #e0e0e0;
}
.ultreia-accordion__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 20px;
  background: #fff;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: inherit;
  font-family: inherit;
  gap: 12px;
  transition: background 0.2s;
}
.ultreia-accordion__toggle:hover {
  background: #f9f9f9;
}
.ultreia-accordion__label {
  flex: 1;
  font-weight: 500;
}
/* Icona +/- via pseudo-elementi */
.ultreia-accordion__icon {
  flex-shrink: 0;
  position: relative;
  width: 18px;
  height: 18px;
}
.ultreia-accordion__icon::before,
.ultreia-accordion__icon::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.25s;
}
.ultreia-accordion__icon::before { /* barra orizzontale */
  top: 50%; left: 0; right: 0; height: 2px;
  transform: translateY(-50%);
}
.ultreia-accordion__icon::after { /* barra verticale */
  left: 50%; top: 0; bottom: 0; width: 2px;
  transform: translateX(-50%);
}
.ultreia-accordion__toggle[aria-expanded="true"] .ultreia-accordion__icon::after {
  transform: translateX(-50%) scaleY(0);
  opacity: 0;
}
/* Icona SVG custom */
.ultreia-accordion__icon-svg {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  transition: transform 0.25s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ultreia-accordion__icon-svg svg {
  width: 100%;
  height: 100%;
}
.ultreia-accordion__toggle[aria-expanded="true"] .ultreia-accordion__icon-svg {
  transform: rotate(180deg);
}
/* Panel */
.ultreia-accordion__panel {
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
  max-height: 0;
  opacity: 0;
  padding: 0 20px;
}
.ultreia-accordion__panel.u-open {
  max-height: 3000px;
  opacity: 1;
  padding: 12px 20px 20px;
}
.ultreia-accordion__panel[hidden] { display: none; }
.ultreia-accordion__panel p { margin: 0 0 0.75em; line-height: 1.7; }
.ultreia-accordion__panel p:last-child { margin-bottom: 0; }
.ultreia-muted {
  margin-top: 10px;
  font-size: 0.85em;
  opacity: 0.6;
}

/* ── Partenze tabella ── */
.ultreia-partenze { overflow-x: auto; }
.ultreia-table-wrap {
  overflow: hidden; /* necessario per border-radius su table */
  overflow-x: auto;
}
.ultreia-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.ultreia-table th,
.ultreia-table td {
  padding: 11px 14px !important;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
  vertical-align: middle;
}
.ultreia-table thead th {
  background: #f3f4f6;
  color: inherit;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  vertical-align: middle;
}
.ultreia-table tbody tr:last-child td { border-bottom: none; }
.ultreia-table tbody tr:hover { background: #fafafa; }
.ultreia-badge-sub { font-size: .78em; opacity: .6; margin-top: 3px; }
.ultreia-btn {
  display: inline-block;
  padding: 7px 16px;
  background: #e30613;
  color: #fff;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  white-space: nowrap;
}
.ultreia-btn:hover { background: #c0050f; color: #fff; }
.ultreia-btn--disabled { opacity: .5; cursor: not-allowed; }
.ultreia-badge {
  display: inline-block;
  padding: 4px 11px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}
/* 4 stati con colori distinti */
.ultreia-badge--disponibili { background: #22c55e; color: #fff; }
.ultreia-badge--ultimi      { background: #f97316; color: #fff; }
.ultreia-badge--confermata  { background: #3b82f6; color: #fff; }
.ultreia-badge--soldout     { background: #ef4444; color: #fff; }
/* alias legacy */
.ultreia-badge--open        { background: #22c55e; color: #fff; }
.ultreia-badge--limited     { background: #f97316; color: #fff; }
.ultreia-badge--waitlist    { background: #3b82f6; color: #fff; }
.ultreia-badge--full        { background: #ef4444; color: #fff; }
.ultreia-badge--past        { background: #f3f4f6; color: #6b7280; }
.ultreia-section-title {
  font-size: 1.1em;
  font-weight: 700;
  margin-bottom: 14px;
}

/* ── Incluso / Non incluso ── */
.ultreia-included-wrap { display: flex; gap: 32px; flex-wrap: wrap; }
.ultreia-included-wrap--stack { flex-direction: column; }
.ultreia-included-block { flex: 1 1 200px; }
.ultreia-included__title { font-weight: 700; margin-bottom: 14px; }
.ultreia-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ultreia-list__item { display: flex; align-items: flex-start; gap: 10px; }
.ultreia-list__icon { flex-shrink: 0; margin-top: 3px; font-size: 16px; }
.ultreia-list__text { line-height: 1.5; }

/* ── Gallery ── */
.ultreia-gallery__item { overflow: hidden; }
.ultreia-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 300ms ease; }
.ultreia-gallery__item:hover img { transform: scale(1.04); }
.ultreia-gallery__item a { display: block; width: 100%; height: 100%; }


/* ── Accordion base (itinerario + faq) ── */
.ultreia-acc{border:1px solid #e2e2e2;border-radius:10px;overflow:hidden;display:block}
.ultreia-acc__heading{padding:14px 20px;font-weight:600;border-bottom:1px solid #e2e2e2;display:block}
.ultreia-acc__item+.ultreia-acc__item{border-top:1px solid #e2e2e2}
.ultreia-acc__item{display:block;width:100%}
.ultreia-widget--itinerario .ultreia-acc__toggle,
.ultreia-widget--faq .ultreia-acc__toggle{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;padding:15px 20px;background:#fff;cursor:pointer;text-align:left;font:inherit;gap:12px;transition:background .2s;line-height:1.4;user-select:none;border:none;margin:0;outline:none}
.ultreia-widget--itinerario .ultreia-acc__toggle:hover,
.ultreia-widget--faq .ultreia-acc__toggle:hover{background:#f7f7f7}
.ultreia-acc__label{flex:1;font-weight:500;min-width:0}
.ultreia-acc__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:transform .25s;width:16px;height:16px;font-size:16px;line-height:1;color:inherit}
.ultreia-acc__icon svg{display:block;width:100%;height:100%;fill:currentColor}
.ultreia-acc__icon i{line-height:1;color:inherit}
.ultreia-acc__panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .32s ease,opacity .22s ease;display:block}
.ultreia-acc__panel.is-open{max-height:3000px;opacity:1}
.ultreia-acc__body{padding:14px 20px 20px}
.ultreia-acc__body p{margin:0 0 .75em;line-height:1.7}
.ultreia-acc__body p:last-child{margin-bottom:0}
.ultreia-acc__desc{line-height:1.7}
.ultreia-acc__desc p{margin:0 0 .75em}
.ultreia-acc__desc p:last-child{margin-bottom:0}
.ultreia-acc__info{font-size:.85em;opacity:.65;margin-top:10px}
.ultreia-acc__info--above{margin-top:0;margin-bottom:10px;opacity:.65}

/* ── Scheda tecnica strutturata ── */
.ultreia-tech-items__title{font-weight:700;margin-bottom:16px}
.ultreia-tech-items__grid{display:grid;gap:12px;grid-template-columns:1fr}
.ultreia-tech-items--grid .ultreia-tech-items__grid{grid-template-columns:repeat(2,1fr)}
.ultreia-tech-items--cols-1 .ultreia-tech-items__grid{grid-template-columns:1fr}
.ultreia-tech-items--cols-2 .ultreia-tech-items__grid{grid-template-columns:repeat(2,1fr)}
.ultreia-tech-items--cols-3 .ultreia-tech-items__grid{grid-template-columns:repeat(3,1fr)}
.ultreia-tech-items--cols-4 .ultreia-tech-items__grid{grid-template-columns:repeat(4,1fr)}
.ultreia-tech-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}
.ultreia-tech-items--grid .ultreia-tech-item{padding:14px;border:1px solid #e8e8e8;border-radius:8px;border-bottom-color:#e8e8e8}
.ultreia-tech-item__icon{flex-shrink:0;width:20px;text-align:center;margin-top:2px;opacity:.7}
.ultreia-tech-item__content{flex:1;min-width:0}
.ultreia-tech-item__label{font-size:.8em;opacity:.6;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}
.ultreia-tech-item__value{font-weight:600;line-height:1.4}
@media(max-width:600px){
  .ultreia-tech-items--cols-3 .ultreia-tech-items__grid,
  .ultreia-tech-items--cols-4 .ultreia-tech-items__grid{grid-template-columns:repeat(2,1fr)}
}

/* ── Partenze — colonne tipografiche ── */
.ultreia-td-date strong,.ultreia-td-price strong{font-weight:inherit}

/* ── Griglia partenze loop ── */
.ultreia-loop-grid{display:grid;gap:24px}
.ultreia-loop-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.ultreia-loop-card:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.10)}
.ultreia-loop-card__body{flex:1;display:flex;flex-direction:column;padding:16px}
.ultreia-loop-card__meta{display:flex;align-items:center;gap:8px;font-size:.85em;opacity:.65;margin-bottom:8px}
.ultreia-loop-card__title{font-size:1.1em;font-weight:700;margin:0 0 6px;line-height:1.3}
.ultreia-loop-card__subtitle{font-size:.875em;opacity:.7;margin:0 0 auto;line-height:1.5}
.ultreia-loop-card__price{margin-top:12px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.ultreia-loop-card__price-label{font-size:.75em;text-transform:uppercase;letter-spacing:.05em;opacity:.6}
.ultreia-loop-card__price-value{font-size:1.5em;font-weight:700}
.ultreia-loop-card__seats{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;border-radius:999px;white-space:nowrap;backdrop-filter:blur(4px)}
@media(max-width:767px){.ultreia-loop-grid{grid-template-columns:1fr!important}}
@media(min-width:768px) and (max-width:1024px){.ultreia-loop-grid{grid-template-columns:repeat(2,1fr)!important}}

/* ══════════════════════════════════════════════════════
   ULTREIA CHECKOUT
═══════════════════════════════════════════════════════ */
.ultreia-checkout-travel {
  margin: 32px 0 0;
  padding: 0;
}
.ultreia-checkout-travel__head {
  margin-bottom: 24px;
}
.ultreia-checkout-travel__eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #e30613;
  margin-bottom: 8px;
}
.ultreia-checkout-travel__head h3 {
  font-size: 1.3em;
  font-weight: 700;
  margin: 0 0 6px;
}
.ultreia-checkout-travel__head p {
  font-size: .9em;
  opacity: .65;
  margin: 0;
}

/* Card viaggio nel checkout */
.ultreia-checkout-trip-card {
  background: #fff;
  border: 1.5px solid #e8e8e8;
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.ultreia-checkout-trip-card__top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #f0f0f0;
}
.ultreia-checkout-trip-card__thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
}
.ultreia-checkout-trip-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ultreia-checkout-trip-card__info {
  flex: 1;
}
.ultreia-checkout-trip-card__info h4 {
  font-size: 1em;
  font-weight: 700;
  margin: 0 0 4px;
}
.ultreia-checkout-trip-card__info p {
  font-size: .85em;
  opacity: .6;
  margin: 0;
}
.ultreia-checkout-trip-card__qty {
  flex-shrink: 0;
  background: #f3f4f6;
  color: #374151;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 999px;
}

/* Box volo */
.ultreia-flight-box,
.ultreia-room-box {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  cursor: pointer;
  margin-bottom: 12px;
  transition: border-color .2s, background .2s, box-shadow .2s;
  position: relative;
  background: #fafafa;
}
.ultreia-flight-box:hover,
.ultreia-room-box:hover {
  border-color: #c8c8c8;
  background: #fff;
}
.ultreia-flight-box.is-checked,
.ultreia-room-box.is-checked {
  border-color: #e30613;
  background: #fff5f5;
  box-shadow: 0 0 0 3px rgba(227,6,19,.08);
}
.ultreia-flight-box__checkbox,
.ultreia-room-box__checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.ultreia-flight-box__icon,
.ultreia-room-box__icon {
  font-size: 1.5em;
  flex-shrink: 0;
  margin-top: 2px;
}
.ultreia-flight-box__text,
.ultreia-room-box__text {
  flex: 1;
}
.ultreia-flight-box__text strong,
.ultreia-room-box__text strong {
  display: block;
  font-size: .95em;
  font-weight: 700;
  margin-bottom: 4px;
}
.ultreia-flight-box__text small,
.ultreia-room-box__text small {
  font-size: .8em;
  opacity: .6;
  line-height: 1.4;
}
.ultreia-flight-box__check,
.ultreia-room-box__check {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #e5e7eb;
  color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  transition: background .2s, color .2s;
  margin-top: 2px;
}
.ultreia-flight-box.is-checked .ultreia-flight-box__check,
.ultreia-room-box.is-checked .ultreia-room-box__check {
  background: #e30613;
  color: #fff;
}

/* Card viaggiatori */
.ultreia-travellers {
  margin-top: 20px;
}
.ultreia-travellers__head {
  margin-bottom: 14px;
}
.ultreia-travellers__head strong {
  display: block;
  font-size: .95em;
  font-weight: 700;
  margin-bottom: 4px;
}
.ultreia-travellers__head span {
  font-size: .82em;
  opacity: .6;
}
.ultreia-traveller-card {
  background: #f8f9fa;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 12px;
  position: relative;
}
.ultreia-traveller-card__num {
  position: absolute;
  top: -10px;
  left: 14px;
  width: 22px;
  height: 22px;
  background: #e30613;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}
.ultreia-traveller-card__title {
  font-size: .8em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  opacity: .5;
  margin-bottom: 12px;
}
.ultreia-traveller-card__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ultreia-traveller-card__grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ultreia-traveller-card__grid label span {
  font-size: .78em;
  font-weight: 600;
  opacity: .55;
}
.ultreia-traveller-card__grid label span em {
  color: #e30613;
  font-style: normal;
  margin-left: 2px;
}
.ultreia-traveller-card__grid input {
  padding: 9px 12px;
  border: 1.5px solid #e2e2e2;
  border-radius: 8px;
  font-size: .9em;
  font-family: inherit;
  transition: border-color .2s;
  background: #fff;
}
.ultreia-traveller-card__grid input:focus {
  outline: none;
  border-color: #e30613;
  box-shadow: 0 0 0 3px rgba(227,6,19,.08);
}

@media (max-width: 599px) {
  .ultreia-traveller-card__grid { grid-template-columns: 1fr; }
  .ultreia-checkout-trip-card__top { flex-wrap: wrap; }
}

/* ══════════════════════════════════════════════════════
   ULTREIA CHECKOUT/CARRELLO — premium flow v21
   Ispirato a checkout travel: dati viaggiatori + extra + pagamento.
═══════════════════════════════════════════════════════ */
body.woocommerce-checkout,
body.woocommerce-cart{background:#fffdfa;}
body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .woocommerce{max-width:1180px;margin:0 auto;padding:54px 20px 80px;}
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-notices-wrapper{max-width:1180px;margin:0 auto 22px;}
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-message{border:0!important;border-radius:18px;background:#f7fff9!important;box-shadow:0 14px 40px rgba(15,23,42,.08);padding:18px 22px!important;color:#102033;}
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-cart .woocommerce-message::before{color:#20c465;}

body.woocommerce-checkout form.checkout{display:grid!important;grid-template-columns:minmax(0,760px) 360px;gap:36px;align-items:start;max-width:1180px;margin:0 auto;}
body.woocommerce-checkout form.checkout .ultreia-checkout-travel,
body.woocommerce-checkout form.checkout #customer_details{grid-column:1;min-width:0;}
body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review{grid-column:2;min-width:0;}
body.woocommerce-checkout form.checkout #order_review_heading{margin:0 0 14px;font-size:20px;font-weight:800;color:#15161c;}
body.woocommerce-checkout form.checkout #order_review{position:sticky;top:110px;background:#fff;border:1px solid #ece7df;border-radius:22px;padding:22px;box-shadow:0 24px 60px rgba(15,23,42,.10);}
body.woocommerce-checkout form.checkout #customer_details{display:block!important;background:#fff;border:1px solid #ece7df;border-radius:22px;padding:26px;box-shadow:0 18px 50px rgba(15,23,42,.07);}
body.woocommerce-checkout form.checkout #customer_details .col-1,
body.woocommerce-checkout form.checkout #customer_details .col-2{float:none!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;}
body.woocommerce-checkout form.checkout #customer_details .col-2{margin-top:22px!important;}
body.woocommerce-checkout form.checkout h3{font-weight:800;color:#15161c;letter-spacing:-.02em;}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;}
body.woocommerce-checkout .form-row{margin:0 0 14px!important;padding:0!important;}
body.woocommerce-checkout .form-row-wide{grid-column:1/-1;}
body.woocommerce-checkout .form-row label{font-size:13px;font-weight:700;color:#293241;margin-bottom:7px;}
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single{min-height:48px;border:1.5px solid #e4ded4!important;border-radius:13px!important;background:#fff!important;padding:10px 13px!important;color:#111827;box-shadow:none!important;font-family:inherit;}
body.woocommerce-checkout .form-row textarea{min-height:110px;}
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus{outline:none!important;border-color:#e30613;box-shadow:0 0 0 4px rgba(227,6,19,.08)!important;}

body.woocommerce-checkout .ultreia-checkout-travel{margin:0 0 24px!important;padding:0!important;}
.ultreia-checkout-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;align-items:center;margin:0 0 34px;position:relative;}
.ultreia-checkout-steps:before{content:"";position:absolute;left:11%;right:11%;top:17px;height:1px;background:#ded8cf;z-index:0;}
.ultreia-checkout-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;color:#7a7f8c;font-size:12px;text-align:center;}
.ultreia-checkout-step span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #d9d2c8;color:#4b5563;font-weight:800;box-shadow:0 0 0 8px #fffdfa;}
.ultreia-checkout-step.is-active span{background:#15161c;border-color:#15161c;color:#fff;}
.ultreia-checkout-step strong{font-weight:700;}
.ultreia-checkout-travel__head{margin:0 0 22px!important;}
.ultreia-checkout-travel__eyebrow{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#e30613;margin-bottom:10px!important;}
.ultreia-checkout-travel__head h3{font-size:36px;line-height:1.05;margin:0 0 10px!important;letter-spacing:-.045em;color:#15161c;}
.ultreia-checkout-travel__head p{font-size:16px;line-height:1.55;color:#596273;margin:0!important;max-width:650px;opacity:1!important;}

.ultreia-checkout-trip-card{background:#fff!important;border:1px solid #ece7df!important;border-radius:26px!important;padding:28px!important;margin:0 0 24px!important;box-shadow:0 22px 70px rgba(15,23,42,.09)!important;overflow:hidden;}
.ultreia-checkout-trip-card__top{display:flex;align-items:center;gap:18px;padding:0 0 22px!important;margin:0 0 22px!important;border-bottom:1px solid #f0ebe3!important;}
.ultreia-checkout-trip-card__thumb{width:92px!important;height:92px!important;border-radius:18px!important;overflow:hidden;box-shadow:0 12px 32px rgba(15,23,42,.12);}
.ultreia-checkout-trip-card__thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.ultreia-checkout-trip-card__label{display:block;color:#e30613;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;margin-bottom:5px;}
.ultreia-checkout-trip-card__info h4{font-size:24px;line-height:1.1;margin:0 0 7px!important;font-weight:900;color:#15161c;letter-spacing:-.025em;}
.ultreia-checkout-trip-card__info p{font-size:14px;color:#687182;margin:0!important;opacity:1!important;}

.ultreia-traveller-count{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 18px;padding:20px;border-radius:20px;background:#f8f4ee;border:1px solid #ece2d7;}
.ultreia-traveller-count strong{display:block;font-size:20px;font-weight:900;color:#15161c;margin-bottom:4px;letter-spacing:-.02em;}
.ultreia-traveller-count span{display:block;font-size:13px;color:#687182;line-height:1.35;}
.ultreia-qty-control{display:flex;align-items:center;background:#fff;border:1px solid #e3d9cd;border-radius:999px;padding:5px;box-shadow:0 12px 28px rgba(15,23,42,.06);}
.ultreia-qty-btn{appearance:none!important;border:0!important;background:#15161c!important;color:#fff;width:38px!important;height:38px!important;border-radius:50%!important;font-size:20px;line-height:1;font-weight:800;display:grid!important;place-items:center!important;cursor:pointer;box-shadow:none!important;padding:0!important;}
.ultreia-qty-input{width:54px!important;text-align:center!important;border:0!important;background:transparent!important;font-size:18px;font-weight:900;color:#15161c;padding:0!important;box-shadow:none!important;-moz-appearance:textfield;}
.ultreia-qty-input::-webkit-inner-spin-button,.ultreia-qty-input::-webkit-outer-spin-button{appearance:none;margin:0;}
.ultreia-traveller-count.is-loading{opacity:.65;pointer-events:none;}

.ultreia-checkout-note{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;margin:0 0 18px;border-radius:18px;background:#eaf7ff;border-left:6px solid #2f80a7;color:#1f4254;}
.ultreia-checkout-note span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#2f80a7;color:#fff;font-weight:900;font-size:13px;flex:0 0 24px;}
.ultreia-checkout-note p{margin:0!important;font-size:14px;line-height:1.45;color:#1f4254;}
.ultreia-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 22px;}
.ultreia-flight-box,.ultreia-room-box{margin:0!important;border-radius:20px!important;padding:18px!important;background:#fff!important;border:2px solid #ebe3d9!important;box-shadow:0 10px 28px rgba(15,23,42,.05);transition:.18s ease;}
.ultreia-flight-box{border-color:#e30613;background:linear-gradient(180deg,#fff,#fff8f8)!important;}
.ultreia-flight-box:hover,.ultreia-room-box:hover{transform:translateY(-1px);box-shadow:0 16px 36px rgba(15,23,42,.08);}
.ultreia-flight-box.is-checked,.ultreia-room-box.is-checked{border-color:#e30613;background:#fff5f5!important;box-shadow:0 0 0 4px rgba(227,6,19,.08),0 18px 42px rgba(15,23,42,.08)!important;}
.ultreia-flight-box__icon,.ultreia-room-box__icon{font-size:28px;line-height:1;margin:0!important;}
.ultreia-flight-box__text strong,.ultreia-room-box__text strong{font-size:15px;line-height:1.25;color:#15161c;margin:0 0 6px!important;}
.ultreia-flight-box__text small,.ultreia-room-box__text small{font-size:12.5px;line-height:1.45;color:#657083;opacity:1!important;}
.ultreia-flight-box__check,.ultreia-room-box__check{width:26px!important;height:26px!important;background:#ede6dc!important;color:transparent;}
.ultreia-flight-box.is-checked .ultreia-flight-box__check,.ultreia-room-box.is-checked .ultreia-room-box__check{background:#e30613!important;color:#fff;}

.ultreia-travellers{margin:0!important;}
.ultreia-travellers__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px!important;}
.ultreia-travellers__head strong{font-size:22px;font-weight:900;color:#15161c;letter-spacing:-.025em;margin:0!important;}
.ultreia-travellers__head span{font-size:13px;color:#687182;opacity:1!important;max-width:340px;text-align:right;line-height:1.4;}
.ultreia-traveller-card{position:relative;background:#fff!important;border:1px solid #ece7df!important;border-radius:22px!important;padding:24px 22px 22px!important;margin:0 0 16px!important;box-shadow:0 14px 36px rgba(15,23,42,.06)!important;}
.ultreia-traveller-card__num{top:22px!important;left:22px!important;width:30px!important;height:30px!important;background:#15161c!important;color:#fff;font-size:13px;box-shadow:none!important;}
.ultreia-traveller-card__title{padding-left:42px;margin:0 0 18px!important;font-size:13px;font-weight:900;color:#e30613;opacity:1!important;letter-spacing:.10em;text-transform:uppercase;}
.ultreia-traveller-card__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.ultreia-traveller-card__grid label span{font-size:13px;font-weight:800;color:#293241;opacity:1!important;margin-bottom:7px;}
.ultreia-traveller-card__grid input{min-height:48px!important;border:1.5px solid #e4ded4!important;border-radius:13px!important;background:#fff!important;padding:10px 13px!important;font-size:15px;color:#111827;}
.ultreia-traveller-card__grid input:focus{border-color:#e30613;box-shadow:0 0 0 4px rgba(227,6,19,.08)!important;outline:none!important;}

body.woocommerce-checkout #payment{background:transparent!important;border-radius:0!important;}
body.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:0!important;margin:0 0 18px!important;}
body.woocommerce-checkout #payment div.payment_box{background:#f8f4ee!important;border-radius:14px!important;color:#4b5563;}
body.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:#f8f4ee;}
body.woocommerce-checkout #place_order{width:100%!important;border:0!important;border-radius:999px!important;background:#e30613!important;color:#fff;font-weight:900;font-size:16px;padding:16px 22px!important;box-shadow:0 16px 34px rgba(227,6,19,.24)!important;}
body.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table{border:0!important;margin:0 0 18px!important;border-collapse:separate!important;border-spacing:0 10px!important;}
body.woocommerce-checkout .shop_table th,body.woocommerce-checkout .shop_table td{border:0!important;padding:12px 0!important;color:#15161c;}
body.woocommerce-checkout .shop_table .order-total th,body.woocommerce-checkout .shop_table .order-total td{font-size:18px;font-weight:900;border-top:1px solid #eee5dc!important;padding-top:18px!important;}
body.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12px;line-height:1.45;color:#6b7280;}

/* Carrello: resta disponibile ma non è più lo step principale */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals .cart_totals{background:#fff;border:1px solid #ece7df;border-radius:24px;box-shadow:0 24px 60px rgba(15,23,42,.08);overflow:hidden;}
body.woocommerce-cart table.shop_table{border:0!important;border-collapse:separate!important;border-spacing:0!important;margin:0!important;}
body.woocommerce-cart table.shop_table th{background:#fff7ef!important;color:#15161c;font-weight:900;border:0!important;padding:18px!important;}
body.woocommerce-cart table.shop_table td{border-top:1px solid #f0ebe3!important;padding:18px!important;}
body.woocommerce-cart .product-thumbnail img{border-radius:14px;width:86px;height:86px;object-fit:cover;}
body.woocommerce-cart .coupon .input-text{border:1.5px solid #e4ded4!important;border-radius:999px!important;min-height:46px!important;padding:0 16px!important;}
body.woocommerce-cart button.button,
body.woocommerce-cart a.checkout-button{border:0!important;border-radius:999px!important;background:#e30613!important;color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(227,6,19,.20)!important;}
body.woocommerce-cart .cart-collaterals{display:flex;justify-content:flex-end;margin-top:24px;}
body.woocommerce-cart .cart-collaterals .cart_totals{width:380px!important;padding:24px!important;}

@media(max-width:980px){
  body.woocommerce-checkout form.checkout{grid-template-columns:1fr!important;gap:24px;}
  body.woocommerce-checkout form.checkout .ultreia-checkout-travel,
  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review_heading,
  body.woocommerce-checkout form.checkout #order_review{grid-column:1!important;position:static!important;}
  .ultreia-extra-grid{grid-template-columns:1fr;}
  .ultreia-checkout-travel__head h3{font-size:30px;}
}
@media(max-width:640px){
  body.woocommerce-checkout .woocommerce,body.woocommerce-cart .woocommerce{padding:34px 14px 60px;}
  .ultreia-checkout-steps strong{display:none;}
  .ultreia-checkout-trip-card{padding:20px!important;border-radius:22px!important;}
  .ultreia-checkout-trip-card__top{align-items:flex-start;}
  .ultreia-checkout-trip-card__thumb{width:76px!important;height:76px!important;}
  .ultreia-traveller-count{align-items:flex-start;flex-direction:column;}
  .ultreia-travellers__head{align-items:flex-start;flex-direction:column;}
  .ultreia-travellers__head span{text-align:left;max-width:none;}
  .ultreia-traveller-card__grid{grid-template-columns:1fr!important;}
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr;}
}

/* ══════════════════════════════════════════════════════
   ULTREIA CHECKOUT — correzioni v22
   Stile allineato al sito: Poppins titoli/sottotitoli, Figtree testi.
═══════════════════════════════════════════════════════ */
body.woocommerce-checkout,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .woocommerce form,
body.woocommerce-checkout .woocommerce input,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-checkout .woocommerce label,
body.woocommerce-checkout .woocommerce table,
body.woocommerce-checkout .woocommerce p,
body.woocommerce-checkout .woocommerce li{font-family:"Figtree",Arial,sans-serif;}

body.woocommerce-checkout .woocommerce h1,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-checkout .woocommerce h4,
body.woocommerce-checkout .ultreia-checkout-travel__head h3,
body.woocommerce-checkout .ultreia-traveller-count strong,
body.woocommerce-checkout .ultreia-travellers__head strong{font-family:"Poppins",Arial,sans-serif;font-weight:700;color:#050505;letter-spacing:-.035em;}

body.woocommerce-checkout .ultreia-checkout-travel__eyebrow,
body.woocommerce-checkout .ultreia-checkout-trip-card__label,
body.woocommerce-checkout .ultreia-traveller-card__title{font-family:"Poppins",Arial,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.18em;color:#c63231;}

body.woocommerce-checkout .woocommerce{max-width:1180px!important;width:100%!important;padding:48px 20px 90px!important;}
body.woocommerce-checkout .woocommerce > h1,
body.woocommerce-checkout .entry-title{font-family:"Poppins",Arial,sans-serif;font-weight:700;color:#050505;letter-spacing:-.035em;margin:0 auto 28px!important;max-width:1180px!important;}

/* Nel flusso diretto al checkout la prima azione deve essere “Quanti viaggiatori”. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon{display:none!important;}

body.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,720px) 370px!important;gap:42px!important;align-items:start!important;}
body.woocommerce-checkout form.checkout .ultreia-checkout-travel{grid-column:1!important;}
body.woocommerce-checkout form.checkout #customer_details{grid-column:1!important;background:#fff!important;border:1px solid #eee7dd!important;border-radius:26px!important;padding:30px!important;box-shadow:0 24px 70px rgba(17,24,39,.07)!important;}
body.woocommerce-checkout form.checkout #order_review_heading,
body.woocommerce-checkout form.checkout #order_review{grid-column:2!important;}
body.woocommerce-checkout form.checkout #order_review_heading{font-family:"Poppins",Arial,sans-serif;font-size:20px;line-height:1.2;margin:0 0 14px!important;}
body.woocommerce-checkout form.checkout #order_review{border-radius:26px!important;border:1px solid #eee7dd!important;box-shadow:0 28px 80px rgba(17,24,39,.10)!important;padding:26px!important;}

.ultreia-checkout-steps{max-width:620px!important;margin:0 0 38px!important;}
.ultreia-checkout-step strong{font-family:"Figtree",Arial,sans-serif;font-weight:600;}
.ultreia-checkout-step.is-active span{background:#050505!important;border-color:#050505;}

.ultreia-checkout-travel__head{margin:0 0 28px!important;}
.ultreia-checkout-travel__head h3{font-size:40px;line-height:1.04;margin:0 0 12px!important;max-width:560px!important;}
.ultreia-checkout-travel__head p{font-family:"Figtree",Arial,sans-serif;font-size:16px;line-height:1.6;color:#5f6675;max-width:560px!important;}

.ultreia-checkout-trip-card{border-radius:28px!important;border:1px solid #eee7dd!important;padding:30px!important;box-shadow:0 28px 80px rgba(17,24,39,.08)!important;background:#fff!important;}
.ultreia-checkout-trip-card__info h4{font-size:24px;}
.ultreia-checkout-trip-card__info p{font-family:"Figtree",Arial,sans-serif;color:#5f6675;}

.ultreia-traveller-count{background:#fbf7ef!important;border:1px solid #efe3d2!important;border-radius:24px!important;padding:24px!important;margin-bottom:22px!important;}
.ultreia-traveller-count strong{font-size:24px;line-height:1.15;}
.ultreia-traveller-count span{font-size:14px;color:#596273;}
.ultreia-qty-control{border-radius:999px!important;padding:6px!important;}
.ultreia-qty-btn{background:#050505!important;}
.ultreia-qty-input{font-family:"Poppins",Arial,sans-serif;font-weight:700;}

.ultreia-checkout-note{background:#eef8ff!important;border-left-color:#2f80a7;border-radius:20px!important;}
.ultreia-extra-grid{grid-template-columns:1fr!important;gap:16px!important;}
.ultreia-flight-box,.ultreia-room-box{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:16px!important;border-radius:24px!important;padding:22px!important;cursor:pointer;}
.ultreia-flight-box{border-color:#c63231;background:linear-gradient(180deg,#fff,#fff8f8)!important;box-shadow:0 18px 46px rgba(198,50,49,.10)!important;}
.ultreia-flight-box__text strong,.ultreia-room-box__text strong{font-family:"Poppins",Arial,sans-serif;font-weight:700;color:#050505;font-size:17px;}
.ultreia-flight-box__text small,.ultreia-room-box__text small{font-family:"Figtree",Arial,sans-serif;color:#5f6675;font-size:13.5px;}

.ultreia-travellers__head strong{font-size:25px;}
.ultreia-traveller-card{border-radius:24px!important;padding:26px 24px 24px!important;border-color:#eee7dd;box-shadow:0 18px 50px rgba(17,24,39,.06)!important;}
.ultreia-traveller-card__num{background:#c63231!important;}
.ultreia-traveller-card__grid input,
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single{font-family:"Figtree",Arial,sans-serif;border-radius:14px!important;border-color:#e3dacd;min-height:50px!important;}
.ultreia-traveller-card__grid input:focus,
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus{border-color:#c63231;box-shadow:0 0 0 4px rgba(198,50,49,.10)!important;}

body.woocommerce-checkout #place_order{font-family:"Poppins",Arial,sans-serif;font-weight:700;background:#c63231!important;border-radius:999px!important;box-shadow:0 18px 40px rgba(198,50,49,.24)!important;}
body.woocommerce-checkout a,
body.woocommerce-checkout .woocommerce a{color:#c63231;}

@media(max-width:980px){
  body.woocommerce-checkout form.checkout{grid-template-columns:1fr!important;gap:28px!important;}
  body.woocommerce-checkout form.checkout .ultreia-checkout-travel,
  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review_heading,
  body.woocommerce-checkout form.checkout #order_review{grid-column:1!important;position:static!important;}
  .ultreia-checkout-travel__head h3{font-size:34px;}
}
@media(max-width:640px){
  body.woocommerce-checkout .woocommerce{padding:30px 14px 70px!important;}
  .ultreia-checkout-travel__head h3{font-size:30px;}
  .ultreia-traveller-card__grid{grid-template-columns:1fr!important;}
}

/* ══════════════════════════════════════════════════════
   ULTREIA CHECKOUT — step reali v23
═══════════════════════════════════════════════════════ */
body.woocommerce-checkout form.checkout{position:relative;}
body.woocommerce-checkout .ultreia-checkout-travel__head p{display:none!important;}
body.woocommerce-checkout .ultreia-checkout-steps{display:flex!important;align-items:flex-start!important;justify-content:center!important;gap:0!important;width:100%!important;max-width:680px!important;margin:0 auto 42px!important;}
body.woocommerce-checkout .ultreia-checkout-step{position:relative!important;flex:1!important;text-align:center!important;color:#9ca3af;}
body.woocommerce-checkout .ultreia-checkout-step:not(:last-child)::after{content:"";position:absolute;top:16px;left:calc(50% + 24px);right:calc(-50% + 24px);height:1px;background:#e5e1da;z-index:0;}
body.woocommerce-checkout .ultreia-checkout-step span{position:relative;z-index:1;margin:0 auto 9px!important;width:34px!important;height:34px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#fff!important;border:1px solid #d9d3cb!important;color:#6b7280;font-family:"Poppins",Arial,sans-serif;font-weight:700;font-size:13px;}
body.woocommerce-checkout .ultreia-checkout-step strong{display:block!important;font-family:"Figtree",Arial,sans-serif;font-size:12px;line-height:1.2;color:#6b7280;}
body.woocommerce-checkout .ultreia-checkout-step.is-active span{background:#050505!important;color:#fff;border-color:#050505;box-shadow:0 8px 20px rgba(0,0,0,.14)!important;}
body.woocommerce-checkout .ultreia-checkout-step.is-active strong{color:#050505;font-weight:700;}
body.woocommerce-checkout .ultreia-checkout-step.is-done span{background:#c63231!important;color:#fff;border-color:#c63231;}
body.woocommerce-checkout .ultreia-checkout-step.is-done span::before{content:"✓";font-size:13px;}
body.woocommerce-checkout .ultreia-checkout-step.is-done span{font-size:0;}

body.woocommerce-checkout .ultreia-checkout-note{display:none!important;}
body.woocommerce-checkout .ultreia-step-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-top:26px!important;}
body.woocommerce-checkout .ultreia-step-btn{appearance:none!important;border:1px solid #c63231!important;border-radius:999px!important;padding:14px 22px!important;font-family:"Poppins",Arial,sans-serif;font-size:14px;font-weight:700;line-height:1;cursor:pointer!important;transition:.18s ease!important;}
body.woocommerce-checkout .ultreia-step-btn--next{margin-left:auto!important;background:#c63231!important;color:#fff;box-shadow:0 14px 30px rgba(198,50,49,.18)!important;}
body.woocommerce-checkout .ultreia-step-btn--next:hover{transform:translateY(-1px)!important;box-shadow:0 18px 38px rgba(198,50,49,.24)!important;}
body.woocommerce-checkout .ultreia-step-btn--back{background:#fff!important;color:#c63231;}
body.woocommerce-checkout .ultreia-traveller-card.has-error{border-color:#c63231;box-shadow:0 0 0 4px rgba(198,50,49,.10),0 18px 50px rgba(17,24,39,.06)!important;}

/* Step 1: solo scelta viaggiatori + dati partecipanti */
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout #customer_details,
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout #order_review_heading,
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout #order_review,
body.woocommerce-checkout.ultreia-checkout-step-1 .ultreia-extra-grid{display:none!important;}
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout{display:block!important;max-width:760px!important;}
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout .ultreia-checkout-travel{max-width:760px!important;margin:0 auto!important;}

/* Step 2: extra viaggio + dati fatturazione */
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout #order_review_heading,
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout #order_review,
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-traveller-count,
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-travellers,
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-step-actions--travel{display:none!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout{display:grid!important;grid-template-columns:minmax(0,720px)!important;justify-content:center!important;max-width:760px!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-checkout-trip-card{margin-bottom:26px!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-extra-grid{display:grid!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout #customer_details{display:block!important;grid-column:1!important;}

/* Step 3: riepilogo + pagamento */
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout .ultreia-checkout-travel,
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #customer_details{display:none!important;}
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout{display:grid!important;grid-template-columns:minmax(0,720px)!important;justify-content:center!important;max-width:760px!important;}
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #order_review_heading,
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #order_review{display:block!important;grid-column:1!important;position:static!important;}
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #order_review_heading{text-align:left!important;font-size:32px;margin:0 0 18px!important;}
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #order_review{padding:30px!important;}
body.woocommerce-checkout.ultreia-checkout-step-3 .ultreia-step-actions--payment{margin:0 0 22px!important;}

body.woocommerce-checkout .ultreia-extra-grid{margin-top:22px!important;}
body.woocommerce-checkout .ultreia-flight-box{position:relative!important;border-width:2px!important;background:linear-gradient(180deg,#fff,#fff7f7)!important;}
body.woocommerce-checkout .ultreia-flight-box__text strong::after{content:" · acquistato separatamente";font-family:"Figtree",Arial,sans-serif;font-size:12px;font-weight:700;color:#c63231;text-transform:none;}

@media(max-width:780px){
  body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout,
  body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout,
  body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout{max-width:100%!important;display:block!important;}
  body.woocommerce-checkout .ultreia-checkout-steps{gap:0!important;margin-bottom:28px!important;}
  body.woocommerce-checkout .ultreia-step-actions{flex-direction:column-reverse!important;align-items:stretch!important;}
  body.woocommerce-checkout .ultreia-step-btn{width:100%!important;}
}

/* ══════════════════════════════════════════════════════
   ULTREIA CHECKOUT — refinements v24
   - step reali più stabili
   - larghezza più ariosa
   - campi intestatario prenotazione
═══════════════════════════════════════════════════════ */
body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-message{display:none!important;}

body.woocommerce-checkout .woocommerce{max-width:1200px!important;margin:0 auto!important;padding-left:24px!important;padding-right:24px!important;}
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout,
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout,
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout{max-width:1040px!important;width:100%!important;margin:0 auto!important;}
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout .ultreia-checkout-travel,
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout .ultreia-checkout-travel{max-width:960px!important;width:100%!important;margin:0 auto!important;}
body.woocommerce-checkout .ultreia-checkout-trip-card,
body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout form.checkout #order_review{max-width:920px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout{grid-template-columns:minmax(0,960px)!important;}
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout{grid-template-columns:minmax(0,860px)!important;max-width:920px!important;}

body.woocommerce-checkout .ultreia-checkout-travel__head{max-width:920px!important;margin-left:auto!important;margin-right:auto!important;}
body.woocommerce-checkout .ultreia-checkout-travel__head h3{font-family:"Poppins",Arial,sans-serif;font-weight:700;color:#050505;}
body.woocommerce-checkout .ultreia-checkout-travel__eyebrow,
body.woocommerce-checkout .ultreia-holder-card__head span{font-family:"Poppins",Arial,sans-serif;font-weight:400;text-transform:uppercase;color:#c63231;letter-spacing:.18em;}
body.woocommerce-checkout .ultreia-checkout-trip-card__info p,
body.woocommerce-checkout .ultreia-traveller-count span,
body.woocommerce-checkout .ultreia-holder-field small,
body.woocommerce-checkout .ultreia-holder-field textarea,
body.woocommerce-checkout .ultreia-holder-field input,
body.woocommerce-checkout .ultreia-holder-field select{font-family:"Figtree",Arial,sans-serif;}

.ultreia-holder-card{display:block;background:#fff;border:1px solid #eee7dd;border-radius:24px;padding:26px;margin:22px 0 0;box-shadow:0 18px 50px rgba(17,24,39,.055);}
.ultreia-holder-card__head{margin:0 0 20px;}
.ultreia-holder-card__head span{display:block;font-size:11px;margin-bottom:8px;}
.ultreia-holder-card__head h4{font-family:"Poppins",Arial,sans-serif;font-size:25px;line-height:1.15;font-weight:700;letter-spacing:-.03em;color:#050505;margin:0;}
.ultreia-holder-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;}
.ultreia-holder-field{display:flex;flex-direction:column;gap:8px;margin:0;}
.ultreia-holder-field--wide,.ultreia-holder-field--file{grid-column:1 / -1;}
.ultreia-holder-field span{font-family:"Figtree",Arial,sans-serif;font-size:13px;font-weight:700;color:#1f2937;}
.ultreia-holder-field span em{font-style:normal;color:#c63231;}
.ultreia-holder-field input,.ultreia-holder-field select,.ultreia-holder-field textarea{width:100%;min-height:50px;border:1.5px solid #e3dacd;border-radius:14px;background:#fff;padding:11px 13px;font-size:14px;color:#111827;box-shadow:none;}
.ultreia-holder-field textarea{min-height:96px;resize:vertical;}
.ultreia-holder-field input[type=file]{padding:11px;background:#fffaf5;}
.ultreia-holder-field input:focus,.ultreia-holder-field select:focus,.ultreia-holder-field textarea:focus{outline:none;border-color:#c63231;box-shadow:0 0 0 4px rgba(198,50,49,.10);}
.ultreia-holder-card.has-error{border-color:#c63231;box-shadow:0 0 0 4px rgba(198,50,49,.10),0 18px 50px rgba(17,24,39,.06)!important;}

/* Step 1: solo dati partecipanti */
body.woocommerce-checkout.ultreia-checkout-step-1 .ultreia-extra-grid,
body.woocommerce-checkout.ultreia-checkout-step-1 .ultreia-holder-card,
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout #customer_details,
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout #order_review_heading,
body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout #order_review{display:none!important;}

/* Step 2: extra + intestatario + fatturazione */
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-traveller-count,
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-travellers,
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-step-actions--travel,
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout #order_review_heading,
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout #order_review{display:none!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-extra-grid{display:grid!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-holder-card{display:block!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout #customer_details{display:block!important;grid-column:1!important;margin-top:28px!important;}
body.woocommerce-checkout.ultreia-checkout-step-2 .ultreia-step-actions--customer{display:flex!important;}

/* Step 3: pagamento */
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout .ultreia-checkout-travel,
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #customer_details{display:none!important;}
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #order_review_heading,
body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #order_review{display:block!important;grid-column:1!important;position:static!important;}
body.woocommerce-checkout.ultreia-checkout-step-3 .ultreia-step-actions--payment{display:flex!important;}

body.woocommerce-checkout .ultreia-step-actions{max-width:920px!important;margin-left:auto!important;margin-right:auto!important;}
body.woocommerce-checkout .ultreia-step-btn{min-width:150px!important;}

@media(max-width:780px){
  body.woocommerce-checkout .woocommerce{padding-left:16px!important;padding-right:16px!important;}
  .ultreia-holder-grid{grid-template-columns:1fr!important;}
  body.woocommerce-checkout .ultreia-checkout-trip-card,
  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review{max-width:100%!important;}
}

/* ULTREIA CHECKOUT — consensi + bottoni più dinamici v25 */
body.woocommerce-checkout .ultreia-consent-card{
  grid-column:1/-1;
  margin-top:22px;
  padding:22px;
  border:1px solid #ece7df;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#fffaf7);
  box-shadow:0 16px 40px rgba(17,24,39,.05);
}
body.woocommerce-checkout .ultreia-consent-card__head{margin-bottom:16px;}
body.woocommerce-checkout .ultreia-consent-card__head span{
  display:block;
  margin-bottom:7px;
  font-family:"Poppins",Arial,sans-serif;
  font-size:11px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#c63231;
}
body.woocommerce-checkout .ultreia-consent-card__head h4{
  margin:0!important;
  font-family:"Poppins",Arial,sans-serif;
  font-weight:700;
  color:#050505;
  letter-spacing:-.025em;
}
body.woocommerce-checkout .ultreia-consent-row{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  margin:0 0 13px!important;
  padding:14px 15px;
  border:1px solid #efe8de;
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
body.woocommerce-checkout .ultreia-consent-row:hover{
  border-color:rgba(198,50,49,.34);
  box-shadow:0 12px 28px rgba(198,50,49,.07);
  transform:translateY(-1px);
}
body.woocommerce-checkout .ultreia-consent-row input{
  width:18px!important;
  height:18px!important;
  margin:2px 0 0!important;
  accent-color:#c63231;
}
body.woocommerce-checkout .ultreia-consent-row span{
  font-family:"Figtree",Arial,sans-serif;
  font-size:14px;
  line-height:1.45;
  color:#303744;
}
body.woocommerce-checkout .ultreia-consent-row a{
  color:#c63231;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.woocommerce-checkout .ultreia-consent-row em{
  color:#c63231;
  font-style:normal;
  font-weight:700;
  white-space:nowrap;
}
body.woocommerce-checkout .ultreia-contract-note{
  margin-top:16px;
  padding:18px 20px;
  border-left:4px solid #c63231;
  border-radius:16px;
  background:#fff3ef;
}
body.woocommerce-checkout .ultreia-contract-note p{
  margin:0!important;
  font-family:"Figtree",Arial,sans-serif;
  font-size:14px;
  line-height:1.65;
  color:#4d5563;
}

body.woocommerce-checkout .ultreia-step-actions{
  padding:14px!important;
  border:1px solid #eee6dc;
  border-radius:999px;
  background:rgba(255,253,250,.86);
  box-shadow:0 16px 42px rgba(17,24,39,.08);
  backdrop-filter:blur(10px);
}
body.woocommerce-checkout .ultreia-step-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:48px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  transform:translateY(0);
  will-change:transform,box-shadow;
}
body.woocommerce-checkout .ultreia-step-btn span{position:relative;z-index:1;}
body.woocommerce-checkout .ultreia-step-btn--next::after,
body.woocommerce-checkout .ultreia-step-btn--back::before{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  font-size:16px;
  line-height:1;
  transition:transform .18s ease, background .18s ease;
}
body.woocommerce-checkout .ultreia-step-btn--next::after{
  content:"→";
  background:rgba(255,255,255,.22);
}
body.woocommerce-checkout .ultreia-step-btn--back::before{
  content:"←";
  background:rgba(198,50,49,.08);
}
body.woocommerce-checkout .ultreia-step-btn--next:hover::after{transform:translateX(4px);}
body.woocommerce-checkout .ultreia-step-btn--back:hover::before{transform:translateX(-4px);}
body.woocommerce-checkout .ultreia-step-btn:active{transform:translateY(1px) scale(.99)!important;}
body.woocommerce-checkout .ultreia-step-btn--next:hover{background:#ab2928!important;}
body.woocommerce-checkout .ultreia-step-btn--back:hover{background:#fff7f5!important;}

@media (max-width: 640px){
  body.woocommerce-checkout .ultreia-step-actions{
    border-radius:24px;
    flex-direction:column-reverse;
    align-items:stretch!important;
  }
  body.woocommerce-checkout .ultreia-step-btn{width:100%!important;}
  body.woocommerce-checkout .ultreia-consent-card{padding:18px;border-radius:18px;}
}

/* Ultreia checkout v26 — campi partecipanti più ampi e leggibili */
body.woocommerce-checkout .ultreia-traveller-card{
  padding:28px!important;
  border-radius:22px!important;
}
body.woocommerce-checkout .ultreia-traveller-card__grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px 24px!important;
  align-items:start!important;
}
body.woocommerce-checkout .ultreia-traveller-card__grid label{
  min-width:0!important;
  width:100%!important;
  gap:8px!important;
}
body.woocommerce-checkout .ultreia-traveller-card__grid label span{
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  opacity:1!important;
  color:#293241;
}
body.woocommerce-checkout .ultreia-traveller-card__grid input{
  width:100%!important;
  min-height:60px!important;
  padding:16px 18px!important;
  border:1.5px solid #e4ded4!important;
  border-radius:18px!important;
  font-size:18px;
  line-height:1.2;
  color:#111827;
  background:#fff!important;
  box-sizing:border-box!important;
}
body.woocommerce-checkout .ultreia-traveller-card__grid input:focus{
  border-color:#c63231;
  box-shadow:0 0 0 5px rgba(198,50,49,.11)!important;
  outline:none!important;
}
body.woocommerce-checkout .ultreia-qty-btn:disabled{
  opacity:.38!important;
  cursor:not-allowed!important;
  transform:none!important;
}
@media (max-width: 680px){
  body.woocommerce-checkout .ultreia-traveller-card__grid{
    grid-template-columns:1fr!important;
  }
}


/* ══════════════════════════════════════════════════════
   ULTREIA FILTERS / LOOP FIXES RESTORED
═══════════════════════════════════════════════════════ */
/* AJAX fallback: dentro la Loop Grid le pill stato devono mantenere dimensione da card, non il badge tabellare piccolo. */
.elementor-widget-loop-grid .elementor-loop-container .ultreia-badge,
.elementor-widget-loop-grid .e-loop-item-container .ultreia-badge,
.elementor-loop-container .e-loop-item .ultreia-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  border-radius: 999px !important;
  padding: 9px 22px !important;
  min-height: 34px !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box !important;
}


/* Filtri viaggi - layout base Elementor controllabile */
.ultreia-filters {
  width: 100%;
  box-sizing: border-box;
}
.ultreia-filters__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}
.ultreia-filters .ultreia-field {
  min-width: 0;
  margin: 0;
}
.ultreia-filters .ultreia-field__label {
  display: block;
  margin-bottom: 6px;
}
.ultreia-filters input:not([type="checkbox"]),
.ultreia-filters select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.ultreia-filters .ultreia-actions {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0;
}
@media (max-width: 767px) {
  .ultreia-filters__grid { grid-template-columns: 1fr; }
}

/* Filtri viaggi - modalità checkbox */
.ultreia-filters--checkbox .ultreia-field--checks {
  min-width: 0;
}
.ultreia-filters--checkbox .ultreia-field__label {
  display: block;
  margin-bottom: 8px;
}
.ultreia-check-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ultreia-filter-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: inherit;
  cursor: pointer;
  user-select: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.ultreia-filter-check input[type="checkbox"] {
  width: 1em;
  height: 1em;
  margin: 0;
  accent-color: currentColor;
}
.ultreia-filter-check.is-checked {
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}



/* ══════════════════════════════════════════════════════
   ULTREIA CHECKOUT — ottimizzazione mobile v34
   Obiettivo: checkout leggibile e usabile su smartphone
═══════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  body.woocommerce-checkout,
  body.woocommerce-checkout .site,
  body.woocommerce-checkout .woocommerce {
    overflow-x: hidden !important;
  }

  body.woocommerce-checkout .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout.ultreia-checkout-step-1 form.checkout,
  body.woocommerce-checkout.ultreia-checkout-step-2 form.checkout,
  body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout,
  body.woocommerce-checkout form.checkout .ultreia-checkout-travel,
  body.woocommerce-checkout .ultreia-checkout-trip-card,
  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .ultreia-checkout-steps {
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px auto 30px !important;
    padding: 0 4px !important;
  }

  body.woocommerce-checkout .ultreia-checkout-step span {
    width: 30px !important;
    height: 30px !important;
    font-size: 12px;
    margin-bottom: 8px !important;
  }

  body.woocommerce-checkout .ultreia-checkout-step strong {
    display: block !important;
    font-size: 10px;
    line-height: 1.15;
    max-width: 74px !important;
    margin: 0 auto !important;
  }

  body.woocommerce-checkout .ultreia-checkout-step:not(:last-child)::after {
    top: 15px !important;
    left: calc(50% + 18px) !important;
    right: calc(-50% + 18px) !important;
  }

  body.woocommerce-checkout .ultreia-checkout-travel__head {
    margin: 0 0 18px !important;
  }

  body.woocommerce-checkout .ultreia-checkout-travel__eyebrow,
  body.woocommerce-checkout .ultreia-checkout-trip-card__label,
  body.woocommerce-checkout .ultreia-holder-card__head span,
  body.woocommerce-checkout .ultreia-consent-card__head span {
    font-size: 10px;
    letter-spacing: .14em;
  }

  body.woocommerce-checkout .ultreia-checkout-travel__head h3 {
    font-size: 30px;
    line-height: 1.05;
    max-width: 100% !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.woocommerce-checkout .ultreia-checkout-trip-card {
    padding: 18px !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 45px rgba(17,24,39,.08) !important;
  }

  body.woocommerce-checkout .ultreia-checkout-trip-card__top {
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
  }

  body.woocommerce-checkout .ultreia-checkout-trip-card__thumb {
    width: 78px !important;
    height: 78px !important;
    border-radius: 16px !important;
  }

  body.woocommerce-checkout .ultreia-checkout-trip-card__info {
    min-width: 0 !important;
  }

  body.woocommerce-checkout .ultreia-checkout-trip-card__info h4 {
    font-size: 21px;
    line-height: 1.12;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-checkout .ultreia-checkout-trip-card__info p {
    font-size: 13px;
    line-height: 1.35;
  }

  body.woocommerce-checkout .ultreia-traveller-count {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  body.woocommerce-checkout .ultreia-traveller-count strong {
    font-size: 17px;
    line-height: 1.15;
  }

  body.woocommerce-checkout .ultreia-traveller-count span {
    font-size: 12px;
    line-height: 1.35;
  }

  body.woocommerce-checkout .ultreia-qty-control {
    justify-self: end !important;
    white-space: nowrap !important;
  }

  body.woocommerce-checkout .ultreia-extra-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    margin-top: 18px !important;
  }

  body.woocommerce-checkout .ultreia-extra-card,
  body.woocommerce-checkout .ultreia-flight-box,
  body.woocommerce-checkout .ultreia-single-room-box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0,1fr) 28px !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .ultreia-extra-card__icon,
  body.woocommerce-checkout .ultreia-flight-box__icon,
  body.woocommerce-checkout .ultreia-single-room-box__icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    display: grid !important;
    place-items: center !important;
    font-size: 22px;
  }

  body.woocommerce-checkout .ultreia-extra-card__text,
  body.woocommerce-checkout .ultreia-flight-box__text,
  body.woocommerce-checkout .ultreia-single-room-box__text {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.woocommerce-checkout .ultreia-extra-card__text strong,
  body.woocommerce-checkout .ultreia-flight-box__text strong,
  body.woocommerce-checkout .ultreia-single-room-box__text strong {
    display: block !important;
    font-size: 17px;
    line-height: 1.15;
    margin-bottom: 5px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.woocommerce-checkout .ultreia-flight-box__text strong::after {
    display: block !important;
    margin-top: 4px !important;
    font-size: 11px;
    line-height: 1.15;
  }

  body.woocommerce-checkout .ultreia-extra-card__text small,
  body.woocommerce-checkout .ultreia-flight-box__text small,
  body.woocommerce-checkout .ultreia-single-room-box__text small,
  body.woocommerce-checkout .ultreia-extra-card__text span,
  body.woocommerce-checkout .ultreia-flight-box__text span,
  body.woocommerce-checkout .ultreia-single-room-box__text span,
  body.woocommerce-checkout .ultreia-extra-card__text p,
  body.woocommerce-checkout .ultreia-flight-box__text p,
  body.woocommerce-checkout .ultreia-single-room-box__text p {
    font-size: 13px;
    line-height: 1.35;
    margin: 0 !important;
    color: #6b7280;
  }

  body.woocommerce-checkout .ultreia-extra-card input[type="checkbox"],
  body.woocommerce-checkout .ultreia-flight-box input[type="checkbox"],
  body.woocommerce-checkout .ultreia-single-room-box input[type="checkbox"] {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    justify-self: end !important;
    margin: 0 !important;
  }

  body.woocommerce-checkout .ultreia-traveller-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  body.woocommerce-checkout .ultreia-traveller-card__title {
    font-size: 11px;
    letter-spacing: .14em;
    line-height: 1.2;
  }

  body.woocommerce-checkout .ultreia-traveller-card__grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.woocommerce-checkout .ultreia-traveller-card__grid input,
  body.woocommerce-checkout .ultreia-holder-field input,
  body.woocommerce-checkout .ultreia-holder-field select,
  body.woocommerce-checkout .ultreia-holder-field textarea,
  body.woocommerce-checkout .woocommerce-billing-fields input,
  body.woocommerce-checkout .woocommerce-billing-fields select,
  body.woocommerce-checkout .woocommerce-additional-fields textarea {
    min-height: 54px !important;
    font-size: 16px;
    padding: 14px 15px !important;
    border-radius: 15px !important;
  }

  body.woocommerce-checkout .ultreia-holder-card,
  body.woocommerce-checkout .ultreia-consent-card,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review {
    padding: 18px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-checkout .ultreia-holder-card__head h4,
  body.woocommerce-checkout .ultreia-consent-card__head h4,
  body.woocommerce-checkout #customer_details h3,
  body.woocommerce-checkout form.checkout #order_review_heading {
    font-size: 25px;
    line-height: 1.12;
    letter-spacing: -.035em;
  }

  body.woocommerce-checkout .ultreia-holder-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.woocommerce-checkout .ultreia-consent-row {
    grid-template-columns: 22px minmax(0,1fr) !important;
    padding: 14px !important;
    border-radius: 16px !important;
  }

  body.woocommerce-checkout .ultreia-consent-row span {
    font-size: 13px;
    line-height: 1.42;
  }

  body.woocommerce-checkout .ultreia-contract-note {
    max-height: 220px !important;
    overflow: auto !important;
    padding: 16px !important;
    border-radius: 16px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.woocommerce-checkout .ultreia-contract-note p {
    font-size: 13px;
    line-height: 1.55;
  }

  body.woocommerce-checkout .ultreia-step-actions {
    position: sticky !important;
    bottom: 12px !important;
    z-index: 40 !important;
    padding: 10px !important;
    margin-top: 22px !important;
    border-radius: 22px !important;
    flex-direction: column-reverse !important;
    align-items: stretch !important;
  }

  body.woocommerce-checkout .ultreia-step-btn {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 14px;
  }

  body.woocommerce-checkout.ultreia-checkout-step-3 #order_review table.shop_table,
  body.woocommerce-checkout.ultreia-checkout-step-3 #order_review .shop_table {
    font-size: 13px;
  }

  body.woocommerce-checkout.ultreia-checkout-step-3 form.checkout #order_review {
    padding: 18px !important;
  }
}

@media (max-width: 420px) {
  body.woocommerce-checkout .woocommerce {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.woocommerce-checkout .ultreia-checkout-travel__head h3 {
    font-size: 28px;
  }

  body.woocommerce-checkout .ultreia-checkout-trip-card,
  body.woocommerce-checkout .ultreia-holder-card,
  body.woocommerce-checkout .ultreia-consent-card,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review {
    padding: 16px !important;
  }

  body.woocommerce-checkout .ultreia-extra-card,
  body.woocommerce-checkout .ultreia-flight-box,
  body.woocommerce-checkout .ultreia-single-room-box {
    grid-template-columns: 30px minmax(0,1fr) 24px !important;
    gap: 11px !important;
    padding: 15px !important;
  }

  body.woocommerce-checkout .ultreia-extra-card__text strong,
  body.woocommerce-checkout .ultreia-flight-box__text strong,
  body.woocommerce-checkout .ultreia-single-room-box__text strong {
    font-size: 16px;
  }
}


/* ══════════════════════════════════════════════════════
   ULTREIA CHECKOUT — input width fix v35
   Nome/Cognome e campi WooCommerce più larghi su desktop e mobile
═══════════════════════════════════════════════════════ */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
body.woocommerce-checkout .ultreia-holder-card,
body.woocommerce-checkout .ultreia-traveller-card {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: 18px 22px !important;
  align-items: start !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_country_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_city_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_state_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_postcode_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_phone_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_email_field {
  grid-column: 1 / -1 !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper label,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper label,
body.woocommerce-checkout .ultreia-holder-field span,
body.woocommerce-checkout .ultreia-traveller-card__grid label span {
  display: block !important;
  width: 100% !important;
  margin-bottom: 8px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .select2-container,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper textarea,
body.woocommerce-checkout .ultreia-holder-field input,
body.woocommerce-checkout .ultreia-holder-field select,
body.woocommerce-checkout .ultreia-holder-field textarea,
body.woocommerce-checkout .ultreia-traveller-card__grid input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input.input-text,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .select2-selection,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper textarea,
body.woocommerce-checkout .ultreia-holder-field input,
body.woocommerce-checkout .ultreia-holder-field select,
body.woocommerce-checkout .ultreia-holder-field textarea {
  min-height: 56px !important;
  padding: 15px 18px !important;
  border-radius: 16px !important;
  font-size: 16px;
  line-height: 1.2;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_first_name,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_last_name,
body.woocommerce-checkout .ultreia-traveller-card__grid input[name*="[first_name]"],
body.woocommerce-checkout .ultreia-traveller-card__grid input[name*="[last_name]"] {
  min-height: 60px !important;
  font-size: 18px;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

@media (max-width: 767px) {
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide {
    grid-column: 1 / -1 !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input.input-text,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .select2-selection,
  body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper textarea,
  body.woocommerce-checkout .ultreia-holder-field input,
  body.woocommerce-checkout .ultreia-holder-field select,
  body.woocommerce-checkout .ultreia-holder-field textarea,
  body.woocommerce-checkout .ultreia-traveller-card__grid input {
    min-height: 58px !important;
    font-size: 16px;
    padding: 15px 16px !important;
    border-radius: 16px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_first_name,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_last_name,
  body.woocommerce-checkout .ultreia-traveller-card__grid input[name*="[first_name]"],
  body.woocommerce-checkout .ultreia-traveller-card__grid input[name*="[last_name]"] {
    min-height: 60px !important;
    font-size: 17px;
  }
}

/* ══════════════════════════════════════════════════════
   ULTREIA CALENDARIO PARTENZE
══════════════════════════════════════════════════════ */
.ultreia-cal{background:#fff;border-radius:16px;padding:24px;font-family:inherit;position:relative;overflow:hidden}
/* Nav */
.ultreia-cal__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}
.ultreia-cal__nav-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid #e5e7eb;background:#fff;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;color:#374151}
.ultreia-cal__nav-btn:hover{border-color:#999;background:#f3f4f6}
.ultreia-cal__nav-label{font-weight:700;font-size:1.05em;color:#1a1a2e;flex:1;text-align:center}
/* Month */
.ultreia-cal__months-wrap{position:relative}
.ultreia-cal__month{display:none}
.ultreia-cal__month.is-active{display:block}
.ultreia-cal__month-name{display:none} /* usato solo per il label JS */
/* Grid */
.ultreia-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.ultreia-cal__weekday{text-align:center;font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:6px 0 10px}
.ultreia-cal__cell{position:relative;min-height:48px;display:flex;flex-direction:column;align-items:center;padding:4px 2px 6px;border-radius:8px;transition:background .15s}
.ultreia-cal__cell:hover{background:#f9fafb}
.ultreia-cal__cell--empty{pointer-events:none}
.ultreia-cal__day-num{font-size:.85em;font-weight:500;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;color:#374151}
.ultreia-cal__day--today .ultreia-cal__day-num{background:#e30613;color:#fff;font-weight:700}
/* Dots (partenze) */
.ultreia-cal__dot{display:block;width:8px;height:8px;border-radius:50%;margin:2px auto 0;cursor:pointer;transition:transform .15s;flex-shrink:0}
.ultreia-cal__dot:hover{transform:scale(1.4)}
.ultreia-cal__dot--start{box-shadow:0 1px 3px rgba(0,0,0,.2)}
/* Range bar (giorni intermedi) */
.ultreia-cal__range-bar{display:block;width:100%;height:4px;border-radius:2px;margin-top:auto;border:1px solid transparent}
.ultreia-cal__range-bar--end{border-radius:0 4px 4px 0}
/* Legenda */
.ultreia-cal__legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px;padding-top:16px;border-top:1px solid #f0f0f0}
.ultreia-cal__legend-item{display:flex;align-items:center;gap:7px;cursor:default}
.ultreia-cal__legend-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.ultreia-cal__legend-label{font-size:.8em;font-weight:500;color:#374151}
/* Tooltip */
.ultreia-cal__tooltip{position:absolute;background:#1a1a2e;color:#fff;font-size:.78em;padding:5px 10px;border-radius:6px;pointer-events:none;white-space:nowrap;opacity:0;transition:opacity .15s;z-index:100;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.ultreia-cal__tooltip.is-visible{opacity:1}
@media(max-width:480px){
  .ultreia-cal__day-num{font-size:.75em;width:24px;height:24px}
  .ultreia-cal__weekday{font-size:.65em}
  .ultreia-cal__dot{width:6px;height:6px}
}

/* ══════════════════════════════════════════════════════
   ULTREIA CALENDARIO v2
══════════════════════════════════════════════════════ */

/* Layout principale: griglia calendario + pannello */
.ucal-wrap {
  width: 100%;
  font-family: 'Figtree', system-ui, sans-serif;
}
.ucal-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  border-radius: 16px;
  overflow: hidden;
  border: 0.5px solid rgba(0,0,0,.08);
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
}

/* Lato calendario */
.ucal-cal-side {
  background: #fff;
  padding: 24px;
  min-width: 0;
}

/* Override FullCalendar */
.ucal-cal-side .fc-toolbar-title {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #2c2c2a;
  letter-spacing: -.01em;
}
.ucal-cal-side .fc-button {
  border-radius: 8px !important;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 12px;
  padding: 5px 12px !important;
  box-shadow: none !important;
  transition: all .15s !important;
}
.ucal-cal-side .fc-col-header-cell-cushion {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #888780;
  text-decoration: none !important;
  padding: 8px 4px !important;
}
.ucal-cal-side .fc-daygrid-day-number {
  font-size: 12px;
  font-weight: 500;
  color: #2c2c2a;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  text-decoration: none !important;
  padding: 0 !important;
  transition: background .12s;
}
.ucal-cal-side .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
  background: #C8102E;
  color: #fff;
  font-weight: 800;
}
.ucal-cal-side .fc-daygrid-day:hover {
  background: #f1efe8 !important;
}
.ucal-cal-side .fc-event {
  border-radius: 4px !important;
  border: none !important;
  cursor: pointer !important;
  transition: filter .12s !important;
}
.ucal-cal-side .fc-event:hover { filter: brightness(.9) !important; }
.ucal-cal-side .fc-event-title {
  font-family: 'Figtree', sans-serif;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 4px !important;
}
.ucal-cal-side .fc-daygrid-event-dot { display: none; }
.ucal-cal-side .fc-more-link {
  font-size: 11px;
  font-weight: 700;
  font-family: 'Figtree', sans-serif;
}
.ucal-cal-side .fc-popover {
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.14) !important;
  border: 0.5px solid rgba(0,0,0,.08) !important;
  overflow: hidden;
}
.ucal-cal-side .fc-list-event-title a {
  font-family: 'Figtree', sans-serif;
  font-weight: 700;
  text-decoration: none;
  color: #2c2c2a;
}
.ucal-cal-side .fc-list-day-cushion {
  background: #f8f8f6 !important;
}
.ucal-cal-side .fc-list-day-text,
.ucal-cal-side .fc-list-day-side-text {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  text-decoration: none !important;
}

/* Pannello dettaglio */
.ucal-panel {
  background: #fff;
  border-left: 0.5px solid rgba(0,0,0,.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

/* Stato vuoto */
.ucal-panel__empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 24px;
  gap: 12px;
  text-align: center;
}
.ucal-panel__empty-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: #f8f8f6;
  border: 0.5px solid rgba(0,0,0,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #aaa;
}
.ucal-panel__empty-text {
  font-size: 13px;
  color: #888780;
  line-height: 1.5;
  max-width: 180px;
  margin: 0;
}

/* Hero immagine */
.ucal-panel__hero {
  height: 160px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  background: #1a1a2e;
}
.ucal-panel__hero img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.ucal-panel__hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,.5));
}
.ucal-panel__hero-tag {
  position: absolute;
  bottom: 12px; left: 12px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 0.5px solid rgba(255,255,255,.3);
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
}
.ucal-panel__close-btn {
  position: absolute; top: 10px; right: 10px;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: none;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
  line-height: 1;
}
.ucal-panel__close-btn:hover { background: rgba(0,0,0,.55); }

/* Body pannello */
.ucal-panel__body {
  padding: 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
}
.ucal-panel__eyebrow {
  font-family: 'Poppins', sans-serif;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin: 0;
}
.ucal-panel__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: 'Figtree', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  width: fit-content;
}
.ucal-panel__meta {
  background: #f8f9fa;
  border-radius: 12px;
  overflow: hidden;
  border: 0.5px solid rgba(0,0,0,.06);
}
.ucal-panel__meta-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-bottom: 0.5px solid rgba(0,0,0,.06);
}
.ucal-panel__meta-row:last-child { border-bottom: none; }
.ucal-panel__meta-icon {
  flex-shrink: 0;
  opacity: .45;
  display: flex;
  align-items: center;
}
.ucal-panel__meta-label {
  font-size: 12px;
  color: #5f5e5a;
  flex: 1;
}
.ucal-panel__meta-val {
  font-size: 12px;
  font-weight: 700;
  color: #2c2c2a;
}
.ucal-panel__price-box {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 14px;
  background: #f8f9fa;
  border-radius: 12px;
  border: 0.5px solid rgba(0,0,0,.06);
}
.ucal-panel__price-label {
  font-size: 10px;
  font-weight: 600;
  color: #888;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.ucal-panel__price-val {
  font-family: 'Poppins', sans-serif;
  font-size: 22px;
  font-weight: 900;
  color: #2c2c2a;
}
.ucal-panel__btn {
  display: block;
  padding: 13px 20px;
  border-radius: 999px;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 13px;
  text-align: center;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  transition: filter .15s;
}
.ucal-panel__btn:hover { filter: brightness(.88); }

/* Responsive */
@media (max-width: 700px) {
  .ucal-layout {
    grid-template-columns: 1fr;
    border-radius: 12px;
  }
  .ucal-panel {
    border-left: none;
    border-top: 0.5px solid rgba(0,0,0,.08);
  }
  .ucal-cal-side { padding: 16px; }
}

/* Rimuovi vecchi selettori obsoleti */
.ultreia-cal-outer,.ultreia-cal-wrap,.ultreia-cal-panel { display: none !important; }
.ucal-wrap .ultreia-cal-outer,
.ucal-wrap .ultreia-cal-wrap,
.ucal-wrap .ultreia-cal-panel { display: none !important; }

/* ══════════════════════════════════════════════════════
   ULTREIA CALENDARIO PARTENZE — premium UI refresh
   Brand: #c63231
══════════════════════════════════════════════════════ */
.elementor-widget-ultreia_calendario,
.elementor-widget-ultreia_calendario .elementor-widget-container{
  width:100%;
}

.ucal-wrap--premium{
  --ultreia-red:#c63231;
  --ultreia-dark:#151515;
  --ultreia-cream:#fbf8f1;
  --ultreia-border:rgba(25,25,25,.075);
  --ultreia-muted:#6f6a63;
  width:100%;
  font-family:'Poppins','Figtree',system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ultreia-dark);
}

.ucal-wrap--premium .ucal-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:0 0 22px;
  padding:0 4px;
}
.ucal-wrap--premium .ucal-head__eyebrow{
  margin:0 0 8px;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:500;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--ultreia-red);
}
.ucal-wrap--premium .ucal-head__title{
  margin:0;
  font-family:'Poppins',sans-serif;
  font-size:clamp(30px,4vw,52px);
  line-height:.96;
  letter-spacing:-.055em;
  font-weight:800;
  color:#111;
}
.ucal-wrap--premium .ucal-head__text{
  max-width:560px;
  margin:14px 0 0;
  color:#5e5b55;
  font-family:'Figtree',sans-serif;
  font-size:15px;
  line-height:1.55;
}
.ucal-wrap--premium .ucal-head__legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  max-width:420px;
}
.ucal-wrap--premium .ucal-status-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 26px rgba(0,0,0,.04);
  color:#222;
  font-family:'Figtree',sans-serif;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.ucal-wrap--premium .ucal-status-pill::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 4px color-mix(in srgb,currentColor 14%,transparent);
}
.ucal-wrap--premium .ucal-status-pill--disponibili{color:#22c55e;}
.ucal-wrap--premium .ucal-status-pill--ultimi{color:#f97316;}
.ucal-wrap--premium .ucal-status-pill--confermata{color:#2563eb;}
.ucal-wrap--premium .ucal-status-pill--soldout{color:#525252;}

.ucal-wrap--premium .ucal-layout{
  grid-template-columns:minmax(0,1fr) 360px;
  border-radius:28px;
  border:1px solid rgba(198,50,49,.13);
  overflow:hidden;
  background:
    radial-gradient(circle at 0 0, rgba(198,50,49,.055), transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#fffdf9 100%);
  box-shadow:
    0 28px 80px rgba(20,20,20,.085),
    0 8px 22px rgba(20,20,20,.055);
}
.ucal-wrap--premium .ucal-cal-side{
  background:transparent;
  padding:30px;
}
.ucal-wrap--premium .fc{
  --fc-border-color:rgba(20,20,20,.075);
  --fc-neutral-bg-color:#fbf8f1;
  --fc-page-bg-color:transparent;
  --fc-today-bg-color:rgba(198,50,49,.055);
  font-family:'Figtree',sans-serif;
}
.ucal-wrap--premium .fc .fc-toolbar.fc-header-toolbar{
  margin:0 0 22px;
  gap:14px;
  align-items:center;
}
.ucal-wrap--premium .fc-toolbar-title{
  font-family:'Poppins',sans-serif;
  font-size:clamp(20px,2.2vw,30px);
  font-weight:800;
  letter-spacing:-.045em;
  color:#111;
  text-transform:capitalize;
}
.ucal-wrap--premium .fc-button-group{
  gap:8px;
}
.ucal-wrap--premium .fc .fc-button-primary{
  min-height:38px;
  border:1px solid rgba(198,50,49,.18) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#1f1f1f;
  box-shadow:0 10px 25px rgba(0,0,0,.045) !important;
  padding:8px 14px !important;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  font-weight:700;
  line-height:1;
  transition:transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}
.ucal-wrap--premium .fc .fc-button-primary:hover,
.ucal-wrap--premium .fc .fc-button-primary:focus{
  transform:translateY(-1px);
  background:var(--ultreia-red) !important;
  border-color:var(--ultreia-red);
  color:#fff;
  box-shadow:0 14px 30px rgba(198,50,49,.22) !important;
}
.ucal-wrap--premium .fc .fc-button-primary:not(:disabled).fc-button-active{
  background:var(--ultreia-red) !important;
  border-color:var(--ultreia-red);
  color:#fff;
  box-shadow:0 14px 30px rgba(198,50,49,.18) !important;
}
.ucal-wrap--premium .fc .fc-prev-button,
.ucal-wrap--premium .fc .fc-next-button{
  width:38px;
  padding:0 !important;
}
.ucal-wrap--premium .fc-theme-standard td,
.ucal-wrap--premium .fc-theme-standard th{
  border-color:rgba(20,20,20,.075);
}
.ucal-wrap--premium .fc-scrollgrid{
  border:1px solid rgba(20,20,20,.075) !important;
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.76);
}
.ucal-wrap--premium .fc-col-header-cell{
  background:#fbf8f1;
}
.ucal-wrap--premium .fc-col-header-cell-cushion{
  display:block;
  padding:14px 6px !important;
  font-family:'Poppins',sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8a8379;
}
.ucal-wrap--premium .fc-daygrid-day{
  background:#fff;
  transition:background .2s ease;
}
.ucal-wrap--premium .fc-daygrid-day:hover{
  background:#fff8f1 !important;
}
.ucal-wrap--premium .fc-daygrid-day-frame{
  min-height:116px;
  padding:8px;
}
.ucal-wrap--premium .fc-daygrid-day-top{
  justify-content:flex-start;
}
.ucal-wrap--premium .fc-daygrid-day-number{
  width:30px !important;
  height:30px !important;
  border-radius:50%;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  color:#272727;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  font-weight:700;
  text-decoration:none !important;
}
.ucal-wrap--premium .fc-day-today .fc-daygrid-day-number{
  background:var(--ultreia-red) !important;
  color:#fff;
  box-shadow:0 10px 24px rgba(198,50,49,.25);
}
.ucal-wrap--premium .fc-day-other{
  background:#fbfaf7;
}
.ucal-wrap--premium .fc-day-other .fc-daygrid-day-number{
  color:#b7b1a8;
}
.ucal-wrap--premium .fc-h-event,
.ucal-wrap--premium .fc-v-event,
.ucal-wrap--premium .fc-daygrid-event{
  background:transparent !important;
  border:0 !important;
  margin-top:5px !important;
  padding:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.ucal-wrap--premium .ucal-event{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:30px;
  padding:7px 9px 7px 10px;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--ucal-trip,var(--ultreia-red)), color-mix(in srgb,var(--ucal-trip,var(--ultreia-red)) 78%,#000));
  box-shadow:0 10px 20px color-mix(in srgb,var(--ucal-trip,var(--ultreia-red)) 26%,transparent);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.ucal-wrap--premium .fc-event:hover .ucal-event{
  transform:translateY(-2px);
  filter:saturate(1.05);
  box-shadow:0 16px 28px color-mix(in srgb,var(--ucal-trip,var(--ultreia-red)) 34%,transparent);
}
.ucal-wrap--premium .ucal-event__title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-family:'Figtree',sans-serif;
  font-size:11px;
  font-weight:800;
  line-height:1.1;
}
.ucal-wrap--premium .ucal-event__price{
  flex-shrink:0;
  padding:3px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font-family:'Poppins',sans-serif;
  font-size:10px;
  font-weight:800;
  line-height:1;
}
.ucal-wrap--premium .ucal-fc-event--soldout .ucal-event{
  background:linear-gradient(135deg,#525252,#262626);
  box-shadow:0 12px 22px rgba(0,0,0,.14);
  opacity:.72;
}
.ucal-wrap--premium .ucal-fc-event--ultimi .ucal-event{
  background:linear-gradient(135deg,#f97316,#d4520b);
  box-shadow:0 10px 20px rgba(249,115,22,.24);
}
.ucal-wrap--premium .ucal-fc-event--confermata .ucal-event{
  background:linear-gradient(135deg,#2563eb,#1742a5);
  box-shadow:0 10px 20px rgba(37,99,235,.22);
}
.ucal-wrap--premium .ucal-fc-event--disponibili .ucal-event{
  background:linear-gradient(135deg,#22c55e,#129144);
  box-shadow:0 10px 20px rgba(34,197,94,.22);
}
.ucal-wrap--premium .fc-more-link{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#fff2ef;
  color:var(--ultreia-red);
  font-family:'Poppins',sans-serif;
  font-size:11px;
  font-weight:800;
  text-decoration:none !important;
}
.ucal-wrap--premium .fc-popover{
  border:1px solid rgba(20,20,20,.08) !important;
  border-radius:18px !important;
  overflow:hidden;
  box-shadow:0 24px 65px rgba(0,0,0,.15) !important;
}
.ucal-wrap--premium .fc-popover-header{
  background:#fbf8f1 !important;
  padding:12px 14px !important;
  font-family:'Poppins',sans-serif;
  font-weight:800;
}
.ucal-wrap--premium .fc-list{
  border-radius:22px;
  overflow:hidden;
  border-color:rgba(20,20,20,.075);
}
.ucal-wrap--premium .fc-list-day-cushion{
  background:#fbf8f1 !important;
  padding:13px 16px !important;
}
.ucal-wrap--premium .fc-list-day-text,
.ucal-wrap--premium .fc-list-day-side-text{
  font-family:'Poppins',sans-serif;
  font-weight:800;
  color:#151515;
}
.ucal-wrap--premium .fc-list-event:hover td{
  background:#fff6f3 !important;
}
.ucal-wrap--premium .fc-list-event-title a{
  color:#151515;
  font-family:'Figtree',sans-serif;
  font-weight:800;
}
.ucal-wrap--premium .fc-list-event-dot{
  border-color:var(--ultreia-red);
}

.ucal-wrap--premium .ucal-panel{
  border-left:1px solid rgba(198,50,49,.12);
  background:
    radial-gradient(circle at 100% 0, rgba(198,50,49,.075), transparent 35%),
    #fff;
}
.ucal-wrap--premium .ucal-panel__empty{
  min-height:100%;
  padding:34px 28px;
}
.ucal-wrap--premium .ucal-panel__empty-icon{
  width:76px;
  height:76px;
  border-radius:24px;
  color:var(--ultreia-red);
  background:#fff5f3;
  border:1px solid rgba(198,50,49,.12);
  box-shadow:0 18px 44px rgba(198,50,49,.10);
}
.ucal-wrap--premium .ucal-panel__empty-title{
  margin:10px 0 0;
  font-family:'Poppins',sans-serif;
  font-size:20px;
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:800;
  color:#111;
}
.ucal-wrap--premium .ucal-panel__empty-text{
  max-width:240px;
  font-family:'Figtree',sans-serif;
  font-size:14px;
  color:#6f6a63;
}
.ucal-wrap--premium .ucal-panel__hero{
  height:210px;
  border-radius:0 0 28px 28px;
}
.ucal-wrap--premium .ucal-panel__hero img{
  transform:scale(1.01);
  filter:saturate(1.08) contrast(1.03);
}
.ucal-wrap--premium .ucal-panel__hero-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(0,0,0,.68) 100%);
}
.ucal-wrap--premium .ucal-panel__hero-tag{
  bottom:16px;
  left:16px;
  padding:7px 12px;
  border-radius:999px;
  font-family:'Poppins',sans-serif;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.35);
}
.ucal-wrap--premium .ucal-panel__close-btn{
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  background:rgba(0,0,0,.38);
  border:1px solid rgba(255,255,255,.25);
  transition:transform .22s ease, background .22s ease;
}
.ucal-wrap--premium .ucal-panel__close-btn:hover{
  transform:rotate(90deg) scale(1.03);
  background:rgba(0,0,0,.62);
}
.ucal-wrap--premium .ucal-panel__body{
  padding:24px;
  gap:14px;
}
.ucal-wrap--premium .ucal-panel__eyebrow{
  font-family:'Poppins',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  margin:0;
}
.ucal-wrap--premium .ucal-panel__title{
  margin:-4px 0 2px;
  font-family:'Poppins',sans-serif;
  font-size:28px;
  line-height:1.02;
  letter-spacing:-.055em;
  font-weight:800;
  color:#111;
}
.ucal-wrap--premium .ucal-panel__badge{
  min-height:30px;
  padding:7px 12px;
  border-radius:999px;
  box-shadow:0 12px 24px rgba(0,0,0,.10);
  font-family:'Poppins',sans-serif;
  font-size:11px;
  font-weight:800;
}
.ucal-wrap--premium .ucal-panel__meta{
  border-radius:18px;
  background:#fbf8f1;
  border:1px solid rgba(20,20,20,.07);
}
.ucal-wrap--premium .ucal-panel__meta-row{
  gap:12px;
  padding:13px 15px;
  border-bottom:1px solid rgba(20,20,20,.065);
}
.ucal-wrap--premium .ucal-panel__meta-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--ultreia-red);
  opacity:1;
  border:1px solid rgba(198,50,49,.12);
}
.ucal-wrap--premium .ucal-panel__meta-label{
  font-family:'Figtree',sans-serif;
  font-size:12px;
  font-weight:700;
  color:#777067;
}
.ucal-wrap--premium .ucal-panel__meta-val{
  font-family:'Poppins',sans-serif;
  font-size:12px;
  font-weight:800;
  color:#111;
  text-align:right;
}
.ucal-wrap--premium .ucal-panel__price-box{
  display:block;
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg,#fff7f5,#ffffff);
  border:1px solid rgba(198,50,49,.13);
}
.ucal-wrap--premium .ucal-panel__price-label{
  display:block;
  margin:0 0 4px;
  font-family:'Poppins',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:.24em;
  color:var(--ultreia-red);
}
.ucal-wrap--premium .ucal-panel__price-val{
  font-family:'Poppins',sans-serif;
  font-size:42px;
  line-height:.96;
  font-weight:800;
  letter-spacing:-.06em;
  color:var(--ultreia-red);
}
.ucal-wrap--premium .ucal-panel__btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 22px;
  border-radius:999px;
  font-family:'Poppins',sans-serif;
  font-size:13px;
  font-weight:800;
  color:#fff;
  text-decoration:none !important;
  box-shadow:0 18px 34px color-mix(in srgb,var(--ucal-trip,var(--ultreia-red)) 28%,transparent);
  transition:transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
.ucal-wrap--premium .ucal-panel__btn::after{
  content:"→";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin-left:10px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
}
.ucal-wrap--premium .ucal-panel__btn:hover{
  transform:translateY(-2px);
  filter:saturate(1.06) brightness(.96);
}

@media(max-width:1024px){
  .ucal-wrap--premium .ucal-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .ucal-wrap--premium .ucal-head__legend{
    justify-content:flex-start;
  }
  .ucal-wrap--premium .ucal-layout{
    grid-template-columns:1fr;
  }
  .ucal-wrap--premium .ucal-panel{
    border-left:0;
    border-top:1px solid rgba(198,50,49,.12);
  }
}
@media(max-width:700px){
  .ucal-wrap--premium .ucal-cal-side{padding:16px;}
  .ucal-wrap--premium .ucal-layout{border-radius:22px;}
  .ucal-wrap--premium .fc .fc-toolbar.fc-header-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .ucal-wrap--premium .fc-toolbar-chunk{
    display:flex;
    justify-content:center;
  }
  .ucal-wrap--premium .fc-toolbar-title{text-align:center;}
  .ucal-wrap--premium .fc-daygrid-day-frame{
    min-height:84px;
    padding:5px;
  }
  .ucal-wrap--premium .ucal-event{
    min-height:22px;
    padding:5px 7px;
    border-radius:9px;
  }
  .ucal-wrap--premium .ucal-event__price{display:none;}
  .ucal-wrap--premium .ucal-event__title{font-size:10px;}
  .ucal-wrap--premium .ucal-panel__hero{height:180px;}
}

/* ══════════════════════════════════════════════════════
   Ultreia Calendario partenze — Compact clean UI v2
   Meno ombre, meno sfumature, più compatto e leggibile
══════════════════════════════════════════════════════ */
.ucal-wrap--premium{
  --ultreia-red:#c63231;
  --ultreia-cream:#faf7f1;
  --ultreia-border:rgba(25,25,25,.075);
}

.ucal-wrap--premium .ucal-head{
  margin:0 0 14px !important;
  gap:18px !important;
}
.ucal-wrap--premium .ucal-head__eyebrow{
  margin:0 0 6px !important;
  font-size:11px;
  letter-spacing:.28em;
}
.ucal-wrap--premium .ucal-head__title{
  font-size:clamp(24px,3vw,38px);
  letter-spacing:-.045em;
}
.ucal-wrap--premium .ucal-head__text{
  max-width:500px !important;
  margin:8px 0 0 !important;
  font-size:14px;
  line-height:1.45;
}
.ucal-wrap--premium .ucal-head__legend{
  gap:6px !important;
  max-width:360px !important;
}
.ucal-wrap--premium .ucal-status-pill{
  min-height:26px !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  box-shadow:none !important;
  font-size:11px;
  background:#fff !important;
}
.ucal-wrap--premium .ucal-status-pill::before{
  width:7px !important;
  height:7px !important;
  box-shadow:none !important;
}

.ucal-wrap--premium .ucal-layout{
  grid-template-columns:minmax(0,1fr) 315px !important;
  border-radius:18px !important;
  border:1px solid rgba(20,20,20,.08) !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(17,17,17,.055) !important;
}
.ucal-wrap--premium .ucal-cal-side{
  padding:18px !important;
  background:#fff !important;
}

.ucal-wrap--premium .fc{
  --fc-border-color:rgba(20,20,20,.07);
  --fc-neutral-bg-color:#faf7f1;
  --fc-today-bg-color:rgba(198,50,49,.045);
}
.ucal-wrap--premium .fc .fc-toolbar.fc-header-toolbar{
  margin:0 0 12px !important;
  gap:8px !important;
}
.ucal-wrap--premium .fc-toolbar-title{
  font-size:clamp(18px,1.8vw,24px);
  letter-spacing:-.035em;
}
.ucal-wrap--premium .fc-button-group{gap:5px !important;}
.ucal-wrap--premium .fc .fc-button-primary{
  min-height:31px !important;
  padding:7px 11px !important;
  font-size:11px;
  border-radius:999px !important;
  box-shadow:none !important;
}
.ucal-wrap--premium .fc .fc-button-primary:hover,
.ucal-wrap--premium .fc .fc-button-primary:focus,
.ucal-wrap--premium .fc .fc-button-primary:not(:disabled).fc-button-active{
  transform:none !important;
  box-shadow:none !important;
}
.ucal-wrap--premium .fc .fc-prev-button,
.ucal-wrap--premium .fc .fc-next-button{
  width:31px !important;
}
.ucal-wrap--premium .fc-scrollgrid{
  border-radius:14px !important;
  background:#fff !important;
}
.ucal-wrap--premium .fc-col-header-cell{
  background:#faf7f1 !important;
}
.ucal-wrap--premium .fc-col-header-cell-cushion{
  padding:9px 5px !important;
  font-size:10px;
  letter-spacing:.15em;
}
.ucal-wrap--premium .fc-daygrid-day:hover{
  background:#fffaf5 !important;
}
.ucal-wrap--premium .fc-daygrid-day-frame{
  min-height:78px !important;
  padding:5px !important;
}
.ucal-wrap--premium .fc-daygrid-day-number{
  width:24px !important;
  height:24px !important;
  font-size:11px;
}
.ucal-wrap--premium .fc-day-today .fc-daygrid-day-number{
  box-shadow:none !important;
}
.ucal-wrap--premium .fc-daygrid-event{
  margin-top:3px !important;
}
.ucal-wrap--premium .ucal-event{
  min-height:22px !important;
  padding:4px 6px !important;
  border-radius:7px !important;
  background:var(--ucal-trip,var(--ultreia-red)) !important;
  box-shadow:none !important;
  gap:5px !important;
}
.ucal-wrap--premium .fc-event:hover .ucal-event{
  transform:translateY(-1px) !important;
  box-shadow:none !important;
  filter:brightness(.96) !important;
}
.ucal-wrap--premium .ucal-event__title{
  font-size:10px;
  font-weight:800;
}
.ucal-wrap--premium .ucal-event__price{
  padding:2px 5px !important;
  font-size:9px;
  background:rgba(255,255,255,.20) !important;
}
.ucal-wrap--premium .ucal-fc-event--soldout .ucal-event,
.ucal-wrap--premium .ucal-fc-event--ultimi .ucal-event,
.ucal-wrap--premium .ucal-fc-event--confermata .ucal-event,
.ucal-wrap--premium .ucal-fc-event--disponibili .ucal-event{
  box-shadow:none !important;
}
.ucal-wrap--premium .ucal-fc-event--soldout .ucal-event{background:#525252 !important;}
.ucal-wrap--premium .ucal-fc-event--ultimi .ucal-event{background:#f97316 !important;}
.ucal-wrap--premium .ucal-fc-event--confermata .ucal-event{background:#2563eb !important;}
.ucal-wrap--premium .ucal-fc-event--disponibili .ucal-event{background:#22c55e !important;}

.ucal-wrap--premium .ucal-panel{
  background:#fff !important;
  border-left:1px solid rgba(20,20,20,.08) !important;
}
.ucal-wrap--premium .ucal-panel__empty{
  padding:24px 20px !important;
}
.ucal-wrap--premium .ucal-panel__empty-icon{
  width:54px !important;
  height:54px !important;
  border-radius:16px !important;
  box-shadow:none !important;
  background:#fff7f5 !important;
}
.ucal-wrap--premium .ucal-panel__empty-title{
  font-size:18px;
}
.ucal-wrap--premium .ucal-panel__empty-text{
  font-size:13px;
  line-height:1.45;
}
.ucal-wrap--premium .ucal-panel__hero{
  height:145px !important;
  border-radius:0 !important;
}
.ucal-wrap--premium .ucal-panel__hero img{
  filter:saturate(1.03) contrast(1.01) !important;
}
.ucal-wrap--premium .ucal-panel__hero-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,0) 10%,rgba(0,0,0,.58) 100%) !important;
}
.ucal-wrap--premium .ucal-panel__hero-tag{
  bottom:12px !important;
  left:12px !important;
  padding:5px 9px !important;
  font-size:9px;
  letter-spacing:.1em;
}
.ucal-wrap--premium .ucal-panel__close-btn{
  top:10px !important;
  right:10px !important;
  width:28px !important;
  height:28px !important;
}
.ucal-wrap--premium .ucal-panel__body{
  padding:17px !important;
  gap:10px !important;
}
.ucal-wrap--premium .ucal-panel__eyebrow{
  font-size:9px;
  letter-spacing:.22em;
}
.ucal-wrap--premium .ucal-panel__title{
  font-size:23px;
  line-height:1.04;
}
.ucal-wrap--premium .ucal-panel__badge{
  min-height:25px !important;
  padding:5px 9px !important;
  box-shadow:none !important;
  font-size:10px;
}
.ucal-wrap--premium .ucal-panel__meta{
  border-radius:13px !important;
  background:#fff !important;
}
.ucal-wrap--premium .ucal-panel__meta-row{
  padding:9px 11px !important;
  gap:9px !important;
}
.ucal-wrap--premium .ucal-panel__meta-icon{
  width:27px !important;
  height:27px !important;
  border-radius:9px !important;
}
.ucal-wrap--premium .ucal-panel__meta-label{
  font-size:10px;
}
.ucal-wrap--premium .ucal-panel__meta-val{
  font-size:11px;
}
.ucal-wrap--premium .ucal-panel__price-box{
  padding:13px !important;
  border-radius:14px !important;
  background:#fff !important;
}
.ucal-wrap--premium .ucal-panel__price-label{
  font-size:9px;
  letter-spacing:.22em;
}
.ucal-wrap--premium .ucal-panel__price-val{
  font-size:33px;
}
.ucal-wrap--premium .ucal-panel__btn{
  min-height:42px !important;
  padding:12px 18px !important;
  font-size:12px;
  box-shadow:0 8px 18px rgba(198,50,49,.14) !important;
}
.ucal-wrap--premium .ucal-panel__btn:hover{
  transform:translateY(-1px) !important;
}
.ucal-wrap--premium .fc-popover{
  box-shadow:0 12px 34px rgba(0,0,0,.10) !important;
}

@media(max-width:1024px){
  .ucal-wrap--premium .ucal-layout{grid-template-columns:1fr !important;}
  .ucal-wrap--premium .ucal-panel{border-left:0 !important;border-top:1px solid rgba(20,20,20,.08) !important;}
}
@media(max-width:700px){
  .ucal-wrap--premium .ucal-head{gap:12px !important;}
  .ucal-wrap--premium .ucal-cal-side{padding:12px !important;}
  .ucal-wrap--premium .ucal-layout{border-radius:16px !important;}
  .ucal-wrap--premium .fc-daygrid-day-frame{min-height:64px !important;}
  .ucal-wrap--premium .ucal-event__price{display:none !important;}
}


/* ══════════════════════════════════════════════════════
   Ultreia Calendario partenze — Editable compact UI v3
   - sotto 90vh
   - testi modificabili da Elementor
   - layout più compatto
══════════════════════════════════════════════════════ */
.ucal-wrap--premium{
  --ucal-max-height:86vh;
  --ucal-cell-height:52px;
  --ucal-panel-width:280px;
  --ucal-panel-img:112px;
  --ucal-event-height:20px;
}
.ucal-wrap--premium .ucal-head{
  margin:0 0 10px !important;
  align-items:flex-end !important;
}
.ucal-wrap--premium .ucal-head__eyebrow{
  color:#c63231;
  margin:0 0 5px !important;
  text-transform:uppercase;
  font-weight:500;
  letter-spacing:.28em;
}
.ucal-wrap--premium .ucal-head__title{
  margin:0 !important;
  color:#101010;
  font-weight:800;
  letter-spacing:-.04em;
}
.ucal-wrap--premium .ucal-head__text{
  margin:6px 0 0 !important;
  color:#4b5563;
}
.ucal-wrap--premium .ucal-layout{
  grid-template-columns:minmax(0,1fr) var(--ucal-panel-width) !important;
  max-height:calc(var(--ucal-max-height) - 94px) !important;
  overflow:hidden !important;
  box-shadow:0 6px 18px rgba(17,17,17,.04) !important;
}
.ucal-wrap--premium .ucal-cal-side{
  min-width:0 !important;
  overflow:hidden !important;
  padding:14px !important;
}
.ucal-wrap--premium .fc .fc-toolbar.fc-header-toolbar{
  margin-bottom:8px !important;
}
.ucal-wrap--premium .fc-toolbar-title{
  font-weight:800;
}
.ucal-wrap--premium .fc-col-header-cell-cushion{
  padding:7px 4px !important;
}
.ucal-wrap--premium .fc-daygrid-day-frame{
  min-height:var(--ucal-cell-height) !important;
  padding:4px !important;
}
.ucal-wrap--premium .fc-daygrid-day-events{
  min-height:0 !important;
  margin:0 !important;
}
.ucal-wrap--premium .fc-daygrid-event{
  margin-top:2px !important;
}
.ucal-wrap--premium .ucal-event{
  min-height:var(--ucal-event-height) !important;
  padding:3px 6px !important;
  border-radius:6px !important;
  box-shadow:none !important;
}
.ucal-wrap--premium .ucal-event__title{
  font-weight:700;
}
.ucal-wrap--premium .ucal-panel{
  min-width:0 !important;
  overflow:auto !important;
}
.ucal-wrap--premium .ucal-panel__hero{
  height:var(--ucal-panel-img) !important;
}
.ucal-wrap--premium .ucal-panel__body{
  padding:14px !important;
  gap:8px !important;
}
.ucal-wrap--premium .ucal-panel__title{
  font-weight:800;
  letter-spacing:-.035em;
}
.ucal-wrap--premium .ucal-panel__meta-row{
  padding:7px 9px !important;
}
.ucal-wrap--premium .ucal-panel__price-box{
  padding:10px 12px !important;
}
.ucal-wrap--premium .ucal-panel__price-val{
  font-weight:800;
}
.ucal-wrap--premium .ucal-panel__btn{
  min-height:38px !important;
  padding:10px 14px !important;
  box-shadow:none !important;
}
.ucal-wrap--premium .ucal-status-pill,
.ucal-wrap--premium .fc .fc-button-primary,
.ucal-wrap--premium .ucal-panel__badge,
.ucal-wrap--premium .ucal-panel__btn{
  box-shadow:none !important;
}
@media(max-width:1024px){
  .ucal-wrap--premium .ucal-layout{
    max-height:none !important;
    overflow:visible !important;
  }
  .ucal-wrap--premium .ucal-panel{overflow:visible !important;}
}

/* ══════════════════════════════════════════════════════
   Ultreia Calendario partenze — micro fix v4
   - frecce perfettamente tonde
   - X pannello perfettamente tonda
   - spacing intestazione controllato da Elementor
══════════════════════════════════════════════════════ */
.ucal-wrap--premium .fc .fc-prev-button,
.ucal-wrap--premium .fc .fc-next-button{
  width:32px !important;
  min-width:32px !important;
  max-width:32px !important;
  height:32px !important;
  min-height:32px !important;
  max-height:32px !important;
  padding:0 !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  flex:0 0 32px !important;
  aspect-ratio:1 / 1 !important;
}
.ucal-wrap--premium .fc .fc-prev-button .fc-icon,
.ucal-wrap--premium .fc .fc-next-button .fc-icon{
  width:16px !important;
  height:16px !important;
  line-height:16px !important;
  font-size:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
}
.ucal-wrap--premium .fc .fc-button-group{
  align-items:center !important;
}
.ucal-wrap--premium .ucal-panel__close-btn{
  width:30px !important;
  min-width:30px !important;
  max-width:30px !important;
  height:30px !important;
  min-height:30px !important;
  max-height:30px !important;
  padding:0 !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  aspect-ratio:1 / 1 !important;
  font-size:15px !important;
  box-sizing:border-box !important;
}
