{"id":985,"date":"2026-05-26T10:43:16","date_gmt":"2026-05-26T10:43:16","guid":{"rendered":"https:\/\/www.lessourcesvichy.fr\/?page_id=985"},"modified":"2026-06-02T08:01:17","modified_gmt":"2026-06-02T08:01:17","slug":"accueil","status":"publish","type":"page","link":"https:\/\/www.lessourcesvichy.fr\/","title":{"rendered":"Accueil"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"fr\" prefix=\"og: https:\/\/ogp.me\/ns#\" class=\"no-js\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n\n  <!-- \u2550\u2550\u2550 SEO PRIMAIRE \u2550\u2550\u2550 -->\n  <title>Appart&rsquo;H\u00f4tel Les Sources Vichy \u2013 Location courte dur\u00e9e | Cure thermale &amp; S\u00e9jour pro<\/title>\n  <meta name=\"description\" content=\"Les Sources Vichy : appart'h\u00f4tel 2 Cl\u00e9s Prestige, 17 Rue des Sources, Vichy 03200. Studios, appartements et duplex 10 \u00e0 28 m\u00b2 pour cure thermale, s\u00e9jour professionnel ou week-end. R\u00e9servation directe au meilleur prix garanti.\" \/>\n  <meta name=\"keywords\" content=\"appart h\u00f4tel Vichy, location courte dur\u00e9e Vichy, appartement cure thermale Vichy, h\u00e9bergement Vichy, studio Vichy, appartement Vichy centre, location Vichy Allier, logement professionnel Vichy, Les Sources Vichy\" \/>\n  <meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n  <meta name=\"author\" content=\"Les Sources Vichy \u2013 TL Immobiliers\" \/>\n  <link rel=\"canonical\" href=\"https:\/\/www.lessourcesvichy.fr\/\" \/>\n\n  <!-- \u2550\u2550\u2550 OPEN GRAPH \u2550\u2550\u2550 -->\n  <meta property=\"og:type\" content=\"website\" \/>\n  <meta property=\"og:site_name\" content=\"Les Sources Vichy\" \/>\n  <meta property=\"og:title\" content=\"Appart'H\u00f4tel Les Sources Vichy \u2013 Location courte dur\u00e9e au c\u0153ur de la ville thermale\" \/>\n  <meta property=\"og:description\" content=\"Appart'h\u00f4tel 2 Cl\u00e9s Prestige \u00e0 Vichy. Studios, appartements et duplex pour cure thermale, s\u00e9jour pro ou week-end. \u00c0 deux pas des Thermes. R\u00e9servation directe au meilleur prix.\" \/>\n  <meta property=\"og:url\" content=\"https:\/\/www.lessourcesvichy.fr\/\" \/>\n  <meta property=\"og:image\" content=\"https:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2025\/09\/WhatsApp-Image-2024-07-24-a-13.32.49_084b097a.jpg\" \/>\n  <meta property=\"og:image:width\" content=\"1200\" \/>\n  <meta property=\"og:image:height\" content=\"630\" \/>\n  <meta property=\"og:image:alt\" content=\"Appartement Les Sources Vichy \u2013 appart'h\u00f4tel au c\u0153ur de la ville thermale\" \/>\n  <meta property=\"og:locale\" content=\"fr_FR\" \/>\n\n  <!-- \u2550\u2550\u2550 TWITTER CARD \u2550\u2550\u2550 -->\n  <meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n  <meta name=\"twitter:title\" content=\"Appart'H\u00f4tel Les Sources Vichy \u2013 Location courte dur\u00e9e\" \/>\n  <meta name=\"twitter:description\" content=\"Appart'h\u00f4tel 2 Cl\u00e9s Prestige \u00e0 Vichy. Studios et appartements pour cure thermale, s\u00e9jour pro ou week-end. R\u00e9servation directe.\" \/>\n  <meta name=\"twitter:image\" content=\"https:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2025\/09\/WhatsApp-Image-2024-07-24-a-13.32.49_084b097a.jpg\" \/>\n\n  <!-- \u2550\u2550\u2550 FAVICON \u2550\u2550\u2550 -->\n  <link rel=\"icon\" type=\"image\/png\" href=\"https:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2025\/09\/LOGO-Les-sources-Vichy-300x300.png\" \/>\n  <link rel=\"apple-touch-icon\" href=\"https:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2025\/09\/LOGO-Les-sources-Vichy-300x300.png\" \/>\n\n  <!-- \u2550\u2550\u2550 SCHEMA.ORG \u2013 LodgingBusiness \u2550\u2550\u2550 -->\n  <script type=\"application\/ld+json\">\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"LodgingBusiness\",\n    \"name\": \"Les Sources Vichy\",\n    \"alternateName\": \"Appart'H\u00f4tel Les Sources Vichy\",\n    \"description\": \"Appart'h\u00f4tel 2 Cl\u00e9s Prestige au c\u0153ur de la ville thermale de Vichy. Studios, appartements et duplex de 10 \u00e0 28 m\u00b2 pour cure thermale, s\u00e9jours professionnels ou week-ends en Auvergne.\",\n    \"url\": \"https:\/\/www.lessourcesvichy.fr\",\n    \"telephone\": \"+33756981477\",\n    \"email\": \"contact@lessourcesvichy.fr\",\n    \"image\": \"https:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2025\/09\/WhatsApp-Image-2024-07-24-a-13.32.49_084b097a.jpg\",\n    \"logo\": \"https:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2025\/09\/LOGO-Les-sources-Vichy-300x300.png\",\n    \"address\": {\n      \"@type\": \"PostalAddress\",\n      \"streetAddress\": \"17 Rue des Sources\",\n      \"addressLocality\": \"Vichy\",\n      \"postalCode\": \"03200\",\n      \"addressRegion\": \"Auvergne-Rh\u00f4ne-Alpes\",\n      \"addressCountry\": \"FR\"\n    },\n    \"geo\": { \"@type\": \"GeoCoordinates\", \"latitude\": \"46.1237\", \"longitude\": \"3.4261\" },\n    \"starRating\": { \"@type\": \"Rating\", \"ratingValue\": \"2\", \"bestRating\": \"5\" },\n    \"priceRange\": \"\u20ac\u20ac\",\n    \"checkinTime\": \"16:00\",\n    \"checkoutTime\": \"10:00\",\n    \"amenityFeature\": [\n      { \"@type\": \"LocationFeatureSpecification\", \"name\": \"Wi-Fi gratuit\", \"value\": true },\n      { \"@type\": \"LocationFeatureSpecification\", \"name\": \"Cuisine \u00e9quip\u00e9e\", \"value\": true },\n      { \"@type\": \"LocationFeatureSpecification\", \"name\": \"Arriv\u00e9e autonome\", \"value\": true }\n    ],\n    \"containsPlace\": [\n      { \"@type\": \"Accommodation\", \"name\": \"Studio 1 personne\", \"description\": \"Studio meubl\u00e9 de 10 m\u00b2 pour 1 personne, enti\u00e8rement \u00e9quip\u00e9.\", \"floorSize\": { \"@type\": \"QuantitativeValue\", \"value\": 10, \"unitCode\": \"MTK\" }, \"occupancy\": { \"@type\": \"QuantitativeValue\", \"maxValue\": 1 } },\n      { \"@type\": \"Accommodation\", \"name\": \"Studio 2 personnes\", \"description\": \"Studio meubl\u00e9 de 15 m\u00b2 pour 2 personnes.\", \"floorSize\": { \"@type\": \"QuantitativeValue\", \"value\": 15, \"unitCode\": \"MTK\" }, \"occupancy\": { \"@type\": \"QuantitativeValue\", \"maxValue\": 2 } },\n      { \"@type\": \"Accommodation\", \"name\": \"Souplex lits s\u00e9par\u00e9s\", \"description\": \"Souplex meubl\u00e9 de 15 m\u00b2, lits individuels s\u00e9par\u00e9s.\", \"floorSize\": { \"@type\": \"QuantitativeValue\", \"value\": 15, \"unitCode\": \"MTK\" }, \"occupancy\": { \"@type\": \"QuantitativeValue\", \"maxValue\": 2 } },\n      { \"@type\": \"Accommodation\", \"name\": \"Appartement lit double standard\", \"description\": \"Appartement meubl\u00e9 de 21 m\u00b2 avec lit double.\", \"floorSize\": { \"@type\": \"QuantitativeValue\", \"value\": 21, \"unitCode\": \"MTK\" }, \"occupancy\": { \"@type\": \"QuantitativeValue\", \"maxValue\": 2 } },\n      { \"@type\": \"Accommodation\", \"name\": \"Appartement lit Queen size\", \"description\": \"Appartement meubl\u00e9 de 21 m\u00b2 avec lit Queen size.\", \"floorSize\": { \"@type\": \"QuantitativeValue\", \"value\": 21, \"unitCode\": \"MTK\" }, \"occupancy\": { \"@type\": \"QuantitativeValue\", \"maxValue\": 2 } },\n      { \"@type\": \"Accommodation\", \"name\": \"Appartement avec balcon \u2013 lit Queen size\", \"description\": \"Appartement meubl\u00e9 de 23 m\u00b2 avec balcon priv\u00e9 et lit Queen size.\", \"floorSize\": { \"@type\": \"QuantitativeValue\", \"value\": 23, \"unitCode\": \"MTK\" }, \"occupancy\": { \"@type\": \"QuantitativeValue\", \"maxValue\": 2 } },\n      { \"@type\": \"Accommodation\", \"name\": \"Duplex lit Queen size\", \"description\": \"Duplex meubl\u00e9 de 28 m\u00b2 sur deux niveaux, le plus spacieux.\", \"floorSize\": { \"@type\": \"QuantitativeValue\", \"value\": 28, \"unitCode\": \"MTK\" }, \"occupancy\": { \"@type\": \"QuantitativeValue\", \"maxValue\": 2 } }\n    ],\n    \"sameAs\": [ \"https:\/\/www.facebook.com\/profile.php?id=61575597062406\" ]\n  }\n  <\/script>\n\n  <!-- \u2550\u2550\u2550 SCHEMA.ORG \u2013 BreadcrumbList \u2550\u2550\u2550 -->\n  <script type=\"application\/ld+json\">\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"BreadcrumbList\",\n    \"itemListElement\": [\n      { \"@type\": \"ListItem\", \"position\": 1, \"name\": \"Accueil\", \"item\": \"https:\/\/www.lessourcesvichy.fr\/\" },\n      { \"@type\": \"ListItem\", \"position\": 2, \"name\": \"Nos logements\", \"item\": \"https:\/\/www.lessourcesvichy.fr\/#logements\" },\n      { \"@type\": \"ListItem\", \"position\": 3, \"name\": \"Contact\", \"item\": \"https:\/\/www.lessourcesvichy.fr\/#contact\" }\n    ]\n  }\n  <\/script>\n\n  <!-- \u2550\u2550\u2550 SCHEMA.ORG \u2013 FAQPage \u2550\u2550\u2550 -->\n  <script type=\"application\/ld+json\">\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n      { \"@type\": \"Question\", \"name\": \"O\u00f9 se situe l'appart'h\u00f4tel Les Sources Vichy ?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Les Sources Vichy est situ\u00e9 au 17 Rue des Sources, 03200 Vichy, \u00e0 quelques minutes \u00e0 pied des Thermes de Vichy et du Parc des Sources.\" } },\n      { \"@type\": \"Question\", \"name\": \"Quels types de logements sont disponibles ?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"7 logements de 10 \u00e0 28 m\u00b2 : studios, souplex, appartements et duplex, pour 1 \u00e0 4 personnes, tous enti\u00e8rement meubl\u00e9s et \u00e9quip\u00e9s.\" } },\n      { \"@type\": \"Question\", \"name\": \"L'appart'h\u00f4tel est-il adapt\u00e9 pour une cure thermale \u00e0 Vichy ?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Oui, Les Sources Vichy est id\u00e9alement situ\u00e9 pour les curistes avec tarifs d\u00e9gressifs \u00e0 la semaine, \u00e0 deux pas des \u00e9tablissements thermaux.\" } },\n      { \"@type\": \"Question\", \"name\": \"Comment r\u00e9server au meilleur prix ?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"En r\u00e9servant directement sur notre site ou par t\u00e9l\u00e9phone au +33 7 56 98 14 77. Meilleur tarif garanti, sans frais de plateforme.\" } },\n      { \"@type\": \"Question\", \"name\": \"\u00c0 quelle heure puis-je arriver ?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Le check-in est autonome \u00e0 partir de 16h, le check-out \u00e0 10h. Vos codes d'acc\u00e8s vous sont envoy\u00e9s le matin m\u00eame de votre arriv\u00e9e \u2014 aucune attente, votre logement vous attend.\" } },\n      { \"@type\": \"Question\", \"name\": \"Y a-t-il du stationnement \u00e0 proximit\u00e9 ?\", \"acceptedAnswer\": { \"@type\": \"Answer\", \"text\": \"Des places de stationnement sont disponibles \u00e0 proximit\u00e9 imm\u00e9diate en voirie et en parking public.\" } }\n    ]\n  }\n  <\/script>\n\n  <!-- \u2550\u2550\u2550 FONTS \u2550\u2550\u2550 -->\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\" \/>\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin \/>\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&#038;family=Jost:wght@300;400;500&#038;display=swap\" rel=\"stylesheet\" \/>\n\n  <style>\n    \/* \u2500\u2500\u2500 PROTECTION OVERFLOW HORIZONTAL MOBILE \u2500\u2500\u2500 *\/\n    html, body {\n      overflow-x: hidden !important;\n      max-width: 100vw;\n      position: relative;\n    }\n    * {\n      max-width: 100vw;\n      box-sizing: border-box;\n    }\n    img, svg, video, iframe {\n      max-width: 100%;\n      height: auto;\n    }\n    \/* Animations qui peuvent d\u00e9border *\/\n    [class*=\"reveal\"], .hero-content, .hero-visual {\n      max-width: 100%;\n      overflow: hidden;\n    }\n    \/* Carrousels : s'assurer que les fl\u00e8ches ne d\u00e9passent pas *\/\n    .carousel { overflow: hidden; }\n    \/* Sections : pas de marge n\u00e9gative qui d\u00e9passe *\/\n    section { overflow: hidden; }\n\n    \/* \u2500\u2500\u2500 PROTECTIONS SP\u00c9CIFIQUES MOBILE \u2500\u2500\u2500 *\/\n    @media (max-width: 900px) {\n      \/* Badge histoire qui pouvait d\u00e9passer \u00e0 droite *\/\n      .histoire-badge {\n        right: 12px !important;\n        top: 12px !important;\n      }\n      \/* Fl\u00e8ches lightbox : revenir \u00e0 l'int\u00e9rieur *\/\n      .lightbox-arrow.prev { left: 8px !important; }\n      .lightbox-arrow.next { right: 8px !important; }\n      \/* Carrousels : fl\u00e8ches restent dans le carrousel *\/\n      .carousel-arrow.prev { left: 8px !important; }\n      .carousel-arrow.next { right: 8px !important; }\n      \/* Citation du hero *\/\n      .hero-photo-label { padding-right: 1rem !important; }\n      \/* Tout texte qui pourrait d\u00e9passer *\/\n      h1, h2, h3, p { word-wrap: break-word; overflow-wrap: break-word; }\n    }\n\n\n    \/* \u2500\u2500\u2500 TOKENS \u2500\u2500\u2500 *\/\n    :root {\n      --cream:   #f5f0e8;\n      --ivory:   #faf8f3;\n      --gold:    #b8975a;\n      --gold-lt: #d4b87a;\n      --teal:    #2d5c5c;\n      --teal-dk: #1a3a3a;\n      --stone:   #8a8070;\n      --text:    #2a2420;\n      --serif:   'Cormorant Garamond', Georgia, serif;\n      --sans:    'Jost', sans-serif;\n    }\n\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    html { scroll-behavior: smooth; }\n\n    body {\n      font-family: var(--sans);\n      background: var(--ivory);\n      color: var(--text);\n      font-weight: 300;\n      line-height: 1.7;\n      overflow-x: hidden;\n    }\n\n    \/* Grain texture *\/\n    body::before {\n      content: '';\n      position: fixed; inset: 0;\n      background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'\/%3E%3C\/svg%3E\");\n      pointer-events: none;\n      z-index: 0;\n    }\n\n    \/* \u2500\u2500\u2500 NAV \u2500\u2500\u2500 *\/\n    nav {\n      position: fixed; top: 0; left: 0; right: 0;\n      z-index: 100;\n      display: flex; align-items: center; justify-content: space-between;\n      padding: 1.4rem 4rem;\n      background: rgba(250,248,243,0.92);\n      backdrop-filter: blur(12px);\n      border-bottom: 1px solid rgba(184,151,90,0.2);\n      transition: padding 0.3s;\n    }\n    .nav-logo {\n      font-family: var(--serif);\n      font-size: 1.35rem; font-weight: 600;\n      color: var(--teal-dk); letter-spacing: 0.04em;\n      text-decoration: none;\n    }\n    .nav-logo span { color: var(--gold); }\n    .nav-links { display: flex; gap: 2.5rem; list-style: none; }\n    .nav-links a {\n      font-family: var(--sans); font-size: 0.78rem; font-weight: 500;\n      letter-spacing: 0.15em; text-transform: uppercase;\n      color: var(--teal-dk); text-decoration: none;\n      position: relative; padding-bottom: 2px;\n    }\n    .nav-links a::after {\n      content: '';\n      position: absolute; bottom: 0; left: 0; right: 100%;\n      height: 1px; background: var(--gold);\n      transition: right 0.3s ease;\n    }\n    .nav-links a:hover::after { right: 0; }\n    .nav-cta {\n      background: var(--teal); color: #fff !important;\n      padding: 0.6rem 1.4rem !important; border-radius: 2px;\n      letter-spacing: 0.12em !important;\n      transition: background 0.2s !important;\n    }\n    .nav-cta:hover { background: var(--teal-dk) !important; }\n    .nav-cta::after { display: none !important; }\n\n    \/* \u2500\u2500\u2500 HERO \u2500\u2500\u2500 *\/\n    .hero {\n      min-height: 100vh;\n      display: grid; grid-template-columns: 1fr 1fr;\n      padding-top: 80px;\n      position: relative; overflow: hidden;\n    }\n    .hero-content {\n      display: flex; flex-direction: column; justify-content: center;\n      padding: 6rem 4rem 6rem 5rem;\n      position: relative; z-index: 2;\n    }\n    .hero-eyebrow {\n      font-family: var(--sans); font-size: 0.7rem; font-weight: 500;\n      letter-spacing: 0.25em; text-transform: uppercase;\n      color: var(--gold); margin-bottom: 1.5rem;\n      display: flex; align-items: center; gap: 0.8rem;\n      opacity: 0; animation: fadeUp 0.8s 0.2s forwards;\n    }\n    .hero-eyebrow::before {\n      content: ''; display: block; width: 32px; height: 1px;\n      background: var(--gold);\n    }\n    .hero-title {\n      font-family: var(--serif);\n      font-size: clamp(2.8rem, 5vw, 4.4rem);\n      font-weight: 300; line-height: 1.1;\n      color: var(--teal-dk); margin-bottom: 1.8rem;\n      opacity: 0; animation: fadeUp 0.8s 0.4s forwards;\n    }\n    .hero-title em { font-style: italic; color: var(--gold); }\n    .hero-sub {\n      font-size: 0.95rem; line-height: 1.9;\n      color: var(--stone); max-width: 440px; margin-bottom: 3rem;\n      opacity: 0; animation: fadeUp 0.8s 0.6s forwards;\n    }\n    .hero-actions {\n      display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap;\n      opacity: 0; animation: fadeUp 0.8s 0.8s forwards;\n    }\n    .btn-primary {\n      display: inline-block;\n      background: var(--teal); color: #fff;\n      padding: 0.9rem 2.2rem;\n      font-family: var(--sans); font-size: 0.78rem; font-weight: 500;\n      letter-spacing: 0.18em; text-transform: uppercase;\n      text-decoration: none; border-radius: 2px;\n      transition: background 0.3s, transform 0.2s;\n    }\n    .btn-primary:hover { background: var(--teal-dk); transform: translateY(-1px); }\n    .btn-ghost {\n      display: inline-flex; align-items: center; gap: 0.5rem;\n      color: var(--teal); font-size: 0.78rem; font-weight: 500;\n      letter-spacing: 0.12em; text-transform: uppercase;\n      text-decoration: none;\n      border-bottom: 1px solid rgba(45,92,92,0.3); padding-bottom: 2px;\n      transition: border-color 0.3s, gap 0.3s;\n    }\n    .btn-ghost:hover { border-color: var(--teal); gap: 0.8rem; }\n    .hero-badge {\n      margin-top: 3.5rem;\n      display: inline-flex; align-items: center; gap: 0.8rem;\n      opacity: 0; animation: fadeUp 0.8s 1s forwards;\n    }\n    .badge-keys { display: flex; gap: 3px; }\n    .badge-keys span {\n      display: block; width: 18px; height: 18px;\n      background: var(--gold);\n      clip-path: polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);\n    }\n    .badge-text { font-size: 0.72rem; letter-spacing: 0.08em; color: var(--stone); }\n    .badge-text strong { display: block; color: var(--text); font-weight: 500; }\n\n    \/* Hero visual *\/\n    .hero-visual {\n      position: relative; overflow: hidden;\n      opacity: 0; animation: fadeIn 1.2s 0.3s forwards;\n    }\n    .hero-visual-inner {\n      position: absolute; inset: 0;\n      background: linear-gradient(135deg, var(--teal-dk) 0%, var(--teal) 50%, #3d7a6a 100%);\n      display: flex; align-items: center; justify-content: center;\n    }\n    .hero-pattern {\n      position: absolute; inset: 0; opacity: 0.07;\n      background-image: url(\"data:image\/svg+xml,%3Csvg width='60' height='60' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Ccircle cx='30' cy='30' r='20' fill='none' stroke='%23fff' stroke-width='0.5'\/%3E%3Ccircle cx='30' cy='30' r='10' fill='none' stroke='%23fff' stroke-width='0.5'\/%3E%3Cline x1='10' y1='30' x2='50' y2='30' stroke='%23fff' stroke-width='0.3'\/%3E%3Cline x1='30' y1='10' x2='30' y2='50' stroke='%23fff' stroke-width='0.3'\/%3E%3C\/svg%3E\");\n    }\n    .hero-photo-card {\n      position: relative; z-index: 2;\n      width: 75%; aspect-ratio: 3\/4;\n      background: rgba(255,255,255,0.08);\n      border: 1px solid rgba(255,255,255,0.2);\n      border-radius: 4px;\n      display: flex; align-items: flex-end; overflow: hidden;\n      box-shadow: 0 40px 80px rgba(0,0,0,0.3);\n    }\n    .hero-photo-card::before {\n      content: ''; position: absolute; inset: 0;\n      background: linear-gradient(180deg, rgba(45,92,92,0.1) 0%, rgba(26,58,58,0.8) 100%),\n        repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 1px, transparent 1px, transparent 20px);\n    }\n    .hero-photo-label { position: relative; z-index: 2; padding: 2rem; color: #fff; }\n    .hero-photo-label p { font-family: var(--serif); font-size: 1.5rem; font-weight: 300; font-style: italic; line-height: 1.3; }\n    .hero-photo-label small { font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; opacity: 0.7; }\n    .hero-accent-card {\n      position: absolute; bottom: 12%; left: -60px; z-index: 10;\n      background: var(--cream); border: 1px solid rgba(184,151,90,0.3);\n      border-radius: 4px; padding: 1.2rem 1.6rem;\n      box-shadow: 0 20px 40px rgba(0,0,0,0.12);\n      opacity: 0; animation: fadeUp 0.8s 1.2s forwards;\n    }\n    .hero-accent-card .num { font-family: var(--serif); font-size: 2.2rem; font-weight: 300; color: var(--teal); line-height: 1; }\n    .hero-accent-card .lbl { font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--stone); margin-top: 2px; }\n\n    \/* \u2500\u2500\u2500 DIVIDER \u2500\u2500\u2500 *\/\n    .divider {\n      display: flex; align-items: center; justify-content: center;\n      gap: 1rem; padding: 3rem 0; color: var(--gold);\n      background: var(--ivory);\n    }\n    .divider::before, .divider::after {\n      content: ''; flex: 1; max-width: 80px; height: 1px;\n      background: linear-gradient(90deg, transparent, var(--gold));\n    }\n    .divider::after { transform: scaleX(-1); }\n    .divider svg { width: 20px; height: 20px; fill: var(--gold); }\n\n    \/* \u2500\u2500\u2500 SECTION HEADERS \u2500\u2500\u2500 *\/\n    .section-header { text-align: center; margin-bottom: 3.5rem; }\n    .section-eyebrow { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.8rem; }\n    .section-title { font-family: var(--serif); font-size: clamp(1.9rem, 3vw, 2.8rem); font-weight: 300; color: var(--teal-dk); line-height: 1.2; }\n    .section-title em { font-style: italic; color: var(--gold); }\n    .section-sub { font-size: 0.92rem; color: var(--stone); max-width: 520px; margin: 1rem auto 0; line-height: 1.8; }\n\n    \/* \u2500\u2500\u2500 ATOUTS \u2500\u2500\u2500 *\/\n    .atouts {\n      background: var(--teal-dk); padding: 6rem 4rem;\n      position: relative; overflow: hidden;\n    }\n    .atouts::before {\n      content: ''; position: absolute; inset: 0;\n      background-image: url(\"data:image\/svg+xml,%3Csvg width='80' height='80' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Ccircle cx='40' cy='40' r='35' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='1'\/%3E%3C\/svg%3E\");\n    }\n    .atouts .section-title { color: var(--cream); }\n    .atouts .section-eyebrow { color: var(--gold-lt); }\n    .atouts .section-sub { color: rgba(245,240,232,0.6); }\n    .atouts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; max-width: 1000px; margin: 0 auto; }\n    .atout-item {\n      background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.04);\n      padding: 2.5rem 2rem; text-align: center;\n      transition: background 0.3s, transform 0.3s;\n    }\n    .atout-item:hover { background: rgba(255,255,255,0.08); transform: translateY(-4px); }\n    .atout-icon { font-size: 2rem; margin-bottom: 1rem; display: block; }\n    .atout-title { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; color: var(--cream); margin-bottom: 0.6rem; }\n    .atout-desc { font-size: 0.8rem; color: rgba(245,240,232,0.55); line-height: 1.7; }\n\n    \/* \u2500\u2500\u2500 LOGEMENTS \u2500\u2500\u2500 *\/\n    .logements { padding: 7rem 4rem; max-width: 1200px; margin: 0 auto; }\n    .logements-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }\n    .logement-card {\n      border: 1px solid rgba(184,151,90,0.15); border-radius: 4px;\n      overflow: hidden; transition: box-shadow 0.3s, transform 0.3s;\n      background: #fff; position: relative;\n    }\n    .logement-card:hover { box-shadow: 0 20px 50px rgba(45,92,92,0.12); transform: translateY(-4px); }\n    .logement-card.featured { grid-column: span 2; }\n    .logement-visual { height: 200px; position: relative; overflow: hidden; }\n    .logement-card.featured .logement-visual { height: 260px; }\n\n    \/* \u2500\u2500\u2500 CARROUSEL DANS LES CARTES LOGEMENT \u2500\u2500\u2500 *\/\n    .carousel { position: absolute; inset: 0; }\n    .carousel-track {\n      display: flex; height: 100%;\n      transition: transform 0.4s ease;\n    }\n    .carousel-slide {\n      flex: 0 0 100%; height: 100%;\n      position: relative;\n      display: flex; align-items: center; justify-content: center;\n      flex-direction: column; gap: 0.5rem;\n    }\n    .carousel-slide-icon { font-size: 2.2rem; opacity: 0.5; }\n    .carousel-slide-label {\n      font-family: var(--serif);\n      font-size: 0.95rem; font-style: italic;\n      color: rgba(255,255,255,0.7);\n    }\n\n    \/* Fl\u00e8ches navigation *\/\n    .carousel-arrow {\n      position: absolute; top: 50%;\n      transform: translateY(-50%);\n      width: 34px; height: 34px;\n      background: rgba(255,255,255,0.92);\n      border: none; border-radius: 50%;\n      display: flex; align-items: center; justify-content: center;\n      font-size: 1.1rem; color: var(--teal-dk);\n      cursor: pointer;\n      box-shadow: 0 3px 10px rgba(0,0,0,0.18);\n      transition: all 0.2s; z-index: 3;\n      opacity: 0; pointer-events: none;\n    }\n    .logement-card:hover .carousel-arrow { opacity: 1; pointer-events: auto; }\n    .carousel-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.1); }\n    .carousel-arrow.prev { left: 10px; }\n    .carousel-arrow.next { right: 10px; }\n    .carousel-card.featured .carousel-arrow { width: 40px; height: 40px; font-size: 1.3rem; }\n\n    \/* Compteur en haut \u00e0 gauche *\/\n    .carousel-counter {\n      position: absolute; top: 12px; left: 12px; z-index: 3;\n      background: rgba(0,0,0,0.55);\n      color: #fff;\n      font-size: 0.68rem; font-weight: 500;\n      padding: 3px 9px; border-radius: 100px;\n      backdrop-filter: blur(4px);\n      letter-spacing: 0.05em;\n    }\n\n    \/* Dots *\/\n    .carousel-dots {\n      position: absolute; bottom: 10px; left: 50%;\n      transform: translateX(-50%);\n      display: flex; gap: 5px; z-index: 3;\n    }\n    .carousel-dot {\n      width: 6px; height: 6px;\n      border-radius: 50%;\n      background: rgba(255,255,255,0.45);\n      border: none; cursor: pointer;\n      padding: 0; transition: all 0.25s;\n    }\n    .carousel-dot.active { background: #fff; width: 18px; border-radius: 3px; }\n\n    \/* Curseur \"loupe\" sur les vraies photos pour indiquer le clic *\/\n    .carousel-slide[style*=\"url\"] { cursor: zoom-in; }\n\n    \/* \u2500\u2500\u2500 LIGHTBOX PLEIN \u00c9CRAN \u2500\u2500\u2500 *\/\n    .lightbox {\n      position: fixed; inset: 0;\n      background: rgba(10,14,20,0.97);\n      z-index: 9999;\n      display: none;\n      align-items: center; justify-content: center;\n      animation: lightboxFade 0.3s ease;\n      backdrop-filter: blur(8px);\n    }\n    .lightbox.active { display: flex; }\n    @keyframes lightboxFade { from { opacity: 0; } to { opacity: 1; } }\n\n    .lightbox-stage {\n      position: relative;\n      width: 92%; max-width: 1300px;\n      height: 88vh;\n      display: flex; align-items: center; justify-content: center;\n    }\n    .lightbox-img {\n      max-width: 100%; max-height: 100%;\n      width: auto; height: auto;\n      object-fit: contain;\n      border-radius: 4px;\n      box-shadow: 0 30px 80px rgba(0,0,0,0.5);\n      animation: lightboxZoom 0.35s ease;\n    }\n    @keyframes lightboxZoom { from { transform: scale(0.94); opacity: 0.6; } to { transform: scale(1); opacity: 1; } }\n\n    .lightbox-close {\n      position: absolute; top: -54px; right: 0;\n      width: 44px; height: 44px;\n      background: rgba(255,255,255,0.1);\n      border: 1px solid rgba(255,255,255,0.2);\n      border-radius: 50%;\n      color: #fff; font-size: 1.4rem;\n      cursor: pointer;\n      display: flex; align-items: center; justify-content: center;\n      transition: background 0.2s, transform 0.2s;\n    }\n    .lightbox-close:hover { background: rgba(255,255,255,0.22); transform: rotate(90deg); }\n\n    .lightbox-arrow {\n      position: absolute; top: 50%;\n      transform: translateY(-50%);\n      width: 56px; height: 56px;\n      background: rgba(255,255,255,0.1);\n      border: 1px solid rgba(255,255,255,0.2);\n      border-radius: 50%;\n      color: #fff; font-size: 1.6rem;\n      cursor: pointer;\n      display: flex; align-items: center; justify-content: center;\n      transition: background 0.2s, transform 0.2s;\n      backdrop-filter: blur(10px);\n    }\n    .lightbox-arrow:hover { background: rgba(255,255,255,0.25); }\n    .lightbox-arrow.prev { left: -80px; }\n    .lightbox-arrow.next { right: -80px; }\n\n    .lightbox-counter {\n      position: absolute; top: -50px; left: 0;\n      color: rgba(255,255,255,0.65);\n      font-family: var(--serif);\n      font-size: 1rem; font-style: italic;\n      letter-spacing: 0.05em;\n    }\n    .lightbox-caption {\n      position: absolute; bottom: -44px; left: 50%;\n      transform: translateX(-50%);\n      color: rgba(255,255,255,0.7);\n      font-size: 0.85rem;\n      letter-spacing: 0.04em;\n      text-align: center;\n      width: 100%;\n    }\n\n    \/* Vignettes en bas de la lightbox *\/\n    .lightbox-thumbs {\n      position: absolute; bottom: 16px; left: 50%;\n      transform: translateX(-50%);\n      display: flex; gap: 6px;\n      max-width: 90%; overflow-x: auto;\n      padding: 6px;\n    }\n    .lightbox-thumb {\n      width: 50px; height: 38px;\n      border-radius: 3px;\n      background-size: cover; background-position: center;\n      cursor: pointer; flex-shrink: 0;\n      opacity: 0.45; border: 2px solid transparent;\n      transition: opacity 0.2s, border-color 0.2s;\n    }\n    .lightbox-thumb.active { opacity: 1; border-color: var(--gold); }\n\n    @media (max-width: 900px) {\n      .lightbox-arrow.prev { left: 8px; }\n      .lightbox-arrow.next { right: 8px; }\n      .lightbox-arrow { width: 44px; height: 44px; font-size: 1.3rem; background: rgba(255,255,255,0.18); }\n      .lightbox-close { top: -50px; right: 50%; transform: translateX(50%); }\n      .lightbox-close:hover { transform: translateX(50%) rotate(90deg); }\n      .lightbox-stage { height: 80vh; }\n      .lightbox-thumbs { display: none; }\n      .lightbox-caption { bottom: -38px; font-size: 0.78rem; }\n    }\n    .logement-visual-bg { position: absolute; inset: 0; transition: transform 0.5s ease; }\n    .logement-card:hover .logement-visual-bg { transform: scale(1.04); }\n    .lv-1 { background: linear-gradient(135deg, #2d5c5c 0%, #4a8a8a 100%); }\n    .lv-2 { background: linear-gradient(135deg, #3d6b4f 0%, #5a9a70 100%); }\n    .lv-3 { background: linear-gradient(135deg, #5c4d2d 0%, #8a7040 100%); }\n    .lv-4 { background: linear-gradient(135deg, #4d2d5c 0%, #7a508a 100%); }\n    .lv-5 { background: linear-gradient(135deg, #2d4d5c 0%, #4a7a8a 100%); }\n    .lv-6 { background: linear-gradient(135deg, #5c2d3a 0%, #8a5060 100%); }\n    .lv-7 { background: linear-gradient(135deg, #3a3a2d 0%, #6a6a45 100%); }\n    .logement-visual-inner { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0.5rem; }\n    .logement-visual-icon { font-size: 2.5rem; opacity: 0.6; }\n    .logement-visual-size { font-family: var(--serif); font-size: 1.8rem; font-weight: 300; color: rgba(255,255,255,0.8); }\n    .logement-tag {\n      position: absolute; top: 12px; right: 12px;\n      background: var(--gold); color: #fff;\n      font-size: 0.65rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase;\n      padding: 3px 10px; border-radius: 1px;\n    }\n    .logement-body { padding: 1.4rem 1.6rem 1.8rem; }\n    .logement-name { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; color: var(--teal-dk); margin-bottom: 0.4rem; }\n    .logement-meta { font-size: 0.75rem; color: var(--stone); letter-spacing: 0.08em; margin-bottom: 0.8rem; }\n    .logement-desc { font-size: 0.83rem; color: var(--stone); line-height: 1.7; margin-bottom: 1.2rem; }\n    .logement-link {\n      font-size: 0.72rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase;\n      color: var(--teal); text-decoration: none;\n      display: inline-flex; align-items: center; gap: 0.4rem;\n      border-bottom: 1px solid rgba(45,92,92,0.25); padding-bottom: 2px;\n      transition: gap 0.3s, border-color 0.3s;\n    }\n    .logement-link:hover { gap: 0.7rem; border-color: var(--teal); }\n\n    \/* \u2500\u2500\u2500 HISTOIRE \/ NOTRE PARCOURS \u2500\u2500\u2500 *\/\n    .histoire-section {\n      padding: 7rem 4rem;\n      max-width: 1100px; margin: 0 auto;\n      position: relative;\n    }\n    .histoire-grid {\n      display: grid;\n      grid-template-columns: 1fr 1.2fr;\n      gap: 5rem; align-items: center;\n    }\n\n    \/* C\u00f4t\u00e9 image \/ portrait *\/\n    .histoire-visual {\n      position: relative;\n    }\n    .histoire-photo {\n      aspect-ratio: 4\/5;\n      background: linear-gradient(135deg, var(--teal-dk) 0%, var(--teal) 50%, #3d7a6a 100%);\n      border-radius: 4px;\n      overflow: hidden;\n      position: relative;\n      box-shadow: 0 30px 60px rgba(45,92,92,0.2);\n    }\n    .histoire-photo::before {\n      content: '';\n      position: absolute; inset: 0;\n      background-image: url(\"data:image\/svg+xml,%3Csvg width='80' height='80' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Ccircle cx='40' cy='40' r='30' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='1'\/%3E%3Ccircle cx='40' cy='40' r='15' fill='none' stroke='rgba(255,255,255,0.04)' stroke-width='1'\/%3E%3C\/svg%3E\");\n    }\n    .histoire-photo-label {\n      position: absolute;\n      bottom: 0; left: 0; right: 0;\n      padding: 2rem;\n      background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 100%);\n      color: #fff;\n    }\n    .histoire-photo-label p {\n      font-family: var(--serif);\n      font-size: 1.4rem; font-style: italic;\n      font-weight: 300; line-height: 1.3;\n      margin-bottom: 0.4rem;\n    }\n    .histoire-photo-label small {\n      font-size: 0.68rem; letter-spacing: 0.18em;\n      text-transform: uppercase; color: var(--gold-lt);\n    }\n\n    \/* Carte flottante chiffre *\/\n    .histoire-badge {\n      position: absolute;\n      top: 10%; right: -40px;\n      background: var(--cream);\n      border: 1px solid rgba(184,151,90,0.3);\n      border-radius: 4px;\n      padding: 1.4rem 1.8rem;\n      box-shadow: 0 20px 40px rgba(45,92,92,0.15);\n      text-align: center;\n      min-width: 140px;\n    }\n    .histoire-badge .num {\n      font-family: var(--serif);\n      font-size: 2.4rem;\n      font-weight: 300;\n      color: var(--teal);\n      line-height: 1;\n      margin-bottom: 0.3rem;\n    }\n    .histoire-badge .lbl {\n      font-size: 0.66rem;\n      letter-spacing: 0.16em;\n      text-transform: uppercase;\n      color: var(--stone);\n    }\n\n    \/* C\u00f4t\u00e9 texte *\/\n    .histoire-content { position: relative; }\n    .histoire-content .section-eyebrow {\n      text-align: left;\n      display: flex; align-items: center; gap: 0.8rem;\n      margin-bottom: 1rem;\n    }\n    .histoire-content .section-eyebrow::before {\n      content: ''; width: 32px; height: 1px; background: var(--gold);\n    }\n    .histoire-content h2 {\n      font-family: var(--serif);\n      font-size: clamp(2rem, 3vw, 2.8rem);\n      font-weight: 400;\n      line-height: 1.15;\n      color: #0d2424;\n      margin-bottom: 1.5rem;\n      text-shadow: 0 1px 0 rgba(255,255,255,0.5);\n    }\n    .histoire-content h2 em {\n      font-style: italic;\n      color: #8a6f30;\n      font-weight: 500;\n    }\n    .histoire-content p {\n      font-size: 0.95rem; line-height: 1.95;\n      color: #2a2420; margin-bottom: 1.2rem;\n    }\n    .histoire-content .signature {\n      font-family: var(--serif);\n      font-style: italic;\n      font-size: 1.05rem;\n      color: var(--gold);\n      margin-top: 1.5rem;\n      padding-top: 1.5rem;\n      border-top: 1px solid rgba(184,151,90,0.2);\n    }\n\n    .histoire-values {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 1rem;\n      margin-top: 2rem;\n    }\n    .value-item {\n      padding: 1rem 0.8rem;\n      text-align: center;\n      background: var(--cream);\n      border-radius: 4px;\n    }\n    .value-icon {\n      font-size: 1.4rem;\n      display: block;\n      margin-bottom: 0.4rem;\n    }\n    .value-label {\n      font-size: 0.72rem;\n      font-weight: 500;\n      letter-spacing: 0.08em;\n      color: var(--teal-dk);\n    }\n\n    \/* \u2500\u2500\u2500 ZONE TRUSTINDEX \u2500\u2500\u2500 *\/\n    .avis-trustindex-section {\n      background: linear-gradient(180deg, var(--ivory) 0%, var(--cream) 100%);\n      padding: 6rem 4rem;\n    }\n    .trustindex-intro {\n      text-align: center;\n      margin-bottom: 3rem;\n    }\n    .trustindex-wrapper {\n      max-width: 1100px; margin: 0 auto;\n      background: #fff;\n      border: 1px solid rgba(184,151,90,0.15);\n      border-radius: 4px;\n      padding: 2rem;\n      min-height: 300px;\n      position: relative;\n    }\n    \/* Placeholder en attendant Trustindex *\/\n    .trustindex-placeholder {\n      text-align: center;\n      padding: 3rem 2rem;\n      color: var(--stone);\n    }\n    .trustindex-placeholder-icon {\n      font-size: 3rem;\n      margin-bottom: 1rem;\n      display: block;\n      opacity: 0.4;\n    }\n    .trustindex-placeholder h3 {\n      font-family: var(--serif);\n      font-size: 1.3rem;\n      color: var(--teal-dk);\n      margin-bottom: 0.6rem;\n    }\n    .trustindex-placeholder p {\n      font-size: 0.85rem;\n      max-width: 500px;\n      margin: 0 auto 1.5rem;\n      line-height: 1.7;\n    }\n    .trustindex-placeholder code {\n      display: inline-block;\n      background: var(--cream);\n      padding: 0.5rem 1rem;\n      border-radius: 3px;\n      font-size: 0.78rem;\n      color: var(--teal-dk);\n      font-family: ui-monospace, monospace;\n      border: 1px dashed rgba(184,151,90,0.4);\n    }\n\n    @media (max-width: 900px) {\n      .histoire-section { padding: 4rem 1.5rem; }\n      .histoire-grid { grid-template-columns: 1fr; gap: 2rem; }\n      .histoire-badge { right: 16px; top: 16px; padding: 1rem 1.2rem; min-width: 110px; }\n      .histoire-badge .num { font-size: 1.8rem; }\n      .histoire-values { grid-template-columns: 1fr; gap: 6px; }\n      .avis-trustindex-section { padding: 4rem 1.5rem; }\n      .trustindex-wrapper { padding: 1rem; }\n    }\n\n    \/* \u2500\u2500\u2500 AVIS \u2500\u2500\u2500 *\/\n    .avis-section {\n      background: linear-gradient(180deg, var(--ivory) 0%, var(--cream) 100%);\n      padding: 6rem 4rem;\n      position: relative;\n    }\n    .avis-header-row {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      max-width: 1100px; margin: 0 auto 3.5rem;\n      gap: 4rem; align-items: center;\n    }\n\n    \/* Note globale \u00e0 gauche *\/\n    .avis-score {\n      text-align: left;\n    }\n    .avis-score-eyebrow {\n      font-size: 0.68rem; font-weight: 500;\n      letter-spacing: 0.25em; text-transform: uppercase;\n      color: var(--gold); margin-bottom: 0.8rem;\n      display: flex; align-items: center; gap: 0.8rem;\n    }\n    .avis-score-eyebrow::before {\n      content: ''; width: 32px; height: 1px; background: var(--gold);\n    }\n    .avis-score-title {\n      font-family: var(--serif);\n      font-size: clamp(1.9rem, 3vw, 2.6rem);\n      font-weight: 300; line-height: 1.15;\n      color: var(--teal-dk); margin-bottom: 1.2rem;\n    }\n    .avis-score-title em { font-style: italic; color: var(--gold); }\n\n    .avis-score-row {\n      display: flex; align-items: center; gap: 1.5rem;\n      margin-bottom: 1rem;\n    }\n    .avis-score-number {\n      font-family: var(--serif);\n      font-size: 3.6rem; font-weight: 300;\n      color: var(--teal); line-height: 1;\n    }\n    .avis-score-stars {\n      display: flex; gap: 4px;\n    }\n    .avis-score-stars svg {\n      width: 22px; height: 22px;\n      fill: var(--gold);\n    }\n    .avis-score-meta {\n      font-size: 0.92rem; color: var(--stone);\n      line-height: 1.7;\n    }\n    .avis-score-meta strong {\n      color: var(--teal-dk); font-weight: 500;\n    }\n\n    .avis-google-link {\n      display: inline-flex; align-items: center; gap: 0.6rem;\n      margin-top: 1.5rem;\n      font-size: 0.78rem; font-weight: 500;\n      letter-spacing: 0.12em; text-transform: uppercase;\n      color: var(--teal); text-decoration: none;\n      border-bottom: 1px solid rgba(45,92,92,0.3);\n      padding-bottom: 3px;\n      transition: gap 0.3s, border-color 0.3s;\n    }\n    .avis-google-link:hover { gap: 0.9rem; border-color: var(--teal); }\n    .avis-google-icon {\n      width: 18px; height: 18px;\n    }\n\n    \/* Plateformes \u00e0 droite *\/\n    .avis-platforms {\n      display: grid; grid-template-columns: 1fr 1fr; gap: 1px;\n      background: rgba(184,151,90,0.15);\n      border: 1px solid rgba(184,151,90,0.15);\n      border-radius: 4px; overflow: hidden;\n    }\n    .avis-platform {\n      background: #fff;\n      padding: 1.5rem 1.4rem;\n      text-align: center;\n    }\n    .avis-platform-name {\n      font-size: 0.7rem; font-weight: 500;\n      letter-spacing: 0.16em; text-transform: uppercase;\n      color: var(--stone); margin-bottom: 0.5rem;\n    }\n    .avis-platform-score {\n      font-family: var(--serif);\n      font-size: 1.8rem; font-weight: 400;\n      color: var(--teal-dk); line-height: 1;\n      margin-bottom: 0.4rem;\n    }\n    .avis-platform-score sub {\n      font-size: 0.85rem; color: var(--stone);\n      font-weight: 300;\n    }\n    .avis-platform-count {\n      font-size: 0.72rem; color: var(--stone);\n    }\n\n    \/* Cartes d'avis *\/\n    .avis-grid {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 1.5rem;\n      max-width: 1100px; margin: 0 auto;\n    }\n    .avis-card {\n      background: #fff;\n      border: 1px solid rgba(184,151,90,0.15);\n      border-radius: 4px;\n      padding: 1.8rem;\n      position: relative;\n      transition: box-shadow 0.3s, transform 0.3s;\n    }\n    .avis-card:hover {\n      box-shadow: 0 12px 40px rgba(45,92,92,0.1);\n      transform: translateY(-3px);\n    }\n    .avis-card::before {\n      content: '\"';\n      position: absolute;\n      top: -10px; left: 20px;\n      font-family: var(--serif);\n      font-size: 5rem;\n      color: var(--gold);\n      line-height: 1;\n      opacity: 0.4;\n    }\n    .avis-card-stars {\n      display: flex; gap: 2px;\n      margin-bottom: 1rem;\n      position: relative; z-index: 1;\n    }\n    .avis-card-stars svg {\n      width: 14px; height: 14px; fill: var(--gold);\n    }\n    .avis-card-text {\n      font-size: 0.88rem;\n      color: var(--text);\n      line-height: 1.8;\n      font-style: italic;\n      margin-bottom: 1.5rem;\n      position: relative; z-index: 1;\n    }\n    .avis-card-footer {\n      display: flex; align-items: center; gap: 0.8rem;\n      padding-top: 1rem;\n      border-top: 1px solid rgba(184,151,90,0.15);\n    }\n    .avis-card-avatar {\n      width: 38px; height: 38px;\n      border-radius: 50%;\n      background: var(--teal);\n      color: #fff;\n      display: flex; align-items: center; justify-content: center;\n      font-family: var(--serif);\n      font-size: 1.1rem; font-weight: 400;\n    }\n    .avis-card-info { flex: 1; }\n    .avis-card-name {\n      font-size: 0.85rem; font-weight: 500;\n      color: var(--teal-dk); margin-bottom: 1px;\n    }\n    .avis-card-date {\n      font-size: 0.7rem; color: var(--stone);\n      letter-spacing: 0.04em;\n    }\n    .avis-card-source {\n      font-size: 0.62rem;\n      letter-spacing: 0.1em; text-transform: uppercase;\n      color: var(--gold);\n      padding: 3px 9px;\n      background: rgba(184,151,90,0.1);\n      border-radius: 100px;\n    }\n\n    \/* CTA en bas *\/\n    .avis-cta {\n      text-align: center;\n      margin-top: 3rem;\n    }\n    .avis-cta p {\n      font-size: 0.85rem;\n      color: var(--stone);\n      margin-bottom: 1rem;\n      font-style: italic;\n    }\n\n    @media (max-width: 900px) {\n      .avis-section { padding: 4rem 1.5rem; }\n      .avis-header-row { grid-template-columns: 1fr; gap: 2rem; margin-bottom: 2.5rem; }\n      .avis-score-number { font-size: 2.8rem; }\n      .avis-grid { grid-template-columns: 1fr; }\n      .avis-platforms { grid-template-columns: 1fr; }\n    }\n\n    \/* \u2500\u2500\u2500 FAQ \u2500\u2500\u2500 *\/\n    .faq-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; max-width: 1000px; margin: 0 auto; }\n    .faq-item {\n      background: #fff; border: 1px solid rgba(184,151,90,0.12);\n      padding: 2rem 1.8rem;\n      transition: box-shadow 0.3s, transform 0.3s;\n    }\n    .faq-item:hover { box-shadow: 0 8px 30px rgba(45,92,92,0.08); transform: translateY(-3px); }\n    .faq-icon { font-size: 1.6rem; margin-bottom: 0.8rem; display: block; }\n    .faq-q { font-family: var(--serif); font-size: 1rem; font-weight: 400; color: var(--teal-dk); margin-bottom: 0.5rem; }\n    .faq-a { font-size: 0.8rem; color: var(--stone); line-height: 1.75; }\n\n    \/* \u2500\u2500\u2500 CALLOU PROMO \u2500\u2500\u2500 *\/\n    .callou-promo {\n      background: var(--cream);\n      border-top: 1px solid rgba(184,151,90,0.2);\n      border-bottom: 1px solid rgba(184,151,90,0.2);\n      padding: 5rem 4rem;\n    }\n    .callou-inner { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }\n    .callou-tag { display: inline-block; background: var(--gold); color: #fff; font-size: 0.65rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; padding: 4px 14px; margin-bottom: 1.2rem; }\n    .callou-title { font-family: var(--serif); font-size: 2.2rem; font-weight: 300; color: var(--teal-dk); line-height: 1.2; margin-bottom: 1rem; }\n    .callou-title em { font-style: italic; color: var(--gold); }\n    .callou-desc { font-size: 0.9rem; color: var(--stone); line-height: 1.8; margin-bottom: 2rem; }\n    .callou-stars { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 2rem; }\n    .keys-display { display: flex; gap: 6px; }\n    .keys-display span { width: 24px; height: 24px; background: var(--gold); clip-path: polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); }\n    .keys-label { font-size: 0.8rem; color: var(--stone); }\n    .callou-visual {\n      background: linear-gradient(135deg, var(--teal-dk) 0%, var(--teal) 60%, var(--gold) 100%);\n      border-radius: 4px; aspect-ratio: 4\/3;\n      display: flex; align-items: center; justify-content: center;\n      position: relative; overflow: hidden;\n    }\n    .callou-visual::before {\n      content: ''; position: absolute; inset: 0;\n      background-image: url(\"data:image\/svg+xml,%3Csvg width='40' height='40' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M0 20 L20 0 L40 20 L20 40 Z' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'\/%3E%3C\/svg%3E\");\n    }\n    .callou-visual p { font-family: var(--serif); font-size: 1.4rem; font-style: italic; color: rgba(255,255,255,0.85); text-align: center; position: relative; z-index: 1; padding: 1rem; }\n\n    \/* \u2500\u2500\u2500 VICHY \u2500\u2500\u2500 *\/\n    .vichy-section { padding: 7rem 4rem; max-width: 1200px; margin: 0 auto; }\n    .vichy-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }\n    .vichy-item { position: relative; border-radius: 4px; overflow: hidden; aspect-ratio: 3\/4; cursor: pointer; }\n    .vichy-item:first-child { grid-row: span 2; aspect-ratio: auto; }\n    .vichy-bg { position: absolute; inset: 0; transition: transform 0.5s; }\n    .vichy-item:hover .vichy-bg { transform: scale(1.06); }\n    .vb-1 { background: linear-gradient(160deg, #1e4040 0%, #2d6060 100%); }\n    .vb-2 { background: linear-gradient(160deg, #3a2a1a 0%, #6a5030 100%); }\n    .vb-3 { background: linear-gradient(160deg, #1a3050 0%, #305080 100%); }\n    .vb-4 { background: linear-gradient(160deg, #2a3a1a 0%, #4a6a30 100%); }\n    .vb-5 { background: linear-gradient(160deg, #3a1a2a 0%, #6a3050 100%); }\n    .vichy-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 60%); display: flex; align-items: flex-end; padding: 1.5rem; }\n    .vichy-label { color: #fff; }\n    .vichy-label h3 { font-family: var(--serif); font-size: 1.1rem; font-weight: 300; margin-bottom: 0.2rem; }\n    .vichy-label p { font-size: 0.72rem; opacity: 0.7; letter-spacing: 0.06em; }\n\n    \/* \u2500\u2500\u2500 CONTACT \u2500\u2500\u2500 *\/\n    .contact-band {\n      background: var(--teal-dk); padding: 5rem 4rem;\n      text-align: center; position: relative; overflow: hidden;\n    }\n    .contact-band::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(184,151,90,0.1) 0%, transparent 70%); }\n    .contact-band .section-title { color: var(--cream); margin-bottom: 0.5rem; }\n    .contact-band .section-sub { color: rgba(245,240,232,0.6); margin-bottom: 2.5rem; }\n    .contact-info { display: flex; gap: 3rem; justify-content: center; flex-wrap: wrap; margin-bottom: 2.5rem; }\n    .contact-item { display: flex; align-items: center; gap: 0.6rem; color: rgba(245,240,232,0.8); font-size: 0.88rem; text-decoration: none; transition: color 0.3s; }\n    .contact-item:hover { color: var(--gold-lt); }\n    .contact-item span:first-child { font-size: 1.2rem; }\n    .contact-band .btn-primary { background: var(--gold); position: relative; z-index: 1; }\n    .contact-band .btn-primary:hover { background: var(--gold-lt); }\n\n    \/* \u2500\u2500\u2500 FOOTER \u2500\u2500\u2500 *\/\n    footer {\n      background: var(--teal-dk);\n      border-top: 1px solid rgba(255,255,255,0.06);\n      padding: 3rem 4rem 2rem;\n      display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem;\n    }\n    .footer-brand .nav-logo { display: block; margin-bottom: 0.8rem; }\n    .footer-brand p { font-size: 0.8rem; color: rgba(245,240,232,0.45); line-height: 1.7; max-width: 300px; }\n    .footer-col h4 { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: 1rem; }\n    .footer-col ul { list-style: none; }\n    .footer-col li { margin-bottom: 0.5rem; }\n    .footer-col a { font-size: 0.82rem; color: rgba(245,240,232,0.5); text-decoration: none; transition: color 0.3s; }\n    .footer-col a:hover { color: var(--cream); }\n    .footer-bottom {\n      grid-column: span 3; padding-top: 1.5rem;\n      border-top: 1px solid rgba(255,255,255,0.06);\n      display: flex; justify-content: space-between;\n      font-size: 0.72rem; color: rgba(245,240,232,0.3); letter-spacing: 0.05em;\n    }\n\n    \/* \u2500\u2500\u2500 ANIMATIONS \u2500\u2500\u2500 *\/\n    @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }\n    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }\n    .reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }\n    .reveal.visible { opacity: 1; transform: none; }\n\n    \/* Fallback no-js \/ prefers-reduced-motion *\/\n    @media (prefers-reduced-motion: reduce) {\n      .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }\n    }\n    .no-js .reveal { opacity: 1 !important; transform: none !important; }\n\n    \/* \u2500\u2500\u2500 RESPONSIVE \u2500\u2500\u2500 *\/\n    @media (max-width: 900px) {\n      nav { padding: 1rem 1.2rem; }\n      \/* Sur mobile : on cache les liens du menu, MAIS on garde le bouton R\u00e9server visible *\/\n      .nav-links {\n        list-style: none;\n        gap: 0;\n        display: flex;\n        align-items: center;\n      }\n      .nav-links li {\n        display: none;\n      }\n      .nav-links li:has(.nav-cta) {\n        display: block;\n      }\n      .nav-cta {\n        padding: 0.55rem 1.1rem !important;\n        font-size: 0.7rem !important;\n        letter-spacing: 0.1em !important;\n      }\n      \/* Compacter le logo aussi pour faire de la place *\/\n      .nav-logo {\n        font-size: 1.1rem;\n      }\n      .hero { grid-template-columns: 1fr; }\n      .hero-visual { display: none; }\n      .hero-content { padding: 5rem 1.5rem 3rem; }\n      .atouts, .faq-section { padding: 4rem 1.5rem; }\n      .atouts-grid, .faq-grid { grid-template-columns: 1fr; gap: 1px; }\n      .logements { padding: 4rem 1.5rem; }\n      .logements-grid { grid-template-columns: 1fr; }\n      .logement-card.featured { grid-column: span 1; }\n      .callou-promo { padding: 4rem 1.5rem; }\n      .callou-inner { grid-template-columns: 1fr; gap: 2rem; }\n      .vichy-section { padding: 4rem 1.5rem; }\n      .vichy-grid { grid-template-columns: 1fr 1fr; }\n      .vichy-item:first-child { grid-row: span 1; aspect-ratio: 3\/4; }\n      .contact-band { padding: 4rem 1.5rem; }\n      footer { grid-template-columns: 1fr; }\n      .footer-bottom { grid-column: span 1; flex-direction: column; gap: 0.5rem; }\n    }\n    @media (max-width: 380px) {\n      .nav-logo { font-size: 0.95rem; }\n      .nav-cta { padding: 0.5rem 0.9rem !important; font-size: 0.65rem !important; }\n    }\n  <\/style>\n<\/head>\n<body>\n\n  <!-- \u2500\u2500\u2500 NAVIGATION \u2500\u2500\u2500 -->\n  <nav id=\"mainnav\" role=\"navigation\" aria-label=\"Navigation principale\">\n    <a href=\"\/\" class=\"nav-logo\" aria-label=\"Les Sources Vichy \u2013 Accueil\">Les Sources <span>Vichy<\/span><\/a>\n    <ul class=\"nav-links\" role=\"list\">\n      <li><a href=\"#logements\">Logements<\/a><\/li>\n      <li><a href=\"#histoire\">Histoire<\/a><\/li>\n      <li><a href=\"#avis\">Avis<\/a><\/li>\n      <li><a href=\"#vichy\">Vichy<\/a><\/li>\n      <li><a href=\"#faq\">FAQ<\/a><\/li>\n      <li><a href=\"#contact\">Contact<\/a><\/li>\n      <li><a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"nav-cta\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server \u2013 ouverture dans un nouvel onglet\">R\u00e9server<\/a><\/li>\n    <\/ul>\n  <\/nav>\n\n  <main id=\"main-content\">\n\n  <!-- \u2500\u2500\u2500 HERO \u2500\u2500\u2500 -->\n  <section class=\"hero\" aria-label=\"Pr\u00e9sentation Les Sources Vichy\">\n    <div class=\"hero-content\">\n      <p class=\"hero-eyebrow\">Appart&rsquo;h\u00f4tel \u2014 Vichy, Auvergne<\/p>\n      <h1 class=\"hero-title\">\n        Vivez Vichy<br>\n        au rythme<br>\n        <em>des Sources<\/em>\n      <\/h1>\n      <p class=\"hero-sub\">\n        Notre appart&rsquo;h\u00f4tel Vichy vous accueille au c\u0153ur de la cit\u00e9 thermale class\u00e9e UNESCO. Studios, appartements et duplex alliant confort moderne et \u00e9l\u00e9gance Belle \u00c9poque \u2014 \u00e0 deux pas des Thermes Callou, pour une nuit comme pour plusieurs semaines.\n      <\/p>\n      <div class=\"hero-actions\">\n        <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"btn-primary\" target=\"_blank\" rel=\"noopener\">V\u00e9rifier les disponibilit\u00e9s<\/a>\n        <a href=\"#logements\" class=\"btn-ghost\">Voir nos logements \u2192<\/a>\n      <\/div>\n      <div class=\"hero-badge\" aria-label=\"Label 2 Cl\u00e9s Prestige\">\n        <div class=\"badge-keys\" aria-hidden=\"true\"><span><\/span><span><\/span><\/div>\n        <div class=\"badge-text\">\n          <strong>2 Cl\u00e9s Prestige<\/strong>\n          Label qualit\u00e9 h\u00e9bergement\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"hero-visual\" aria-hidden=\"true\">\n      <div class=\"hero-visual-inner\">\n        <div class=\"hero-pattern\"><\/div>\n        <div class=\"hero-photo-card\">\n          <div class=\"hero-photo-label\">\n            <small>17 Rue des Sources \u00b7 03200 Vichy<\/small>\n            <p>L&rsquo;art de s\u00e9journer dans la ville thermale<\/p>\n          <\/div>\n        <\/div>\n        <div class=\"hero-accent-card\">\n          <div class=\"num\">7<\/div>\n          <div class=\"lbl\">logements disponibles<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2500\u2500\u2500 DIVIDER \u2500\u2500\u2500 -->\n  <div class=\"divider\" aria-hidden=\"true\">\n    <svg viewBox=\"0 0 24 24\"><path d=\"M12 2l2.4 7.4H22l-6.2 4.5 2.4 7.4L12 17l-6.2 4.3 2.4-7.4L2 9.4h7.6z\"\/><\/svg>\n  <\/div>\n\n  <!-- \u2500\u2500\u2500 ATOUTS \u2500\u2500\u2500 -->\n  <section class=\"atouts\" aria-label=\"Nos avantages\">\n    <div class=\"section-header reveal\">\n      <p class=\"section-eyebrow\">Pourquoi nous choisir<\/p>\n      <h2 class=\"section-title\">Pourquoi choisir notre<br><em>appart&rsquo;h\u00f4tel Vichy<\/em><\/h2>\n      <p class=\"section-sub\">L&rsquo;appart&rsquo;h\u00f4tel Vichy qui combine la flexibilit\u00e9 d&rsquo;un appartement et les prestations d&rsquo;un h\u00f4tel \u2014 sans compromis.<\/p>\n    <\/div>\n    <div class=\"atouts-grid\">\n      <div class=\"atout-item reveal\"><span class=\"atout-icon\">\ud83d\udddd\ufe0f<\/span><p class=\"atout-title\">Arriv\u00e9e autonome<\/p><p class=\"atout-desc\">Check-in \u00e0 partir de 16h, codes d&rsquo;acc\u00e8s envoy\u00e9s le matin de l&rsquo;arriv\u00e9e.<\/p><\/div>\n      <div class=\"atout-item reveal\"><span class=\"atout-icon\">\ud83d\udccd<\/span><p class=\"atout-title\">Emplacement central<\/p><p class=\"atout-desc\">Notre appart&rsquo;h\u00f4tel Vichy se trouve \u00e0 quelques minutes \u00e0 pied des Thermes, du Parc des Sources et du centre-ville.<\/p><\/div>\n      <div class=\"atout-item reveal\"><span class=\"atout-icon\">\ud83c\udf73<\/span><p class=\"atout-title\">Enti\u00e8rement \u00e9quip\u00e9<\/p><p class=\"atout-desc\">Notre appart&rsquo;h\u00f4tel Vichy met \u00e0 votre disposition cuisine \u00e9quip\u00e9e, Wi-Fi haut d\u00e9bit, literie de qualit\u00e9 \u2014 tout est pr\u00eat \u00e0 votre arriv\u00e9e.<\/p><\/div>\n      <div class=\"atout-item reveal\"><span class=\"atout-icon\">\ud83c\udf3f<\/span><p class=\"atout-title\">Id\u00e9al cure thermale<\/p><p class=\"atout-desc\">Notre appart&rsquo;h\u00f4tel \u00e0 Vichy propose des s\u00e9jours d&rsquo;une semaine ou plus, \u00e0 tarif d\u00e9gressif. Votre base de repos entre les soins.<\/p><\/div>\n      <div class=\"atout-item reveal\"><span class=\"atout-icon\">\ud83d\udcbc<\/span><p class=\"atout-title\">S\u00e9jours professionnels<\/p><p class=\"atout-desc\">Notre appart&rsquo;h\u00f4tel Vichy offre bureau de travail, connexion fibre et facture simplifi\u00e9e \u2014 parfait pour les missions longues.<\/p><\/div>\n      <div class=\"atout-item reveal\"><span class=\"atout-icon\">\ud83d\udcac<\/span><p class=\"atout-title\">R\u00e9servation directe<\/p><p class=\"atout-desc\">Meilleur tarif garanti en r\u00e9servant en direct, sans interm\u00e9diaire ni frais de plateforme.<\/p><\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2500\u2500\u2500 LOGEMENTS \u2500\u2500\u2500 -->\n  <section class=\"logements\" id=\"logements\" aria-label=\"Nos h\u00e9bergements \u00e0 Vichy\">\n    <div class=\"section-header reveal\">\n      <p class=\"section-eyebrow\">Nos h\u00e9bergements<\/p>\n      <h2 class=\"section-title\">Studios, appartements<br><em>&amp; duplex<\/em><\/h2>\n      <p class=\"section-sub\">De 10 \u00e0 28 m\u00b2, pour 1 \u00e0 4 voyageurs. Chaque logement a son caract\u00e8re, tous partagent le m\u00eame niveau d&rsquo;exigence.<\/p>\n    <\/div>\n    <div class=\"logements-grid\">\n\n      <article class=\"logement-card featured reveal\" itemscope itemtype=\"https:\/\/schema.org\/Accommodation\">\n        <div class=\"logement-visual\">\n          <div class=\"carousel\" data-carousel data-total=\"6\">\n            <div class=\"carousel-track\">\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-chambre-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-chambre-1.jpg\" alt=\"Chambre de l'appartement N\u00b011 avec balcon lit Queen size \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-chambre-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-chambre-2.jpg\" alt=\"Espace nuit de l'appartement N\u00b011 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-chambre-3.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-chambre-3.jpg\" alt=\"Chambre lumineuse appartement N\u00b011 avec balcon Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-cuisine-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-cuisine-1.jpg\" alt=\"Cuisine \u00e9quip\u00e9e de l'appartement N\u00b011 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-cuisine-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-cuisine-2.jpg\" alt=\"Coin cuisine de l'appartement N\u00b011 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-salle-de-bain-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n11-vichy-salle-de-bain-1.jpg\" alt=\"Salle de bain de l'appartement N\u00b011 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n            <\/div>\n            <button class=\"carousel-arrow prev\" data-prev aria-label=\"Photo pr\u00e9c\u00e9dente\">\u2039<\/button>\n            <button class=\"carousel-arrow next\" data-next aria-label=\"Photo suivante\">\u203a<\/button>\n            <div class=\"carousel-counter\"><span data-current>1<\/span>\/6<\/div>\n            <div class=\"carousel-dots\">\n              <button class=\"carousel-dot active\" data-go=\"0\" aria-label=\"Photo 1\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"1\" aria-label=\"Photo 2\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"2\" aria-label=\"Photo 3\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"3\" aria-label=\"Photo 4\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"4\" aria-label=\"Photo 5\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"5\" aria-label=\"Photo 6\"><\/button>\n            <\/div>\n          <\/div>\n          <span class=\"logement-tag\">Coup de c\u0153ur<\/span>\n        <\/div>\n        <div class=\"logement-body\">\n          <p class=\"logement-meta\" itemprop=\"floorSize\">23 m\u00b2 \u00b7 2 personnes \u00b7 Vue d\u00e9gag\u00e9e<\/p>\n          <h3 class=\"logement-name\" itemprop=\"name\">N\u00b011 : Appartement avec balcon \u2014 lit Queen size<\/h3>\n          <p class=\"logement-desc\" itemprop=\"description\">Notre logement le plus appr\u00e9ci\u00e9. Un appartement lumineux avec balcon priv\u00e9, lit Queen size et cuisine enti\u00e8rement \u00e9quip\u00e9e. L&rsquo;id\u00e9al pour un s\u00e9jour en couple ou une cure thermale au calme.<\/p>\n          <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"logement-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server l&#039;appartement avec balcon\">R\u00e9server ce logement \u2192<\/a>\n        <\/div>\n      <\/article>\n\n      <article class=\"logement-card reveal\" itemscope itemtype=\"https:\/\/schema.org\/Accommodation\">\n        <div class=\"logement-visual\">\n          <div class=\"carousel\" data-carousel data-total=\"9\">\n            <div class=\"carousel-track\">\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-chambre-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-chambre-1.jpg\" alt=\"Chambre du duplex N\u00b09 lit Queen size \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-chambre-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-chambre-2.jpg\" alt=\"Espace nuit du duplex N\u00b09 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-chambre-3.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-chambre-3.jpg\" alt=\"Chambre lumineuse duplex N\u00b09 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-chambre-4.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-chambre-4.jpg\" alt=\"Coin chambre du duplex N\u00b09 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-cuisine-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-cuisine-1.jpg\" alt=\"Cuisine \u00e9quip\u00e9e du duplex N\u00b09 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-cuisine-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-cuisine-2.jpg\" alt=\"Coin cuisine du duplex N\u00b09 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-escalier-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-escalier-1.jpg\" alt=\"Escalier du duplex N\u00b09 sur deux niveaux \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-escalier-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-escalier-2.jpg\" alt=\"Acc\u00e8s mezzanine duplex N\u00b09 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-escalier-3.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n9-vichy-escalier-3.jpg\" alt=\"Duplex N\u00b09 sur deux niveaux Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n            <\/div>\n            <button class=\"carousel-arrow prev\" data-prev aria-label=\"Photo pr\u00e9c\u00e9dente\">\u2039<\/button>\n            <button class=\"carousel-arrow next\" data-next aria-label=\"Photo suivante\">\u203a<\/button>\n            <div class=\"carousel-counter\"><span data-current>1<\/span>\/9<\/div>\n            <div class=\"carousel-dots\">\n              <button class=\"carousel-dot active\" data-go=\"0\" aria-label=\"Photo 1\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"1\" aria-label=\"Photo 2\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"2\" aria-label=\"Photo 3\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"3\" aria-label=\"Photo 4\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"4\" aria-label=\"Photo 5\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"5\" aria-label=\"Photo 6\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"6\" aria-label=\"Photo 7\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"7\" aria-label=\"Photo 8\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"8\" aria-label=\"Photo 9\"><\/button>\n            <\/div>\n          <\/div>\n          <span class=\"logement-tag\">Le plus spacieux<\/span>\n        <\/div>\n        <div class=\"logement-body\">\n          <p class=\"logement-meta\" itemprop=\"floorSize\">28 m\u00b2 \u00b7 2 personnes \u00b7 Sur 2 niveaux<\/p>\n          <h3 class=\"logement-name\" itemprop=\"name\">N\u00b09 : Duplex \u2014 lit Queen size<\/h3>\n          <p class=\"logement-desc\" itemprop=\"description\">Notre grand duplex sur deux niveaux : espace de vie en bas, espace nuit en mezzanine. Volume et caract\u00e8re.<\/p>\n          <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"logement-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server le duplex\">R\u00e9server \u2192<\/a>\n        <\/div>\n      <\/article>\n\n      <article class=\"logement-card reveal\" itemscope itemtype=\"https:\/\/schema.org\/Accommodation\">\n        <div class=\"logement-visual\"><div class=\"carousel\" data-carousel data-total=\"4\">\n            <div class=\"carousel-track\">\n              <div class=\"carousel-slide\" style=\"background:linear-gradient(135deg,#5c4d2d 0%,#8a7040 100%);\"><span class=\"carousel-slide-icon\" aria-hidden=\"true\">\ud83d\udecf\ufe0f<\/span><span class=\"carousel-slide-label\">L&rsquo;appartement<\/span><\/div>\n              <div class=\"carousel-slide\" style=\"background:linear-gradient(135deg,#3d6b4f 0%,#5a9a70 100%);\"><span class=\"carousel-slide-icon\" aria-hidden=\"true\">\ud83d\udecb\ufe0f<\/span><span class=\"carousel-slide-label\">Espace salon<\/span><\/div>\n              <div class=\"carousel-slide\" style=\"background:linear-gradient(135deg,#2d5c5c 0%,#4a8a8a 100%);\"><span class=\"carousel-slide-icon\" aria-hidden=\"true\">\ud83c\udf73<\/span><span class=\"carousel-slide-label\">Cuisine<\/span><\/div>\n              <div class=\"carousel-slide\" style=\"background:linear-gradient(135deg,#4d2d5c 0%,#7a508a 100%);\"><span class=\"carousel-slide-icon\" aria-hidden=\"true\">\ud83d\udebf<\/span><span class=\"carousel-slide-label\">Salle d&rsquo;eau<\/span><\/div>\n            <\/div>\n            <button class=\"carousel-arrow prev\" data-prev aria-label=\"Photo pr\u00e9c\u00e9dente\">\u2039<\/button>\n            <button class=\"carousel-arrow next\" data-next aria-label=\"Photo suivante\">\u203a<\/button>\n            <div class=\"carousel-counter\"><span data-current>1<\/span>\/4<\/div>\n            <div class=\"carousel-dots\">\n              <button class=\"carousel-dot active\" data-go=\"0\" aria-label=\"Photo 1\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"1\" aria-label=\"Photo 2\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"2\" aria-label=\"Photo 3\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"3\" aria-label=\"Photo 4\"><\/button>\n            <\/div>\n          <\/div><\/div>\n        <div class=\"logement-body\">\n          <p class=\"logement-meta\" itemprop=\"floorSize\">21 m\u00b2 \u00b7 2 personnes<\/p>\n          <h3 class=\"logement-name\" itemprop=\"name\">N\u00b08 : Appartement \u2014 lit Queen size<\/h3>\n          <p class=\"logement-desc\" itemprop=\"description\">Appartement moderne et lumineux, am\u00e9nagement soign\u00e9, lit Queen size confortable.<\/p>\n          <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"logement-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server l&#039;appartement Queen size\">R\u00e9server \u2192<\/a>\n        <\/div>\n      <\/article>\n\n      <article class=\"logement-card reveal\" itemscope itemtype=\"https:\/\/schema.org\/Accommodation\">\n        <div class=\"logement-visual\"><div class=\"carousel\" data-carousel data-total=\"3\">\n            <div class=\"carousel-track\">\n              <div class=\"carousel-slide\" style=\"background:linear-gradient(135deg,#4d2d5c 0%,#7a508a 100%);\"><span class=\"carousel-slide-icon\" aria-hidden=\"true\">\ud83d\udecf\ufe0f<\/span><span class=\"carousel-slide-label\">L&rsquo;appartement<\/span><\/div>\n              <div class=\"carousel-slide\" style=\"background:linear-gradient(135deg,#5c4d2d 0%,#8a7040 100%);\"><span class=\"carousel-slide-icon\" aria-hidden=\"true\">\ud83c\udf73<\/span><span class=\"carousel-slide-label\">Coin cuisine<\/span><\/div>\n              <div class=\"carousel-slide\" style=\"background:linear-gradient(135deg,#2d4d5c 0%,#4a7a8a 100%);\"><span class=\"carousel-slide-icon\" aria-hidden=\"true\">\ud83d\udebf<\/span><span class=\"carousel-slide-label\">Salle d&rsquo;eau<\/span><\/div>\n            <\/div>\n            <button class=\"carousel-arrow prev\" data-prev aria-label=\"Photo pr\u00e9c\u00e9dente\">\u2039<\/button>\n            <button class=\"carousel-arrow next\" data-next aria-label=\"Photo suivante\">\u203a<\/button>\n            <div class=\"carousel-counter\"><span data-current>1<\/span>\/3<\/div>\n            <div class=\"carousel-dots\">\n              <button class=\"carousel-dot active\" data-go=\"0\" aria-label=\"Photo 1\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"1\" aria-label=\"Photo 2\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"2\" aria-label=\"Photo 3\"><\/button>\n            <\/div>\n          <\/div><\/div>\n        <div class=\"logement-body\">\n          <p class=\"logement-meta\" itemprop=\"floorSize\">21 m\u00b2 \u00b7 2 personnes<\/p>\n          <h3 class=\"logement-name\" itemprop=\"name\">N\u00b05 : Appartement \u2014 lit double standard<\/h3>\n          <p class=\"logement-desc\" itemprop=\"description\">Fonctionnel et bien agenc\u00e9, notre appartement standard offre tout le confort n\u00e9cessaire au meilleur rapport qualit\u00e9-prix.<\/p>\n          <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"logement-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server l&#039;appartement standard\">R\u00e9server \u2192<\/a>\n        <\/div>\n      <\/article>\n\n      <article class=\"logement-card reveal\" itemscope itemtype=\"https:\/\/schema.org\/Accommodation\">\n        <div class=\"logement-visual\"><div class=\"carousel\" data-carousel data-total=\"8\">\n            <div class=\"carousel-track\">\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-vue-ensemble-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-vue-ensemble-1.jpg\" alt=\"Vue d'ensemble du studio N\u00b04 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-chambre-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-chambre-1.jpg\" alt=\"Chambre du studio N\u00b04 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-chambre-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-chambre-2.jpg\" alt=\"Espace nuit du studio N\u00b04 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-chambre-3.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-chambre-3.jpg\" alt=\"Coin chambre du studio N\u00b04 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-cuisine-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-cuisine-1.jpg\" alt=\"Cuisine \u00e9quip\u00e9e du studio N\u00b04 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-cuisine-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-cuisine-2.jpg\" alt=\"Coin cuisine du studio N\u00b04 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-salle-de-bain-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-salle-de-bain-1.jpg\" alt=\"Salle de bain du studio N\u00b04 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-salle-de-bain-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n4-vichy-salle-de-bain-2.jpg\" alt=\"Salle d'eau du studio N\u00b04 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n            <\/div>\n            <button class=\"carousel-arrow prev\" data-prev aria-label=\"Photo pr\u00e9c\u00e9dente\">\u2039<\/button>\n            <button class=\"carousel-arrow next\" data-next aria-label=\"Photo suivante\">\u203a<\/button>\n            <div class=\"carousel-counter\"><span data-current>1<\/span>\/8<\/div>\n            <div class=\"carousel-dots\">\n              <button class=\"carousel-dot active\" data-go=\"0\" aria-label=\"Photo 1\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"1\" aria-label=\"Photo 2\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"2\" aria-label=\"Photo 3\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"3\" aria-label=\"Photo 4\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"4\" aria-label=\"Photo 5\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"5\" aria-label=\"Photo 6\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"6\" aria-label=\"Photo 7\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"7\" aria-label=\"Photo 8\"><\/button>\n            <\/div>\n          <\/div><\/div>\n        <div class=\"logement-body\">\n          <p class=\"logement-meta\" itemprop=\"floorSize\">15 m\u00b2 \u00b7 2 personnes \u00b7 Compact &amp; malin<\/p>\n          <h3 class=\"logement-name\" itemprop=\"name\">N\u00b04 \/ N\u00b07 : Studio \u2014 2 personnes<\/h3>\n          <p class=\"logement-desc\" itemprop=\"description\">Tout l&rsquo;essentiel dans un espace optimis\u00e9. Parfait pour une nuit ou un week-end \u00e0 Vichy.<\/p>\n          <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"logement-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server le studio 2 personnes\">R\u00e9server \u2192<\/a>\n        <\/div>\n      <\/article>\n\n      <article class=\"logement-card reveal\" itemscope itemtype=\"https:\/\/schema.org\/Accommodation\">\n        <div class=\"logement-visual\"><div class=\"carousel\" data-carousel data-total=\"9\">\n            <div class=\"carousel-track\">\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-chambre-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-chambre-1.jpg\" alt=\"Chambre du souplex N\u00b02 avec lits s\u00e9par\u00e9s \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-chambre-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-chambre-2.jpg\" alt=\"Espace nuit du souplex N\u00b02 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-chambre-3.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-chambre-3.jpg\" alt=\"Chambre lumineuse souplex N\u00b02 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-cuisine-1-scaled.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-cuisine-1-scaled.jpg\" alt=\"Cuisine \u00e9quip\u00e9e du souplex N\u00b02 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-cuisine-2-scaled.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-cuisine-2-scaled.jpg\" alt=\"Coin cuisine du souplex N\u00b02 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-salle-de-bain-1-scaled.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-salle-de-bain-1-scaled.jpg\" alt=\"Salle de bain du souplex N\u00b02 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-salle-de-bain-2-scaled.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-salle-de-bain-2-scaled.jpg\" alt=\"Salle d'eau du souplex N\u00b02 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-escalier-1.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-escalier-1.jpg\" alt=\"Escalier du souplex N\u00b02 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-escalier-2.jpg') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n2-vichy-escalier-2.jpg\" alt=\"Acc\u00e8s souplex sur deux niveaux N\u00b02 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n            <\/div>\n            <button class=\"carousel-arrow prev\" data-prev aria-label=\"Photo pr\u00e9c\u00e9dente\">\u2039<\/button>\n            <button class=\"carousel-arrow next\" data-next aria-label=\"Photo suivante\">\u203a<\/button>\n            <div class=\"carousel-counter\"><span data-current>1<\/span>\/9<\/div>\n            <div class=\"carousel-dots\">\n              <button class=\"carousel-dot active\" data-go=\"0\" aria-label=\"Photo 1\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"1\" aria-label=\"Photo 2\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"2\" aria-label=\"Photo 3\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"3\" aria-label=\"Photo 4\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"4\" aria-label=\"Photo 5\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"5\" aria-label=\"Photo 6\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"6\" aria-label=\"Photo 7\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"7\" aria-label=\"Photo 8\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"8\" aria-label=\"Photo 9\"><\/button>\n            <\/div>\n          <\/div><\/div>\n        <div class=\"logement-body\">\n          <p class=\"logement-meta\" itemprop=\"floorSize\">15 m\u00b2 \u00b7 2 personnes \u00b7 Lits s\u00e9par\u00e9s \u00b7 2 niveaux<\/p>\n          <h3 class=\"logement-name\" itemprop=\"name\">N\u00b02 : Souplex \u2014 lits s\u00e9par\u00e9s<\/h3>\n          <p class=\"logement-desc\" itemprop=\"description\">Un souplex sur deux niveaux, id\u00e9al pour deux voyageurs souhaitant des espaces de sommeil s\u00e9par\u00e9s dans un cadre intimiste. Cuisine \u00e9quip\u00e9e et salle de bain privative.<\/p>\n          <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"logement-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server le souplex\">R\u00e9server \u2192<\/a>\n        <\/div>\n      <\/article>\n\n      <article class=\"logement-card reveal\" itemscope itemtype=\"https:\/\/schema.org\/Accommodation\">\n        <div class=\"logement-visual\">\n          <div class=\"carousel\" data-carousel data-total=\"5\">\n            <div class=\"carousel-track\">\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-chambre-1.png') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-chambre-1.png\" alt=\"Chambre du studio N\u00b06 1 personne \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-cuisine-1.png') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-cuisine-1.png\" alt=\"Cuisine du studio N\u00b06 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-placard-1.png') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-placard-1.png\" alt=\"Rangements du studio N\u00b06 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-salle-de-bain-1.png') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-salle-de-bain-1.png\" alt=\"Salle de bain du studio N\u00b06 \u00e0 Vichy\" style=\"display:none;\" \/>\n              <\/div>\n              <div class=\"carousel-slide\" style=\"background:url('http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-salle-de-bain-2.png') center\/cover no-repeat;\">\n                <img decoding=\"async\" src=\"http:\/\/www.lessourcesvichy.fr\/wp-content\/uploads\/2026\/05\/studio-n6-vichy-salle-de-bain-2.png\" alt=\"Salle d'eau du studio N\u00b06 Les Sources Vichy\" style=\"display:none;\" \/>\n              <\/div>\n            <\/div>\n            <button class=\"carousel-arrow prev\" data-prev aria-label=\"Photo pr\u00e9c\u00e9dente\">\u2039<\/button>\n            <button class=\"carousel-arrow next\" data-next aria-label=\"Photo suivante\">\u203a<\/button>\n            <div class=\"carousel-counter\"><span data-current>1<\/span>\/5<\/div>\n            <div class=\"carousel-dots\">\n              <button class=\"carousel-dot active\" data-go=\"0\" aria-label=\"Photo 1\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"1\" aria-label=\"Photo 2\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"2\" aria-label=\"Photo 3\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"3\" aria-label=\"Photo 4\"><\/button>\n              <button class=\"carousel-dot\" data-go=\"4\" aria-label=\"Photo 5\"><\/button>\n            <\/div>\n          <\/div>\n          <span class=\"logement-tag\">Solo<\/span>\n        <\/div>\n        <div class=\"logement-body\">\n          <p class=\"logement-meta\" itemprop=\"floorSize\">10 m\u00b2 \u00b7 1 personne \u00b7 Meilleur tarif<\/p>\n          <h3 class=\"logement-name\" itemprop=\"name\">N\u00b03 \/ N\u00b06 : Studio \u2014 1 personne<\/h3>\n          <p class=\"logement-desc\" itemprop=\"description\">Notre studio solo, compact et fonctionnel, au meilleur rapport qualit\u00e9-prix pour un s\u00e9jour seul \u00e0 Vichy.<\/p>\n          <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"logement-link\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server le studio 1 personne\">R\u00e9server \u2192<\/a>\n        <\/div>\n      <\/article>\n\n    <\/div>\n  <\/section>\n\n  <!-- \u2500\u2500\u2500 NOTRE HISTOIRE \u2500\u2500\u2500 -->\n  <section class=\"histoire-section\" id=\"histoire\" aria-label=\"Notre histoire\">\n    <div class=\"histoire-grid\">\n\n      <!-- C\u00f4t\u00e9 visuel -->\n      <div class=\"histoire-visual reveal\">\n        <div class=\"histoire-photo\" role=\"img\" aria-label=\"Portrait de Marine et Anthony, Les Sources Vichy\">\n          <div class=\"histoire-photo-label\">\n            <p>\u00ab\u00a0Continuer \u00e0 prendre soin,<br>autrement.\u00a0\u00bb<\/p>\n            <small>Marine &amp; Anthony<\/small>\n          <\/div>\n        <\/div>\n        <div class=\"histoire-badge\" aria-hidden=\"true\">\n          <div class=\"num\">2 Cl\u00e9s<\/div>\n          <div class=\"lbl\">Prestige<\/div>\n        <\/div>\n      <\/div>\n\n      <!-- C\u00f4t\u00e9 texte -->\n      <div class=\"histoire-content reveal\">\n        <p class=\"section-eyebrow\">Notre histoire<\/p>\n        <h2>D&rsquo;une vie<br>\u00e0 <em>l&rsquo;autre<\/em><\/h2>\n        <p>Pendant de longues ann\u00e9es, Marine a veill\u00e9 sur des vies. Cadre de sant\u00e9 au service de r\u00e9animation de Vichy, elle a appris l&rsquo;essentiel : la valeur d&rsquo;un regard, d&rsquo;un mot juste, d&rsquo;un geste qui rassure. Chaque jour, elle a vu na\u00eetre cette \u00e9vidence \u2014 il ne reste de pr\u00e9cieux que les instants partag\u00e9s, et la beaut\u00e9 du monde qui nous entoure.<\/p>\n        <p>Cette ville, elle l&rsquo;aime profond\u00e9ment. Sa lumi\u00e8re dor\u00e9e sur les toits Belle \u00c9poque, ses sources mill\u00e9naires, l&rsquo;\u00e9l\u00e9gance silencieuse de ses parcs. Vichy n&rsquo;est pas seulement une ville thermale : c&rsquo;est un art de vivre, un souffle, une promesse.<\/p>\n        <p>Avec Anthony, son mari et complice de tous les projets, ils ont fait un choix : celui de tourner une page pour en \u00e9crire une nouvelle. Quitter la blouse pour ouvrir une porte. Continuer \u00e0 prendre soin \u2014 mais autrement. Offrir aux voyageurs ce que cette ville leur a donn\u00e9 : un refuge, une parenth\u00e8se, un moment de gr\u00e2ce.<\/p>\n        <p><em>C&rsquo;est ainsi qu&rsquo;est n\u00e9 Les Sources Vichy, notre appart&rsquo;h\u00f4tel \u00e0 Vichy, fond\u00e9 sur une conviction simple : chaque s\u00e9jour m\u00e9rite d&rsquo;\u00eatre un beau souvenir.<\/em><\/p>\n\n        <p class=\"signature\">\u2014 Marine &amp; Anthony<\/p>\n\n        <div class=\"histoire-values\">\n          <div class=\"value-item\">\n            <span class=\"value-icon\" aria-hidden=\"true\">\ud83d\udc9b<\/span>\n            <span class=\"value-label\">Prendre soin de vous<\/span>\n          <\/div>\n          <div class=\"value-item\">\n            <span class=\"value-icon\" aria-hidden=\"true\">\ud83c\udfdb\ufe0f<\/span>\n            <span class=\"value-label\">Esprit Belle \u00c9poque<\/span>\n          <\/div>\n          <div class=\"value-item\">\n            <span class=\"value-icon\" aria-hidden=\"true\">\u2728<\/span>\n            <span class=\"value-label\">Moments pr\u00e9cieux<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n  <!-- \u2500\u2500\u2500 AVIS CLIENTS (Trustindex) \u2500\u2500\u2500 -->\n  <section class=\"avis-trustindex-section\" id=\"avis\" aria-label=\"Avis clients v\u00e9rifi\u00e9s\">\n    <div class=\"trustindex-intro reveal\">\n      <p class=\"section-eyebrow\">Avis v\u00e9rifi\u00e9s<\/p>\n      <h2 class=\"section-title\">Ils ont s\u00e9journ\u00e9<br><em>aux Sources Vichy<\/em><\/h2>\n      <p class=\"section-sub\">Avis 100% authentiques, synchronis\u00e9s en temps r\u00e9el depuis Google, Booking et Airbnb via Trustindex.<\/p>\n    <\/div>\n\n    <div class=\"trustindex-wrapper reveal\">\n      <!-- Widget Trustindex - Avis v\u00e9rifi\u00e9s Google \/ Booking \/ Airbnb -->\n      <script defer async src='https:\/\/cdn.trustindex.io\/loader.js?8902a3154343797fcc5602ccc2f'><\/script>\n    <\/div>\n  <\/section>\n\n  <!-- \u2500\u2500\u2500 FAQ \u2500\u2500\u2500 -->\n  <section class=\"faq-section\" id=\"faq\" aria-label=\"Questions fr\u00e9quentes\">\n    <div class=\"section-header reveal\">\n      <p class=\"section-eyebrow\">Questions fr\u00e9quentes<\/p>\n      <h2 class=\"section-title\">Tout savoir avant<br><em>de r\u00e9server<\/em><\/h2>\n    <\/div>\n    <div class=\"faq-grid\" itemscope itemtype=\"https:\/\/schema.org\/FAQPage\">\n\n      <div class=\"faq-item reveal\" itemprop=\"mainEntity\" itemscope itemtype=\"https:\/\/schema.org\/Question\">\n        <span class=\"faq-icon\">\ud83d\udccd<\/span>\n        <p class=\"faq-q\" itemprop=\"name\">O\u00f9 \u00eates-vous situ\u00e9s ?<\/p>\n        <p class=\"faq-a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\"><span itemprop=\"text\">Notre appart&rsquo;h\u00f4tel Vichy se trouve au 17 Rue des Sources, 03200 Vichy \u2014 \u00e0 quelques minutes \u00e0 pied des Thermes et du Parc des Sources.<\/span><\/p>\n      <\/div>\n      <div class=\"faq-item reveal\" itemprop=\"mainEntity\" itemscope itemtype=\"https:\/\/schema.org\/Question\">\n        <span class=\"faq-icon\">\ud83d\udecf\ufe0f<\/span>\n        <p class=\"faq-q\" itemprop=\"name\">Quels logements proposez-vous ?<\/p>\n        <p class=\"faq-a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\"><span itemprop=\"text\">7 logements de 10 \u00e0 28 m\u00b2 : studios, appartements et duplex, pour 1 \u00e0 4 personnes, tous enti\u00e8rement \u00e9quip\u00e9s.<\/span><\/p>\n      <\/div>\n      <div class=\"faq-item reveal\" itemprop=\"mainEntity\" itemscope itemtype=\"https:\/\/schema.org\/Question\">\n        <span class=\"faq-icon\">\ud83c\udf3f<\/span>\n        <p class=\"faq-q\" itemprop=\"name\">Id\u00e9al pour une cure thermale ?<\/p>\n        <p class=\"faq-a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\"><span itemprop=\"text\">Oui, tarifs d\u00e9gressifs \u00e0 la semaine, parfaits pour les curistes des Thermes de Vichy.<\/span><\/p>\n      <\/div>\n      <div class=\"faq-item reveal\" itemprop=\"mainEntity\" itemscope itemtype=\"https:\/\/schema.org\/Question\">\n        <span class=\"faq-icon\">\ud83d\udcb0<\/span>\n        <p class=\"faq-q\" itemprop=\"name\">Comment r\u00e9server au meilleur prix ?<\/p>\n        <p class=\"faq-a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\"><span itemprop=\"text\">En r\u00e9servant directement notre appart&rsquo;h\u00f4tel Vichy sur ce site ou par t\u00e9l\u00e9phone au +33 7 56 98 14 77 \u2014 meilleur tarif garanti, sans frais de plateforme.<\/span><\/p>\n      <\/div>\n      <div class=\"faq-item reveal\" itemprop=\"mainEntity\" itemscope itemtype=\"https:\/\/schema.org\/Question\">\n        <span class=\"faq-icon\">\ud83d\udddd\ufe0f<\/span>\n        <p class=\"faq-q\" itemprop=\"name\">\u00c0 quelle heure puis-je arriver ?<\/p>\n        <p class=\"faq-a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\"><span itemprop=\"text\">Notre appart&rsquo;h\u00f4tel Vichy propose un check-in autonome \u00e0 partir de 16h, check-out \u00e0 10h. Vos codes d&rsquo;acc\u00e8s sont envoy\u00e9s le matin m\u00eame \u2014 aucune attente.<\/span><\/p>\n      <\/div>\n      <div class=\"faq-item reveal\" itemprop=\"mainEntity\" itemscope itemtype=\"https:\/\/schema.org\/Question\">\n        <span class=\"faq-icon\">\ud83d\ude97<\/span>\n        <p class=\"faq-q\" itemprop=\"name\">Y a-t-il du stationnement ?<\/p>\n        <p class=\"faq-a\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\"><span itemprop=\"text\">Des places de stationnement sont disponibles \u00e0 proximit\u00e9 en voirie et en parking public.<\/span><\/p>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n  <!-- \u2500\u2500\u2500 CALLOU PROMO \u2500\u2500\u2500 -->\n  <section class=\"callou-promo reveal\">\n    <div class=\"callou-inner\">\n      <div>\n        <span class=\"callou-tag\">\u2728 Nouvelle ouverture<\/span>\n        <h2 class=\"callou-title\">Les Sources Callou \u2014<br><em>4 Cl\u00e9s Prestige<\/em><\/h2>\n        <p class=\"callou-desc\">Fort du succ\u00e8s de notre appart&rsquo;h\u00f4tel Vichy, notre groupe TL Immobiliers ouvre une nouvelle r\u00e9sidence haut de gamme au c\u0153ur de la cit\u00e9 thermale. Prestations d&rsquo;exception, finitions soign\u00e9es, confort absolu \u2014 d\u00e9sormais membre du r\u00e9seau The Originals Hotels.<\/p>\n        <div class=\"callou-stars\">\n          <div class=\"keys-display\"><span><\/span><span><\/span><span><\/span><span><\/span><\/div>\n          <p class=\"keys-label\">4 Cl\u00e9s Prestige Collection Priv\u00e9e<\/p>\n        <\/div>\n        <a href=\"https:\/\/www.lessourcescallou.fr\" class=\"btn-primary\" target=\"_blank\" rel=\"noopener\">D\u00e9couvrir Les Sources Callou<\/a>\n      <\/div>\n      <div class=\"callou-visual\"><p>\u00ab\u00a0L&rsquo;esprit d&rsquo;une grande maison<br>vichyssoise\u00a0\u00bb<\/p><\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2500\u2500\u2500 VICHY \u2500\u2500\u2500 -->\n  <section class=\"vichy-section\" id=\"vichy\" aria-label=\"Vichy et ses attractions\">\n    <div class=\"section-header reveal\">\n      <p class=\"section-eyebrow\">Vichy &amp; ses alentours<\/p>\n      <h2 class=\"section-title\">Une ville,<br><em>mille raisons d&rsquo;y venir<\/em><\/h2>\n      <p class=\"section-sub\">Class\u00e9e au patrimoine mondial de l&rsquo;UNESCO, Vichy conjugue bien-\u00eatre thermal, architecture Belle \u00c9poque et art de vivre auvergnat.<\/p>\n    <\/div>\n    <div class=\"vichy-grid\">\n      <div class=\"vichy-item reveal\"><div class=\"vichy-bg vb-1\" role=\"img\" aria-label=\"Les Thermes de Vichy\"><\/div><div class=\"vichy-overlay\"><div class=\"vichy-label\"><h3>Les Thermes de Vichy<\/h3><p>Soins thermaux \u00b7 Bien-\u00eatre \u00b7 Patrimoine UNESCO<\/p><\/div><\/div><\/div>\n      <div class=\"vichy-item reveal\"><div class=\"vichy-bg vb-2\" role=\"img\" aria-label=\"La Rotonde Bocuse\"><\/div><div class=\"vichy-overlay\"><div class=\"vichy-label\"><h3>La Rotonde Bocuse<\/h3><p>Gastronomie \u00b7 Bord de lac<\/p><\/div><\/div><\/div>\n      <div class=\"vichy-item reveal\"><div class=\"vichy-bg vb-3\" role=\"img\" aria-label=\"Base nautique de Vichy\"><\/div><div class=\"vichy-overlay\"><div class=\"vichy-label\"><h3>Base nautique<\/h3><p>Allier \u00b7 Sports \u00b7 Loisirs<\/p><\/div><\/div><\/div>\n      <div class=\"vichy-item reveal\"><div class=\"vichy-bg vb-4\" role=\"img\" aria-label=\"L'Hippodrome de Vichy\"><\/div><div class=\"vichy-overlay\"><div class=\"vichy-label\"><h3>L&rsquo;Hippodrome<\/h3><p>Courses \u00b7 \u00c9v\u00e9nements \u00b7 Nocturnes<\/p><\/div><\/div><\/div>\n      <div class=\"vichy-item reveal\"><div class=\"vichy-bg vb-5\" role=\"img\" aria-label=\"Grand March\u00e9 de Vichy\"><\/div><div class=\"vichy-overlay\"><div class=\"vichy-label\"><h3>Grand March\u00e9<\/h3><p>Terroir \u00b7 Saveurs \u00b7 Convivialit\u00e9<\/p><\/div><\/div><\/div>\n    <\/div>\n  <\/section>\n\n  <!-- \u2500\u2500\u2500 CONTACT \u2500\u2500\u2500 -->\n  <section class=\"contact-band\" id=\"contact\" aria-label=\"Contact et r\u00e9servation\">\n    <div class=\"section-header reveal\" style=\"position:relative;z-index:1;\">\n      <p class=\"section-eyebrow\">Nous contacter<\/p>\n      <h2 class=\"section-title\" style=\"color:var(--cream);\">Pr\u00eat \u00e0 r\u00e9server<br><em>votre s\u00e9jour ?<\/em><\/h2>\n      <p class=\"section-sub\">Marine &amp; Anthony sont disponibles pour r\u00e9pondre \u00e0 toutes vos questions et personnaliser votre s\u00e9jour.<\/p>\n    <\/div>\n    <div class=\"contact-info\" style=\"position:relative;z-index:1;\">\n      <a href=\"tel:+33756981477\" class=\"contact-item\" aria-label=\"Appeler Les Sources Vichy\"><span aria-hidden=\"true\">\ud83d\udcde<\/span> +33 7 56 98 14 77<\/a>\n      <a href=\"mailto:contact@lessourcesvichy.fr\" class=\"contact-item\" aria-label=\"Envoyer un email\"><span aria-hidden=\"true\">\u2709\ufe0f<\/span> contact@lessourcesvichy.fr<\/a>\n      <span class=\"contact-item\"><span aria-hidden=\"true\">\ud83d\udccd<\/span> 17 Rue des Sources, 03200 Vichy<\/span>\n    <\/div>\n    <a href=\"https:\/\/tlimmobilier.thais-hotel.com\/direct-booking\/calendar?nbPersons=1\" class=\"btn-primary\" target=\"_blank\" rel=\"noopener\" aria-label=\"R\u00e9server en direct au meilleur tarif garanti\">\n      R\u00e9server en direct \u2014 meilleur tarif garanti\n    <\/a>\n  <\/section>\n\n  <\/main>\n\n  <!-- \u2500\u2500\u2500 LIGHTBOX PLEIN \u00c9CRAN \u2500\u2500\u2500 -->\n  <div class=\"lightbox\" id=\"lightbox\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Galerie photo plein \u00e9cran\">\n    <div class=\"lightbox-stage\" onclick=\"event.stopPropagation()\">\n      <button class=\"lightbox-close\" id=\"lbClose\" aria-label=\"Fermer la galerie\">\u2715<\/button>\n      <span class=\"lightbox-counter\"><span id=\"lbCurrent\">1<\/span> \/ <span id=\"lbTotal\">1<\/span><\/span>\n      <button class=\"lightbox-arrow prev\" id=\"lbPrev\" aria-label=\"Photo pr\u00e9c\u00e9dente\">\u2039<\/button>\n      <img decoding=\"async\" class=\"lightbox-img\" id=\"lbImg\" src=\"\" alt=\"\" \/>\n      <button class=\"lightbox-arrow next\" id=\"lbNext\" aria-label=\"Photo suivante\">\u203a<\/button>\n      <p class=\"lightbox-caption\" id=\"lbCaption\"><\/p>\n      <div class=\"lightbox-thumbs\" id=\"lbThumbs\"><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- \u2500\u2500\u2500 FOOTER \u2500\u2500\u2500 -->\n  <footer role=\"contentinfo\" itemscope itemtype=\"https:\/\/schema.org\/LodgingBusiness\">\n    <div class=\"footer-brand\">\n      <a href=\"\/\" class=\"nav-logo\" itemprop=\"url\">Les Sources <span>Vichy<\/span><\/a>\n      <p itemprop=\"description\">Les Sources Vichy, appart&rsquo;h\u00f4tel \u00e0 Vichy au c\u0153ur de la ville thermale. Une adresse confortable et accessible, pens\u00e9e pour tous vos s\u00e9jours \u2014 cures, week-ends et d\u00e9placements pro. Lab\u00e9lis\u00e9 2 Cl\u00e9s Prestige.<\/p>\n    <\/div>\n    <div class=\"footer-col\">\n      <h4>Navigation<\/h4>\n      <ul>\n        <li><a href=\"\/\">Accueil<\/a><\/li>\n        <li><a href=\"#logements\">Nos logements<\/a><\/li>\n        <li><a href=\"#vichy\">Vichy &amp; alentours<\/a><\/li>\n        <li><a href=\"#faq\">FAQ<\/a><\/li>\n        <li><a href=\"#contact\">Contact<\/a><\/li>\n        <li><a href=\"\/mentions-legales\/\">Mentions l\u00e9gales<\/a><\/li>\n      <\/ul>\n    <\/div>\n    <div class=\"footer-col\">\n      <h4>Groupe TL Immobiliers<\/h4>\n      <ul>\n        <li><a href=\"https:\/\/www.lessourcescallou.fr\" target=\"_blank\" rel=\"noopener\">Les Sources Callou \u2728<\/a><\/li>\n        <li><a href=\"https:\/\/www.logementspontduchateau.fr\" target=\"_blank\" rel=\"noopener\">Logements Pont-du-Ch\u00e2teau<\/a><\/li>\n        <li><a href=\"tel:+33756981477\" itemprop=\"telephone\">+33 7 56 98 14 77<\/a><\/li>\n        <li><a href=\"mailto:contact@lessourcesvichy.fr\" itemprop=\"email\">contact@lessourcesvichy.fr<\/a><\/li>\n      <\/ul>\n      <address itemprop=\"address\" itemscope itemtype=\"https:\/\/schema.org\/PostalAddress\" style=\"font-style:normal;margin-top:1rem;font-size:0.75rem;color:rgba(245,240,232,0.3);line-height:1.7;\">\n        <span itemprop=\"streetAddress\">17 Rue des Sources<\/span><br>\n        <span itemprop=\"postalCode\">03200<\/span> <span itemprop=\"addressLocality\">Vichy<\/span><br>\n        <span itemprop=\"addressCountry\">France<\/span>\n      <\/address>\n    <\/div>\n    <div class=\"footer-bottom\">\n      <span>\u00a9 2026 Les Sources Vichy \u2014 Appart&rsquo;h\u00f4tel de prestige \u00e0 Vichy<\/span>\n      <span>17 Rue des Sources \u00b7 03200 Vichy \u00b7 +33 7 56 98 14 77<\/span>\n    <\/div>\n  <\/footer>\n\n  <script>\n    \/\/ Retirer no-js d\u00e8s que JS disponible\n    document.documentElement.classList.remove('no-js');\n\n    \/\/ Scroll reveal\n    const reveals = document.querySelectorAll('.reveal');\n    const observer = new IntersectionObserver((entries) => {\n      entries.forEach((entry, i) => {\n        if (entry.isIntersecting) {\n          setTimeout(() => entry.target.classList.add('visible'), i * 80);\n          observer.unobserve(entry.target);\n        }\n      });\n    }, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' });\n    reveals.forEach(el => observer.observe(el));\n\n    \/\/ Nav compact au scroll\n    const nav = document.getElementById('mainnav');\n    window.addEventListener('scroll', () => {\n      nav.style.padding = window.scrollY > 60 ? '0.9rem 4rem' : '1.4rem 4rem';\n      nav.style.boxShadow = window.scrollY > 60 ? '0 4px 20px rgba(0,0,0,0.08)' : 'none';\n    });\n\n    \/\/ \u2500\u2500\u2500 CARROUSELS LOGEMENTS \u2500\u2500\u2500\n    document.querySelectorAll('[data-carousel]').forEach(carousel => {\n      const track = carousel.querySelector('.carousel-track');\n      const total = parseInt(carousel.dataset.total);\n      const counter = carousel.querySelector('[data-current]');\n      const dots = carousel.querySelectorAll('.carousel-dot');\n      let index = 0;\n\n      const go = (i) => {\n        index = (i + total) % total;\n        track.style.transform = `translateX(-${index * 100}%)`;\n        if (counter) counter.textContent = index + 1;\n        dots.forEach((d, idx) => d.classList.toggle('active', idx === index));\n      };\n\n      carousel.querySelector('[data-prev]')?.addEventListener('click', e => { e.stopPropagation(); go(index - 1); });\n      carousel.querySelector('[data-next]')?.addEventListener('click', e => { e.stopPropagation(); go(index + 1); });\n      dots.forEach(dot => dot.addEventListener('click', e => { e.stopPropagation(); go(parseInt(dot.dataset.go)); }));\n\n      \/\/ Support tactile (swipe) sur mobile\n      let touchStartX = 0;\n      carousel.addEventListener('touchstart', e => { touchStartX = e.changedTouches[0].screenX; }, { passive: true });\n      carousel.addEventListener('touchend', e => {\n        const diff = e.changedTouches[0].screenX - touchStartX;\n        if (Math.abs(diff) > 50) go(diff < 0 ? index + 1 : index - 1);\n      }, { passive: true });\n\n      \/\/ \u2500\u2500\u2500 OUVERTURE LIGHTBOX au clic sur une photo \u2500\u2500\u2500\n      const slides = carousel.querySelectorAll('.carousel-slide');\n      slides.forEach((slide, slideIdx) => {\n        const img = slide.querySelector('img');\n        \/\/ On n'active la lightbox que si la slide contient une vraie image\n        if (img) {\n          slide.addEventListener('click', (e) => {\n            \/\/ Ne pas ouvrir si on a cliqu\u00e9 sur une fl\u00e8che ou un dot\n            if (e.target.closest('.carousel-arrow') || e.target.closest('.carousel-dot')) return;\n            openLightbox(carousel, index);\n          });\n        }\n      });\n    });\n\n    \/\/ \u2500\u2500\u2500 LIGHTBOX PLEIN \u00c9CRAN \u2500\u2500\u2500\n    const lightbox = document.getElementById('lightbox');\n    const lbImg = document.getElementById('lbImg');\n    const lbCurrent = document.getElementById('lbCurrent');\n    const lbTotal = document.getElementById('lbTotal');\n    const lbCaption = document.getElementById('lbCaption');\n    const lbThumbs = document.getElementById('lbThumbs');\n    let lbImages = [];\n    let lbIndex = 0;\n\n    function openLightbox(carousel, startIndex) {\n      \/\/ R\u00e9cup\u00e9rer toutes les images du carrousel\n      lbImages = [];\n      carousel.querySelectorAll('.carousel-slide img').forEach(img => {\n        lbImages.push({ src: img.src, alt: img.alt || '' });\n      });\n      if (lbImages.length === 0) return;\n\n      lbIndex = startIndex < lbImages.length ? startIndex : 0;\n      lbTotal.textContent = lbImages.length;\n\n      \/\/ Construire les vignettes\n      lbThumbs.innerHTML = '';\n      lbImages.forEach((im, i) => {\n        const thumb = document.createElement('div');\n        thumb.className = 'lightbox-thumb' + (i === lbIndex ? ' active' : '');\n        thumb.style.backgroundImage = `url('${im.src}')`;\n        thumb.addEventListener('click', () => showLbImage(i));\n        lbThumbs.appendChild(thumb);\n      });\n\n      showLbImage(lbIndex);\n      lightbox.classList.add('active');\n      document.body.style.overflow = 'hidden';\n    }\n\n    function showLbImage(i) {\n      lbIndex = (i + lbImages.length) % lbImages.length;\n      lbImg.src = lbImages[lbIndex].src;\n      lbImg.alt = lbImages[lbIndex].alt;\n      lbCurrent.textContent = lbIndex + 1;\n      lbCaption.textContent = lbImages[lbIndex].alt;\n      lbThumbs.querySelectorAll('.lightbox-thumb').forEach((t, idx) => {\n        t.classList.toggle('active', idx === lbIndex);\n      });\n    }\n\n    function closeLightbox() {\n      lightbox.classList.remove('active');\n      document.body.style.overflow = '';\n    }\n\n    document.getElementById('lbClose').addEventListener('click', closeLightbox);\n    document.getElementById('lbPrev').addEventListener('click', () => showLbImage(lbIndex - 1));\n    document.getElementById('lbNext').addEventListener('click', () => showLbImage(lbIndex + 1));\n    lightbox.addEventListener('click', (e) => { if (e.target === lightbox) closeLightbox(); });\n\n    \/\/ Navigation clavier\n    document.addEventListener('keydown', (e) => {\n      if (!lightbox.classList.contains('active')) return;\n      if (e.key === 'Escape') closeLightbox();\n      if (e.key === 'ArrowLeft') showLbImage(lbIndex - 1);\n      if (e.key === 'ArrowRight') showLbImage(lbIndex + 1);\n    });\n\n    \/\/ Swipe tactile dans la lightbox\n    let lbTouchX = 0;\n    lightbox.addEventListener('touchstart', e => { lbTouchX = e.changedTouches[0].screenX; }, { passive: true });\n    lightbox.addEventListener('touchend', e => {\n      const diff = e.changedTouches[0].screenX - lbTouchX;\n      if (Math.abs(diff) > 50) showLbImage(diff < 0 ? lbIndex + 1 : lbIndex - 1);\n    }, { passive: true });\n  <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Appart&rsquo;H\u00f4tel Les Sources Vichy \u2013 Location courte dur\u00e9e | Cure thermale &amp; S\u00e9jour pro Les Sources Vichy Logements Histoire Avis Vichy FAQ Contact R\u00e9server Appart&rsquo;h\u00f4tel \u2014 Vichy, Auvergne Vivez Vichy au rythme des Sources Notre appart&rsquo;h\u00f4tel Vichy vous accueille au c\u0153ur de la cit\u00e9 thermale class\u00e9e UNESCO. Studios, appartements et duplex alliant confort moderne et [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-985","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.lessourcesvichy.fr\/index.php\/wp-json\/wp\/v2\/pages\/985","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lessourcesvichy.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lessourcesvichy.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lessourcesvichy.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lessourcesvichy.fr\/index.php\/wp-json\/wp\/v2\/comments?post=985"}],"version-history":[{"count":17,"href":"https:\/\/www.lessourcesvichy.fr\/index.php\/wp-json\/wp\/v2\/pages\/985\/revisions"}],"predecessor-version":[{"id":1068,"href":"https:\/\/www.lessourcesvichy.fr\/index.php\/wp-json\/wp\/v2\/pages\/985\/revisions\/1068"}],"wp:attachment":[{"href":"https:\/\/www.lessourcesvichy.fr\/index.php\/wp-json\/wp\/v2\/media?parent=985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}