/* ============================================================
   SITE V3 — Design system global (estil wiki-preview)
   Aditiu: carrega DESPRÉS de style.min + enhance + f1 + header-redesign.
   No reescriu HTML; transforma navbar, cards, seccions i botons existents.
   grok · 2026-06-28
   ============================================================ */

:root {
  --v3-secondary: #c9a227;
  --v3-accent: #e63946;
  --v3-dark: #0a1628;
  --v3-gold-on-dark: #e0be55;
  --v3-radius: 20px;
  --v3-radius-sm: 12px;
  --v3-icon: 44px;
  --v3-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --v3-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --v3-shadow: 0 24px 80px -32px rgba(10, 22, 40, 0.45);
}

/* ── Scroll progress (sostituïx la línia body::before com a progrés dinàmic) ── */
body::before { display: none !important; }
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  z-index: 10001;
  background: linear-gradient(90deg, #1e3a5f, var(--v3-secondary) 45%, var(--v3-accent));
  box-shadow: 0 0 14px rgba(201, 162, 39, 0.45);
  transition: width 0.08s linear;
  pointer-events: none;
}

/* ── Icon buttons (sistema unificat) ── */
.icon-btn {
  position: relative; /* ancoratge del tooltip ::after (07/07): sense això el tooltip es posicionava contra l'ancestre posicionat i quedava invisible */
  --sz: var(--v3-icon);
  position: relative;
  width: var(--sz);
  height: var(--sz);
  min-width: var(--sz);
  min-height: var(--sz);
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  text-decoration: none !important;
  line-height: 1 !important;
  transition: transform 0.35s var(--v3-ease-spring), background 0.25s, border-color 0.25s, box-shadow 0.35s;
}
.icon-btn i, .icon-btn svg { font-size: 1rem; transition: transform 0.35s var(--v3-ease-spring); pointer-events: none; }
.icon-btn svg { width: calc(var(--sz) * 0.42); height: calc(var(--sz) * 0.42); }
.icon-btn::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid var(--v3-secondary);
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.35s, transform 0.35s var(--v3-ease-spring);
  pointer-events: none;
}
.icon-btn[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  white-space: nowrap;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #fff;
  background: rgba(10, 22, 40, 0.96);
  border: 1px solid rgba(244, 196, 48, 0.7);
  padding: 0.35rem 0.7rem;
  border-radius: 8px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.25s var(--v3-ease-out), visibility 0.2s;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  z-index: 200;
}
.icon-btn:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
  color: #fff !important;
  transform: scale(1.08);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
}
.icon-btn:hover::before { opacity: 0.55; transform: scale(1); }
.icon-btn:hover::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.icon-btn:hover i, .icon-btn:hover svg { transform: scale(1.12); }
.icon-btn:active { transform: scale(0.93); }
.icon-btn:focus-visible { outline: 2px solid var(--v3-secondary); outline-offset: 3px; }
.icon-btn--sm { --sz: 38px; }
.icon-btn--lg { --sz: 56px; }
.icon-btn--xl { --sz: 64px; }
.icon-btn--gold {
  background: linear-gradient(135deg, var(--v3-secondary), #e8c547) !important;
  color: var(--v3-dark) !important;
  border: none !important;
  box-shadow: 0 6px 24px rgba(201, 162, 39, 0.38);
}
.icon-btn--gold:hover { color: var(--v3-dark) !important; box-shadow: 0 12px 36px rgba(201, 162, 39, 0.5); }
.icon-btn--gold::before { border-color: rgba(255, 255, 255, 0.55); }
.icon-btn--dark {
  background: linear-gradient(135deg, #0d1b2a, #1e3a5f) !important;
  color: #f4c430 !important;
  border: none;
}
.icon-btn--dark:hover { box-shadow: 0 10px 32px rgba(13, 27, 42, 0.35); }
.icon-btn--red {
  background: linear-gradient(135deg, #c0392b, #e74c3c) !important;
  color: #fff !important;
  border: none;
}
.icon-btn--red:hover { box-shadow: 0 10px 32px rgba(231, 76, 60, 0.4); }
.icon-btn--success {
  background: linear-gradient(135deg, #1e7a45, #2ecc71) !important;
  color: #fff !important;
  border: none !important;
}
.icon-btn--success:hover { box-shadow: 0 10px 32px rgba(39, 174, 96, 0.4); }

/* ── Navbar glass + accions icona ── */
.navbar {
  transition: background 0.4s, backdrop-filter 0.4s, box-shadow 0.4s, transform 0.3s;
}
.navbar.scrolled {
  background: rgba(10, 22, 40, 0.88) !important;
  backdrop-filter: blur(20px) saturate(1.35);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28) !important;
}
[data-theme="dark"] .navbar.scrolled { background: rgba(8, 14, 26, 0.94) !important; }

.nav-actions { gap: 0.55rem !important; align-items: center; }
.nav-actions .nav-cta-reserva,
.nav-actions .nav-dark-toggle,
.nav-actions .nav-search-btn,
.nav-actions .nav-cta,
.nav-actions .nav-cta-outline {
  --sz: 42px;
  width: var(--sz) !important;
  height: var(--sz) !important;
  min-width: var(--sz) !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  transition: transform 0.35s var(--v3-ease-spring), background 0.25s, box-shadow 0.35s;
}
/* Color del icono de los botones circulares del header (sobre fondo navy) —
   fix iconos negros: luna (.nav-dark-toggle) y login (.nav-cta) heredaban #000/navy */
.nav-actions .nav-dark-toggle i,
.nav-actions .nav-search-btn i,
.nav-actions .nav-cta i,
.nav-actions .nav-cta-outline i { color: rgba(255, 255, 255, 0.9) !important; }
.nav-actions .nav-cta-reserva span { display: none !important; }
/* Botó Reserva: mateix estil que la resta d'icones circulars del header (Joan) —
   hereta fons translúcid + vora clara del grup base; sense gradient ni ombra roja */
.nav-actions .nav-cta-reserva { box-shadow: none !important; filter: none !important; }
.nav-actions .nav-cta-reserva:hover { transform: none; box-shadow: none !important; }
.nav-actions .nav-cta-reserva:hover i { transform: scale(1.12); }
.nav-actions .nav-cta-reserva i { margin: 0 !important; font-size: 1rem; color: rgba(255, 255, 255, 0.9) !important; }
.nav-actions .nav-cta-outline {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
}
.nav-actions [data-tip]::after,
.nav-menu [data-tip]::after,
.top-bar [data-tip]::after {
  /* Tooltip unificat (07/07): píndola fosca amb vora daurada; a la navbar/top-bar obri AVALL
     perquè cap amunt quedava tapat pel top-bar fix (z-index 1001). */
  content: attr(data-tip);
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(-5px);
  white-space: nowrap;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #fff;
  background: rgba(10, 22, 40, 0.96);
  border: 1px solid rgba(244, 196, 48, 0.7);
  padding: 0.35rem 0.7rem;
  border-radius: 8px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.22s var(--v3-ease-out), visibility 0.2s;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  z-index: 1200;
}
.nav-menu [data-tip], .top-bar [data-tip] { position: relative; }
.nav-actions [data-tip]:hover::after,
.nav-menu [data-tip]:hover::after,
.top-bar [data-tip]:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.nav-actions .nav-dark-toggle:hover i,
.nav-actions .nav-search-btn:hover i,
.nav-actions .nav-cta:hover i { transform: scale(1.12); }
.nav-actions .nav-dark-toggle:hover i { transform: scale(1.12) rotate(18deg); }

/* Top bar social: icones més netes */
.top-bar-social a {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  transition: transform 0.3s var(--v3-ease-spring), background 0.25s;
}
.top-bar-social a:hover { transform: scale(1.12); background: rgba(255, 255, 255, 0.08); }

/* ── Hero home (cinemàtic) ── */
.hero-home .hero-slide::after {
  background: linear-gradient(180deg, rgba(10, 22, 40, 0.35) 0%, rgba(10, 22, 40, 0.55) 45%, rgba(10, 22, 40, 0.92) 100%) !important;
}
.hero-home h1 {
  font-family: 'Playfair Display', Georgia, serif;
  letter-spacing: -0.02em;
}
.hero-home .highlight {
  animation: v3Hue 14s ease-in-out infinite;
}
@keyframes v3Hue {
  0%, 100% { filter: hue-rotate(0deg); }
  50% { filter: hue-rotate(12deg); }
}
.hero-ctas { gap: 0.85rem !important; }
.hero-ctas .icon-btn--lg:hover { backdrop-filter: blur(10px); }
.hero-scroll.icon-btn {
  position: absolute;
  bottom: 4.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  animation: v3ScrollBob 2.5s ease infinite;
}
.hero-scroll.icon-btn:hover { animation: none; transform: translateX(-50%) scale(1.1); }
@keyframes v3ScrollBob {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}
.hero-dot {
  transition: transform 0.35s var(--v3-ease-spring), background 0.25s !important;
}
.hero-dot:hover { transform: scale(1.4) !important; }

/* ── Seccions: capçaleres editorials ── */
.section-header {
  border-bottom: 1px solid rgba(30, 58, 95, 0.08);
  padding-bottom: 0.85rem;
  margin-bottom: 0.5rem;
}
.section-header h2 {
  position: relative;
  padding-left: 1rem;
  font-family: 'Playfair Display', Georgia, serif;
}
.section-header h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.12em;
  bottom: 0.12em;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--v3-secondary), var(--v3-accent));
}
[data-theme="dark"] .section-header { border-bottom-color: rgba(255, 255, 255, 0.06); }

/* ── Cards globals (glass + hover 3D lleuger) ── */
.service-card,
.event-card,
.news-card,
.testimonial-card,
.qs-value-card,
.mega-drop-item {
  border-radius: var(--v3-radius-sm) !important;
  transition: transform 0.35s var(--v3-ease-spring), box-shadow 0.35s, border-color 0.3s !important;
}
.service-card:hover,
.event-card:hover,
.news-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--v3-shadow) !important;
  border-color: rgba(201, 162, 39, 0.35) !important;
}
.service-icon,
.qs-value-card i {
  transition: transform 0.35s var(--v3-ease-spring);
}
.service-card:hover .service-icon { transform: scale(1.1) rotate(-6deg); }

/* Stats band home */
.stats-band {
  border-radius: var(--v3-radius) !important;
  position: relative;
  overflow: hidden;
}
.stats-band::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 30h60M30 0v60' stroke='%23fff' stroke-opacity='.04' fill='none'/%3E%3C/svg%3E");
  pointer-events: none;
}
.stat-num { font-family: 'Playfair Display', Georgia, serif; }

/* Galeria preview */
.gal-prev-grid a {
  border-radius: var(--v3-radius-sm) !important;
  transition: transform 0.35s var(--v3-ease-spring), box-shadow 0.35s;
}
.gal-prev-grid a:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(10, 22, 40, 0.2);
}

/* Promo video */
.promo-video video { border-radius: var(--v3-radius) !important; }
.promo-video h2 { font-family: 'Playfair Display', Georgia, serif; }

/* ── Botons legacy → minimal (JS: minimal-buttons.js) ── */
.v3-minimalized {
  gap: 0 !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
}
.v3-minimalized > span:not(.sr-only) { display: none !important; }

/* Hero CTAs icona (index) */
.hero-ctas--icons { display: flex; gap: 0.85rem; justify-content: center; flex-wrap: wrap; }

/* ── Subpàgines: heroes *-hero, qs-hero, legal-hero ── */
[class$="-hero"],
.qs-hero,
.legal-hero,
.blog-hero,
.forum-hero {
  position: relative;
  overflow: hidden;
}
[class$="-hero"]::after,
.qs-hero::after,
.legal-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 22, 40, 0.2), rgba(10, 22, 40, 0.75));
  pointer-events: none;
}
[class$="-hero"] > *,
.qs-hero > *,
.legal-hero > * { position: relative; z-index: 1; }
[class$="-hero"] h1,
.qs-hero h1,
.legal-hero h1 {
  font-family: 'Playfair Display', Georgia, serif;
  letter-spacing: -0.02em;
}

/* Wiki embed alineada */
.saberwiki .sw-title,
.saberwiki .art-head h1 { letter-spacing: -0.02em; }
.saberwiki .card { border-radius: var(--v3-radius-sm) !important; }

/* ── Mega menu v2: panells amplis, 2 columnes + targeta amb foto ── */
@media (min-width: 769px) {
  .mega-drop--wide {
    min-width: 680px;
    max-width: min(92vw, 760px);
    border-radius: var(--v3-radius) !important;
    box-shadow: var(--v3-shadow), 0 0 0 1px rgba(10, 22, 40, 0.06) !important;
  }
  .mega-drop--wide .mega-drop-inner {
    display: flex;
    gap: 1rem;
    padding: 1.1rem;
    border-radius: var(--v3-radius);
  }
  .mega-drop--wide .mega-drop-cols {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.3rem 0.6rem;
    align-content: start;
    min-width: 0;
  }
  .mega-drop--wide .mega-drop-item { padding: 0.75rem 0.85rem; }
  .mega-drop-feature {
    width: 252px;
    min-height: 240px;
    flex-shrink: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.1rem;
    border-radius: var(--v3-radius-sm);
    overflow: hidden;
    text-decoration: none;
    background-size: cover;
    background-position: center;
    transition: transform 0.35s var(--v3-ease-spring), box-shadow 0.35s;
  }
  .mega-drop-feature::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 22, 40, 0.05) 25%, rgba(10, 22, 40, 0.88) 100%);
  }
  .mega-drop-feature > * { position: relative; z-index: 1; }
  .mega-drop-feature strong { color: #fff; font-size: 1.05rem; font-weight: 800; line-height: 1.2; }
  .mega-drop-feature em {
    font-style: normal;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.8rem;
    margin-top: 3px;
    line-height: 1.45;
  }
  .mega-drop-feature b {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.65rem;
    color: var(--v3-gold-on-dark);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: gap 0.25s;
  }
  .mega-drop-feature:hover { transform: translateY(-4px); box-shadow: var(--v3-shadow); }
  .mega-drop-feature:hover b { gap: 0.65rem; }
}
@media (max-width: 768px) {
  .mega-drop-cols { display: contents; }
  .mega-drop-feature { display: none; }
}

/* ── Footer — mateix llenguatge que el header (navy fosc + glass + or) ── */
.footer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #0d1b2e 0%, var(--v3-dark) 60%, #081221 100%) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .footer { background: linear-gradient(180deg, #0a1424 0%, #070d18 100%) !important; }
.footer::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -80px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 162, 39, 0.12), transparent 70%);
  pointer-events: none;
}
.footer-section h5 {
  color: var(--v3-gold-on-dark);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.85rem;
  font-weight: 700;
}
.footer-section h5::after {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  margin-top: 0.5rem;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--v3-secondary), transparent);
}
@media (max-width: 640px) { .footer-section h5::after { margin-left: auto; margin-right: auto; } }
.footer-social a {
  width: 42px !important;
  height: 42px !important;
  background: rgba(255, 255, 255, 0.07) !important;
  border: 1px solid rgba(255, 255, 255, 0.14);
  transition: transform 0.35s var(--v3-ease-spring), background 0.25s, color 0.25s, border-color 0.25s;
}
.footer-social a:hover {
  background: var(--v3-gold-on-dark) !important;
  border-color: var(--v3-gold-on-dark);
  color: var(--v3-dark) !important;
  transform: translateY(-3px);
}
.footer-whatsapp { border: 1px solid rgba(255, 255, 255, 0.12); }
.footer .footer-saas { border-bottom-color: rgba(255, 255, 255, 0.08) !important; }
.footer .footer-grid { border-bottom-color: rgba(255, 255, 255, 0.08) !important; }
.footer-legal a { transition: color 0.2s; }
.footer-legal a:hover { color: var(--v3-gold-on-dark) !important; }
.footer-section a {
  transition: color 0.2s, transform 0.25s;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.footer-section a:hover { color: var(--v3-gold-on-dark) !important; transform: translateX(3px); }
.footer-whatsapp { transition: transform 0.3s var(--v3-ease-spring) !important; }
.footer-whatsapp:hover { transform: scale(1.04) !important; }

/* ── Cerca overlay ── */
.nav-search-overlay.open .nav-search-box {
  animation: v3FadeUp 0.35s var(--v3-ease-out) both;
}
@keyframes v3FadeUp {
  from { opacity: 0; transform: translateY(-16px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ── Reveal scroll (reforç) ── */
.v3-reveal {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: no-preference) {
  .v3-reveal:not(.v3-revealed) {
    opacity: 0;
    transform: translateY(28px);
  }
  .v3-reveal.v3-revealed {
    transition: opacity 0.65s var(--v3-ease-out), transform 0.65s var(--v3-ease-out);
  }
  .service-card.v3-reveal.v3-revealed,
  .event-card.v3-reveal.v3-revealed,
  .news-card.v3-reveal.v3-revealed { transition-delay: calc(var(--vi, 0) * 0.06s); }
}

/* ── Cookie popup ── */
.cookie-popup { border-radius: var(--v3-radius-sm) !important; }

/* ── Back to top (si existeix) ── */
#backToTop {
  border-radius: 50% !important;
  transition: transform 0.35s var(--v3-ease-spring) !important;
}
#backToTop:hover { transform: scale(1.1); }

@media (max-width: 768px) {
  .nav-actions [data-tip]::after,
  .icon-btn[data-tip]::after { display: none; }
  /* Mòbil: amaga els icones del header (reserva/fosc/cerca/login/registre);
     ja hi ha menú hamburguesa + cerca mòbil + toggle fosc dins del menú. (Joan 2026-06-29) */
  .nav-actions { display: none !important; }
  .hero-home h1 { font-size: clamp(2.2rem, 9vw, 3.5rem) !important; }
}

/* ── Botons icona en formularis (contacte, reserva, newsletter) ── */
.icon-btn--on-light {
  color: var(--blue-dark, #0a1628) !important;
  border-color: rgba(30, 58, 95, 0.14) !important;
  background: rgba(30, 58, 95, 0.05) !important;
}
.icon-btn--on-light:hover {
  background: rgba(30, 58, 95, 0.1) !important;
  color: var(--blue-dark, #0a1628) !important;
}
.icon-btn--on-light[data-tip]::after,
.contacte-form .icon-btn[data-tip]::after,
.wizard-footer .icon-btn[data-tip]::after,
#newsletter-form .icon-btn[data-tip]::after {
  background: rgba(10, 22, 40, 0.94);
}

.contacte-form .form-submit-wrap,
.wizard-footer,
.reserva-modal-actions,
#newsletter-form .nl-submit-wrap,
.joinus .joinus-actions {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.contacte-form .form-submit-wrap { margin-top: 0.5rem; }

.wizard-footer {
  justify-content: center !important;
  gap: 1rem !important;
  background: rgba(250, 251, 252, 0.95) !important;
}
.wizard-footer .icon-btn--gold {
  background: linear-gradient(135deg, var(--v3-secondary), #e8c547) !important;
  color: var(--v3-dark) !important;
  border: none !important;
}
.reserva-modal-actions {
  justify-content: center;
  margin-top: 1.25rem;
}
.success-message .icon-btn { margin-top: 0.5rem; }

#newsletter-form .nl-submit-wrap {
  flex-basis: auto;
  align-self: center;
}
#newsletter-form .icon-btn--gold { box-shadow: 0 6px 24px rgba(201, 162, 39, 0.45); }
#newsletter-form .icon-btn--ok {
  background: linear-gradient(135deg, #27ae60, #2ecc71) !important;
  color: #fff !important;
  box-shadow: 0 6px 24px rgba(39, 174, 96, 0.45);
}
#newsletter-form .icon-btn--err {
  background: linear-gradient(135deg, #c0392b, #e74c3c) !important;
  color: #fff !important;
  box-shadow: 0 6px 24px rgba(231, 76, 60, 0.4);
}

/* CTA seccions: fila d'icones */
.section-cta--icons,
.qs-cta--icons,
.tarifes-cta-btns,
.folc-cta-btns,
.pressupost-actions,
.eina-card-action,
.form-actions,
.help-cta,
.cookie-popup-actions,
.sticky-cta-mobile {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.sticky-cta-mobile {
  padding: 0.65rem 1rem !important;
  gap: 0.65rem !important;
}
.sticky-cta-mobile .icon-btn--lg { --sz: 50px; }
.eina-card-action { margin-top: 0.5rem; }
.cookie-popup-actions .icon-btn { --sz: 42px; }
.main-content .form-actions,
.modal-footer,
.page-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}
.main-content .form-actions .icon-btn,
.page-header-actions .icon-btn { margin: 0; }

@media (prefers-reduced-motion: reduce) {
  .hero-home .highlight,
  .hero-scroll.icon-btn { animation: none !important; }
  .v3-reveal { opacity: 1 !important; transform: none !important; }
}