/* ── HERO PLEIN ÉCRAN ── */
.hero-full {
    position:relative; width:100%; height:340px;
    background:#2A1A0A; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
}
.hero-full__bg {
    position:absolute; inset:0;
    display:grid; grid-template-columns:repeat(3,1fr); gap:3px;
}
.hero-full__bg-col { overflow:hidden; }
.hero-full__bg-col img { width:100%; height:100%; object-fit:cover; opacity:.55; }
.hero-full__overlay {
    position:absolute; inset:0;
    background:rgba(15,6,30,.58);
}
.hero-full__content {
    position:relative; z-index:2;
    text-align:center; padding:0 24px;
    display:flex; flex-direction:column; align-items:center; gap:16px;
}
.hero-full__badge {
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(107,53,232,.85); color:#fff;
    border-radius:var(--tc-r-pill); padding:6px 16px;
    font-size:11.5px; font-weight:700;
    letter-spacing:.05em; text-transform:uppercase;
}
.hero-full__badge-dot {
    width:7px; height:7px; background:rgba(255,255,255,.7);
    border-radius:50%; flex-shrink:0;
    animation:pulseDot 2s ease-in-out infinite;
}
.hero-full__title {
    font-family:'Playfair Display',serif;
    font-size:clamp(28px,3.8vw,46px);
    font-weight:900; color:#fff; line-height:1.06;
}
.hero-full__title em { font-style:italic; color:#C4B5FD; }
.hero-full__sub { font-size:14px; color:rgba(255,255,255,.72); }
.hero-full__search {
    display:flex; align-items:center; width:100%; max-width:560px;
}
.hero-full__search input {
    flex:1; padding:13px 20px;
    border:none; border-radius:var(--tc-r-pill) 0 0 var(--tc-r-pill);
    font-size:13.5px; background:#fff; color:var(--tc-text);
    outline:none;
}
.hero-full__search input::placeholder { color:var(--tc-text-ph); }
.hero-full__search button {
    background:var(--tc-purple); color:#fff;
    border:none;
    border-radius:0 var(--tc-r-pill) var(--tc-r-pill) 0;
    padding:13px 22px; font-size:13px; font-weight:700; cursor:pointer;
    white-space:nowrap; font-family:'DM Sans',sans-serif;
    transition:background .2s;
}
.hero-full__search button:hover { background:var(--tc-purple-hover); }
.hero-full__proof { display:flex; align-items:center; gap:10px; }
.hero-full__avatars { display:flex; }
.hero-full__av {
    width:26px; height:26px; border-radius:50%;
    border:2px solid rgba(255,255,255,.6);
    display:grid; place-items:center;
    font-size:9px; font-weight:700;
    margin-left:-6px; flex-shrink:0;
}
.hero-full__av:first-child { margin-left:0; }
.hero-full__av--1 { background:#CECBF6; color:#3C3489; }
.hero-full__av--2 { background:#9FE1CB; color:#085041; }
.hero-full__av--3 { background:#F5C4B3; color:#712B13; }
.hero-full__av--4 { background:#FAC775; color:#633806; }
.hero-full__proof-txt { font-size:12px; color:rgba(255,255,255,.65); }
.hero-full__proof-txt strong { color:#fff; }

/* ── FIL D'ARIANE ── */
.tc-breadcrumb {
    padding:14px var(--tc-page-px) 0;
    font-size:12.5px; color:var(--tc-text-muted);
}
.tc-breadcrumb a {
    color:var(--tc-purple); text-decoration:underline;
}

/* ── SAISON GRID ── */
.tc-saison-grid {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px;
}
.tc-saison-card {
    display:block; text-decoration:none; cursor:pointer;
}
.tc-saison-card__img {
    width:100%; height:190px; overflow:hidden;
    border-radius:var(--tc-r-sm);
}
.tc-saison-card__img img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .38s var(--tc-ease-out), opacity .3s;
}
.tc-saison-card:hover .tc-saison-card__img img {
    transform:scale(1.06); opacity:.9;
}
.tc-saison-card__img--placeholder {
    background:var(--tc-purple-bg);
    display:flex; align-items:center; justify-content:center;
    font-size:56px;
}
.tc-saison-card__label {
    display:block; font-size:13px; font-weight:500;
    color:var(--tc-text-muted); margin-top:9px;
    transition:color .15s;
}
.tc-saison-card:hover .tc-saison-card__label { color:var(--tc-purple); }

/* ── ATELIER GRID — 4 cols + 4 cols sur 2 rangées ── */
.tc-atelier-grid {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
}
.tc-atelier-card {
    display:block; text-decoration:none; cursor:pointer;
}
.tc-atelier-card__img {
    width:100%; height:160px; overflow:hidden;
    border-radius:var(--tc-r-sm); margin-bottom:10px;
}
.tc-atelier-card__img img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .38s var(--tc-ease-out), opacity .3s;
}
.tc-atelier-card:hover .tc-atelier-card__img img {
    transform:scale(1.05); opacity:.88;
}
.tc-atelier-card__country {
    display:block; font-size:11px; color:var(--tc-text-muted);
    margin-bottom:5px;
}
.tc-atelier-card__title {
    font-family:'Playfair Display',serif;
    font-size:14px; font-weight:700;
    color:var(--tc-text); line-height:1.35;
    transition:color .15s;
}
.tc-atelier-card:hover .tc-atelier-card__title { color:var(--tc-purple); }

/* ── RESPONSIVE additions ── */
@media (max-width:900px) {
    .hero-full { height:280px; }
    .hero-full__bg { grid-template-columns:repeat(2,1fr); }
    .hero-full__bg-col:last-child { display:none; }
    .tc-saison-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .tc-atelier-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
    .hero-full { height:auto; padding:40px 20px; }
    .hero-full__bg { display:none; }
    .hero-full__title { font-size:26px; }
    .hero-full__search { flex-direction:column; }
    .hero-full__search input {
        border-radius:var(--tc-r-pill);
        margin-bottom:8px; width:100%;
    }
    .hero-full__search button {
        border-radius:var(--tc-r-pill); width:100%;
        text-align:center;
    }
    .tc-saison-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tc-atelier-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .tc-saison-card__img { height:130px; }
    .tc-atelier-card__img { height:120px; }
}