/* [L6 pàgines base 2026-09-30] Els <li> del mòdul i els <p> de dins no hereten el sagnat, el marge ni la mida
   de llista del tema (main li i main li p: padding-left 18px, margin-bottom 10px, font-size de llista).
   :where() deixa (0,1,0): guanya a main li p (0,0,3) i qualsevol regla pròpia del mòdul hi guanya. El li que
   porta .ia-card queda fora del padding: el posa la primitiva .ia-card (--ia-card-padding). */
.iaLayer-iapricingv1 :where(li) { margin: 0; }
.iaLayer-iapricingv1 :where(li:not(.ia-card), li p) { padding: 0; margin-inline: 0; }
.iaLayer-iapricingv1 :where(li:not(.ia-card) p) { font-size: inherit; }
.iaLayer-iapricingv1 {
  box-sizing: border-box;
  width: 100%;
  padding-block: var(--ia-space-xl, 4rem);
  color: var(--ia-color-text, #1a1a1a);
  font-family: var(--ia-font-body, sans-serif);
}
.iaLayer-iapricingv1 *,
.iaLayer-iapricingv1 *::before,
.iaLayer-iapricingv1 *::after { box-sizing: border-box; }
.iaLayer-iapricingv1 .ipv1-header {
  max-width: 65ch;
  margin-top: var(--ia-space-s, 1rem); margin-bottom: 0; margin-inline: auto;
  text-align: center;
}
.iaLayer-iapricingv1 .ipv1-eyebrow {
  margin-top: var(--ia-space-s, 1rem); margin-bottom: 0;
  font-size: var(--ia-eyebrow-size);
  font-weight: var(--ia-eyebrow-weight);
  line-height: var(--ia-eyebrow-lh);
  letter-spacing: var(--ia-eyebrow-tracking);
  text-transform: var(--ia-eyebrow-transform);
  color: var(--ia-color-text-soft, #6b6b6b);
}
.iaLayer-iapricingv1 .ipv1-title {
  margin-top: var(--ia-space-xs, 0.5rem); margin-bottom: 0;
  font-family: var(--ia-font-heading, sans-serif);
  font-size: var(--ia-title-section-size);
  font-weight: var(--ia-title-section-weight);
  line-height: var(--ia-title-section-lh);
  overflow-wrap: break-word;
  text-wrap: balance;
  color: var(--ia-color-text, #1a1a1a);
}
.iaLayer-iapricingv1 .ipv1-intro {
  margin-top: var(--ia-space-s, 1rem); margin-bottom: 0;
  font-size: var(--ia-body-size);
  line-height: var(--ia-body-lh);
  overflow-wrap: break-word;
  color: var(--ia-color-text-soft, #6b6b6b);
}
/* [MOVE-READY 2026-10-03] Espaiat «cada peça el seu margin-top + reinici del primer fill» (només layout; l'aspecte per defecte no canvia): moure una peça s'emporta el seu espai. */
.iaLayer-iapricingv1 .ipv1-header > :first-child { margin-top: 0; }
.iaLayer-iapricingv1 .ipv1-intro a,
.iaLayer-iapricingv1 .ipv1-features a {
  color: var(--ia-color-text, #1a1a1a);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.iaLayer-iapricingv1 .ipv1-intro a:focus-visible,
.iaLayer-iapricingv1 .ipv1-features a:focus-visible {
  outline: 2px solid var(--ia-color-focus-ring, #1a1a1a);
  outline-offset: 2px;
}
.iaLayer-iapricingv1 .ipv1-grid {
  list-style: none;
  margin-top: var(--ia-space-l, 2.5rem); margin-bottom: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--ia-collection-gap, 1.5rem);
  align-items: stretch;
}
/* [MOVE-READY 2026-10-03] Espaiat «cada peça el seu margin-top + reinici del primer fill» (només layout; l'aspecte per defecte no canvia): moure una peça s'emporta el seu espai. */
.iaLayer-iapricingv1 > :first-child { margin-top: 0; }
/* [MOVE-READY] El vídeo de fons (iaLayer_bg_video.js) s'insereix com a PRIMER fill de l'arrel (absolut): la primera peça real tampoc no ha de portar marge a dalt. */
.iaLayer-iapricingv1 > .ia-bg-video:first-child + * { margin-top: 0; }
.iaLayer-iapricingv1 .ipv1-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--ia-card-rhythm, 0.5em);
  min-width: 0;
  margin: 0;
  color: var(--ia-card-text-color, var(--ia-color-text, #1a1a1a));
}
.iaLayer-iapricingv1 .ipv1-plan::before { content: none; }
/* [L6 pàgines base 2026-09-30] El pla destacat porta una vora pròpia de 2px: amb --ia-card-padding a 0 (tema) el
   text, les vinyetes i el badge tocaven la vora. Redefinició local del token (com la vora i l'ombra): la
   primitiva .ia-card en pren el padding. */
.iaLayer-iapricingv1 .ipv1-plan--featured {
  --ia-card-border: 2px solid var(--ia-color-primary, #000000);
  --ia-card-shadow: var(--ia-card-hover-shadow, 0 10px 28px rgba(0, 0, 0, 0.09));
  --ia-card-padding: var(--ia-space-s, 1.25rem);
}
.iaLayer-iapricingv1 .ipv1-badge {
  align-self: flex-start;
  margin: 0;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background-color: var(--ia-color-primary, #000000);
  color: var(--ia-color-primary-contrast-text, #ffffff);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.iaLayer-iapricingv1 .ipv1-name {
  margin: 0;
  font-family: var(--ia-font-heading, sans-serif);
  font-size: var(--ia-card-title-size);
  font-weight: var(--ia-card-title-weight);
  line-height: var(--ia-card-title-lh);
  overflow-wrap: break-word;
  color: var(--ia-color-text, #1a1a1a);
}
.iaLayer-iapricingv1 .ipv1-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.375rem;
  margin: var(--ia-space-xs, 0.5rem) 0 0;
  line-height: 1.1;
}
.iaLayer-iapricingv1 .ipv1-amount {
  font-family: var(--ia-font-heading, sans-serif);
  font-size: clamp(2rem, 1.6rem + 1.5vw, 2.75rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
  color: var(--ia-color-text, #1a1a1a);
}
.iaLayer-iapricingv1 .ipv1-period {
  font-size: var(--ia-card-text-size);
  line-height: var(--ia-card-text-lh);
  font-weight: var(--ia-font-weight-normal);
  color: var(--ia-color-text-soft, #6b6b6b);
}
.iaLayer-iapricingv1 .ipv1-price-alt {
  margin: 0;
  font-size: var(--ia-card-text-size);
  line-height: var(--ia-card-text-lh);
  color: var(--ia-color-text-soft, #6b6b6b);
}
.iaLayer-iapricingv1 .ipv1-desc {
  margin: 0;
  font-size: var(--ia-card-text-size);
  line-height: var(--ia-card-text-lh);
  overflow-wrap: break-word;
  color: var(--ia-color-text-soft, #6b6b6b);
}
.iaLayer-iapricingv1 .ipv1-features {
  margin-top: var(--ia-space-xs, 0.5rem);
  padding-top: var(--ia-space-s, 1rem);
  border-top: 1px solid var(--ia-color-border, #d6d6d6);
  font-size: var(--ia-card-text-size);
  line-height: var(--ia-card-text-lh);
  overflow-wrap: break-word;
  color: var(--ia-color-text, #1a1a1a);
}
/* [MT-06-2b] El <p> i el <li> del text ric segueixen el contenidor (mida, color i interlineat de «text d'ítem»): `main p`/`main li` del tema els en treien. */
.iaLayer-iapricingv1 .ipv1-features p { margin: 0 0 0.5em; font-size: inherit; color: inherit; font-weight: inherit; line-height: inherit; }
.iaLayer-iapricingv1 .ipv1-features ul,
.iaLayer-iapricingv1 .ipv1-features ol {
  margin: 0;
  padding-left: 1.25em;
}
.iaLayer-iapricingv1 .ipv1-features li {
  margin: 0 0 0.4em;
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.iaLayer-iapricingv1 .ipv1-features li::marker { color: var(--ia-color-text-soft, #6b6b6b); }
.iaLayer-iapricingv1 .ipv1-actions {
  margin-top: auto;
  padding-top: var(--ia-space-m, 1.5rem);
}
.iaLayer-iapricingv1 .ipv1-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: var(--ia-space-xs, 0.75rem) var(--ia-space-m, 1.5rem);
  border: var(--ia-button-secondary-border-size) var(--ia-button-secondary-border-type) var(--ia-button-secondary-border);
  border-radius: var(--ia-radius-button, 4px);
  background-color: var(--ia-button-secondary-bg);
  color: var(--ia-button-secondary-text);
  font-family: var(--ia-font-body, sans-serif);
  font-size: var(--ia-btn-size);
  font-weight: var(--ia-btn-weight);
  line-height: var(--ia-btn-lh);
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: var(--ia-interaction-transition, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease);
}
.iaLayer-iapricingv1 .ipv1-plan--featured .ipv1-cta {
  background-color: var(--ia-button-primary-bg);
  border-width: var(--ia-button-primary-border-size);
  border-style: var(--ia-button-primary-border-type);
  border-color: var(--ia-button-primary-border);
  color: var(--ia-button-primary-text);
}
.iaLayer-iapricingv1 .ipv1-cta:hover {
  background-color: var(--ia-button-secondary-bg-hover);
  border-color: var(--ia-button-secondary-border-hover);
  color: var(--ia-button-secondary-text-hover);
  text-decoration: none;
}
.iaLayer-iapricingv1 .ipv1-plan--featured .ipv1-cta:hover {
  background-color: var(--ia-button-primary-bg-hover);
  border-color: var(--ia-button-primary-border-hover);
  color: var(--ia-button-primary-text-hover);
  text-decoration: none;
}
.iaLayer-iapricingv1 .ipv1-cta:focus-visible {
  outline: 3px solid var(--ia-color-focus-ring, #1a1a1a);
  outline-offset: 3px;
}
/* [L6 pàgines base 2026-09-30] El CTA porta .btn i la regla del tema .btn:not(.no-style-btn *):not(.no-style-btn)
   ((0,3,0), text-transform: var(--button-text-transform) = uppercase) el posava en majúscules, l'únic CTA del lloc.
   (0,4,0) i sense !important. */
.iaLayer-iapricingv1 .ipv1-actions .ipv1-cta.btn { text-transform: none; }
@media (min-width: 40em) {
  .iaLayer-iapricingv1 .ipv1-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64em) {
  .iaLayer-iapricingv1[data-columns="3"] .ipv1-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .iaLayer-iapricingv1[data-columns="4"] .ipv1-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 40em) and (max-width: 63.99em) {
  .iaLayer-iapricingv1[data-columns="3"] .ipv1-plan:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* [D29 2026-09-30] Decisió 29 (Xavi): el mòdul no té fons (superfície default) i les seves caixes amb vora no toquen la vora de la pantalla; gutter = var(--ia-section-gutter) [L6 GUTTER 28 2026-09-30]. */
.iaLayer-iapricingv1 { padding-inline: var(--ia-section-gutter, 28px); }
