.trs-offres {
background: var(--trs-offwhite);
overflow: hidden;
} .trs-offres__header {
display: flex;
flex-direction: column;
gap: var(--trs-space-lg);
margin-bottom: var(--trs-space-lg);
}
.trs-offres__header-right {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.trs-offres__cta  { align-self: flex-start; } .trs-offres__carousel-wrap {
margin-left:  calc(-1 * var(--trs-spacing-h));
margin-right: calc(-1 * var(--trs-spacing-h));
padding-left: var(--trs-spacing-h);
overflow: hidden;
cursor: grab;
}
.trs-offres__carousel-wrap:active { cursor: grabbing; }
.trs-offres__carousel {
display: flex;
gap: clamp(12px, 2vw, 24px);
overflow-x: auto;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
padding-right: var(--trs-spacing-h);
padding-bottom: 4px;
}
.trs-offres__carousel::-webkit-scrollbar { display: none; } .trs-offres__card {
flex-shrink: 0;
width: clamp(220px, 32vw, 450px);
scroll-snap-align: start;
text-decoration: none;
display: block;
} .trs-offres__card-img-wrap {
position: relative;
width: 100%;
aspect-ratio: 1 / 1;
overflow: hidden;
} .trs-offres__card-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 600ms var(--trs-ease);
}
.trs-offres__card:hover .trs-offres__card-img {
transform: scale(1.06);
} .trs-offres__card-overlay {
position: absolute;
inset: 0;
background: rgba(28, 28, 28, 0.40);
transition: background var(--trs-dur-fast) ease;
}
.trs-offres__card:hover .trs-offres__card-overlay {
fill-opacity: 0.55;
} .trs-offres__card-content {
position: absolute;
bottom: clamp(16px, 5%, 32px);
left: 0; right: 0;
padding: 0 var(--trs-space-md);
pointer-events: none;
}
.trs-offres__card-title {
font-family: var(--trs-font-nav);
font-size: var(--trs-fs-p-lg);
font-weight: 400;
color: var(--trs-offwhite);
line-height: var(--trs-lh-snug);
display: block;
text-transform: none;
} .trs-offres__nav {
display: flex;
align-items: center;
justify-content: center;
gap: var(--trs-space-xs);
margin-top: var(--trs-space-sm);
}
.trs-offres__nav-arrow {
background: none;
border: none;
cursor: pointer;
padding: 4px;
color: var(--trs-red);
display: flex;
align-items: center;
justify-content: center;
transition: opacity var(--trs-dur-fast) ease;
}
.trs-offres__nav-arrow:hover,
.trs-offres__nav-arrow:active, 
.trs-offres__nav-arrow:focus {
color: var(--trs-terracotta);
background: none ;
box-shadow: none;
}
.trs-offres__nav-arrow:disabled { opacity: .25; cursor: default; }
.trs-offres__nav-arrow svg { width: 20px; height: 20px; }
.trs-offres__dots {
display: flex;
gap: 8px;
align-items: center;
}
.trs-offres__dot {
width: 7px; height: 7px;
border-radius: 50%;
background: rgba(123,63,41,.3);
border: none;
cursor: pointer;
padding: 0;
transition: background var(--trs-dur-fast) ease,
transform  var(--trs-dur-fast) ease;
}
.trs-offres__dot.is-active {
background: var(--trs-red);
transform: scale(1.3);
}
.trs-offres__dot:hover:not(.is-active) {
background: rgba(123,63,41,.6);
} @media (min-width: 768px) {
.trs-offres__header {
flex-direction: row;
align-items: stretch;
gap: 0;
}
.trs-offres__header-left {
flex: 1;
}
.trs-offres__header-right {
flex: 1;
}
}
@media (min-width: 1024px) {
.trs-offres__card {
width: clamp(300px, 30vw, 450px);
}
}