/* partners (4254) — logo wall redesign. Scoped to body.cr-partners.
   Logos = native Elementor image widgets (editable); tiles styled via CSS.
   Hero/CTA bands are chrome (CSS texture / flat yellow). */
body.cr-partners{ --yellow:#ffde01; --warm:#faf7f2; --warm2:#f3ece1; --line:#e7e1d6; --soft:#5b5346; }
body.cr-partners .prt-wrap{ max-width:1140px; margin:0 auto; padding:0 clamp(1.25rem,5vw,3rem); }
body.cr-partners h1,
body.cr-partners h2{ font-family:var(--font-heading); font-weight:800; text-transform:uppercase; margin:0; line-height:.98; letter-spacing:-.01em; }
body.cr-partners .prt-eyebrow{ font-family:var(--font-heading); font-weight:700; text-transform:uppercase; letter-spacing:.14em; font-size:.8rem; color:#7a5c00; }

/* HERO — dark texture (chrome) */
body.cr-partners #cr-prt-hero{ position:relative; color:#fff;
  background:linear-gradient(rgba(10,10,10,.72),rgba(10,10,10,.84)), url('/wp-content/uploads/2024/01/Background-Site-Cascais-Routes.png');
  background-size:cover; background-position:center; }
body.cr-partners .prt-hero__in{ max-width:1140px; margin:0 auto; padding:clamp(3rem,7vw,5rem) clamp(1.25rem,5vw,3rem); }
body.cr-partners .prt-hero__in .prt-eyebrow{ color:var(--yellow); margin-bottom:.9rem; }
body.cr-partners .prt-hero__in h1{ font-size:clamp(2.4rem,6vw,4.4rem); color:#fff; }
body.cr-partners .prt-hero__key{ width:64px; height:4px; background:var(--yellow); margin:1.2rem 0; }
body.cr-partners .prt-hero__in p{ font-size:clamp(1.05rem,2vw,1.3rem); max-width:54ch; color:#ece8df; margin:0; }

/* SECTION bands */
body.cr-partners #cr-prt-partners{ background:var(--warm2); }
body.cr-partners #cr-prt-friends{ background:#fff; }
body.cr-partners #cr-prt-partners,
body.cr-partners #cr-prt-friends{ padding-block:clamp(3rem,7vw,5rem); }
body.cr-partners .prt-head{ max-width:1140px; margin:0 auto 2.2rem; }
body.cr-partners .prt-sec h2{ font-size:clamp(1.7rem,3.6vw,2.6rem); }
body.cr-partners .prt-head p{ color:var(--soft); max-width:60ch; margin:.7rem 0 0; }

/* logo grids (image widgets as tiles) */
body.cr-partners #cr-prt-grid1,
body.cr-partners #cr-prt-grid2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,220px)); justify-content:center; gap:1.1rem; max-width:1140px; margin:0 auto; }
body.cr-partners #cr-prt-grid1 .elementor-widget-image,
body.cr-partners #cr-prt-grid2 .elementor-widget-image{ width:100%; }
body.cr-partners #cr-prt-grid1 .elementor-widget-image .elementor-widget-container,
body.cr-partners #cr-prt-grid2 .elementor-widget-image .elementor-widget-container{
  background:#fff; border:1px solid var(--line); border-radius:14px; aspect-ratio:5/3;
  display:grid; place-items:center; padding:1.6rem;
  transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;
}
body.cr-partners #cr-prt-partners .elementor-widget-image .elementor-widget-container{ background:var(--warm); }
body.cr-partners #cr-prt-grid1 .elementor-widget-image .elementor-widget-container:hover,
body.cr-partners #cr-prt-grid2 .elementor-widget-image .elementor-widget-container:hover{
  transform:translateY(-4px); box-shadow:0 20px 44px -26px rgba(10,10,10,.3); border-color:#d8cfbf;
}
body.cr-partners #cr-prt-grid1 .elementor-widget-image img,
body.cr-partners #cr-prt-grid2 .elementor-widget-image img{ max-width:100%; max-height:84px; width:auto; height:auto; object-fit:contain; display:block; }

/* CTA band */
body.cr-partners #cr-prt-cta{ background:var(--yellow); color:var(--ink); }
body.cr-partners .prt-cta__in{ max-width:1140px; margin:0 auto; padding:clamp(2.5rem,5vw,3.5rem) clamp(1.25rem,5vw,3rem); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; }
body.cr-partners .prt-cta__in h2{ font-size:clamp(1.5rem,3.2vw,2.2rem); max-width:22ch; }
body.cr-partners .prt-cta__in a{ display:inline-flex; align-items:center; gap:.5em; background:var(--ink); color:var(--yellow); text-decoration:none; font-family:var(--font-heading); font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.95rem; padding:.9em 1.5em; border-radius:10px; white-space:nowrap; transition:transform .25s cubic-bezier(.2,.7,.2,1),gap .25s; }
body.cr-partners .prt-cta__in a:hover{ transform:translateY(-2px); gap:.75em; }
body.cr-partners .prt-cta__in a .arr{ transition:transform .25s; }
body.cr-partners .prt-cta__in a:hover .arr{ transform:translateX(3px); }

@media (prefers-reduced-motion:reduce){ body.cr-partners *{ transition:none!important; } }
