/* Scoped styles shared by the international homepage and proximity results. */
/* The menu shadow extends below the header; it must not cover language link hit areas. */
.te-header-v1 .header-shadow-wrapper,
.te-header-v1 .header-shadow-wrapper::after { pointer-events: none; }
.tg-search,.tg-countries,.tg-results{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#273342;text-align:left;box-sizing:border-box;min-width:0}
.tg-search *,.tg-countries *,.tg-results *{box-sizing:border-box}
.tg-search{background:#fff;border:1px solid #dbe7eb;border-radius:24px;padding:clamp(20px,3vw,36px);margin:24px 0;box-shadow:0 12px 35px #2634420a}
.tg-search h2{font-family:inherit;font-size:clamp(23px,3vw,32px);font-weight:750;margin:8px 0;color:#273342}
.tg-search-heading p{margin:8px 0 22px;color:#576a7a;font-size:16px}
.tg-eyebrow{color:#087d91;font-size:12px;font-weight:750;letter-spacing:.12em}
.tg-search-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.tg-search label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:650;margin:0;min-width:0}
.tg-search input:not([type=hidden]),.tg-search select,.tg-country-select{width:100%;max-width:100%;min-width:0;border:1px solid #c7d7df;border-radius:10px;background:#fff;color:#273342;padding:12px;font:400 15px/1.5 system-ui;min-height:48px}
.tg-search input:focus,.tg-search select:focus,.tg-primary:focus-visible,.tg-suggestions button:focus-visible,.tg-country-card:focus-visible{outline:3px solid #1c9db7;outline-offset:2px}
.tg-primary{font-family:inherit;display:inline-flex;justify-content:center;align-items:center;gap:12px;background:#ffd234;color:#273342!important;border:1px solid #e6b913;border-radius:12px;padding:14px 22px;font-weight:750;font-size:16px;min-height:50px;cursor:pointer;text-decoration:none!important}
.tg-search .tg-primary{grid-column:1/-1;justify-self:start}
.tg-help,.tg-attribution{font:400 13px/1.6 system-ui!important;color:#576a7a!important;margin:18px 0 0!important}
.tg-attribution{font-size:12px!important;margin-top:6px!important}.tg-attribution a{color:#087386!important;text-decoration:underline}
.tg-city-field{min-width:0;position:relative}.tg-suggestions{position:absolute;left:0;right:0;top:78px;z-index:25;max-height:300px;overflow-y:auto;background:#fff;border:1px solid #c7d7df;border-radius:12px;box-shadow:0 12px 30px #152b4033}
.tg-suggestions[hidden]{display:none}.tg-suggestions button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e8eef1;background:#fff;color:#273342;padding:13px 15px;font:400 14px/1.5 system-ui;cursor:pointer;overflow-wrap:anywhere}.tg-suggestions button:hover,.tg-suggestions button:focus{background:#e9f7fa;color:#086a7b}.tg-status{display:block;font-size:12px;color:#526677;line-height:1.5;margin-top:5px}
.tg-countries{margin:24px 0}.tg-countries h2{font-family:inherit;font-size:24px;font-weight:700;margin:0 0 16px}
.tg-country-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tg-country-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #dbe7eb;border-radius:18px;padding:22px;text-decoration:none!important;color:#273342!important;transition:transform .15s,border-color .15s}
.tg-country-card:hover{transform:translateY(-2px);border-color:#2599af}.tg-country-card strong{font-size:18px}.tg-country-card small{color:#576a7a;font-size:13px}.tg-country-code{font-weight:750;font-size:12px;letter-spacing:.1em;color:#087386;background:#e8f6f8;border-radius:7px;padding:6px 9px;align-self:start}
.tg-results{max-width:1320px;padding:28px 20px;margin:auto}.tg-results h1{font-size:clamp(25px,4vw,38px);font-family:inherit;font-weight:750}.tg-results-summary{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:24px 0}
.tg-ads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tg-ad{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dbe7eb;border-radius:18px;color:#273342!important;text-decoration:none!important}.tg-ad:hover{border-color:#1892a8}.tg-ad img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eff8fa}.tg-ad-body{padding:20px}.tg-ad h2{font:700 20px/1.35 system-ui;margin:8px 0 12px;overflow-wrap:anywhere}.tg-ad p{font-size:14px;line-height:1.6;margin:6px 0;color:#526677}.tg-tag{display:inline-block;background:#ecf7ef;color:#316b48;border-radius:7px;padding:4px 9px;font:650 12px system-ui}
.tg-empty,.tg-error{padding:28px;background:#fff;border:1px solid #dbe7eb;border-radius:16px;margin:20px 0}.tg-error{border-color:#e9b8b8;background:#fff3f3}.tg-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0}.tg-pagination a,.tg-pagination span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:10px;border:1px solid #c7d7df;border-radius:8px;background:#fff;color:#273342!important}.tg-pagination [aria-current]{background:#ffd234;border-color:#e6b913;font-weight:700}
@media(max-width:991px){.tg-country-grid,.tg-ads{grid-template-columns:repeat(2,minmax(0,1fr))}.tg-search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.tg-search{border-radius:18px;margin:18px 0;padding:20px}.tg-search-fields,.tg-ads{grid-template-columns:1fr}.tg-search .tg-primary{width:100%;justify-self:stretch}.tg-country-grid{gap:10px}.tg-country-card{padding:16px 12px}.tg-country-card strong{font-size:16px}.tg-country-card small{font-size:12px}.tg-results{padding:22px 12px}.tg-countries h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.tg-country-card{transition:none}}

#home-location {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: var(--home-block-gap);
    padding: 24px !important;
    margin: 0;
}
#home-location > * {
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
    margin: 0 !important;
    padding-left: 0;
    padding-right: 0;
    order: 0 !important;
}
#home-location #sidebar { background: transparent; }
#home-location #sidebar h2,
#home-location #home-cities-title,
#home-location #bloc_cat > h2 { margin: 0 0 16px !important; }
#home-location #sidebar .list-group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
    gap: 10px;
    padding: 0;
    margin: 0 !important;
    overflow: visible;
    border: 0;
    border-radius: 0 !important;
}
#home-location #sidebar li { min-width: 0; list-style: none; }
#home-location #sidebar a {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 100%;
    min-height: 48px;
    padding: 12px 14px;
    font-size: 1rem;
    line-height: 1.45;
    text-align: left;
    overflow-wrap: anywhere;
    border: 1px solid #e2eaf1 !important;
    border-radius: 12px !important;
}
#home-location #sidebar a i { flex-shrink: 0; }
#home-location #mapwrapper { min-width: 0; width: 100%; margin: 0 auto; }
#home-location #mapwrapper svg { height: auto; }
#home-cities { scroll-margin-top: 120px; }
#home-cities .home-city-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}
#home-cities .home-city-list li { min-width: 0; }
#home-cities .home-city-list a {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 100%;
    padding: 13px 16px;
    border: 1px solid #e2eaf1 !important;
    border-radius: 12px !important;
    text-align: left;
    overflow-wrap: anywhere;
}
#home-cities .home-city-list i { flex-shrink: 0; }
#home-cities .home-city-list a:hover,
#home-cities .home-city-list a:focus-visible,
#home-location #sidebar a:hover,
#home-location #sidebar a:focus-visible {
    background: #edf9fc;
    border-color: #5abccc !important;
    text-decoration: none;
}
#home-cities .home-city-all {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin-top: 4px;
}
#home-cities .home-city-all a { width: auto; justify-content: center; background: #fff6d8; }
@media (min-width: 576px) {
    #home-cities .home-city-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
    #home-cities .home-city-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
    #home-location { grid-template-columns: minmax(240px, 1fr) minmax(0, 3fr); }
    #home-location #sidebar { grid-column: 1; grid-row: 1; }
    #home-location .home-map { grid-column: 2; grid-row: 1; }
    #home-location #sidebar .list-group { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    #home-location #sidebar a { min-height: 44px; padding: 10px 12px; line-height: 1.35; }
    #home-cities .home-city-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1400px) {
    #home-cities .home-city-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 1199.98px) {
    #main-wrapper { --home-block-gap: 20px; }
    #home-location { padding: 20px !important; }
}
@media (max-width: 575.98px) {
    #main-wrapper .card.map .card-body { padding: 12px !important; }
    #main-wrapper { --home-block-gap: 16px; }
    #home-location { padding: 12px !important; }
    #home-location > .card.shadow.p-4 { padding: 16px !important; }
    #home-location #sidebar h2,
    #home-location #home-cities-title,
    #home-location #bloc_cat > h2 { margin-bottom: 12px !important; }
    #home-cities .home-city-list { gap: 10px; }
}

		
.tg-languages{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;max-width:1320px;margin:auto;padding:10px 20px;font:14px system-ui;color:#344454}.tg-languages a{color:#273342!important;border:1px solid transparent;border-radius:20px;padding:7px 10px;text-decoration:none!important}.tg-languages [aria-current]{background:#e2f3f7;border-color:#74becb;font-weight:700}.tg-languages a:focus-visible{outline:3px solid #078499;outline-offset:2px}
.tg-home{max-width:1320px;margin:auto;padding:0 20px 32px;font-family:system-ui,-apple-system,sans-serif;color:#273342}.tg-home h1,.tg-country-hero h1{font-family:inherit;font-size:clamp(32px,5vw,54px);font-weight:780;line-height:1.15;max-width:850px;margin:0 auto 20px}.tg-hero{text-align:center;padding:clamp(28px,5vw,60px) 20px;border-radius:24px;background:linear-gradient(130deg,#e3f6f8,#fff9e8);margin:16px 0 28px}.tg-hero p{font-size:18px;line-height:1.7;max-width:800px;margin:0 auto 22px}.tg-how{padding:28px;border:1px solid #dbe7eb;border-radius:24px;background:white;margin:28px 0}.tg-how h2{font-family:inherit;font-size:28px;font-weight:750}.tg-how h3{font-family:inherit;font-size:20px;font-weight:700}.tg-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:24px}.tg-how p{line-height:1.7}.tg-all-countries{padding:20px;border:1px solid #dbe7eb;border-radius:16px;background:#fff;margin-top:20px}.tg-all-countries summary{cursor:pointer;font-weight:700;min-height:44px;padding:10px 0}.tg-all-countries input{display:block;width:100%;max-width:420px;min-height:48px;border:1px solid #b9ccd4;border-radius:9px;padding:10px}.tg-all-countries label{display:block;margin:15px 0 8px}.tg-all-countries ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:20px 0 0}.tg-all-countries a{display:flex;align-items:center;min-height:44px;color:#12677b!important;line-height:1.4;overflow-wrap:anywhere}.tg-all-countries [hidden]{display:none!important}
.tg-france{margin:28px 0}.tg-france>h2{font:750 28px/1.4 system-ui}.tg-france #home-location{display:grid;gap:24px;padding:24px;background:#f0f9fa;border:1px solid #dcebee;border-radius:24px}.tg-france #home-location>section{grid-column:1/-1}.tg-france #mapwrapper{width:100%;max-width:680px;background:white;border-radius:20px;padding:15px}.tg-france #sidebar h2,.tg-france #home-cities h2{font:700 22px/1.4 system-ui}.tg-france #home-location a{font-family:system-ui;color:#273342}.tg-france #frjstip{position:absolute;z-index:2;background:white}.tg-france svg{display:block;width:100%;height:auto}.tg-france #home-cities .home-city-list{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:991px){.tg-how-grid{grid-template-columns:1fr}.tg-all-countries ul{grid-template-columns:repeat(3,minmax(0,1fr))}.tg-france #home-cities .home-city-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.tg-home{padding:0 12px 24px}.tg-languages{justify-content:center;padding:8px;gap:2px}.tg-languages a{padding:8px}.tg-hero{padding:28px 16px}.tg-how{padding:20px}.tg-all-countries ul{grid-template-columns:repeat(2,minmax(0,1fr))}.tg-france #home-cities .home-city-list{grid-template-columns:1fr}.tg-france #home-location{padding:12px}.tg-france>h2{font-size:23px}}

.tg-legal-language{max-width:1160px;margin:20px auto;padding:14px 20px;border:1px solid #dbe7eb;border-radius:12px;background:#fff9e8;color:#273342;font:16px/1.5 system-ui}

/* The same photo / offer / location layout as the original new-listings page. */
.tg-hero-links { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; }
.tg-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 22px; background: #fff; border: 1px solid #c7d7df; border-radius: 12px; font: 700 16px/1.4 system-ui; color: #273342 !important; text-decoration: none !important; }
.tg-latest-country { margin: 24px 0; padding: 24px; background: #fff; border: 1px solid #dbe7eb; border-radius: 20px; color: #273342; font: 16px/1.5 system-ui; text-align: left; }
.tg-latest-country label { display: block; margin-bottom: 10px; font-weight: 750; }
.tg-latest-country-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.tg-latest-country select { flex: 1 1 220px; min-width: 0; max-width: 100%; min-height: 50px; border: 1px solid #c7d7df; border-radius: 10px; background: #fff; color: #273342; padding: 12px; font: inherit; }
.tg-latest-country > a { display: inline-block; margin-top: 12px; color: #087386; text-decoration: underline; }
.tg-latest-country select:focus-visible, .tg-secondary:focus-visible { outline: 3px solid #087d91; outline-offset: 3px; }
@media(max-width:575px) { .tg-latest-country { padding: 18px; } .tg-latest-country-controls .tg-primary { width: 100%; } }
.tg-results-summary#annonces { scroll-margin-top: 120px; }
.tg-listings { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.tg-listing {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    gap: 26px;
    position: relative;
    min-width: 0;
    padding: 22px;
    border-radius: 24px;
    background: #fff;
    color: #243040;
    font-family: Georgia, "Times New Roman", serif;
    box-shadow: 0 14px 36px rgba(36, 48, 64, .11);
}
.tg-listing-photo { align-self: start; display: block; min-width: 0; border-radius: 20px; }
.tg-listing-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 20px;
    background: #f7fafc;
    box-shadow: 0 10px 24px rgba(36, 48, 64, .12);
}
.tg-listing-content { min-width: 0; padding-top: 22px; }
.tg-listing h2 {
    width: calc(66.666% - 12px);
    margin: 0 0 20px;
    text-align: center;
    font: 900 clamp(1.35rem, 2.2vw, 2rem)/1.25 Georgia, "Times New Roman", serif;
    overflow-wrap: anywhere;
}
.tg-listing a { text-decoration: none; }
.tg-listing h2 a { color: #243040; }
.tg-listing h2 a:hover, .tg-listing-location a:hover { color: #2f7d32; text-decoration: underline; }
.tg-listing-details { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.tg-listing-offer { min-width: 0; text-align: center; }
.tg-listing-type {
    margin: 8px 0;
    padding: 8px 14px;
    border: 1px solid #dfeee5;
    border-radius: 999px;
    background: linear-gradient(135deg, #f3fbf5, #eef9ff);
    color: #2f7d32;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.6;
    overflow-wrap: anywhere;
}
.tg-listing-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    max-width: 100%;
    min-height: 48px;
    margin: 12px 0 16px;
    padding: 12px 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffc107, #ffd43b);
    color: #243040 !important;
    box-shadow: 0 10px 24px rgba(255, 193, 7, .2);
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.5;
    text-transform: uppercase;
}
.tg-listing-action:hover { background: #ffda44; }
.tg-listing-action i { flex-shrink: 0; }
.tg-listing-action span { min-width: 0; overflow-wrap: anywhere; }
.tg-listing-location {
    list-style: none;
    min-width: 0;
    margin: 0;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid #e6edf3;
    border-radius: 18px;
}
.tg-listing-location li { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 9px; font-size: .95rem; line-height: 1.5; }
.tg-listing-location li:last-child { margin-bottom: 0; }
.tg-listing-location i { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 1.5em; flex: 0 0 22px; color: #243040; }
.tg-listing-location a, .tg-listing-location span { min-width: 0; overflow-wrap: anywhere; color: #243040; font-weight: 700; }
.tg-listing-date {
    margin: 16px 0 0;
    padding: 13px 16px;
    border: 1px solid #f1e6bf;
    border-radius: 16px;
    background: linear-gradient(135deg, #fffaf0, #f8fafc);
    color: #5f6b77;
    text-align: center;
    font-size: .94rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.tg-listing-date a { color: #2f7d32; font-weight: 800; }
.tg-listing-member { position: absolute; right: 18px; top: 12px; width: 58px; height: 58px; border-radius: 50%; }
.tg-listing-member img { display: block; width: 100%; height: 100%; object-fit: cover; border: 4px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 8px 18px rgba(36, 48, 64, .2); }
.tg-listing a:focus-visible { outline: 3px solid #087d91; outline-offset: 4px; }
@media (max-width: 991px) {
    .tg-listing { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 20px; padding: 18px; }
    .tg-listing-content { padding-top: 0; }
    .tg-listing h2 { width: auto; margin-right: 64px; min-height: 46px; }
    .tg-listing-details { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (max-width: 575px) {
    .tg-listing { grid-template-columns: minmax(0, 1fr); gap: 18px; border-radius: 20px; }
    .tg-listing-photo { width: 100%; }
    .tg-listing h2 { margin: 0 0 14px; min-height: 0; font-size: 1.35rem; }
    .tg-listing-member { right: 26px; top: 26px; }
    .tg-listing-type { border-radius: 14px; }
    .tg-listing-action { width: 100%; padding: 12px 14px; font-size: .9rem; }
}

/* Long translated headings remain readable on narrow screens. */
html:not([lang="fr"]) .te-cgu-hero h1 { hyphens: auto; }
@media (max-width: 575px) {
  html[lang="de"] .te-cgu-hero h1 { font-size: clamp(1.3rem, 6.5vw, 1.8rem); word-break: normal; }
}
