.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-16605 .elementor-element.elementor-element-0e3e4c2{--display:flex;}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}@media(max-width:1024px){.elementor-widget-container .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-container .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-html .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-html .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}}@media(max-width:767px){.elementor-widget-container .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-container .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-html .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-html .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}}/* Start custom CSS for html, class: .elementor-element-2fbc09d *//* Contenidor principal del post */
.dm-post-body {
  font-family:  var(--dm-font-body);
  color:        var(--dm-fg-soft);
  font-size:    17px;
  line-height:  1.78;
  max-width:    720px;
  margin:       0 auto;
  padding-bottom: 60px;
}

/* Botons CTA — text sempre blanc */
.dm-post-body .dm-btn--primary,
.dm-post-body .dm-btn--outline { color: #fff !important; }

/* Headings dins el cos de l'article */
.dm-post-body h2 {
  font-family:    var(--dm-font-body);
  font-size:      clamp(19px, 2.6vw, 24px);
  font-weight:    700;
  color:          var(--dm-fg);
  letter-spacing: -.02em;
  line-height:    1.25;
  margin:         52px 0 16px;
  padding-top:    20px;
  border-top:     1px solid var(--dm-border);
}
.dm-post-body h2:first-of-type { margin-top: 0; border-top: none; padding-top: 0; }

.dm-post-body p { margin-bottom: 20px; }
.dm-post-body p:last-child { margin-bottom: 0; }
.dm-post-body strong { color: var(--dm-fg); font-weight: 600; }

/* Imatges dins el cos */
.dm-post-img {
  margin:        36px 0;
  border-radius: var(--dm-r);
  overflow:      hidden;
  border:        1px solid var(--dm-border);
}
.dm-post-img img { width: 100%; height: 300px; object-fit: cover; display: block; }
.dm-post-img figcaption {
  font-size:    12px;
  color:        var(--dm-fg-muted);
  padding:      10px 16px;
  border-top:   1px solid var(--dm-border);
  background:   rgba(0,0,0,0.18);
}

/* Pull quote */
.dm-post-quote {
  border-left: 3px solid var(--dm-violet);
  background:  rgba(180,124,253,0.07);
  border-radius: 0 var(--dm-r-sm) var(--dm-r-sm) 0;
  padding:     20px 26px 20px 28px;
  margin:      36px 0;
  font-size:   17.5px;
  font-weight: 500;
  color:       var(--dm-fg);
  line-height: 1.65;
  position:    relative;
}
.dm-post-quote::before {
  content:    '"';
  font-size:  60px;
  color:      var(--dm-violet);
  opacity:    .22;
  position:   absolute;
  top:        -6px; left: 12px;
  line-height: 1;
}

/* Bloc clau */
.dm-post-key {
  background:    var(--dm-bg-card);
  border:        1px solid var(--dm-border);
  border-radius: var(--dm-r);
  padding:       18px 22px;
  margin:        32px 0;
  display:       flex;
  gap:           14px;
  align-items:   flex-start;
}
.dm-post-key-icon {
  width: 38px; height: 38px; border-radius: 9px; flex-shrink: 0;
  background: var(--dm-grad);
  display: flex; align-items: center; justify-content: center; font-size: 17px;
}
.dm-post-key-title { font-size: 14px; font-weight: 700; color: var(--dm-fg); margin-bottom: 5px; }
.dm-post-key-desc  { font-size: 13.5px; color: var(--dm-fg-soft); line-height: 1.65; }

/* Comparativa */
.dm-post-compare {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   14px;
  margin:                32px 0;
}
.dm-post-col {
  background:    var(--dm-bg-card);
  border:        1px solid var(--dm-border);
  border-radius: var(--dm-r);
  padding:       18px 20px;
}
.dm-post-col--new { border-color: var(--dm-border-accent); }
.dm-post-col-tag {
  font-size:      10px;
  font-weight:    700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius:  var(--dm-r-pill);
  padding:        4px 10px;
  display:        inline-block;
  margin-bottom:  12px;
}
.dm-post-col-tag--old { background: rgba(255,255,255,0.07); color: var(--dm-fg-muted); }
.dm-post-col-tag--new { background: rgba(180,124,253,0.14); color: var(--dm-violet); }
.dm-post-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.dm-post-col li { font-size: 13px; color: var(--dm-fg-soft); display: flex; gap: 7px; align-items: flex-start; line-height: 1.5; }
.dm-post-col li::before { content: '·'; color: var(--dm-violet); flex-shrink: 0; }

/* Secció FAQ — el toggle usem el pattern de les landings */
.dm-post-faq-wrap { margin: 64px 0 0; padding-top: 32px; border-top: 1px solid var(--dm-border); }
.dm-post-faq-wrap > h2 {
  font-family:  var(--dm-font-body);
  font-size:    22px;
  font-weight:  700;
  color:        var(--dm-fg);
  margin:       10px 0 24px;
  border:       none;
  padding:      0;
}

/* faq__item, faq__q, faq__q-toggle, faq__a
   Seguim el mateix pattern que les landings de servei.
   La major part de l'estil ve del CSS base (dm-faq__item).
   Aquí afegim els detalls específics del toggle circular. */
.dm-post-faq-wrap .faq__list { display: grid; gap: 10px; }
.dm-post-faq-wrap .faq__item {
  background:    var(--dm-bg-card);
  border:        1px solid var(--dm-border);
  border-radius: var(--dm-r-lg);
  overflow:      hidden;
  transition:    border-color 220ms var(--dm-ease);
}
.dm-post-faq-wrap .faq__item[open] { border-color: var(--dm-border-pink); }
.dm-post-faq-wrap .faq__q {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  padding:         20px 24px;
  cursor:          pointer;
  list-style:      none;
  font-family:     var(--dm-font-body);
  font-size:       15px;
  font-weight:     600;
  color:           var(--dm-fg);
  user-select:     none;
}
.dm-post-faq-wrap .faq__q::-webkit-details-marker { display: none; }
.dm-post-faq-wrap .faq__q-toggle {
  width:           28px; height: 28px;
  border-radius:   50%;
  background:      var(--dm-grad);
  flex-shrink:     0;
  position:        relative;
}
.dm-post-faq-wrap .faq__q-toggle::before,
.dm-post-faq-wrap .faq__q-toggle::after {
  content:    '';
  position:   absolute;
  background: #fff;
  left: 50%; top: 50%;
  transform:  translate(-50%, -50%);
}
.dm-post-faq-wrap .faq__q-toggle::before { width: 12px; height: 2px; }
.dm-post-faq-wrap .faq__q-toggle::after  { width: 2px; height: 12px; transition: opacity 200ms; }
.dm-post-faq-wrap .faq__item[open] .faq__q-toggle::after { opacity: 0; }
.dm-post-faq-wrap .faq__a {
  padding:     0 24px 20px;
  padding-top: 16px;
  font-size:   14.5px;
  color:       var(--dm-fg-soft);
  line-height: 1.72;
  border-top:  1px solid var(--dm-border);
}

/* CTA final — aprofitem l'estructura del CSS base .dm-cta-final */
.dm-post-cta-wrap {
  margin-top:    64px;
  border-radius: var(--dm-r-xl);
  overflow:      hidden;
  background:
    radial-gradient(circle at 18% 20%, rgba(180,124,253,0.12), transparent 30%),
    radial-gradient(circle at 82% 72%, rgba(255,127,194,0.08), transparent 24%),
    var(--dm-bg-card);
  border: 1px solid var(--dm-border-accent);
  padding: 52px 40px;
  text-align: center;
  position: relative;
}
.dm-post-cta-wrap h2 {
  font-family:    var(--dm-font-body);
  font-size:      clamp(20px, 3vw, 28px);
  font-weight:    800;
  color:          var(--dm-fg);
  letter-spacing: -.02em;
  margin:         12px 0 10px;
}
.dm-post-cta-wrap p { font-size: 15px; color: var(--dm-fg-soft); max-width: 440px; margin: 0 auto 28px; }

/* Responsive */
@media (max-width: 620px) {
  .dm-post-compare        { grid-template-columns: 1fr; }
  .dm-post-cta-wrap       { padding: 32px 20px; }
  .dm-post-cover img,
  .dm-post-img img        { height: 200px; }
  .dm-post-key            { flex-direction: column; }
}/* End custom CSS */