/* =============================================================
   Portada de palamoscomunicacio.cat
   Colors basats en customweb.css (#069, #003399, #6e90e1)
   ============================================================= */
:root {
    --pc-blau: #006699;        /* Color principal del web (#069) */
    --pc-blau-fosc: #003f63;   /* Capçalera i peu */
    --pc-blau-nit: #0e2a40;    /* Franja de la videoteca */
    --pc-blau-suau: #e6f0f6;   /* Fons de pastilles i etiquetes */
    --pc-fons: #f3f6f9;        /* Fons general */
    --pc-vora: #dde5ee;        /* Vores de targetes */
    --pc-text: #16202b;
    --pc-text-2: #3a4654;
    --pc-gris: #5b6573;
    --pc-vermell: #d9382c;     /* Només per a "En directe" */
    --pc-radi: 18px;
    --pc-ample: 1200px;
    --pc-titols: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
    --pc-cos: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
}

body.pc-body {
    margin: 0;
    background: var(--pc-fons);
    color: var(--pc-text);
    font-family: var(--pc-cos);
    font-size: 17px;
    line-height: 1.5;
    text-align: left;
    -webkit-font-smoothing: antialiased;
}
.pc-body *, .pc-body *::before, .pc-body *::after { box-sizing: border-box; }
.pc-body a { color: var(--pc-blau); text-decoration: none; }
.pc-body a:hover { color: #003399; text-decoration: none; }
.pc-body a:focus-visible,
.pc-body button:focus-visible { outline: 3px solid #6e90e1; outline-offset: 2px; }
.pc-body img { max-width: 100%; }
.pc-body h1, .pc-body h2, .pc-body h3 { font-family: var(--pc-titols); color: var(--pc-text); margin: 0; }
.pc-body p { margin: 0; }
.pc-body ul { list-style: none; margin: 0; padding: 0; }

.pc-amplada { max-width: var(--pc-ample); margin: 0 auto; padding: 0 24px; }
.pc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Capçalera ---------- */
.pc-cap {
    position: relative; z-index: 20; color: #fff; overflow: hidden;
    background:
        radial-gradient(900px 320px at 88% -40%, rgba(58, 160, 216, .45), transparent 70%),
        linear-gradient(120deg, #002a45 0%, #003f63 50%, #005380 100%);
    padding-bottom: 22px;
}
/* Espectre d'àudio decoratiu a la part baixa de la capçalera */
.pc-cap-espectre { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 120px; pointer-events: none; }
.pc-cap > .pc-amplada { position: relative; }
.pc-cap-fila { display: flex; align-items: center; justify-content: space-between; min-height: 96px; gap: 24px; }
.pc-marca { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.pc-marca img { display: block; height: 64px; width: auto; max-width: none; }
.pc-marca .pc-logo-lletres { height: 60px; }
.pc-menu { display: flex; align-items: center; gap: 4px; }
.pc-menu a {
    display: block; padding: 10px 16px; border-radius: 999px;
    color: #fff; font-weight: 600; font-size: 16px; white-space: nowrap;
}
.pc-body .pc-menu a:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.pc-body .pc-menu a.pc-actiu { background: #fff; color: var(--pc-blau-fosc); }
.pc-boto-menu {
    display: none; width: 46px; height: 46px; border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .06); color: #fff;
    align-items: center; justify-content: center; cursor: pointer; padding: 0;
}

/* ---------- Barra "En directe" (dins la capçalera) ---------- */
.pc-directe {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 10px 10px 10px 14px; border-radius: 999px;
    background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .16);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.pc-directe-info { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; min-width: 0; }
.pc-en-directe {
    display: inline-flex; align-items: center; gap: 9px; padding: 6px 14px 6px 12px; border-radius: 999px;
    background: var(--pc-vermell); font-size: 14px; font-weight: 700; letter-spacing: .01em;
}
/* Equalitzador animat */
.pc-eq { display: inline-flex; align-items: flex-end; gap: 2px; height: 14px; }
.pc-eq i { display: block; width: 3px; height: 100%; border-radius: 2px; background: #fff; transform-origin: bottom; animation: pc-eq 1s ease-in-out infinite; }
.pc-eq i:nth-child(2) { animation-delay: -.35s; animation-duration: .8s; }
.pc-eq i:nth-child(3) { animation-delay: -.6s; animation-duration: 1.15s; }
.pc-eq i:nth-child(4) { animation-delay: -.2s; animation-duration: .9s; }
@keyframes pc-eq { 0%, 100% { transform: scaleY(.3); } 50% { transform: scaleY(1); } }
/* Dial de freqüència */
.pc-freq { display: inline-flex; align-items: baseline; gap: 5px; font-family: var(--pc-titols); line-height: 1; }
.pc-freq b { font-size: 30px; font-weight: 800; letter-spacing: -.02em; color: #fff; font-variant-numeric: tabular-nums; }
.pc-freq span { font-size: 14px; font-weight: 700; color: #8fd0f3; }
.pc-directe-nom { font-size: 17px; font-weight: 700; padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .25); min-width: 0; }
.pc-ara-sona { display: flex; flex-direction: column; line-height: 1.2; max-width: 420px; }
.pc-ara-sona small { font-size: 12px; font-weight: 600; color: #8fd0f3; text-transform: none; letter-spacing: .01em; }
.pc-ara-sona span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-data { font-size: 15px; color: #cfe6f4; line-height: 1.2; align-self: flex-end; padding-bottom: 1px; }
.pc-directe-nom:not(.pc-ara-sona) + .pc-data { align-self: center; padding-bottom: 0; }
.pc-escolta {
    position: relative; display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 24px 0 7px;
    border-radius: 999px; border: none; background: #fff; color: var(--pc-blau-fosc);
    font-family: var(--pc-cos); font-size: 16px; font-weight: 700; cursor: pointer; flex-shrink: 0;
    box-shadow: 0 6px 20px rgba(0, 20, 40, .25);
}
.pc-escolta-icona { position: relative; width: 38px; height: 38px; border-radius: 50%; background: var(--pc-blau); color: #fff; display: flex; align-items: center; justify-content: center; }
.pc-escolta-icona::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--pc-blau); opacity: 0; animation: pc-ona 2.4s ease-out infinite; }
@keyframes pc-ona { 0% { transform: scale(.85); opacity: .7; } 100% { transform: scale(1.5); opacity: 0; } }
.pc-escolta:hover { background: #eef5fa; }

/* ---------- Seccions ---------- */
.pc-main { padding: 56px 0 80px; }
.pc-seccio { margin-bottom: 72px; }
.pc-main > .pc-seccio:last-child { margin-bottom: 0; }
.pc-capcalera > *, .pc-serveis > *, .pc-graella > *, .pc-peu-fila > * { min-width: 0; }
.pc-seccio-cap { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.pc-seccio-cap > div { min-width: 0; }
.pc-seccio-cap h2 { overflow-wrap: break-word; font-size: 38px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.pc-seccio-cap p { font-size: 17px; color: var(--pc-gris); margin-top: 4px; }
.pc-seccio h2.pc-h2-petit { font-size: 28px; font-weight: 800; letter-spacing: -.01em; margin-bottom: 20px; }
.pc-enllac-fletxa { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 16px; white-space: nowrap; }

/* ---------- Targetes de notícia ---------- */
.pc-capcalera { display: grid; grid-template-columns: 1.55fr 1fr; gap: 28px; }
.pc-targeta { background: #fff; border: 1px solid var(--pc-vora); border-radius: var(--pc-radi); overflow: hidden; display: flex; flex-direction: column; }
.pc-foto { position: relative; display: block; background: #d6e3ee; overflow: hidden; }
.pc-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pc-foto-play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: #fff; color: var(--pc-blau-nit); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(0, 0, 0, .25); }
.pc-tema { position: absolute; left: 16px; top: 16px; padding: 5px 12px; border-radius: 999px; background: #fff; color: var(--pc-blau-fosc); font-size: 13px; font-weight: 700; }
.pc-cos { display: flex; flex-direction: column; gap: 10px; padding: 24px 26px 26px; }
.pc-meta { font-size: 14px; color: var(--pc-gris); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; }
.pc-meta-audio { display: inline-flex; align-items: center; gap: 5px; color: var(--pc-blau); font-weight: 600; }
.pc-titol a { color: var(--pc-text); }
.pc-body .pc-titol a:hover { color: var(--pc-blau); }
.pc-resum { color: var(--pc-text-2); }

/* Text justificat (amb partició de mots en català perquè no quedin forats) */
.pc-resum, .pc-article-text, .pc-article-entradeta, .pc-article-foto figcaption,
.pc-llistat-resum, .pc-caixa-blava p, .pc-cerca-cap p, .pc-buit p {
    text-align: justify; 
}

.pc-principal .pc-foto { aspect-ratio: 16 / 9; flex: 1 1 auto; min-height: 340px; }
.pc-principal .pc-cos { padding: 28px 32px 32px; gap: 12px; }
.pc-principal .pc-titol { font-size: 34px; line-height: 1.12; font-weight: 700; letter-spacing: -.015em; }
.pc-principal .pc-resum { font-size: 18px; line-height: 1.55; }
.pc-boto {
    align-self: flex-start; display: inline-flex; align-items: center; height: 46px; padding: 0 22px;
    border-radius: 999px; background: var(--pc-blau); color: #fff; font-weight: 700; font-size: 16px; margin-top: 6px;
}
.pc-body a.pc-boto { color: #fff; }
.pc-body a.pc-boto:hover { background: #003399; color: #fff; }

.pc-secundaries { display: flex; flex-direction: column; gap: 28px; }
.pc-secundaries .pc-targeta { flex: 1; }
.pc-secundaries .pc-foto { aspect-ratio: 16 / 8; }
.pc-secundaries .pc-titol { font-size: 23px; line-height: 1.2; font-weight: 700; }
.pc-secundaries .pc-resum { font-size: 16px; }

.pc-graella { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
.pc-mini { display: flex; flex-direction: column; gap: 8px; }
.pc-mini .pc-foto { margin-bottom: 4px; }
.pc-mini .pc-foto { aspect-ratio: 3 / 2; border-radius: 14px; }
.pc-mini .pc-titol { font-family: var(--pc-cos); font-size: 18px; line-height: 1.3; font-weight: 700; }
.pc-mini .pc-resum { font-size: 15px; line-height: 1.45; }
.pc-mini .pc-meta { font-size: 13px; }
.pc-mini .pc-resum { margin-top: -2px; }
.pc-mini .pc-tema { left: 10px; top: 10px; padding: 4px 10px; font-size: 12px; }

/* Notícies 12 a 17 */
.pc-body .pc-compactes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 24px; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--pc-vora); }
.pc-compacta { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: center; }
.pc-compacta .pc-foto { aspect-ratio: 4 / 3; border-radius: 12px; }
.pc-compacta .pc-titol { font-family: var(--pc-cos); font-size: 16px; font-weight: 700; line-height: 1.3; margin-top: 2px; }
.pc-compacta .pc-meta { font-size: 13px; }


.pc-sense-foto { display: flex; align-items: center; justify-content: center; color: #4d6275; }

/* ---------- Videoteca ---------- */
.pc-videoteca { background: var(--pc-blau-nit); color: #fff; padding: 64px 0; margin-bottom: 72px; }
.pc-videoteca .pc-seccio-cap h2 { color: #fff; font-size: 34px; }
.pc-videoteca .pc-seccio-cap p { color: #a9c4d8; }
.pc-fletxes { display: flex; gap: 10px; }
.pc-fletxa {
    width: 48px; height: 48px; border-radius: 50%; border: 1px solid #3c5a73; background: transparent; color: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.pc-fletxa:hover { background: #fff; color: var(--pc-blau-nit); border-color: #fff; }
.pc-videos {
    display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
    padding-bottom: 8px; scrollbar-width: none;
}
.pc-videos::-webkit-scrollbar { display: none; }
.pc-video { flex: 0 0 calc((100% - 48px) / 3); scroll-snap-align: start; display: flex; flex-direction: column; gap: 14px; }
.pc-body .pc-video, .pc-body .pc-video:hover { color: #fff; }
.pc-video .pc-foto { aspect-ratio: 16 / 9; border-radius: 16px; background: #1d4260; }
.pc-video .pc-foto-play { transition: transform .15s ease; }
.pc-video:hover .pc-foto-play { transform: scale(1.08); }
.pc-video-titol { font-size: 18px; font-weight: 700; line-height: 1.3; }
.pc-mes-videos { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; font-weight: 700; font-size: 16px; border-bottom: 2px solid #8fc3e3; padding-bottom: 4px; }
.pc-body a.pc-mes-videos, .pc-body a.pc-mes-videos:hover { color: #fff; }

/* ---------- Serveis ---------- */
.pc-serveis { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; }
.pc-caixa { background: #fff; border: 1px solid var(--pc-vora); border-radius: var(--pc-radi); padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.pc-caixa h2 { font-size: 22px; font-weight: 700; display: flex; align-items: center; gap: 10px; }
.pc-temps { overflow-x: auto; border-radius: 12px; }
.pc-temps iframe { display: block; width: 100%; min-width: 600px; height: 350px; border: 0; }
.pc-caixa-blava { background: var(--pc-blau); border-color: var(--pc-blau); color: #fff; }
.pc-caixa-blava h2 { color: #fff; }
.pc-caixa-blava p { color: #e3f0f7; font-size: 17px; }
.pc-caixa-botons { display: flex; flex-direction: column; gap: 10px; margin-top: auto; }
.pc-boto-blanc, .pc-boto-contorn {
    display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: 999px; font-weight: 700; font-size: 16px;
}
.pc-body a.pc-boto-blanc { background: #fff; color: var(--pc-blau-fosc); }
.pc-body a.pc-boto-blanc:hover { background: #eef5fa; color: var(--pc-blau-fosc); }
.pc-body a.pc-boto-contorn { border: 1px solid rgba(255, 255, 255, .5); color: #fff; }
.pc-body a.pc-boto-contorn:hover { background: rgba(255, 255, 255, .12); color: #fff; }

/* ---------- Enllaços recomanats ---------- */
.pc-destacats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.pc-destacats a { display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--pc-vora); border-radius: 16px; padding: 16px; min-height: 130px; }
.pc-destacats img { display: block; width: 100%; height: auto; max-height: 180px; object-fit: contain; }
.pc-destacats a:hover { border-color: #6e90e1; }

/* ---------- Peu ---------- */
.pc-peu { background: var(--pc-blau-fosc); color: #d5e6f1; padding: 56px 0 28px; font-size: 16px; }
.pc-peu-fila { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
.pc-peu h2 { font-family: var(--pc-titols); color: #fff; font-size: 24px; font-weight: 800; margin: 0 0 10px; }
.pc-peu h3 { font-family: var(--pc-cos); color: #fff; font-size: 16px; font-weight: 700; margin: 0 0 8px; }
.pc-peu li { margin-bottom: 4px; }
.pc-body .pc-peu a { color: #d5e6f1; }
.pc-body .pc-peu a:hover { color: #fff; text-decoration: underline; }
.pc-peu-ajuntament { display: block; max-width: 150px; margin-top: 18px; }
.pc-peu-baix { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 40px; padding-top: 20px; border-top: 1px solid #1f5f86; font-size: 14px; }

/* ---------- Tauleta ---------- */
@media (max-width: 1080px) {
    .pc-menu a { padding: 10px 11px; font-size: 15px; }
    .pc-marca img { height: 54px; }
    .pc-marca .pc-logo-lletres { height: 50px; }
    .pc-graella { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pc-video { flex-basis: calc((100% - 24px) / 2); }
}

/* ---------- Mòbil ---------- */
@media (max-width: 860px) {
    .pc-cap-fila { min-height: 72px; flex-wrap: wrap; }
    .pc-marca img { height: 46px; }
    .pc-marca .pc-logo-lletres { height: 42px; }
    .pc-boto-menu { display: flex; }
    .pc-menu { display: none; width: 100%; flex-direction: column; align-items: stretch; padding-bottom: 14px; }
    .pc-cap.pc-menu-obert .pc-menu { display: flex; }
    .pc-menu a { padding: 13px 16px; font-size: 17px; }
    .pc-cap { padding-bottom: 16px; }
    .pc-cap-espectre { height: 90px; }
    .pc-data { display: none; }
    .pc-directe-info { flex-wrap: nowrap; }
    .pc-directe-nom { font-size: 15px; padding-left: 12px; }
    .pc-directe-nom:not(.pc-ara-sona) { display: none; }
    .pc-directe { padding: 8px 8px 8px 10px; }
    .pc-directe-info { gap: 12px; }
    .pc-freq b { font-size: 24px; }

    .pc-main { padding: 32px 0 48px; }
    .pc-seccio, .pc-videoteca { margin-bottom: 48px; }
    .pc-seccio-cap { flex-wrap: wrap; }
    .pc-seccio-cap h2 { font-size: 28px; }
    .pc-capcalera, .pc-serveis, .pc-peu-fila { grid-template-columns: 1fr; }
    .pc-principal .pc-foto { flex: none; min-height: 0; }
    .pc-principal .pc-cos { padding: 20px; }
    .pc-principal .pc-titol { font-size: 25px; }
    .pc-principal .pc-resum { font-size: 16px; }
    .pc-secundaries { gap: 16px; }
    .pc-secundaries .pc-titol { font-size: 19px; }
    .pc-graella { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
    .pc-mini .pc-titol { font-size: 16px; }
    .pc-body .pc-compactes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-videoteca { padding: 40px 0; }
    .pc-videoteca .pc-seccio-cap h2 { font-size: 25px; }
    .pc-video { flex-basis: 78%; }
    .pc-fletxes { display: none; }
    .pc-destacats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .pc-destacats a { min-height: 96px; }
    .pc-caixa { padding: 22px; }
}
@media (max-width: 480px) {
    .pc-amplada { padding: 0 16px; }
    .pc-escolta { padding: 0 7px; width: 52px; justify-content: center; }
    .pc-en-directe { font-size: 13px; padding: 7px 9px; }
    .pc-en-directe-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .pc-freq b { font-size: 21px; }
    .pc-freq span { font-size: 12px; }
    .pc-escolta-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .pc-graella { grid-template-columns: 1fr; gap: 28px; }
    .pc-mini .pc-titol { font-size: 18px; }
    .pc-body .pc-compactes { grid-template-columns: 1fr; }
    .pc-compacta { grid-template-columns: 104px minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .pc-eq i, .pc-escolta-icona::after { animation: none; }
    .pc-eq i:nth-child(odd) { transform: scaleY(.55); }
    .pc-videos { scroll-behavior: auto; }
    .pc-video .pc-foto-play { transition: none; }
}

/* =============================================================
   HEMEROTECA
   ============================================================= */
.pc-heme { padding-top: 40px; }

/* Cercador */
.pc-cerca { background: #fff; border: 1px solid var(--pc-vora); border-radius: var(--pc-radi); padding: 28px 32px; margin-bottom: 40px; }
.pc-cerca-cap { display: flex; align-items: baseline; gap: 8px 20px; flex-wrap: wrap; margin-bottom: 20px; }
.pc-cerca-cap h2 { font-size: 34px; font-weight: 800; letter-spacing: -.02em; }
.pc-cerca-cap p { color: var(--pc-gris); font-size: 16px; }
.pc-cerca-form { display: grid; grid-template-columns: 150px 150px minmax(0, 1fr) minmax(0, 1.5fr) auto; gap: 14px; align-items: end; }
.pc-camp { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pc-body .pc-camp label { margin: 0; font-size: 14px; font-weight: 700; color: var(--pc-text); }
.pc-camp input, .pc-camp select {
    height: 48px; width: 100%; padding: 0 14px; border: 1px solid #c6d3df; border-radius: 12px;
    background: #fff; color: var(--pc-text); font-family: var(--pc-cos); font-size: 16px; box-shadow: none;
}
.pc-camp select { appearance: none; -webkit-appearance: none; padding-right: 36px; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6573' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center; }
.pc-camp input:focus, .pc-camp select:focus { outline: none; border-color: var(--pc-blau); box-shadow: 0 0 0 3px rgba(0, 102, 153, .18); }
.pc-camp input::placeholder { color: #8391a0; }
.pc-boto-cerca {
    height: 48px; padding: 0 22px; border: none; border-radius: 999px; background: var(--pc-blau); color: #fff;
    font-family: var(--pc-cos); font-size: 16px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
}
.pc-boto-cerca:hover { background: #003399; }
.pc-cerca-estat { margin-top: 16px !important; font-size: 15px; color: var(--pc-text-2); }
.pc-cerca-estat a { font-weight: 700; margin-left: 6px; }
.pc-marca-cerca { background: #fde68a; color: inherit; padding: 0 2px; border-radius: 3px; }

/* Graella notícia + lateral */
.pc-heme-graella { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
.pc-heme-graella.pc-heme-sol { grid-template-columns: minmax(0, 860px); justify-content: center; }

/* Notícia */
.pc-article { background: #fff; border: 1px solid var(--pc-vora); border-radius: var(--pc-radi); padding: 40px 48px 48px; min-width: 0; }
.pc-article-tema { display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--pc-blau-suau); font-size: 14px; font-weight: 700; margin-bottom: 16px; }
.pc-body a.pc-article-tema { color: var(--pc-blau-fosc); }
.pc-body a.pc-article-tema:hover { background: #d3e5f0; color: var(--pc-blau-fosc); }
.pc-body .pc-article-titol { font-size: 42px; line-height: 1.1; font-weight: 800; letter-spacing: -.02em; margin-bottom: 14px; }
.pc-article-meta { font-size: 15px; gap: 4px 18px; margin-bottom: 18px; }
.pc-article-meta span + span::before { content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #9aa7b4; margin-right: 18px; vertical-align: middle; }
.pc-compartir { margin-bottom: 24px; }
.pc-compartir:empty { display: none; }
.pc-body .pc-article-foto { margin: 0 0 28px; }
.pc-article-foto img { display: block; width: 100%; height: auto; border-radius: 14px; }
.pc-article-foto figcaption { margin-top: 10px; font-size: 14px; color: var(--pc-gris); line-height: 1.45; }
.pc-video-marc { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #0e2a40; }
.pc-video-marc iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pc-body .pc-article-entradeta { font-size: 21px; line-height: 1.5; font-weight: 600; color: var(--pc-text); margin-bottom: 22px; max-width: none; text-align: justify; }
.pc-article-text { font-size: 18px; line-height: 1.75; color: #24303c; max-width: none; overflow-wrap: break-word; text-align: justify; }
.pc-article-text img, .pc-article-text video { max-width: 100%; height: auto; border-radius: 10px; }
/* Vídeos incrustats (YouTube, Vimeo...): tota l'amplada i proporció 16:9.
   Abans l'alçada quedava reduïda a 150 píxels. */
.pc-article-text iframe { max-width: 100%; border: 0; border-radius: 10px; }
.pc-article-text iframe[src*="youtube.com"], .pc-article-text iframe[src*="youtube-nocookie.com"], .pc-article-text iframe[src*="youtu.be"],
.pc-article-text iframe[src*="vimeo.com"], .pc-article-text iframe[src*="dailymotion.com"], .pc-article-text iframe[src*="facebook.com/plugins/video"] {
    display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; margin: 24px 0;
}
/* Publicacions d'Instagram: amplada natural (fins a 540 px), centrades, i l'alçada la calcula Instagram */
.pc-article-text blockquote.instagram-media, .pc-article-text iframe.instagram-media, .pc-article-text iframe[src*="instagram.com"] {
    display: block; width: 100% !important; max-width: 540px !important; min-width: 280px !important; margin: 24px auto !important;
}
.pc-article-text iframe[src*="instagram.com"]:not([style*="height"]) { min-height: 620px; }
.pc-article-text a { text-decoration: underline; text-underline-offset: 2px; }
.pc-article-text .rp-mini { max-width: 100%; }
.pc-article-media { margin-top: 36px; padding-top: 32px; border-top: 1px solid var(--pc-vora); display: flex; flex-direction: column; gap: 8px; }
.pc-article-media .rp { max-width: 100%; margin: 0 0 20px; }
.pc-document { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--pc-vora); border-radius: 14px; margin-bottom: 16px; }
.pc-body a.pc-document { color: var(--pc-text); }
.pc-body a.pc-document:hover { border-color: #6e90e1; color: var(--pc-text); }
.pc-document-icona { width: 48px; height: 48px; flex-shrink: 0; border-radius: 12px; background: var(--pc-blau-suau); color: var(--pc-blau); display: flex; align-items: center; justify-content: center; }
.pc-document b { display: block; font-size: 16px; }
.pc-document small { display: block; font-size: 14px; color: var(--pc-gris); }

.pc-buit { background: #fff; border: 1px solid var(--pc-vora); border-radius: var(--pc-radi); padding: 56px 40px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pc-buit h1 { font-size: 30px; font-weight: 800; }
.pc-buit p { color: var(--pc-text-2); }
.pc-buit .pc-boto { align-self: center; }

/* Lateral */
.pc-lateral { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.pc-lateral .pc-caixa { padding: 24px; gap: 12px; }
.pc-lateral .pc-caixa h2 { font-size: 21px; }
.pc-llistat-items li { border-top: 1px solid var(--pc-vora); }
.pc-llistat-items li:first-child { border-top: none; }
.pc-llistat-items a { display: flex; flex-direction: column; gap: 3px; padding: 14px 10px; margin: 0 -10px; border-radius: 12px; }
.pc-body .pc-llistat-items a { color: var(--pc-text); }
.pc-body .pc-llistat-items a:hover { background: #f1f6fa; color: var(--pc-text); }
.pc-llistat-items .pc-meta { font-size: 13px; }
.pc-llistat-titol { font-weight: 700; font-size: 16px; line-height: 1.3; }
.pc-llistat-resum { font-size: 14px; line-height: 1.45; color: var(--pc-text-2); }
.pc-llistat-items li.pc-actual a { background: var(--pc-blau-suau); }
.pc-llistat-items li.pc-actual .pc-llistat-titol { color: var(--pc-blau-fosc); }
.pc-llistat-buit { color: var(--pc-gris); }
.pc-enllacos li + li { margin-top: 10px; }
.pc-enllacos a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }

/* Paginació (Zebra) */
.pc-paginacio { margin-top: 6px; }
.pc-body .pc-paginacio ul, .pc-body .pc-paginacio ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pc-paginacio .Zebra_Pagination { float: none; width: auto; margin: 0; }
.pc-paginacio li { display: block; float: none; margin: 0; }
.pc-body .pc-paginacio a, .pc-body .pc-paginacio span {
    display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px;
    border: 1px solid var(--pc-vora); border-radius: 999px; background: #fff; color: var(--pc-text);
    font-size: 15px; font-weight: 600; line-height: 1; float: none; margin: 0; text-decoration: none; box-shadow: none;
}
.pc-body .pc-paginacio a:hover { border-color: var(--pc-blau); color: var(--pc-blau); background: #fff; }
.pc-body .pc-paginacio a.current, .pc-body .pc-paginacio .active a, .pc-body .pc-paginacio .active span { background: var(--pc-blau); border-color: var(--pc-blau); color: #fff; }
.pc-body .pc-paginacio .disabled, .pc-body .pc-paginacio a.disabled, .pc-body .pc-paginacio .disabled a { opacity: .45; pointer-events: none; }

/* jQuery UI datepicker amb els colors del web (tot amb contrast suficient) */
.ui-datepicker { width: 300px !important; padding: 12px !important; background: #fff !important; border: 1px solid var(--pc-vora) !important; border-radius: 14px !important; box-shadow: 0 12px 32px rgba(14, 42, 64, .2) !important; font-family: var(--pc-cos) !important; font-size: 15px !important; color: var(--pc-text) !important; z-index: 1000 !important; }
.ui-datepicker .ui-datepicker-header { background: var(--pc-blau-fosc) !important; border: none !important; border-radius: 10px !important; color: #fff !important; padding: 8px 0 !important; }
.ui-datepicker .ui-datepicker-title { color: #fff !important; font-weight: 700; line-height: 1.8em !important; display: flex; justify-content: center; gap: 6px; }
.ui-datepicker .ui-datepicker-title select { color: var(--pc-text) !important; background: #fff !important; border: none !important; border-radius: 6px !important; padding: 2px 4px !important; font-size: 14px !important; font-weight: 600; height: auto !important; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { top: 9px !important; background: #fff !important; border: none !important; border-radius: 50% !important; cursor: pointer; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { background: #d3e5f0 !important; }
.ui-datepicker th { color: var(--pc-gris) !important; font-weight: 700 !important; font-size: 13px; padding: 8px 0 4px !important; }
.ui-datepicker td { padding: 2px !important; }
.ui-datepicker td a.ui-state-default, .ui-datepicker td span.ui-state-default {
    display: block; text-align: center !important; padding: 7px 0 !important; border-radius: 8px !important;
    background: #f3f6f9 !important; border: 1px solid transparent !important; color: var(--pc-text) !important; font-weight: 600 !important; text-decoration: none !important;
}
.ui-datepicker td a.ui-state-hover, .ui-datepicker td a.ui-state-default:hover { background: #d3e5f0 !important; color: var(--pc-blau-fosc) !important; }
.ui-datepicker td a.ui-state-highlight { background: #fff !important; border-color: var(--pc-blau) !important; color: var(--pc-blau) !important; }
.ui-datepicker td a.ui-state-active { background: var(--pc-blau) !important; border-color: var(--pc-blau) !important; color: #fff !important; }
.ui-datepicker .ui-datepicker-other-month a, .ui-datepicker td.ui-state-disabled span { opacity: .45; }

@media (max-width: 1080px) {
    .pc-cerca-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-camp-clau { grid-column: span 2; }
    .pc-boto-cerca { grid-column: span 2; justify-content: center; }
    .pc-heme-graella { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
    .pc-article { padding: 32px; }
}
@media (max-width: 860px) {
    .pc-heme { padding-top: 24px; }
    .pc-cerca { padding: 22px 20px; margin-bottom: 24px; }
    .pc-cerca-cap h2 { font-size: 28px; }
    .pc-heme-graella, .pc-heme-graella.pc-heme-sol { grid-template-columns: minmax(0, 1fr); }
    .pc-article { padding: 24px 20px 28px; }
    .pc-body .pc-article-titol { font-size: 30px; }
    .pc-body .pc-article-entradeta { font-size: 19px; }
    .pc-article-text { font-size: 17px; }
}
@media (max-width: 480px) {
    .pc-cerca-form { gap: 12px 10px; }
    .pc-camp-clau, .pc-boto-cerca, .pc-cerca-form .pc-camp:nth-child(3) { grid-column: span 2; }
    .pc-cerca-cap p { display: none; }
    .pc-article { border-radius: 14px; padding: 20px 16px 24px; }
    .pc-body .pc-article-titol { font-size: 27px; }
}

/* =============================================================
   RESUMS ANUALS
   ============================================================= */
.pc-form-resums { grid-template-columns: 220px 160px auto; justify-content: start; }
.pc-body .pc-text-ample { max-width: none; }
.pc-resum-audio { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--pc-vora); }
.pc-resum-cos.pc-amb-fotos { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.pc-resum-cos .pc-galeria-foto { padding: 8px; }
.pc-resum-audio .rp { max-width: 100%; margin: 12px 0 0; }
.pc-body .pc-avis { font-size: 15px; color: var(--pc-text-2); background: var(--pc-blau-suau); border-radius: 12px; padding: 12px 16px; }
.pc-galeria { display: flex; flex-direction: column; gap: 20px; }
.pc-body .pc-galeria-foto { margin: 0; background: #fff; border: 1px solid var(--pc-vora); border-radius: var(--pc-radi); padding: 10px; }
.pc-galeria-foto img { display: block; width: 100%; height: auto; border-radius: 10px; }
.pc-galeria-foto figcaption { font-size: 14px; color: var(--pc-gris); line-height: 1.4; padding: 10px 4px 2px; }

/* =============================================================
   ARXIU DE PROGRAMES
   ============================================================= */
.pc-form-arxiu { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1.5fr) auto; }
.pc-arxiu-graella { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 40px; align-items: start; }
.pc-arxiu-lateral { order: -1; }
.pc-arxiu-principal { min-width: 0; display: flex; flex-direction: column; gap: 36px; }
.pc-arxiu-principal:only-child { grid-column: 1 / -1; }
.pc-serie { padding: 32px; }
.pc-serie-cap { display: flex; gap: 28px; align-items: flex-start; }
.pc-serie-img { width: 220px; max-width: 40%; height: auto; border-radius: 14px; flex-shrink: 0; }
.pc-serie-dades { min-width: 0; flex: 1; }
.pc-body .pc-serie .pc-article-titol { font-size: 36px; }
.pc-serie-fitxa { font-size: 16px; line-height: 1.6; color: var(--pc-text-2); }
.pc-serie-fitxa dt, .pc-serie-fitxa dd { float: none; width: auto; margin: 0; text-align: left; white-space: normal; }
.pc-serie-fitxa dt { font-weight: 700; color: var(--pc-text); margin-top: 6px; }
.pc-serie-descripcio { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--pc-vora); font-size: 17px; }
.pc-serie .pc-compartir { margin: 20px 0 0; }
.pc-comptador { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 28px; padding: 0 10px; margin-left: 8px; border-radius: 999px; background: var(--pc-blau-suau); color: var(--pc-blau-fosc); font-family: var(--pc-cos); font-size: 15px; font-weight: 700; vertical-align: middle; }
.pc-programes .pc-h2-petit { margin-bottom: 18px; }
.pc-programes-graella { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pc-programa { display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid var(--pc-vora); border-radius: 16px; padding: 12px 12px 16px; }
.pc-body a.pc-programa { color: var(--pc-text); }
.pc-body a.pc-programa:hover { border-color: #6e90e1; color: var(--pc-text); }
.pc-programa .pc-foto { aspect-ratio: 16 / 10; border-radius: 10px; background: var(--pc-blau-suau); margin-bottom: 4px; }
.pc-programa .pc-foto-play { width: 48px; height: 48px; margin: -24px 0 0 -24px; opacity: .92; }
.pc-programa:hover .pc-foto-play { background: var(--pc-blau); color: #fff; }
.pc-programa-icona { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #8fb3cc; }
.pc-programa-icona + .pc-foto-play { display: none; }
.pc-programa-titol { font-weight: 700; font-size: 16px; line-height: 1.3; padding: 0 4px; }
.pc-programa-desc { font-size: 14px; line-height: 1.45; color: var(--pc-text-2); padding: 0 4px; text-align: justify;  }

/* =============================================================
   QUI SOM?
   ============================================================= */
.pc-info-cap { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; margin-bottom: 28px; }
.pc-body .pc-info-sobre { font-size: 16px; font-weight: 600; color: var(--pc-blau); margin-bottom: 2px; }
.pc-info-cap h1 { font-size: 40px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.pc-pestanyes { display: flex; flex-wrap: wrap; gap: 6px; background: #fff; border: 1px solid var(--pc-vora); border-radius: 999px; padding: 5px; }
.pc-pestanyes a { display: block; padding: 9px 18px; border-radius: 999px; font-weight: 700; font-size: 15px; }
.pc-body .pc-pestanyes a { color: var(--pc-text); }
.pc-body .pc-pestanyes a:hover { background: var(--pc-blau-suau); color: var(--pc-blau-fosc); }
.pc-body .pc-pestanyes a.pc-actiu { background: var(--pc-blau); color: #fff; }

.pc-info-cos { background: #fff; border: 1px solid var(--pc-vora); border-radius: var(--pc-radi); padding: 40px 44px; font-size: 17px; line-height: 1.7; color: #24303c; overflow: hidden; }
.pc-info-cos::after { content: ""; display: table; clear: both; }
.pc-info-cos p, .pc-info-cos li, .pc-info-cos .descripcio { text-align: justify;  }
.pc-info-cos p { margin: 0 0 14px; }
.pc-body .pc-info-cos h2 { font-size: 30px; font-weight: 800; margin: 36px 0 18px; padding-top: 28px; border-top: 1px solid var(--pc-vora); clear: both; }
.pc-body .pc-info-cos h3 { font-size: 23px; font-weight: 700; margin: 28px 0 10px; }
.pc-body .pc-info-cos h4 { font-family: var(--pc-titols); font-size: 21px; font-weight: 700; color: var(--pc-text); margin: 24px 0 12px; border: none; padding: 0; }
.pc-body .pc-info-cos h5 { font-family: var(--pc-cos); font-size: 17px; font-weight: 700; color: var(--pc-blau); margin: 18px 0 4px; }
.pc-body .pc-info-cos h6 { font-family: var(--pc-cos); font-size: 15px; font-weight: 400; color: var(--pc-text-2); margin: 0 0 8px; }
.pc-info-cos a { text-decoration: underline; text-underline-offset: 2px; }
.pc-info-cos img { max-width: 100%; height: auto; border-radius: 12px; }
.pc-info-cos iframe { max-width: 100%; border-radius: 12px; }
.pc-info-cos .row { margin-left: -12px; margin-right: -12px; }
.pc-info-cos [class*="col-"] { padding-left: 12px; padding-right: 12px; }
.pc-info-cos .custom-any { color: var(--pc-blau); font-weight: 700; }

/* Graella de programació */
.pc-info-cos .custom-table { overflow-x: auto; margin: 10px 0 24px; }
.pc-info-cos table { width: 100%; border-collapse: separate; border-spacing: 3px; font-size: 14.5px; line-height: 1.4; }
.pc-info-cos table td { padding: 8px 10px !important; border-radius: 8px; vertical-align: middle; }
.pc-info-cos table td p { margin: 0; text-align: center; }
.pc-info-cos table tr:nth-child(2) td { font-weight: 700; color: var(--pc-blau-fosc); text-transform: capitalize; }
.pc-info-cos table td[bgcolor="#EBEBF5"] { color: var(--pc-blau-fosc); font-weight: 700; font-variant-numeric: tabular-nums; }

/* Fitxes de programes i de l'equip */
.pc-info-cos #programes .fitxa { background: #f6f9fc; border: 1px solid var(--pc-vora); border-radius: 14px; padding: 18px 20px; margin-bottom: 16px; }
.pc-body .pc-info-cos .fitxa .nom { font-family: var(--pc-titols); font-size: 20px; font-weight: 700; color: var(--pc-text); text-align: left; margin: 0 0 6px; line-height: 1.25; }
.pc-info-cos .fitxa .nom span { font-family: var(--pc-cos); font-size: 15px; font-weight: 600; color: var(--pc-blau); }
.pc-info-cos .fitxa .horari { font-size: 15px; font-weight: 700; color: var(--pc-blau); margin-bottom: 2px; }
.pc-info-cos .fitxa .conductor { font-size: 15px; font-style: italic; color: var(--pc-gris); margin-bottom: 8px; }
.pc-body .pc-info-cos .fitxa .descripcio { font-size: 16px; line-height: 1.6; color: #24303c; margin-top: 8px; padding: 0; }
.pc-info-cos .custom-equip, .pc-info-cos .custom-equip-sin { border-right: none; margin: 0 0 28px; padding-top: 0; padding-bottom: 0; }
.pc-info-cos .custom-equip img, .pc-info-cos .custom-equip-sin img { margin: 6px 0 12px; }

/* Entitat: blocs laterals */
.pc-info-cos #municipal, .pc-info-cos #aniversari25, .pc-info-cos #premis { background: #f6f9fc; border: 1px solid var(--pc-vora); border-radius: 14px; padding: 20px 22px; margin-bottom: 20px; }
.pc-body .pc-info-cos #municipal h4, .pc-body .pc-info-cos #premis h4 { margin-top: 0; }

/* Contactar */
.pc-info-cos .navbar-default { background: var(--pc-blau-suau); border: none; border-radius: 14px; padding: 22px 26px; margin-bottom: 24px; min-height: 0; }
.pc-info-cos .navbar-default .text-center, .pc-info-cos .navbar-default div { text-align: left; }
.pc-info-cos .google-maps { border-radius: 14px; overflow: hidden; }

@media (max-width: 1080px) {
    .pc-form-arxiu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-arxiu-graella { grid-template-columns: 280px minmax(0, 1fr); gap: 28px; }
    .pc-programes-graella { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .pc-form-resums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-form-resums .pc-boto-cerca { grid-column: span 2; justify-content: center; }
    .pc-arxiu-graella { grid-template-columns: minmax(0, 1fr); }
    .pc-arxiu-lateral { order: 0; }
    .pc-serie { padding: 22px 20px; }
    .pc-serie-cap { flex-direction: column; }
    .pc-serie-img { width: 100%; max-width: 100%; }
    .pc-body .pc-serie .pc-article-titol { font-size: 28px; }
    .pc-info-cap h1 { font-size: 30px; }
    .pc-pestanyes { border-radius: 16px; width: 100%; }
    .pc-pestanyes a { flex: 1 1 auto; text-align: center; }
    .pc-info-cos { padding: 24px 18px; font-size: 16px; }
    .pc-galeria { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .pc-resum-cos.pc-amb-fotos { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 480px) {
    .pc-programes-graella { grid-template-columns: minmax(0, 1fr); }
}

/* =============================================================
   FITXA D'ÀUDIO (programa de l'arxiu)
   ============================================================= */
.pc-audio-amplada { max-width: 920px; }
.pc-tornar { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 16px; margin-bottom: 18px; }
.pc-audio .rp { max-width: 100%; margin: 8px 0 28px; }
.pc-audio-foto img { max-height: 520px; object-fit: cover; }
.pc-audio-compartir { margin: 28px 0 0; }
@media (max-width: 860px) {
    .pc-tornar { margin-bottom: 12px; font-size: 15px; }
}

/* Invitació a l'hemeroteca (portada, després de la notícia 17) */
.pc-mes-antigues { display: flex; align-items: center; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap; margin-top: 36px; padding: 26px 30px; border-radius: var(--pc-radi); background: var(--pc-blau-suau); border: 1px solid #cfe1ec; }
.pc-mes-antigues h3 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
.pc-mes-antigues p { color: var(--pc-text-2); font-size: 16px; text-align: justify;  max-width: 62ch; }
.pc-body .pc-mes-antigues .pc-boto { margin-top: 0; gap: 8px; flex-shrink: 0; }
@media (max-width: 860px) {
    .pc-mes-antigues { padding: 22px 20px; }
    .pc-body .pc-mes-antigues .pc-boto { width: 100%; justify-content: center; }
}

/* Portada: només el botó cap a l'hemeroteca */
.pc-anar-hemeroteca { display: flex; justify-content: flex-end; margin-top: 36px; }
.pc-body .pc-anar-hemeroteca .pc-boto { margin-top: 0; gap: 8px; height: 50px; padding: 0 28px; }

/* Portada: giny d'Instagram */
.pc-insta-cap { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pc-insta-cap a { font-weight: 700; font-size: 15px; }
.pc-insta-graella { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.pc-insta-post { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 10px; overflow: hidden; background: var(--pc-blau-suau); }
.pc-insta-post img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.pc-insta-post:hover img { transform: scale(1.05); }
.pc-insta-video { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; display: flex; align-items: center; justify-content: center; }
.pc-insta-buit { color: var(--pc-text-2); }
.pc-body .pc-insta-boto { align-self: stretch; justify-content: center; margin-top: auto; }

/* Peu: xarxes socials */
.pc-body .pc-xarxes { display: flex; gap: 10px; margin-top: 16px; }
.pc-xarxes a { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); transition: background .15s ease; }
.pc-body .pc-peu .pc-xarxes a { color: #fff; text-decoration: none; }
.pc-body .pc-peu .pc-xarxes a:hover { background: #fff; color: var(--pc-blau-fosc); text-decoration: none; }
@media (max-width: 860px) {
    .pc-insta-graella { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .pc-insta-post img, .pc-xarxes a { transition: none; }
}

/* Portada: giny de Behold (Instagram) */
.pc-insta-giny { min-height: 200px; border-radius: 12px; overflow: hidden; }
.pc-insta-giny behold-widget { display: block; width: 100%; }

/* Portada: el temps a Palamós (Open-Meteo) */
.pc-temps-ara { display: flex; align-items: center; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap; padding: 22px 24px; border-radius: 16px; color: #fff;
    background: radial-gradient(420px 200px at 90% -30%, rgba(58, 160, 216, .5), transparent 70%), linear-gradient(120deg, #003f63 0%, #005380 100%); }
.pc-temps-principal { display: flex; align-items: center; gap: 16px; }
.pc-temps-icona svg { display: block; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .2)); }
.pc-body .pc-temps-graus { font-family: var(--pc-titols); font-size: 60px; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.pc-temps-graus span { font-size: 24px; font-weight: 700; color: #8fd0f3; margin-left: 2px; vertical-align: top; }
.pc-body .pc-temps-estat { font-size: 17px; font-weight: 600; color: #d5e9f5; margin-top: 4px; }
.pc-body .pc-temps-dades { display: grid; grid-template-columns: repeat(2, minmax(0, auto)); gap: 10px 28px; }
.pc-temps-dades li { display: flex; flex-direction: column; }
.pc-temps-dades span { font-size: 13px; color: #a9cde3; }
.pc-temps-dades b { font-size: 16px; font-weight: 700; }
.pc-body .pc-temps-dies { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.pc-temps-dies li { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 6px; border-radius: 14px; background: #f3f7fb; border: 1px solid var(--pc-vora); text-align: center; }
.pc-temps-dies li.pc-avui { background: var(--pc-blau-suau); border-color: #b9d5e7; }
.pc-temps-dia { font-size: 14px; font-weight: 700; color: var(--pc-blau-fosc); }
.pc-temps-max { font-size: 18px; font-weight: 700; color: var(--pc-text); line-height: 1.1; }
.pc-temps-min { font-size: 15px; color: var(--pc-gris); line-height: 1.1; }
.pc-temps-pluja { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 600; color: #1f7fb5; }
.pc-body .pc-temps-font { font-size: 12px; color: var(--pc-gris); margin-top: auto; }
@media (max-width: 480px) {
    .pc-body .pc-temps-graus { font-size: 50px; }
    .pc-temps-ara { padding: 18px; }
    .pc-body .pc-temps-dies { gap: 5px; }
    .pc-temps-dies li { padding: 10px 2px; }
    .pc-temps-icona-dia svg { width: 30px; height: 30px; }
    .pc-temps-pluja { font-size: 11px; }
}

/* Portada: selecció de programes històrics */
.pc-historics-llista { gap: 20px; }
.pc-historic { flex: 0 0 calc((100% - 60px) / 4); scroll-snap-align: start; display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--pc-vora); border-radius: 16px; padding: 12px 12px 16px; }
.pc-body a.pc-historic, .pc-body a.pc-historic:hover { color: var(--pc-text); }
.pc-historic:hover { border-color: #6e90e1; }
.pc-historic .pc-foto { aspect-ratio: 16 / 10; border-radius: 10px; background: var(--pc-blau-suau); margin-bottom: 6px; }
.pc-historic .pc-tema { left: 10px; top: 10px; padding: 4px 10px; font-size: 12px; }
.pc-historic .pc-foto-play { width: 50px; height: 50px; margin: -25px 0 0 -25px; transition: transform .15s ease, background .15s ease; }
.pc-historic:hover .pc-foto-play { background: var(--pc-blau); color: #fff; transform: scale(1.06); }
.pc-historic .pc-programa-icona + .pc-tema + .pc-foto-play, .pc-historic .pc-programa-icona + .pc-foto-play { display: flex; }
.pc-historic-serie { font-size: 13px; font-weight: 700; color: var(--pc-blau); padding: 0 4px; }
.pc-historic-titol { font-size: 17px; font-weight: 700; line-height: 1.3; padding: 0 4px; }
.pc-historic-desc { font-size: 14px; line-height: 1.45; color: var(--pc-text-2); padding: 0 4px; text-align: justify;  }
.pc-fletxes-clares .pc-fletxa { border-color: #c6d3df; color: var(--pc-blau-fosc); background: #fff; }
.pc-fletxes-clares .pc-fletxa:hover { background: var(--pc-blau); border-color: var(--pc-blau); color: #fff; }
.pc-historics .pc-anar-hemeroteca { margin-top: 28px; }
@media (max-width: 1080px) { .pc-historic { flex-basis: calc((100% - 40px) / 3); } }
@media (max-width: 860px) { .pc-historic { flex-basis: 70%; } }
@media (prefers-reduced-motion: reduce) { .pc-historic .pc-foto-play { transition: none; } }
.pc-historic-data { font-weight: 700; color: var(--pc-text); margin-right: 3px; }

/* Resums: barra fixa amb l'àudio que continua sonant en canviar de mes */
.pc-barra-audio { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 50; width: min(760px, calc(100% - 24px));
    background: var(--pc-blau-fosc); color: #fff; border-radius: 18px; padding: 10px 12px 12px; box-shadow: 0 14px 40px rgba(0, 25, 45, .35); }
.pc-barra-audio[hidden] { display: none; }
.pc-barra-cap { display: flex; align-items: center; justify-content: space-between; padding: 0 4px 8px; }
.pc-barra-etiqueta { font-size: 13px; font-weight: 700; color: #8fd0f3; }
.pc-barra-tanca { width: 34px; height: 34px; border-radius: 50%; border: none; background: rgba(255, 255, 255, .12); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.pc-barra-tanca:hover { background: rgba(255, 255, 255, .24); }
.pc-barra-audio .rp { margin: 0; max-width: none; padding: 12px 14px; border: none; border-radius: 12px; }
.pc-barra-audio .rp-capcalera { margin-bottom: 4px; }
.pc-barra-audio .rp-icona { display: none; }
.pc-barra-audio .rp-controls { margin-top: 4px; gap: 10px; }
.pc-barra-audio .rp-play { width: 46px; height: 46px; }
.pc-barra-audio .rp-peu { display: none; }
body.pc-amb-barra .pc-peu { padding-bottom: 220px; }
@media (max-width: 480px) {
    .pc-barra-audio { bottom: 8px; padding: 8px 8px 10px; }
    .pc-barra-audio .rp-velocitat, .pc-barra-audio .rp-volum { display: none; }
}

/* Sense guionets de partició de mots en tot el web.
   "none" (i no "manual") perquè tampoc es parteixin les paraules que porten guionets
   invisibles (&shy;), habituals quan el text s'enganxa des d'altres programes. */
html .pc-body, html .pc-body * { -webkit-hyphens: none !important; -ms-hyphens: none !important; hyphens: none !important; }

/* Fitxa d'àudio sense capçalera ni peu (versió per a la web actual) */
.pc-audio-sol { padding-top: 28px; padding-bottom: 40px; }
@media (max-width: 860px) { .pc-audio-sol { padding-top: 16px; padding-bottom: 24px; } }
