/* Guides partenaires proposés sur les voyages de groupe (« Guide disponible ») */
.tg { margin: 0 0 2rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 14px; background: var(--c-mist, #f5f0ef); }
.tg__title { margin: 0 0 0.35rem; font-family: var(--font-display, inherit); font-size: clamp(1.35rem, 2.4vw, 1.7rem); color: var(--c-deep, #45090f); }
.tg__intro { margin: 0 0 1.25rem; color: var(--c-muted, #66565a); max-width: 46rem; }
.tg__list { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); margin: 0; padding: 0; list-style: none; }
.tg-card { display: flex; flex-direction: column; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 6px 20px rgba(38, 26, 28, 0.08); }
.tg-card__photo { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: center 30%; background: var(--c-line, #e2d8d6); }
.tg-card__body { display: flex; flex-direction: column; gap: 0.4rem; flex: 1; padding: 1rem 1.1rem 1.15rem; }
.tg-card__name { margin: 0; font-family: var(--font-display, inherit); font-size: 1.25rem; color: var(--c-ink, #261a1c); }
.tg-card__langs { margin: 0; font-size: 0.9rem; font-weight: 600; color: var(--c-sign, #7b1120); }
.tg-card__cities { margin: 0; font-size: 0.9rem; color: var(--c-muted, #66565a); }
.tg-card__tags { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0.15rem 0 0.2rem; padding: 0; list-style: none; }
.tg-card__tags li { padding: 0.15rem 0.55rem; border-radius: 999px; background: var(--c-mist, #f5f0ef); font-size: 0.8rem; font-weight: 600; color: var(--c-deep, #45090f); }
.tg-card__text { margin: 0; font-size: 0.95rem; line-height: 1.5; color: var(--c-ink, #261a1c); flex: 1; }
.tg-card__choose { margin-top: 0.5rem; align-self: stretch; width: 100%; justify-content: center; text-align: center; }
.tg-card__choose.is-on { background: var(--c-sign, #7b1120); border-color: var(--c-sign, #7b1120); color: #fff; }
.tg-chip span { gap: 0.55rem; }
.tg-chip img { width: 42px; height: 28px; object-fit: cover; border-radius: 4px; flex: none; }
@media (max-width: 30rem) {
    .tg__list { grid-template-columns: 1fr; gap: 0.9rem; }
    .tg-card__body { padding: 0.75rem; }
    .tg-card__text { font-size: 0.875rem; }
}

/* Formulaire d'inscription des guides (page « Guides ») : toute la largeur, en étapes aérées */
.request.gd-form { max-width: none; margin: 3rem 0; padding: clamp(1.25rem, 3vw, 2.5rem); border-radius: 14px; background: var(--c-mist, #f5f0ef); border-top: 5px solid var(--c-sign, #7b1120); scroll-margin-top: 1rem; }
.gd-head { max-width: 50rem; margin-bottom: 1.75rem; }
.gd-head h2 { margin: 0.2rem 0 0.6rem; }
.gd-head p { margin: 0; color: var(--c-muted, #66565a); font-size: 1.05rem; }
.gd-steps { display: grid; gap: 1.5rem; }
.gd-step { margin: 0; padding: clamp(1.25rem, 2.5vw, 2rem); border: 0; border-radius: 12px; background: #fff; box-shadow: 0 4px 18px rgba(38, 26, 28, 0.06); min-width: 0; }
.gd-step__title { float: left; width: 100%; display: flex; align-items: center; gap: 0.75rem; margin: 0 0 1.25rem; padding: 0; font-family: var(--font-display, inherit); font-size: 1.25rem; font-weight: 700; color: var(--c-deep, #45090f); }
.gd-step__title + * { clear: both; }
.gd-step__n { display: inline-grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--c-sign, #7b1120); color: #fff; font-size: 1rem; flex: none; }
.gd-grid { display: grid; gap: 0.25rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.gd-split { display: grid; gap: 1.5rem 2.5rem; grid-template-columns: 1fr; }
@media (min-width: 52rem) {
    .gd-split { grid-template-columns: 1fr 1fr; }
    .gd-split--photo { grid-template-columns: minmax(18rem, 2fr) 3fr; }
}
.gd-sub { margin: 0 0 0.35rem; font-weight: 700; }
.gd-sub + .form__hint { margin: 0 0 0.75rem; }
.gd-city { margin-bottom: 0.6rem; }
.gd-add { padding: 0.5rem 1.1rem; }
.gd-checks { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); margin-top: 0.6rem; }
.gd-checks--wide { grid-template-columns: 1fr; }
.gd-form .gd-check { display: flex; align-items: center; gap: 0.6rem; margin: 0; padding: 0.45rem 0.7rem; border: 1px solid var(--c-line, #e2d8d6); border-radius: 8px; font-weight: 400; font-size: 0.95rem; line-height: 1.3; cursor: pointer; background: #fff; transition: border-color 0.15s, background 0.15s; }
.gd-form .gd-check:hover { border-color: var(--c-sign, #7b1120); }
.gd-form .gd-check:has(input:checked) { border-color: var(--c-sign, #7b1120); background: #fbf3f4; font-weight: 600; }
.gd-form .gd-check input { flex: none; margin: 0; }
.gd-photo__preview { width: 100%; max-width: 26rem; aspect-ratio: 3 / 2; margin: 0.4rem 0 0.75rem; border-radius: 10px; background: #f1ece9 center / cover no-repeat; border: 2px dashed #d6c6c0; }
.gd-rates-box { margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--c-line, #e2d8d6); }
.gd-rates { display: grid; gap: 0.25rem 1.5rem; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); margin: 0.75rem 0 0.5rem; }
.gd-euro { position: relative; }
.gd-euro input { padding-right: 2.2rem; }
.gd-euro::after { content: "€"; position: absolute; right: 0.9rem; top: 50%; transform: translateY(-50%); color: #6b5d60; pointer-events: none; }
.gd-consent { display: flex; gap: 0.7rem; align-items: flex-start; margin: 1.25rem 0 0.5rem; font-weight: 400; }
.gd-consent input { margin-top: 0.3rem; flex: none; }
.gd-send { margin: 1.25rem 0 0; }
.gd-send .btn { min-width: 16rem; padding: 0.9rem 1.75rem; font-size: 1.05rem; }
@media (max-width: 30rem) { .gd-send .btn { width: 100%; min-width: 0; } }
@media (max-width: 30rem) {
    .gd-checks:not(.gd-checks--wide) { grid-template-columns: 1fr 1fr; }
    .request.gd-form { padding: 1rem 0.75rem; }
    .gd-step { padding: 1.1rem 1rem; }
}
