/* =====================================================================
   v27 (25-09-2026) — Fitxa de tarifa al mòbil amb molt poc text.
   Només s'activa amb body.m27, que posa l'script en pantalles < 880px.
   ===================================================================== */
@media (max-width: 879px) {
  body.m27 { padding-bottom: 74px; }

  /* Capçalera de la fitxa: etiqueta + nom, res més */
  body.m27 .tarifa .crumbs,
  body.m27 .tarifa-info .kicker,
  body.m27 .tarifa-perks,
  body.m27 .m27-has-tiles .tarifa-sub,
  body.m27 .m27-has-tiles .tarifa-tv,
  body.m27 .m27-has-tiles .tarifa-feats { display: none !important; }
  body.m27 .tarifa-feats li { color: #1b1a14; }
  body.m27 .tarifa-hero { display: flex; flex-direction: column; gap: 0; }
  body.m27 .tarifa-badge { margin-bottom: 0.55rem; }
  body.m27 .tarifa-name { font-size: 1.85rem; line-height: 1.1; }
  body.m27 .m27-promo { display: inline-block; margin: 0.55rem 0 0; padding: 0.35rem 0.7rem; border-radius: 999px; background: #eaf7ee; color: #0f6b34; font-size: 0.92rem; font-weight: 600; }
  body.m27 .m27-que { margin: 0.35rem 0 0; font-size: 1.08rem; font-weight: 600; color: #1b1a14; line-height: 1.35; }

  /* Preu i botons, sense caixa */
  body.m27 .tarifa-price.glass { display: flex; flex-direction: column; background: none; border: 0; padding: 0; margin-top: 0.9rem; box-shadow: none; }
  body.m27 .tarifa-price .price-promo { order: 0; margin: 0 0 0.3rem; }
  body.m27 .tarifa-price .price { order: 1; margin: 0; }
  body.m27 .tarifa-price .price-num { font-size: 3rem; color: #141414; }
  body.m27 .tarifa-price .price-unit { font-size: 1.05rem; color: #4b483d; }
  body.m27 .tarifa-price-label { order: 2; margin: 0.2rem 0 1rem; font-size: 0.85rem; color: #6b6558; }
  body.m27 .tarifa-price [data-contract-open] { order: 3; }
  body.m27 .tarifa-price .m27-duo { order: 4; display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-top: 0.6rem; }
  body.m27 .tarifa-price .m27-duo .btn { margin: 0; width: 100%; }
  body.m27 .m27-wa { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; background: #fff; color: #0f7a3d; border: 1px solid rgba(37,211,102,0.55); }
  body.m27 .m27-wa svg { width: 20px; height: 20px; }
  body.m27 .wa-float { display: none !important; }
  /* l'avís de galetes queda per sobre de la barra fixa, no la tapa */
  body.m27 .cookie-bar { transition: transform .4s var(--ease-out), bottom .25s ease; }
  body.m27-bar-on .cookie-bar { bottom: calc(82px + env(safe-area-inset-bottom)); }
  body.m27 .tarifa-price .btn-wa,
  body.m27 .tarifa-price .tarifa-trust { display: none; }
  body.m27 .tarifa-price .btn { min-height: 54px; font-size: 1.05rem; }

  /* Què inclou: 4 quadres */
  body.m27 .m27-tiles { margin-top: 1.8rem; }
  body.m27 .m27-lbl { font-family: var(--serif); font-weight: 700; font-size: 1.15rem; color: #141414; margin: 0 0 0.7rem; }
  body.m27 .m27-grid { display: grid; grid-template-columns: 1fr; gap: 0.55rem; }
  body.m27 .m27-tile { display: flex; align-items: center; gap: 0.9rem; padding: 0.85rem 1rem; border: 1px solid rgba(20,18,8,0.12); border-radius: 16px; background: #fff; }
  body.m27 .m27-ico { flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--gold); color: #141414; display: grid; place-items: center; }
  body.m27 .m27-ico svg { width: 24px; height: 24px; }
  body.m27 .m27-tx { display: flex; flex-direction: column; gap: 0.12rem; min-width: 0; }
  body.m27 .m27-tile b { font-family: var(--serif); font-weight: 700; font-size: 1.16rem; color: #141414; line-height: 1.2; }
  body.m27 .m27-tile .m27-tx .m27-d { font-size: 0.98rem; color: #3a3a3c; line-height: 1.38; }

  /* Garanties en xips */
  body.m27 .m27-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 1rem 0 0; padding: 0; list-style: none; }
  body.m27 .m27-chips li { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.45rem 0.75rem; border-radius: 999px; background: #f4f4f1; color: #1b1a14; font-size: 0.84rem; font-weight: 500; }
  body.m27 .m27-chips svg { width: 15px; height: 15px; color: #8a6f00; flex: none; }

  /* Tot el text llarg, plegat en una llista */
  body.m27 .tarifa-specs,
  body.m27 .tarifa-faqsec,
  body.m27 .tarifa-condsec,
  body.m27 .tarifa-channels,
  body.m27 .tarifa-values,
  body.m27 .tarifa-memorial,
  body.m27 .tarifa-cta { display: none !important; }
  body.m27 .m27-list { margin-top: 2.2rem; border-top: 1px solid rgba(20,18,8,0.12); }
  body.m27 .m27-row { display: block; width: 100%; border-bottom: 1px solid rgba(20,18,8,0.12); }
  body.m27 .m27-row > summary, body.m27 .m27-rowbtn { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 58px; padding: 0 0.15rem; cursor: pointer; font-family: var(--serif); font-weight: 600; font-size: 1.05rem; color: #141414; background: none; border: 0; text-align: left; }
  body.m27 .m27-rowbtn { border-bottom: 1px solid rgba(20,18,8,0.12); }
  body.m27 .m27-row > summary::-webkit-details-marker { display: none; }
  body.m27 .m27-row i, body.m27 .m27-rowbtn i { font-style: normal; font-family: var(--sans); font-size: 1.45rem; font-weight: 400; color: #141414; transition: transform .2s ease; }
  body.m27 .m27-row[open] > summary i { transform: rotate(45deg); }
  body.m27 .m27-body { padding: 0 0 1.1rem; }
  body.m27 .m27-body .specs-grid { grid-template-columns: 1fr; }
  body.m27 .m27-body .spec-row { padding: 0.7rem 0.9rem; font-size: 0.92rem; }
  body.m27 .m27-body .faq-list { display: grid; gap: 0; margin: 0; }
  body.m27 .m27-body .faq-item { background: none; border: 0; border-radius: 0; border-bottom: 1px solid rgba(20,18,8,0.08); padding: 0; }
  body.m27 .m27-body .faq-item:last-child { border-bottom: 0; }
  body.m27 .m27-body .faq-item summary { padding: 0.75rem 0; font-size: 0.97rem; min-height: 0; }
  body.m27 .m27-body .faq-item p { color: #4b483d; font-size: 0.93rem; }
  body.m27 .m27-body .cond-body { padding: 0; font-size: 0.8rem; }

  /* Detalls tècnics: primer tot el que inclou, després la fitxa tècnica */
  body.m27 .m27-inc-t { font-weight: 700; font-size: 0.8rem; color: #6b6558; margin: 0.2rem 0 0.5rem; }
  body.m27 .m27-inc ul { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.5rem; }
  body.m27 .m27-inc li { display: flex; gap: 0.5rem; align-items: flex-start; font-size: 0.95rem; color: #1b1a14; line-height: 1.4; }
  body.m27 .m27-inc li svg { flex: none; width: 17px; height: 17px; margin-top: 0.15rem; color: #8a6f00; }

  /* Opinions: resum en una línia i targetes que es passen de costat */
  body.m27 .tarifa-reviews { margin-top: 2.2rem; }
  body.m27 .tarifa-reviews .tarifa-h2 { font-size: 1.3rem; }
  body.m27 .tarifa-reviews .tarifa-h2-sub { display: none; }
  body.m27 .tarifa-reviews .rev-summary { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 0.8rem 1rem; margin: 0.7rem 0 0.8rem; }
  body.m27 .tarifa-reviews .rev-bars { display: none; }
  body.m27 .tarifa-reviews .rev-score { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.2rem 0.45rem; text-align: left; }
  body.m27 .tarifa-reviews .rev-score-num { display: inline; font-size: 1.9rem; }
  body.m27 .tarifa-reviews .rev-score-sub { font-size: 0.8rem; }
  body.m27 .tarifa-reviews .rev-recommend { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
  body.m27 .tarifa-reviews .rev-recommend-num { font-size: 1.35rem; }
  body.m27 .tarifa-reviews .rev-grid { display: flex; gap: 0.6rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 0.4rem; -webkit-overflow-scrolling: touch; }
  body.m27 .tarifa-reviews .rev-grid .rev-card { display: block !important; flex: 0 0 84%; scroll-snap-align: start; margin: 0; }

  /* 1·O en una sola línia */
  body.m27 .m27-1o { display: flex; align-items: baseline; gap: 0.6rem; margin-top: 2rem; padding: 0.85rem 1rem; border-radius: 14px; background: #fffbea; border: 1px solid rgba(233,196,0,0.35); color: #1b1a14; text-decoration: none; }
  body.m27 .m27-1o b { font-family: var(--serif); font-weight: 800; font-size: 1.35rem; color: #8a6f00; }
  body.m27 .m27-1o span { font-weight: 600; font-size: 0.95rem; }
  body.m27 .m27-1o i { margin-left: auto; font-style: normal; font-size: 1.4rem; color: #8a6f00; line-height: 1; align-self: center; }

  /* Altres tarifes: fila que es desplaça de costat */
  body.m27 .tarifa-related { margin-top: 2.2rem; }
  body.m27 .tarifa-related-title { font-size: 1.2rem; margin-bottom: 0.8rem; }
  body.m27 .tarifa-related .cards { display: flex !important; gap: 0.6rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 0.4rem; -webkit-overflow-scrolling: touch; }
  body.m27 .tarifa-related .card { flex: 0 0 64%; scroll-snap-align: start; padding: 1rem; }
  body.m27 .tarifa-related .card-desc { display: none; }
  body.m27 .tarifa-related .price { margin: 0.5rem 0; }

  /* Peu: sense foto ni frases llargues */
  body.m27 .footer { padding-top: 2rem; }
  body.m27 .footer-photo,
  body.m27 .footer-onsom-text,
  body.m27 .footer-onsom > p:first-of-type { display: none; }

  /* Barra fixa amb el preu quan el botó principal ja no es veu */
  .m27-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.7rem 1rem calc(0.7rem + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid rgba(20,18,8,0.12); transform: translateY(110%); transition: transform .25s ease; }
  body.m27-bar-on .m27-bar { transform: none; }
  .m27-bar-p b { font-family: var(--serif); font-weight: 800; font-size: 1.45rem; color: #141414; }
  .m27-bar-p span { font-size: 0.9rem; color: #4b483d; margin-left: 0.15rem; }
  .m27-bar-a { display: flex; align-items: center; gap: 0.5rem; }
  .m27-bar .btn { padding: 0.85rem 1.4rem; min-height: 50px; font-size: 1.02rem; background: var(--gold); box-shadow: none; transform: none; }
  .m27-bar-wa { width: 50px; height: 50px; border-radius: 12px; display: grid; place-items: center; color: #0f7a3d; border: 1px solid rgba(37,211,102,0.55); background: #fff; }
  .m27-bar-wa svg { width: 24px; height: 24px; }
}
@media (min-width: 880px) { .m27-bar { display: none; } }

/* =====================================================================
   v38 (02-10-2026) — versió compacta. A la primera pantalla: etiqueta,
   nom, quatre caselles amb el que inclou, preu i botons. Lletra una mica
   més petita i sense caixes ni rodones grogues.
   ===================================================================== */
@media (max-width: 879px) {
  body.m27 .tarifa-badge { margin-bottom: 0.6rem; font-size: 0.64rem; padding: 0.42rem 0.7rem; }
  body.m27 .tarifa-name { font-size: 1.62rem; line-height: 1.12; letter-spacing: -0.02em; }
  body.m27 .m27-promo { display: block; margin: 0.4rem 0 0; padding: 0; border-radius: 0; background: none; color: var(--gold-deep); font-size: 0.85rem; font-weight: 600; }
  body.m27 .m27-tiles, body.m27 .m27-chips, body.m27 .m27-que { display: none !important; }

  /* les quatre caselles */
  body.m27 .m38-grid { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 0.75rem; }
  body.m27 .m38-grid li { display: flex; align-items: flex-start; gap: 0.6rem; min-width: 0; }
  body.m27 .m38-grid svg { width: 22px; height: 22px; flex: none; color: var(--gold-deep); margin-top: 1px; }
  body.m27 .m38-grid b { display: block; font-family: var(--sans); font-weight: 700; font-size: 0.94rem; line-height: 1.3; color: #1b1a14; }
  body.m27 .m38-grid small { display: block; margin-top: 3px; font-size: 0.75rem; line-height: 1.35; color: var(--mute); }

  /* «Inclou el Segell Tornarem» (obre què inclou) */
  body.m27 .m38-segell { display: inline-flex; align-items: center; gap: 0.45rem; margin: 1rem 0 0; padding: 0; border: 0; background: none; font: inherit; font-size: 0.82rem; color: var(--ink-2); cursor: pointer; text-align: left; }
  body.m27 .m38-segell strong { color: #1b1a14; font-weight: 700; }
  body.m27 .m38-segell .segell-mini { display: inline-block; width: 18px; height: 18px; flex: none; }
  body.m27 .m38-segell .segell-mini svg { width: 100%; height: 100%; display: block; }
  body.m27 .m38-segell i { display: inline-grid; place-items: center; width: 15px; height: 15px; border: 1px solid rgba(20,18,8,0.25); border-radius: 50%; font-style: normal; font-size: 0.6rem; font-weight: 700; color: var(--mute); }

  /* el preu, amb «IVA inclòs» i «Abans» a la dreta */
  body.m27 .tarifa-price.m38-p { margin-top: 1.35rem; padding-top: 1.2rem; border-radius: 0; border-top: 1px solid rgba(20,18,8,0.13); }
  body.m27 .m38-p .price-promo, body.m27 .m38-p .tarifa-price-label { display: none !important; }
  body.m27 .m38-preu { order: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin: 0 0 1.1rem; }
  body.m27 .tarifa-price .m38-preu .price { order: 0; margin: 0; }
  body.m27 .m38-preu .m38-preu-i { order: 1; }
  body.m27 .tarifa-price .m38-preu .price-num { font-size: 2.75rem; color: var(--gold-deep); letter-spacing: -0.03em; }
  body.m27 .tarifa-price .m38-preu .price-unit { font-size: 0.94rem; color: var(--mute); }
  body.m27 .m38-preu-i { margin: 0 0 0.35rem; text-align: right; font-size: 0.7rem; line-height: 1.4; color: var(--mute); }
  body.m27 .m38-preu-i span { display: block; }

  /* botons: «Contractar ara» i, a sota, «Truca'm» i «WhatsApp» */
  body.m27 .tarifa-price .btn { min-height: 50px; font-size: 0.94rem; }
  body.m27 .tarifa-price .m27-duo { margin-top: 0.6rem; }
  body.m27 .tarifa-price .m27-duo .btn { min-height: 44px; font-size: 0.88rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; background: #fff; border: 1px solid rgba(20,18,8,0.2); color: #1b1a14; }
  body.m27 .tarifa-price .m27-duo .m27-wa { color: #1f7a3a; }
  body.m27 .tarifa-price .m27-duo svg { width: 16px; height: 16px; flex: none; }
  body.m27 .m38-gar { margin: 0.95rem 0 0; text-align: center; font-size: 0.75rem; color: var(--mute); }

  /* plegables */
  body.m27 .m27-list { margin-top: 1.8rem; }
  body.m27 .m27-row > summary, body.m27 .m27-rowbtn { min-height: 52px; font-size: 0.94rem; }
  body.m27 .m27-row i, body.m27 .m27-rowbtn i { font-size: 1.25rem; color: var(--mute); }
  body.m27 .m38-det ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
  body.m27 .m38-det li { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.88rem; line-height: 1.45; color: #4b483d; }
  body.m27 .m38-det li b { color: #1b1a14; }
  body.m27 .m38-det svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--gold-deep); }
  body.m27 .m38-legal { margin: 0.8rem 0 0; font-size: 0.72rem; color: var(--mute); }

  /* opinions: la nota en una línia */
  body.m27 .tarifa-reviews { margin-top: 1.8rem; }
  body.m27 .m38-rev-on > .tarifa-h2, body.m27 .m38-rev-on > .tarifa-h2-sub, body.m27 .m38-rev-on .rev-summary { display: none !important; }
  body.m27 .m38-rev { margin: 0 0 0.8rem; font-size: 0.88rem; font-weight: 600; color: #1b1a14; }
  body.m27 .m38-rev span { color: var(--gold-dim); letter-spacing: 2px; margin-right: 0.3rem; }
  body.m27 .tarifa-reviews .rev-grid .rev-card { padding: 0.9rem 1rem; border-radius: 16px; box-shadow: none; border: 1px solid rgba(20,18,8,0.12); font-size: 0.82rem; }

  /* 1·O: una línia entre dues ratlles */
  body.m27 .m27-1o { margin-top: 1.6rem; padding: 0.9rem 0.15rem; border-radius: 0; background: none; border: 0; border-top: 1px solid rgba(20,18,8,0.13); border-bottom: 1px solid rgba(20,18,8,0.13); align-items: center; }
  body.m27 .m27-1o b { font-size: 1rem; }
  body.m27 .m27-1o span { font-size: 0.88rem; }
  body.m27 .m27-1o i { color: var(--mute); font-size: 1.2rem; }

  /* altres tarifes */
  body.m27 .tarifa-related { margin-top: 1.8rem; }
  body.m27 .tarifa-related-title { font-size: 1.12rem; }
  body.m27 .tarifa-related .card { padding: 0.9rem 1rem; border-radius: 16px; box-shadow: none; }
  body.m27 .tarifa-related .card-name { font-size: 0.9rem; }
  body.m27 .tarifa-related .price-num { font-size: 1.45rem; }
}
