/* ==========================================================================
   Projectes Eficients — Estils principals
   Mobile-first. Paleta: blanc trencat, verd profund, grafit, accent controlat.
   ========================================================================== */

:root{
	--pe-white: #FAF9F6;
	--pe-white-soft: #F2F1EC;
	--pe-graphite: #22262A;
	--pe-graphite-soft: #4A5058;
	--pe-green: #1F4D3E;
	--pe-green-dark: #163A2F;
	--pe-green-soft: #E4ECE7;
	--pe-accent: #63A94C;

	/* V7.2 — color d'accent reservat NOMÉS per als CTA principals d'alta
	   intenció (Demana pressupost, enviar formulari, CTA comercial
	   principal). Verd llima energètic, mai verd fluorescent agressiu.
	   Text sobre el CTA en verd fosc (no blanc: el contrast amb blanc no
	   és suficient sobre aquest verd clar). Contrast comprovat:
	   verd llima + text verd fosc ≈ 7.0:1 · hover ≈ 5.7:1 (compleix WCAG
	   AA/AAA). El terracota de V7 ha quedat completament eliminat de la paleta activa. */
	--pe-cta: #8CD63F;
	--pe-cta-dark: #78C232;
	--pe-cta-text: #163A2F;
	--pe-cta-focus: #163A2F;
	--pe-border: #E1DFD6;
	--pe-danger: #B3423B;

	--pe-font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	--pe-radius: 10px;
	--pe-radius-lg: 18px;
	--pe-shadow: 0 2px 10px rgba(34,38,42,0.06);
	--pe-shadow-hover: 0 8px 24px rgba(34,38,42,0.10);
	--pe-container: 1200px;
	--pe-header-h: 72px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
	margin:0;
	font-family:var(--pe-font);
	color:var(--pe-graphite);
	background:var(--pe-white);
	line-height:1.55;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-weight:700; line-height:1.2; margin:0 0 0.5em; color:var(--pe-green-dark); }
p{ margin:0 0 1em; }
button{ font-family:inherit; }

.screen-reader-text{ position:absolute; left:-9999px; }
.skip-link:focus{ left:8px; top:8px; position:fixed; background:#fff; padding:10px; z-index:9999; }

.pe-container{ max-width:var(--pe-container); margin:0 auto; padding:0 20px; }
.pe-section{ padding:56px 0; }
.pe-section__title{ font-size:clamp(1.5rem,3vw,2.1rem); text-align:center; margin-bottom:32px; }

/* ---------- Botons ---------- */
.pe-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:14px 26px; border-radius:999px; font-weight:600; font-size:0.98rem;
	border:2px solid transparent; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
	white-space:nowrap;
}
/* V7.2: el CTA principal (Demana pressupost, enviar formulari, CTA
   comercial d'alta intenció) és verd llima amb text verd fosc — la resta
   de la identitat (verd fosc/blanc/grafit) no canvia. Botons secundaris
   continuen en verd outline (.pe-btn--ghost) per mantenir la jerarquia
   clara: mai s'ha de pintar tota la web de verd llima. */
.pe-btn--primary{ background:var(--pe-cta); color:var(--pe-cta-text); font-weight:700; }
.pe-btn--primary:hover{ background:var(--pe-cta-dark); box-shadow:var(--pe-shadow-hover); transform:translateY(-1px); }
.pe-btn--primary:focus-visible{ outline:3px solid var(--pe-cta-focus); outline-offset:2px; }
.pe-btn--ghost{ background:transparent; border-color:var(--pe-green); color:var(--pe-green); }
.pe-btn--ghost:hover{ background:var(--pe-green-soft); }
.pe-btn--lg{ padding:16px 32px; font-size:1.05rem; }

/* ---------- Header ---------- */
.pe-header{
	position:sticky; top:0; z-index:100; background:rgba(250,249,246,0.92);
	backdrop-filter:blur(8px); border-bottom:1px solid var(--pe-border);
}
.pe-header__inner{ display:flex; align-items:center; justify-content:space-between; height:var(--pe-header-h); gap:24px; }
.pe-logo__wordmark{ font-size:0.82rem; letter-spacing:0.06em; line-height:1.2; color:var(--pe-green-dark); }
.pe-logo__wordmark strong{ color:var(--pe-green); }
.pe-nav{ display:none; }
.pe-nav__list{ display:flex; gap:28px; }
.pe-nav__list a{ font-weight:500; font-size:0.95rem; }
.pe-nav__list a:hover{ color:var(--pe-green); }
.pe-header__actions{ display:flex; align-items:center; gap:12px; }
.pe-header__cta{ display:none; }
/* V7 — "CA | ES" sempre en majúscules (ho força el text-transform, encara
   que el slug de Polylang vingués en minúscules), sense banderes, amb
   l'idioma actiu lleugerament destacat sense ser-ne el protagonista. */
.pe-lang-switch{ display:none; align-items:center; list-style:none; margin:0; padding:0; font-size:0.82rem; gap:2px; }
.pe-lang-switch li{ display:inline-flex; align-items:center; }
.pe-lang-switch li:not(:last-child)::after{ content:"|"; margin:0 6px; color:var(--pe-border); font-weight:400; }
.pe-lang-switch__link{ text-transform:uppercase; letter-spacing:.02em; font-weight:500; color:var(--pe-graphite-soft); }
.pe-lang-switch__link:hover{ color:var(--pe-green); }
.pe-lang-switch__link.is-current{ font-weight:700; color:var(--pe-green); }

.pe-mobile-nav .pe-lang-switch{ display:flex; margin:14px 0 4px; }
.pe-nav-toggle{ background:none; border:none; width:34px; height:26px; position:relative; cursor:pointer; }
.pe-nav-toggle span{ position:absolute; left:0; right:0; height:2px; background:var(--pe-graphite); transition:.2s; }
.pe-nav-toggle span:nth-child(1){ top:0; }
.pe-nav-toggle span:nth-child(2){ top:12px; }
.pe-nav-toggle span:nth-child(3){ top:24px; }

.pe-mobile-nav{ display:none; flex-direction:column; gap:10px; padding:16px 20px 24px; border-top:1px solid var(--pe-border); }
.pe-mobile-nav.is-open{ display:flex; }
.pe-mobile-nav__list{ display:flex; flex-direction:column; gap:12px; margin-bottom:12px; }
.pe-mobile-nav__list a{ font-weight:500; font-size:1rem; }

@media(min-width:960px){
	.pe-nav{ display:block; }
	.pe-header__cta{ display:inline-flex; }
	.pe-nav-toggle{ display:none; }
	.pe-lang-switch{ display:flex; }
}

/* ---------- Hero ---------- */
.pe-hero{ padding:48px 0 40px; }
.pe-hero__inner{ display:grid; gap:32px; align-items:center; }
.pe-eyebrow{ text-transform:uppercase; letter-spacing:0.08em; font-size:0.78rem; font-weight:700; color:var(--pe-accent); margin-bottom:10px; }
.pe-hero__title{ font-size:clamp(1.9rem,4.2vw,3rem); margin-bottom:14px; }
.pe-hero__subtitle{ font-size:1.1rem; color:var(--pe-graphite-soft); max-width:52ch; margin-bottom:22px; }
.pe-hero__ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:14px; }
.pe-hero__trust{ font-weight:600; color:var(--pe-green); font-size:0.95rem; }
.pe-hero__media-graphic{
	background: linear-gradient(135deg, var(--pe-green-soft) 0%, var(--pe-white-soft) 60%, var(--pe-green-soft) 100%);
	border-radius:var(--pe-radius-lg);
	min-height:260px;
	position:relative;
	overflow:hidden;
}
.pe-hero__media-graphic::before{
	content:'';
	position:absolute; inset:0;
	background-image:
		linear-gradient(var(--pe-border) 1px, transparent 1px),
		linear-gradient(90deg, var(--pe-border) 1px, transparent 1px);
	background-size:32px 32px;
	opacity:0.35;
}
.pe-hero__media-icon{
	position:relative; z-index:1;
	display:flex; align-items:center; justify-content:center;
	width:100%; height:100%; min-height:260px; color:var(--pe-green);
}
.pe-hero--service{ padding-top:28px; }
.pe-breadcrumbs{ font-size:0.82rem; color:var(--pe-graphite-soft); margin-bottom:14px; }
.pe-breadcrumbs a:hover{ color:var(--pe-green); }

@media(min-width:960px){
	.pe-hero__inner{ grid-template-columns:1.1fr 0.9fr; }
}

/* ---------- Grid de serveis ---------- */
.pe-service-grid{ background:var(--pe-white-soft); }
.pe-service-grid__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.pe-service-card{
	display:flex; flex-direction:column; gap:6px; background:#fff; border:1px solid var(--pe-border);
	border-radius:var(--pe-radius-lg); padding:20px; box-shadow:var(--pe-shadow); transition:.15s ease;
}
.pe-service-card:hover{ box-shadow:var(--pe-shadow-hover); transform:translateY(-2px); border-color:var(--pe-green); }
.pe-service-card__icon{ color:var(--pe-green); display:inline-flex; }
.pe-service-card__title{ font-weight:700; color:var(--pe-green-dark); }
.pe-service-card__subtitle{ font-size:0.85rem; color:var(--pe-graphite-soft); }
.pe-service-grid__more{ text-align:center; margin-top:28px; }
.pe-link-arrow{ font-weight:600; color:var(--pe-green); }

@media(min-width:720px){ .pe-service-grid__grid{ grid-template-columns:repeat(4,1fr); } }

/* ---------- Procés ---------- */
.pe-process__steps{ display:grid; gap:16px; counter-reset:step; }
.pe-process__step{ display:flex; align-items:flex-start; gap:14px; background:#fff; border:1px solid var(--pe-border); border-radius:var(--pe-radius); padding:16px 18px; }
.pe-process__num{ flex:0 0 auto; width:32px; height:32px; border-radius:50%; background:var(--pe-green); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.pe-process__text{ font-weight:500; padding-top:4px; }
@media(min-width:900px){ .pe-process__steps{ grid-template-columns:repeat(3,1fr); } }

/* ---------- Confiança ---------- */
.pe-trust{ background:var(--pe-green-dark); color:#fff; }
.pe-trust__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; text-align:center; }
.pe-trust__number{ display:block; font-size:2.2rem; font-weight:800; }
.pe-trust__label{ font-size:0.85rem; opacity:0.9; }
.pe-trust__stat--text .pe-trust__label{ font-size:1rem; font-weight:600; opacity:1; }
@media(min-width:720px){ .pe-trust__grid{ grid-template-columns:repeat(4,1fr); } }

/* ---------- Públics ---------- */
.pe-audiences__grid{ display:grid; gap:16px; }
.pe-audience-card{ background:#fff; border:1px solid var(--pe-border); border-radius:var(--pe-radius-lg); padding:22px; }
@media(min-width:900px){ .pe-audiences__grid{ grid-template-columns:repeat(4,1fr); } }

/* ---------- CTA band ---------- */
.pe-cta-band{ background:var(--pe-green-soft); text-align:center; }
.pe-cta-band__inner{ max-width:640px; margin:0 auto; }
.pe-cta-band__text{ font-size:1.15rem; font-weight:600; color:var(--pe-green-dark); }
.pe-cta-band__response{ margin-top:12px; font-size:0.9rem; color:var(--pe-graphite-soft); }

/* ---------- FAQ ---------- */
.pe-faq__inner{ max-width:820px; margin:0 auto; }
.pe-faq__item{ border-bottom:1px solid var(--pe-border); padding:16px 0; }
.pe-faq__question{ cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.pe-faq__question::-webkit-details-marker{ display:none; }
.pe-faq__question::after{ content:'+'; font-size:1.3rem; color:var(--pe-green); margin-left:12px; }
details[open] .pe-faq__question::after{ content:'–'; }
.pe-faq__answer{ padding-top:10px; color:var(--pe-graphite-soft); }

/* ---------- Servei body ---------- */
.pe-service-body__grid{ display:grid; gap:32px; }
.pe-service-body__benefits{ background:var(--pe-white-soft); border-radius:var(--pe-radius-lg); padding:24px; align-self:start; }
.pe-service-body__benefits ul{ margin:14px 0 20px; display:grid; gap:10px; }
.pe-service-body__benefits li{ padding-left:22px; position:relative; }
.pe-service-body__benefits li::before{ content:'✓'; position:absolute; left:0; color:var(--pe-green); font-weight:700; }
@media(min-width:960px){ .pe-service-body__grid{ grid-template-columns:1.6fr 1fr; } }

/* ---------- Landing Ads ---------- */
body.pe-landing{ background:var(--pe-white); }
.pe-landing__header{ padding:18px 0; border-bottom:1px solid var(--pe-border); }
.pe-landing__header .pe-container{ display:flex; justify-content:space-between; align-items:center; }
.pe-landing__phone{ font-weight:700; color:var(--pe-green); }
.pe-landing__benefits{ display:grid; gap:10px; max-width:640px; margin:0 auto; }
.pe-landing__benefits li{ padding-left:24px; position:relative; }
.pe-landing__benefits li::before{ content:'✓'; position:absolute; left:0; color:var(--pe-green); font-weight:700; }

/* ---------- Gràcies ---------- */
.pe-gracies__inner{ max-width:560px; margin:0 auto; text-align:center; }
.pe-gracies__lead{ font-size:1.1rem; color:var(--pe-graphite-soft); }
.pe-gracies__checklist{ display:grid; gap:8px; margin:24px 0; font-weight:600; color:var(--pe-green); }

/* ---------- Archive / grids genèrics ---------- */
.pe-archive__grid{ display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }
@media(min-width:720px){ .pe-archive__grid{ grid-template-columns:repeat(3,1fr); } }

/* ---------- Pàgina genèrica ---------- */
.pe-page__inner{ max-width:820px; margin:0 auto; }
.pe-page__content :is(h2,h3){ margin-top:1.4em; }
.pe-contact-list{ margin-top:24px; display:grid; gap:10px; font-weight:600; }
.pe-contact-list a{ color:var(--pe-green); }
.pe-contact-list__trust{ color:var(--pe-graphite-soft); font-weight:600; }

/* ---------- 404 ---------- */
.pe-404__inner{ text-align:center; max-width:520px; margin:0 auto; }

/* ---------- Footer ---------- */
.pe-footer{ background:var(--pe-graphite); color:#D9DBD8; padding:52px 0 24px; margin-top:24px; }
.pe-footer__grid{ display:grid; gap:32px; }
.pe-footer h3{ color:#fff; font-size:0.95rem; margin-bottom:14px; }
.pe-footer a{ color:#C7CBC6; }
.pe-footer a:hover{ color:#fff; }
.pe-footer ul{ display:grid; gap:8px; font-size:0.9rem; }
.pe-footer__brand p{ font-size:0.88rem; color:#B7BBB4; max-width:36ch; }
.pe-footer__bottom{ margin-top:36px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.12); display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; font-size:0.82rem; color:#9AA09A; }
.pe-footer__legal{ display:flex; gap:16px; }
@media(min-width:900px){ .pe-footer__grid{ grid-template-columns:2fr 1fr 1fr 1fr 1fr; } }
.pe-form-page__response{ margin-top:14px; font-size:0.85rem; color:var(--pe-graphite-soft); text-align:center; }
.pe-footer .pe-lang-switch{ display:flex; }
.pe-footer .pe-lang-switch__link{ color:#C7CBC6; }
.pe-footer .pe-lang-switch__link:hover{ color:#fff; }
.pe-footer .pe-lang-switch__link.is-current{ color:#fff; }

/* ---------- Pàgines legals ---------- */
.pe-legal-facts{ list-style:none; margin:14px 0; padding:0; display:grid; gap:6px; }
.pe-legal-admin-notice{ margin:16px 0; padding:12px 16px; border:1px solid #D9A441; background:#FBF3E4; border-radius:var(--pe-radius); font-size:0.88rem; color:var(--pe-graphite-soft); }

/* V7.3 — llegibilitat de les pàgines legals: ample de lectura contingut
   (heretat de .pe-page__inner, 820px), més aire entre seccions, cap
   "card" artificial. */
.pe-legal-content{ line-height:1.7; }
.pe-legal-content h2{ margin-top:1.8em; padding-top:0.6em; border-top:1px solid var(--pe-border); font-size:1.25rem; }
.pe-legal-content h2:first-child{ margin-top:0; padding-top:0; border-top:none; }
.pe-legal-content h3{ margin-top:1.2em; font-size:1.05rem; color:var(--pe-green); }
.pe-legal-content p{ margin:0 0 1em; color:var(--pe-graphite-soft); }
.pe-legal-content ul{ margin:0 0 1em; padding-left:1.3em; color:var(--pe-graphite-soft); }
.pe-legal-content li{ margin-bottom:0.3em; }
.pe-legal-content strong{ color:var(--pe-green-dark); }
.pe-legal-content a{ color:var(--pe-green); text-decoration:underline; }

/* ---------- Sobre nosaltres (V7) ---------- */
.pe-about-hero__image{ margin:18px 0; border-radius:var(--pe-radius-lg); overflow:hidden; }
.pe-about-hero__image img{ width:100%; height:auto; display:block; }
.pe-hub__image{ margin:18px 0; border-radius:var(--pe-radius-lg); overflow:hidden; }
.pe-hub__image img{ width:100%; height:auto; display:block; }
.pe-about-stats{ background:var(--pe-green-soft); }
.pe-about-stats__grid{ display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); text-align:center; max-width:820px; margin:0 auto; }
.pe-about-stats__number{ display:block; font-size:2.4rem; font-weight:700; color:var(--pe-green-dark); }
.pe-about-stats__label{ display:block; font-size:0.92rem; color:var(--pe-graphite-soft); }
.pe-about-stats__note{ text-align:center; margin-top:18px; font-size:0.85rem; color:var(--pe-graphite-soft); max-width:640px; }
.pe-about-focus__list{ display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); list-style:none; padding:0; margin-top:18px; }
.pe-about-focus__list li{ background:#fff; border:1px solid var(--pe-border); border-radius:var(--pe-radius); padding:12px 16px; font-weight:600; color:var(--pe-green-dark); }
.pe-about-pillars__grid{ display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-top:18px; }
.pe-about-pillars__item h3{ font-size:1rem; color:var(--pe-green); }
.pe-about-pillars__item p{ color:var(--pe-graphite-soft); font-size:0.92rem; }
.pe-about-audiences__list{ display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); list-style:none; padding:0; margin-top:18px; font-weight:600; color:var(--pe-green-dark); }
.pe-about-coverage{ text-align:center; }
.pe-about-coverage p{ max-width:520px; margin:0 auto 18px; color:var(--pe-graphite-soft); }

/* ---------- WhatsApp flotant ---------- */
.pe-whatsapp-float{
	position:fixed; right:18px; bottom:86px; z-index:90;
	width:52px; height:52px; border-radius:50%; background:#25D366; color:#fff;
	display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,0,0,0.22);
	transition:transform .15s ease;
}
.pe-whatsapp-float:hover{ transform:scale(1.06); }
@media(min-width:960px){ .pe-whatsapp-float{ bottom:24px; } }

/* ---------- Barra sticky mòbil ---------- */
.pe-mobile-sticky{
	position:fixed; left:0; right:0; bottom:0; z-index:95; display:flex; gap:10px;
	padding:10px 14px; background:#fff; border-top:1px solid var(--pe-border);
	box-shadow:0 -4px 16px rgba(0,0,0,0.06);
}
.pe-mobile-sticky__cta{ flex:1; }
.pe-mobile-sticky__wa{ flex:0 0 auto; width:48px; height:48px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; }
@media(min-width:960px){ .pe-mobile-sticky{ display:none; } }

/* ---------- Formulari multipaso ---------- */
.pe-form-page__inner{ max-width:720px; margin:0 auto; }
.pe-form-page__intro{ text-align:center; margin-bottom:28px; }
.pe-multistep__progress{ height:6px; background:var(--pe-border); border-radius:999px; overflow:hidden; margin-bottom:10px; }
.pe-multistep__progress-bar{ height:100%; width:33%; background:var(--pe-green); transition:width .25s ease; }
.pe-multistep__step-label{ text-align:center; font-size:0.82rem; color:var(--pe-graphite-soft); font-weight:600; margin-bottom:18px; }
.pe-multistep__response{ text-align:center; font-size:0.85rem; color:var(--pe-graphite-soft); margin-top:12px; }
.pe-field__filehint{ font-size:0.78rem; color:var(--pe-graphite-soft); margin-top:4px; }
.pe-section--tight{ padding-top:0; padding-bottom:0; }
.pe-form-page--landing{ padding-top:8px; }
.pe-step__title{ text-align:center; margin-bottom:22px; font-size:1.3rem; }
.pe-step1-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.pe-step1-card{
	display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center;
	background:#fff; border:2px solid var(--pe-border); border-radius:var(--pe-radius-lg); padding:18px 10px;
	cursor:pointer; transition:.15s ease; font-weight:600; font-size:0.9rem;
}
.pe-step1-card:hover{ border-color:var(--pe-green); }
.pe-step1-card.is-selected{ border-color:var(--pe-green); background:var(--pe-green-soft); }
.pe-step1-card__icon{ color:var(--pe-green); display:inline-flex; }
@media(min-width:640px){ .pe-step1-grid{ grid-template-columns:repeat(3,1fr); } }

.pe-field{ margin-bottom:16px; display:flex; flex-direction:column; gap:6px; }
.pe-field label{ font-weight:600; font-size:0.92rem; }
.pe-field input, .pe-field select, .pe-field textarea{
	padding:12px 14px; border:1px solid var(--pe-border); border-radius:var(--pe-radius); font-family:inherit; font-size:1rem; background:#fff;
}
.pe-field input:focus, .pe-field select:focus, .pe-field textarea:focus{ outline:2px solid var(--pe-green); outline-offset:1px; }
.pe-field__hint{ font-size:0.82rem; color:var(--pe-graphite-soft); margin-top:-8px; margin-bottom:16px; }
.pe-field-row{ display:grid; gap:12px; }
@media(min-width:640px){ .pe-field-row{ grid-template-columns:1fr 1fr; } }

.pe-checkbox{ display:flex; align-items:flex-start; gap:10px; font-size:0.88rem; margin-bottom:12px; cursor:pointer; }
.pe-checkbox input{ margin-top:3px; }

.pe-honeypot{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

.pe-multistep__nav{ display:flex; justify-content:space-between; gap:12px; margin-top:24px; }
.pe-form-error{ color:var(--pe-danger); font-weight:600; margin-top:14px; text-align:center; }
.pe-form-success{ text-align:center; padding:32px 0; }
.pe-form-success h2{ color:var(--pe-green); }

/* ==========================================================================
   V5 — Blocs de contingut ampliat a single-servei.php
   (situacions, què inclou, factors de preu, casos d'ús, zona de servei)
   ========================================================================== */

.pe-service-situations h2,
.pe-service-includes h2,
.pe-service-usecases h2,
.pe-service-zone h2{ margin:0 0 24px; font-size:1.6rem; color:var(--pe-green); }

.pe-situations-grid{
	display:grid; grid-template-columns:repeat(2, 1fr); gap:14px 24px;
}
.pe-situations-grid li{
	display:flex; align-items:flex-start; gap:10px;
	background:#fff; border:1px solid var(--pe-border); border-radius:var(--pe-radius);
	padding:14px 16px; font-size:.97rem;
}
.pe-situations-grid li svg{ flex:0 0 auto; color:var(--pe-accent); margin-top:2px; }

.pe-service-includes{ background:var(--pe-green-soft); }
.pe-includes-list{
	display:grid; grid-template-columns:repeat(2, 1fr); gap:10px 24px;
}
.pe-includes-list li{ display:flex; align-items:flex-start; gap:10px; font-size:.97rem; }
.pe-includes-list li svg{ flex:0 0 auto; color:var(--pe-green); margin-top:3px; }

.pe-service-price__inner{
	display:grid; grid-template-columns:1.3fr 1fr; gap:32px; align-items:start;
}
.pe-service-price__factors ul{ margin:0 0 20px; display:flex; flex-direction:column; gap:8px; }
.pe-service-price__factors li{
	padding-left:18px; position:relative; font-size:.97rem; color:var(--pe-graphite-soft);
}
.pe-service-price__factors li::before{
	content:""; position:absolute; left:0; top:.6em; width:6px; height:6px;
	border-radius:50%; background:var(--pe-accent);
}
.pe-service-price__callout{
	background:#fff; border:1px solid var(--pe-border); border-radius:var(--pe-radius-lg);
	padding:24px; text-align:center; align-self:start;
}
.pe-service-price__callout-note{ margin:10px 0 0; font-size:.85rem; color:var(--pe-graphite-soft); }

.pe-usecases-grid{
	display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:18px;
}
.pe-usecase-card{
	background:#fff; border:1px solid var(--pe-border); border-radius:var(--pe-radius);
	padding:20px; box-shadow:var(--pe-shadow);
}
.pe-usecase-card h3{ margin:0 0 8px; font-size:1.05rem; color:var(--pe-green); }
.pe-usecase-card p{ margin:0; font-size:.93rem; color:var(--pe-graphite-soft); }

.pe-service-zone p{ max-width:760px; color:var(--pe-graphite-soft); }

@media (max-width: 720px){
	.pe-situations-grid,
	.pe-includes-list{ grid-template-columns:1fr; }
	.pe-service-price__inner{ grid-template-columns:1fr; }
}

/* ==========================================================================
   V6 — Navegació: mega menú de Serveis + acordió mòbil + Home per
   categories + pàgina /serveis/ i hubs de categoria.
   ========================================================================== */

/* --- Nav item "Serveis" (clicable + disclosure del mega menú) --- */
.pe-nav__item{ position:relative; display:flex; align-items:center; }
.pe-nav__item--mega{ gap:2px; }
.pe-mega-toggle{
	display:none; background:none; border:none; padding:4px; cursor:pointer;
	color:var(--pe-graphite-soft); border-radius:6px;
}
.pe-mega-toggle svg{ transition:transform .18s ease; }

.pe-mega-panel{
	position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
	width:min(880px, 86vw); background:#fff; border:1px solid var(--pe-border);
	border-radius:var(--pe-radius-lg); box-shadow:var(--pe-shadow-hover);
	padding:28px 30px 20px; margin-top:14px;
	opacity:0; visibility:hidden; pointer-events:none;
	transition:opacity .16s ease, transform .16s ease, visibility .16s;
	z-index:60;
}
.pe-nav__item--mega:hover .pe-mega-panel,
.pe-nav__item--mega:focus-within .pe-mega-panel,
.pe-nav__item--mega.is-open .pe-mega-panel{
	opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.pe-nav__item--mega.is-open .pe-mega-toggle svg{ transform:rotate(180deg); }

.pe-mega-panel__grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:26px; }
.pe-mega-panel__col{ min-width:0; }
.pe-mega-panel__cat{
	display:block; font-size:.8rem; font-weight:700; text-transform:uppercase;
	letter-spacing:.03em; color:var(--pe-green); margin-bottom:12px; padding-bottom:8px;
	border-bottom:1px solid var(--pe-border);
}
a.pe-mega-panel__cat:hover{ color:var(--pe-green-dark); }
.pe-mega-panel__list{ display:flex; flex-direction:column; gap:9px; }
.pe-mega-panel__list a{ font-size:.92rem; color:var(--pe-graphite); }
.pe-mega-panel__list a:hover{ color:var(--pe-green); }
.pe-mega-panel__footer{ margin-top:20px; padding-top:16px; border-top:1px solid var(--pe-border); text-align:right; }

@media(min-width:960px){
	.pe-mega-toggle{ display:inline-flex; align-items:center; justify-content:center; }
}
@media(max-width:1080px){
	.pe-mega-panel{ left:0; transform:translateY(6px); width:min(720px, 90vw); }
	.pe-nav__item--mega:hover .pe-mega-panel,
	.pe-nav__item--mega:focus-within .pe-mega-panel,
	.pe-nav__item--mega.is-open .pe-mega-panel{ transform:translateY(0); }
}

/* --- Menú mòbil: acordió --- */
.pe-mobile-accordion{ border-bottom:1px solid var(--pe-border); }
.pe-mobile-accordion--sub{ border-bottom:none; padding-left:4px; }
.pe-mobile-accordion__head{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4px 0; }
.pe-mobile-accordion__toggle{
	background:var(--pe-white-soft); border:none; width:30px; height:30px; border-radius:8px;
	font-size:1.1rem; line-height:1; cursor:pointer; color:var(--pe-graphite);
	flex:0 0 auto;
}
.pe-mobile-accordion.is-open > .pe-mobile-accordion__toggle,
.pe-mobile-accordion__head .pe-mobile-accordion__toggle[aria-expanded="true"]{ background:var(--pe-green-soft); color:var(--pe-green); }
.pe-mobile-accordion__panel{ display:none; padding:6px 0 10px 6px; }
.pe-mobile-accordion.is-open > .pe-mobile-accordion__panel{ display:block; }
.pe-mobile-accordion__panel ul{ display:flex; flex-direction:column; gap:8px; margin:4px 0 8px; }
.pe-mobile-accordion__panel a{ font-size:.92rem; }
.pe-mobile-accordion__all{ display:inline-block; margin:6px 0 4px; font-weight:600; color:var(--pe-green); }

/* --- Home: "Què vols millorar?" (4 categories) --- */
.pe-home-categories{ background:var(--pe-white-soft); }
.pe-section__subtitle{ margin:-8px 0 28px; color:var(--pe-graphite-soft); max-width:640px; }
.pe-home-categories__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; }
.pe-home-category-card{
	display:flex; flex-direction:column; align-items:flex-start; gap:10px;
	background:#fff; border:1px solid var(--pe-border); border-radius:var(--pe-radius-lg);
	padding:26px 24px; box-shadow:var(--pe-shadow); transition:box-shadow .2s, transform .2s;
}
.pe-home-category-card:hover{ box-shadow:var(--pe-shadow-hover); transform:translateY(-2px); }
.pe-home-category-card__icon{ color:var(--pe-accent); }
.pe-home-category-card h3{ margin:0; font-size:1.15rem; color:var(--pe-graphite); }
.pe-home-category-card p{ margin:0; font-size:.92rem; color:var(--pe-graphite-soft); flex:1; }
.pe-home-category-card__cta{ margin-top:6px; pointer-events:none; }

/* --- /serveis/: blocs per categoria --- */
.pe-serveis-intro .pe-page__content p{ margin:0 0 14px; color:var(--pe-graphite-soft); }
.pe-category-block{ margin-bottom:48px; }
.pe-category-block:last-child{ margin-bottom:0; }
.pe-category-block__head h2{ margin:0 0 6px; font-size:1.5rem; }
.pe-category-block__head h2 a{ color:var(--pe-graphite); }
.pe-category-block__head h2 a:hover{ color:var(--pe-green); }
.pe-category-block__head p{ margin:0 0 20px; color:var(--pe-graphite-soft); }
.pe-category-block__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px; }
.pe-category-service{
	background:#fff; border:1px solid var(--pe-border); border-radius:var(--pe-radius);
	padding:18px 20px;
}
.pe-category-service h3{ margin:0 0 6px; font-size:1.02rem; }
.pe-category-service p{ margin:0 0 10px; font-size:.9rem; color:var(--pe-graphite-soft); }

/* --- Hub de categoria: graella amb "Més informació" --- */
.pe-service-card__more{ margin-top:8px; font-size:.85rem; }
