/* ===== Services : grands panneaux photo ===== */
.apc-svcs { gap: 24px !important; }
.apc-svc { position: relative; min-height: 460px; border-radius: 26px; overflow: hidden; display: flex !important; flex-direction: column !important; justify-content: flex-end !important; align-items: flex-start !important; gap: 10px !important; padding: 34px !important; color: #fff; isolation: isolate; box-shadow: 0 14px 40px rgba(29,33,37,.25); transition: transform .3s, box-shadow .3s; background-size: cover; background-position: center; }
.apc-svc::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(16,19,22,.05) 20%, rgba(16,19,22,.88) 100%); transition: background .3s; }
.apc-svc::after { content: ""; position: absolute; left: 34px; bottom: 0; width: 64px; height: 6px; background: var(--apc-red); border-radius: 6px 6px 0 0; transition: width .3s; }
.apc-svc:hover { transform: translateY(-8px); box-shadow: 0 24px 54px rgba(29,33,37,.35); }
.apc-svc:hover::before { background: linear-gradient(180deg, rgba(206,14,45,.15) 0%, rgba(16,19,22,.92) 100%); }
.apc-svc:hover::after { width: calc(100% - 68px); }
.apc-svc__num { position: absolute !important; top: 22px; right: 28px; margin: 0 !important; }
.apc-svc__num .elementor-heading-title { font-family: var(--apc-font-title); font-size: 4.2rem; line-height: 1; color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.75); }
.apc-svc__title .elementor-heading-title { color: #fff; font-size: 2rem; }
.apc-svc__text, .apc-svc__text p { color: #eef1f4; margin: 0; font-weight: 300; }
.apc-svc .apc-svc__link .elementor-button { background: transparent; border: 0; padding: 8px 0 12px; color: #fff; font-weight: 600; border-radius: 0; }
.apc-svc .apc-svc__link .elementor-button:hover { color: #ffb3bf; background: transparent; }
@media (max-width: 1000px) { .apc-svcs { grid-template-columns: 1fr !important; } .apc-svc { min-height: 360px; } }

/* ===== Sélection de matériel : bandeau défilant ===== */
.apc-selection { padding-top: 24px; }
.apc-title-small h2.elementor-heading-title { font-size: 1.5rem !important; }
.apc-marquee { width: 100%; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.apc-marquee__track { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 22px !important; width: max-content !important; animation: apc-marquee 46s linear infinite; padding: 14px 0; }
.apc-marquee:hover .apc-marquee__track { animation-play-state: paused; }
.apc-marquee__track > .elementor-widget-image { flex: 0 0 210px; width: 210px !important; height: 210px; background: radial-gradient(circle at 50% 40%, #fff 0 55%, #f3f5f8 100%); border-radius: 50%; box-shadow: 0 10px 28px rgba(50,74,109,.14); display: grid; place-items: center; transition: transform .25s; }
.apc-marquee__track > .elementor-widget-image:hover { transform: scale(1.08) rotate(-3deg); }
.apc-marquee__track img { width: 150px !important; height: 150px !important; object-fit: contain; border: 0 !important; padding: 0 !important; background: transparent !important; border-radius: 0 !important; aspect-ratio: auto !important; }
@keyframes apc-marquee { to { transform: translateX(calc(-50% - 11px)); } }
@media (prefers-reduced-motion: reduce) { .apc-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; } .apc-marquee__track { animation: none; } }
@media (max-width: 640px) { .apc-marquee__track > .elementor-widget-image { flex-basis: 160px; width: 160px !important; height: 160px; } .apc-marquee__track img { width: 112px !important; height: 112px !important; } }
