/* UniGames pricing — reference-led component, not a new site identity.
 * White comparison cards; one deep-blue/green-accent offer per row.
 * Read: offer > participants > price > booking > contiguous benefits > extras.
 * No invented popularity, discounts or inclusions. Existing calculator untouched.
 */
:is(.cf-pricing-box-row-2, .cf-pricing-box-row-3, .cf-pricing-box-row-6, .cf-pricing-box-row-7, .cf-pricing-box-row-11):has(> .ug-pricing-card) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 18px;
  row-gap: 0;
  width: 100%;
  max-width: 1100px;
  padding: 6px;
  margin: 0 auto 24px !important;
  align-items: stretch;
}
/* Preserve Webflow's inactive period; only its visible flex state becomes grid. */
:is(.cf-pricing-box-row-2, .cf-pricing-box-row-3, .cf-pricing-box-row-6, .cf-pricing-box-row-7, .cf-pricing-box-row-11):has(> .ug-pricing-card):not([style*="display: none"]) {
  display: grid !important;
}
:is(.cf-pricing-box-row-2, .cf-pricing-box-row-3, .cf-pricing-box-row-6, .cf-pricing-box-row-7, .cf-pricing-box-row-11):has(> .ug-pricing-card:where(:nth-child(4))) {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
:is(.cf-pricing-box-row-2, .cf-pricing-box-row-3, .cf-pricing-box-row-6, .cf-pricing-box-row-7, .cf-pricing-box-row-11):has(> .ug-pricing-card:where(:nth-child(2):last-child)) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 780px;
}
.ug-pricing-card:is(.cf-pricing-box-2, .cf-pricing-box-3, .cf-pricing-box-6, .cf-pricing-box-7, .cf-pricing-box-11) {
  --ug-price-ink: #17313c;
  --ug-price-muted: #53656d;
  --ug-price-line: #dfe7e9;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 14;
  row-gap: 0;
  align-items: stretch;
  min-width: 0;
  width: auto !important;
  max-width: none !important;
  min-height: 0;
  height: auto;
  margin: 0 0 18px !important;
  padding: 24px 20px 12px !important;
  border: 0;
  border-radius: 16px;
  background: #fff !important;
  color: var(--ug-price-ink);
  box-shadow: 0 4px 16px rgba(21, 48, 58, .09);
  font-family: Inter, sans-serif;
  text-align: left;
  scroll-margin-top: 110px;
}
.ug-pricing-card.ug-pricing-featured.black {
  --ug-price-ink: #f5fcfa;
  --ug-price-muted: #bfd0d3;
  --ug-price-line: #3b565f;
  background: radial-gradient(ellipse at 100% 0%, rgba(54, 168, 104, .28), transparent 58%), #122d38 !important;
  box-shadow: 0 8px 22px rgba(16, 44, 54, .16);
}
.ug-pricing-card > .ug-pricing-header {
  display: grid !important;
  grid-template-rows: subgrid;
  grid-template-columns: minmax(0, 1fr);
  grid-row: span 6;
  row-gap: 0;
  align-items: stretch !important;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}
.ug-plan-symbol {
  grid-row: 1;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 16px;
  border-radius: 8px;
  color: #386573;
  background: #edf4f5;
}
.ug-plan-symbol svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ug-pricing-featured .ug-plan-symbol {
  color: #8fe6a8;
  background: #2b5044;
}
.ug-pricing-card .ug-pricing-header > [class*="cf-pricing-plan-text-"] {
  grid-row: 2;
  min-height: 0;
  margin: 0 0 8px;
  color: var(--ug-price-ink) !important;
  -webkit-text-fill-color: currentColor;
  font: 650 19px/1.25 Inter, sans-serif;
  letter-spacing: -.025em;
  text-align: left;
  text-wrap: pretty;
}
.ug-pricing-card .ug-pricing-header > [class*="cf-pricing-plan-note-text-"] {
  display: block;
  grid-row: 3;
  min-height: 0;
  margin: 0 0 14px;
  color: var(--ug-price-muted) !important;
  font: 400 13px/1.5 Inter, sans-serif;
  text-align: left;
}
.ug-pricing-card :is([class*="cf-pricing-plan-note-text-"], [class*="cf-pricing-plan-content-text-"]) :is(em, strong, span, a) {
  color: inherit !important;
  font: inherit;
}
.ug-pricing-card .ppParticipantsBox {
  display: contents !important;
}
.ug-pricing-card .ppSelectWrap {
  grid-row: 4;
  width: 100% !important;
  margin: 0 0 12px !important;
  align-self: end;
}
.ug-pricing-card .ppSelectWrap select {
  width: 100% !important;
  min-height: 42px;
  border-radius: 8px !important;
  font: 500 13px/1.4 Inter, sans-serif !important;
}
.ug-pricing-card .ppSelectWrap:focus-within {
  outline: 2px solid #0878b0;
  outline-offset: 3px;
  border-radius: 8px;
}
.ug-pricing-card .ug-pricing-header > :is(.pp-price-wrap, [class*="cf-pricing-plan-price-"]) {
  grid-row: 5;
  align-self: start;
  margin: 0 !important;
  max-width: 100%;
}
.ug-pricing-card .pp-price-wrap {
  justify-content: flex-start !important;
  align-items: baseline !important;
  gap: 5px !important;
  margin: 0 !important;
}
.ug-pricing-card [class*="cf-pricing-plan-price-"] {
  position: static !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0;
  background: none !important;
  color: var(--ug-price-ink) !important;
  -webkit-text-fill-color: currentColor;
  font: 700 34px/1.15 Inter, sans-serif;
  letter-spacing: -.035em;
  font-variant-numeric: tabular-nums;
  text-align: left !important;
}
.ug-pricing-card .pp-sub {
  color: var(--ug-price-muted) !important;
  font: 500 12px/1.2 Inter, sans-serif !important;
  opacity: 1 !important;
}
.ug-escape-card[id$="escape-1"] [class*="cf-pricing-plan-price-"]::after {
  content: " / journée";
  color: var(--ug-price-muted);
  font: 500 12px/1.2 Inter, sans-serif;
  letter-spacing: 0;
}
.ug-pricing-card .ppHint {
  grid-row: 6;
  margin: 6px 0 0 !important;
  color: var(--ug-price-muted) !important;
  font: 400 12px/1.4 Inter, sans-serif !important;
  text-align: left !important;
}
.ug-pricing-card .ppHint span { opacity: 1 !important; }
.ug-pricing-card > .pricing-button {
  grid-row: 7;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  align-self: start;
  width: 100%;
  min-height: 44px;
  margin: 16px 0 18px;
  padding: 10px 12px !important;
  border: 1px solid #9fb4bb;
  border-radius: 8px;
  background: #fff !important;
  color: #17313c !important;
  font: 600 13px/1.4 Inter, sans-serif !important;
  text-decoration: none;
  text-align: center;
  box-shadow: none;
}
.ug-pricing-card > .pricing-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ug-pricing-card > .pricing-button:hover {
  background: #edf5f6 !important;
  border-color: #376572;
}
.ug-pricing-card.ug-pricing-featured > .pricing-button {
  border-color: transparent;
  background: #80db9a !important;
  color: #102d38 !important;
}
.ug-pricing-card.ug-pricing-featured > .pricing-button:hover {
  background: #a1eab4 !important;
}
.ug-pricing-card > .ug-pricing-features {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: 8 / span 6;
  row-gap: 0;
  min-width: 0;
  padding: 16px 0;
  border-top: 1px dashed var(--ug-price-line);
}
.ug-pricing-card .ug-pricing-features > [class*="cf-pricing-plan-content-item-"] {
  grid-row: var(--ug-feature-row);
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  align-self: start;
  gap: 8px;
  width: 100%;
  min-height: 0;
  margin: 0 0 9px;
  padding: 0;
}
.ug-pricing-card .ug-pricing-features [class*="cf-pricing-plan-content-text-"] {
  position: static;
  margin: 0;
  color: var(--ug-price-ink) !important;
  font: 400 13px/1.5 Inter, sans-serif;
  text-align: left;
}
.ug-feature-check {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  fill: none;
  stroke: #65818a;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ug-pricing-featured .ug-feature-check { stroke: #8cd8ac; }
.ug-pricing-card > :is(.ug-pricing-options, .ug-pricing-no-options) {
  grid-row: 14;
}
.ug-pricing-options {
  min-width: 0;
  border-top: 1px solid var(--ug-price-line);
  color: var(--ug-price-ink);
}
.ug-pricing-options > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 12px 0;
  list-style: none;
  cursor: pointer;
  font: 500 12px/1.4 Inter, sans-serif;
  color: var(--ug-price-muted);
  user-select: none;
}
.ug-pricing-options > summary::-webkit-details-marker { display: none; }
.ug-pricing-options > summary:hover { color: var(--ug-price-ink); }
.ug-pricing-options > summary svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ug-pricing-options[open] > summary svg { transform: rotate(180deg); }
.ug-pricing-option-list {
  list-style: none;
  margin: 0;
  padding: 0 0 4px;
  color: var(--ug-price-muted);
  font: 400 13px/1.55 Inter, sans-serif;
}
.ug-pricing-option-list > li { margin: 0; padding: 10px 0; }
.ug-pricing-option-list > li + li { border-top: 1px solid var(--ug-price-line); }
.ug-option-amount { color: var(--ug-price-ink); font-weight: 650; white-space: nowrap; }
.ug-pricing-card :is(a, summary):focus-visible {
  outline: 2px solid #0878b0;
  outline-offset: 3px;
  border-radius: 8px;
}
.ug-pricing-featured :is(a, summary):focus-visible,
.ug-pricing-featured .ppSelectWrap:focus-within { outline-color: #a1eab4; }
:is(.cf-wrapper-1200px-3, .cf-wrapper-1200px-13):has([class*="cf-pricing-box-row-"]) { width: 100%; }
@media (max-width: 991px) {
  :is(.cf-pricing-box-row-2, .cf-pricing-box-row-3, .cf-pricing-box-row-6, .cf-pricing-box-row-7, .cf-pricing-box-row-11):has(> .ug-pricing-card) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  :is(.cf-pricing-box-row-2, .cf-pricing-box-row-3, .cf-pricing-box-row-6, .cf-pricing-box-row-7, .cf-pricing-box-row-11):has(> .ug-pricing-card) {
    grid-template-columns: minmax(0, 1fr);
  }
  .ug-pricing-card:is(.cf-pricing-box-2, .cf-pricing-box-3, .cf-pricing-box-6, .cf-pricing-box-7, .cf-pricing-box-11) {
    padding: 22px 20px 12px !important;
  }
}
