/* fonts-local.css */
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/montserrat-0f7f5f2fbb4e.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/montserrat-a187b077090f.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/montserrat-26b2403f995e.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/montserrat-54d9a78b7ff6.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/montserrat-06b16db7a969.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* icons-local.css */
/* Font Awesome Free 6.5.0, SVGs under CC BY 4.0. Copyright Fonticons, Inc. License: assets/fonts/FONT-AWESOME-LICENSE.txt */
.fa-solid,.fa-brands{display:inline-block;width:1em;height:1em;vertical-align:-.125em;background-color:currentColor;-webkit-mask:var(--fa-svg) center/contain no-repeat;mask:var(--fa-svg) center/contain no-repeat;font-style:normal;flex-shrink:0}
.fa-baby-carriage{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%20192H.1C2.7%20117.9%2041.3%2052.9%2099%2014.1c13.3-8.9%2030.8-4.3%2039.9%208.8L256%20192zm128-32c0-35.3%2028.7-64%2064-64h32c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-32%200v64c0%2025.2-5.8%2050.2-17%2073.5s-27.8%2044.5-48.6%2062.3s-45.5%2032-72.7%2041.6S253.4%20416%20224%20416s-58.5-5-85.7-14.6s-51.9-23.8-72.7-41.6s-37.3-39-48.6-62.3S0%20249.2%200%20224l224%200%20160%200V160zM80%20416a48%2048%200%201%201%200%2096%2048%2048%200%201%201%200-96zm240%2048a48%2048%200%201%201%2096%200%2048%2048%200%201%201%20-96%200z%22%2F%3E%3C%2Fsvg%3E")}
.fa-bottle-water{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20d%3D%22M120%200h80c13.3%200%2024%2010.7%2024%2024V64H96V24c0-13.3%2010.7-24%2024-24zM32%20167.5c0-19.5%2010-37.6%2026.6-47.9l15.8-9.9C88.7%20100.7%20105.2%2096%20122.1%2096h75.8c16.9%200%2033.4%204.7%2047.7%2013.7l15.8%209.9C278%20129.9%20288%20148%20288%20167.5c0%2017-7.5%2032.3-19.4%2042.6C280.6%20221.7%20288%20238%20288%20256c0%2019.1-8.4%2036.3-21.7%2048c13.3%2011.7%2021.7%2028.9%2021.7%2048s-8.4%2036.3-21.7%2048c13.3%2011.7%2021.7%2028.9%2021.7%2048c0%2035.3-28.7%2064-64%2064H96c-35.3%200-64-28.7-64-64c0-19.1%208.4-36.3%2021.7-48C40.4%20388.3%2032%20371.1%2032%20352s8.4-36.3%2021.7-48C40.4%20292.3%2032%20275.1%2032%20256c0-18%207.4-34.3%2019.4-45.9C39.5%20199.7%2032%20184.5%2032%20167.5zM96%20240c0%208.8%207.2%2016%2016%2016h96c8.8%200%2016-7.2%2016-16s-7.2-16-16-16H112c-8.8%200-16%207.2-16%2016zm16%20112c-8.8%200-16%207.2-16%2016s7.2%2016%2016%2016h96c8.8%200%2016-7.2%2016-16s-7.2-16-16-16H112z%22%2F%3E%3C%2Fsvg%3E")}
.fa-briefcase{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M184%2048H328c4.4%200%208%203.6%208%208V96H176V56c0-4.4%203.6-8%208-8zm-56%208V96H64C28.7%2096%200%20124.7%200%20160v96H192%20320%20512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9%200-56%2025.1-56%2056zM512%20288H320v32c0%2017.7-14.3%2032-32%2032H224c-17.7%200-32-14.3-32-32V288H0V416c0%2035.3%2028.7%2064%2064%2064H448c35.3%200%2064-28.7%2064-64V288z%22%2F%3E%3C%2Fsvg%3E")}
.fa-broom{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M566.6%2054.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200l-192%20192-34.7-34.7c-4.2-4.2-10-6.6-16-6.6c-12.5%200-22.6%2010.1-22.6%2022.6v29.1L364.3%20320h29.1c12.5%200%2022.6-10.1%2022.6-22.6c0-6-2.4-11.8-6.6-16l-34.7-34.7%20192-192zM341.1%20353.4L222.6%20234.9c-42.7-3.7-85.2%2011.7-115.8%2042.3l-8%208C76.5%20307.5%2064%20337.7%2064%20369.2c0%206.8%207.1%2011.2%2013.2%208.2l51.1-25.5c5-2.5%209.5%204.1%205.4%207.9L7.3%20473.4C2.7%20477.6%200%20483.6%200%20489.9C0%20502.1%209.9%20512%2022.1%20512l173.3%200c38.8%200%2075.9-15.4%20103.4-42.8c30.6-30.6%2045.9-73.1%2042.3-115.8z%22%2F%3E%3C%2Fsvg%3E")}
.fa-candy-cane{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M348.8%20131.5c3.7-2.3%207.9-3.5%2012.2-3.5c12.7%200%2023%2010.3%2023%2023v5.6c0%209.9-5.1%2019.1-13.5%2024.3L30.1%20393.7C.1%20412.5-9%20451.9%209.7%20481.9s58.2%2039.1%2088.2%2020.4L438.4%20289.5c45.8-28.6%2073.6-78.8%2073.6-132.8V151C512%2067.6%20444.4%200%20361%200c-28.3%200-56%208-80.1%2023L254.1%2039.7c-30%2018.7-39.1%2058.2-20.4%2088.2s58.2%2039.1%2088.2%2020.4l26.8-16.8zM298.4%2049.8c9.2-5.7%2019.1-10.1%2029.4-13.1L348%2097.5c-5.7%201.4-11.2%203.7-16.3%206.8l-12.6%207.9L298.4%2049.8zm88.5%2052.7l46.2-46.2c8.5%206.5%2016.1%2014.1%2022.6%2022.6l-46.2%2046.2c-5.1-9.6-13-17.5-22.6-22.6zm28.9%2059.3l61.6%2020.5c-2.2%2010.5-5.8%2020.7-10.5%2030.2l-62-20.7c6.2-8.8%2010.1-19.1%2011-30.1zm-86.1%2082.5l60.4%2037.7-30.2%2018.9-60.4-37.7%2030.2-18.9zm-107.2%2067l60.4%2037.7-30.2%2018.9-60.4-37.7%2030.2-18.9zM119.3%20375.7l60.4%2037.7-30.2%2018.9L89.1%20394.6l30.2-18.9z%22%2F%3E%3C%2Fsvg%3E")}
.fa-car{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M135.2%20117.4L109.1%20192H402.9l-26.1-74.6C372.3%20104.6%20360.2%2096%20346.6%2096H165.4c-13.6%200-25.7%208.6-30.2%2021.4zM39.6%20196.8L74.8%2096.3C88.3%2057.8%20124.6%2032%20165.4%2032H346.6c40.8%200%2077.1%2025.8%2090.6%2064.3l35.2%20100.5c23.2%209.6%2039.6%2032.5%2039.6%2059.2V400v48c0%2017.7-14.3%2032-32%2032H448c-17.7%200-32-14.3-32-32V400H96v48c0%2017.7-14.3%2032-32%2032H32c-17.7%200-32-14.3-32-32V400%20256c0-26.7%2016.4-49.6%2039.6-59.2zM128%20288a32%2032%200%201%200%20-64%200%2032%2032%200%201%200%2064%200zm288%2032a32%2032%200%201%200%200-64%2032%2032%200%201%200%200%2064z%22%2F%3E%3C%2Fsvg%3E")}
.fa-car-side{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%3E%3Cpath%20d%3D%22M171.3%2096H224v96H111.3l30.4-75.9C146.5%20104%20158.2%2096%20171.3%2096zM272%20192V96h81.2c9.7%200%2018.9%204.4%2025%2012l67.2%2084H272zm256.2%201L428.2%2068c-18.2-22.8-45.8-36-75-36H171.3c-39.3%200-74.6%2023.9-89.1%2060.3L40.6%20196.4C16.8%20205.8%200%20228.9%200%20256V368c0%2017.7%2014.3%2032%2032%2032H65.3c7.6%2045.4%2047.1%2080%2094.7%2080s87.1-34.6%2094.7-80H385.3c7.6%2045.4%2047.1%2080%2094.7%2080s87.1-34.6%2094.7-80H608c17.7%200%2032-14.3%2032-32V320c0-65.2-48.8-119-111.8-127zM434.7%20368a48%2048%200%201%201%2090.5%2032%2048%2048%200%201%201%20-90.5-32zM160%20336a48%2048%200%201%201%200%2096%2048%2048%200%201%201%200-96z%22%2F%3E%3C%2Fsvg%3E")}
.fa-clock{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%200a256%20256%200%201%201%200%20512A256%20256%200%201%201%20256%200zM232%20120V256c0%208%204%2015.5%2010.7%2020l96%2064c11%207.4%2025.9%204.4%2033.3-6.7s4.4-25.9-6.7-33.3L280%20243.2V120c0-13.3-10.7-24-24-24s-24%2010.7-24%2024z%22%2F%3E%3C%2Fsvg%3E")}
.fa-credit-card{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M64%2032C28.7%2032%200%2060.7%200%2096v32H576V96c0-35.3-28.7-64-64-64H64zM576%20224H0V416c0%2035.3%2028.7%2064%2064%2064H512c35.3%200%2064-28.7%2064-64V224zM112%20352h64c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H112c-8.8%200-16-7.2-16-16s7.2-16%2016-16zm112%2016c0-8.8%207.2-16%2016-16H368c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H240c-8.8%200-16-7.2-16-16z%22%2F%3E%3C%2Fsvg%3E")}
.fa-dog{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M309.6%20158.5L332.7%2019.8C334.6%208.4%20344.5%200%20356.1%200c7.5%200%2014.5%203.5%2019%209.5L392%2032h52.1c12.7%200%2024.9%205.1%2033.9%2014.1L496%2064h56c13.3%200%2024%2010.7%2024%2024v24c0%2044.2-35.8%2080-80%2080H464%20448%20426.7l-5.1%2030.5-112-64zM416%20256.1L416%20480c0%2017.7-14.3%2032-32%2032H352c-17.7%200-32-14.3-32-32V364.8c-24%2012.3-51.2%2019.2-80%2019.2s-56-6.9-80-19.2V480c0%2017.7-14.3%2032-32%2032H96c-17.7%200-32-14.3-32-32V249.8c-28.8-10.9-51.4-35.3-59.2-66.5L1%20167.8c-4.3-17.1%206.1-34.5%2023.3-38.8s34.5%206.1%2038.8%2023.3l3.9%2015.5C70.5%20182%2083.3%20192%2098%20192h30%2016H303.8L416%20256.1zM464%2080a16%2016%200%201%200%20-32%200%2016%2016%200%201%200%2032%200z%22%2F%3E%3C%2Fsvg%3E")}
.fa-envelope{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M48%2064C21.5%2064%200%2085.5%200%20112c0%2015.1%207.1%2029.3%2019.2%2038.4L236.8%20313.6c11.4%208.5%2027%208.5%2038.4%200L492.8%20150.4c12.1-9.1%2019.2-23.3%2019.2-38.4c0-26.5-21.5-48-48-48H48zM0%20176V384c0%2035.3%2028.7%2064%2064%2064H448c35.3%200%2064-28.7%2064-64V176L294.4%20339.2c-22.8%2017.1-54%2017.1-76.8%200L0%20176z%22%2F%3E%3C%2Fsvg%3E")}
.fa-facebook-f{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20512%22%3E%3Cpath%20d%3D%22M80%20299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7%2020.3-71.5%2072.7-71.5c16.3%200%2029.4%20.4%2037%201.2V7.9C291.4%204%20256.4%200%20236.2%200C129.3%200%2080%2050.5%2080%20159.4v42.1H14v97.8H80z%22%2F%3E%3C%2Fsvg%3E")}
.fa-google{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20488%20512%22%3E%3Cpath%20d%3D%22M488%20261.8C488%20403.3%20391.1%20504%20248%20504%20110.8%20504%200%20393.2%200%20256S110.8%208%20248%208c66.8%200%20123%2024.5%20166.3%2064.9l-67.5%2064.9C258.5%2052.6%2094.3%20116.6%2094.3%20256c0%2086.5%2069.1%20156.6%20153.7%20156.6%2098.2%200%20135-70.4%20140.8-106.9H248v-85.3h236.1c2.3%2012.7%203.9%2024.9%203.9%2041.4z%22%2F%3E%3C%2Fsvg%3E")}
.fa-instagram{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M224.1%20141c-63.6%200-114.9%2051.3-114.9%20114.9s51.3%20114.9%20114.9%20114.9S339%20319.5%20339%20255.9%20287.7%20141%20224.1%20141zm0%20189.6c-41.1%200-74.7-33.5-74.7-74.7s33.5-74.7%2074.7-74.7%2074.7%2033.5%2074.7%2074.7-33.6%2074.7-74.7%2074.7zm146.4-194.3c0%2014.9-12%2026.8-26.8%2026.8-14.9%200-26.8-12-26.8-26.8s12-26.8%2026.8-26.8%2026.8%2012%2026.8%2026.8zm76.1%2027.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9%200-35.8%201.7-67.6%209.9-93.9%2036.1s-34.4%2058-36.2%2093.9c-2.1%2037-2.1%20147.9%200%20184.9%201.7%2035.9%209.9%2067.7%2036.2%2093.9s58%2034.4%2093.9%2036.2c37%202.1%20147.9%202.1%20184.9%200%2035.9-1.7%2067.7-9.9%2093.9-36.2%2026.2-26.2%2034.4-58%2036.2-93.9%202.1-37%202.1-147.8%200-184.8zM398.8%20388c-7.8%2019.6-22.9%2034.7-42.6%2042.6-29.5%2011.7-99.5%209-132.1%209s-102.7%202.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7%209-132.1c7.8-19.6%2022.9-34.7%2042.6-42.6%2029.5-11.7%2099.5-9%20132.1-9s102.7-2.6%20132.1%209c19.6%207.8%2034.7%2022.9%2042.6%2042.6%2011.7%2029.5%209%2099.5%209%20132.1s2.7%20102.7-9%20132.1z%22%2F%3E%3C%2Fsvg%3E")}
.fa-leaf{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M272%2096c-78.6%200-145.1%2051.5-167.7%20122.5c33.6-17%2071.5-26.5%20111.7-26.5h88c8.8%200%2016%207.2%2016%2016s-7.2%2016-16%2016H288%20216s0%200%200%200c-16.6%200-32.7%201.9-48.3%205.4c-25.9%205.9-49.9%2016.4-71.4%2030.7c0%200%200%200%200%200C38.3%20298.8%200%20364.9%200%20440v16c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24V440c0-48.7%2020.7-92.5%2053.8-123.2C121.6%20392.3%20190.3%20448%20272%20448l1%200c132.1-.7%20239-130.9%20239-291.4c0-42.6-7.5-83.1-21.1-119.6c-2.6-6.9-12.7-6.6-16.2-.1C455.9%2072.1%20418.7%2096%20376%2096L272%2096z%22%2F%3E%3C%2Fsvg%3E")}
.fa-linkedin{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M416%2032H31.9C14.3%2032%200%2046.5%200%2064.3v383.4C0%20465.5%2014.3%20480%2031.9%20480H416c17.6%200%2032-14.5%2032-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4%20416H69V202.2h66.5V416zm-33.2-243c-21.3%200-38.5-17.3-38.5-38.5S80.9%2096%20102.2%2096c21.2%200%2038.5%2017.3%2038.5%2038.5%200%2021.3-17.2%2038.5-38.5%2038.5zm282.1%20243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6%200-39.9%2027-39.9%2054.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8%2030.6-34.5%2062.9-34.5%2067.2%200%2079.7%2044.3%2079.7%20101.9V416z%22%2F%3E%3C%2Fsvg%3E")}
.fa-location-dot{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20d%3D%22M215.7%20499.2C267%20435%20384%20279.4%20384%20192C384%2086%20298%200%20192%200S0%2086%200%20192c0%2087.4%20117%20243%20168.3%20307.2c12.3%2015.3%2035.1%2015.3%2047.4%200zM192%20128a64%2064%200%201%201%200%20128%2064%2064%200%201%201%200-128z%22%2F%3E%3C%2Fsvg%3E")}
.fa-phone{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M164.9%2024.6c-7.7-18.6-28-28.5-47.4-23.2l-88%2024C12.1%2030.2%200%2046%200%2064C0%20311.4%20200.6%20512%20448%20512c18%200%2033.8-12.1%2038.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3%2011.6L304.7%20368C234.3%20334.7%20177.3%20277.7%20144%20207.3L193.3%20167c13.7-11.2%2018.4-30%2011.6-46.3l-40-96z%22%2F%3E%3C%2Fsvg%3E")}
.fa-plane{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M482.3%20192c34.2%200%2093.7%2029%2093.7%2064c0%2036-59.5%2064-93.7%2064l-116.6%200L265.2%20495.9c-5.7%2010-16.3%2016.1-27.8%2016.1l-56.2%200c-10.6%200-18.3-10.2-15.4-20.4l49-171.6L112%20320%2068.8%20377.6c-3%204-7.8%206.4-12.8%206.4l-42%200c-7.8%200-14-6.3-14-14c0-1.3%20.2-2.6%20.5-3.9L32%20256%20.5%20145.9c-.4-1.3-.5-2.6-.5-3.9c0-7.8%206.3-14%2014-14l42%200c5%200%209.8%202.4%2012.8%206.4L112%20192l102.9%200-49-171.6C162.9%2010.2%20170.6%200%20181.2%200l56.2%200c11.5%200%2022.1%206.2%2027.8%2016.1L365.7%20192l116.6%200z%22%2F%3E%3C%2Fsvg%3E")}
.fa-scale-balanced{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%3E%3Cpath%20d%3D%22M384%2032H512c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032H398.4c-5.2%2025.8-22.9%2047.1-46.4%2057.3V448H512c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032H320%20128c-17.7%200-32-14.3-32-32s14.3-32%2032-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7%200-32-14.3-32-32s14.3-32%2032-32H256c14.6-19.4%2037.8-32%2064-32s49.4%2012.6%2064%2032zm55.6%20288H584.4L512%20195.8%20439.6%20320zM512%20416c-62.9%200-115.2-34-126-78.9c-2.6-11%201-22.3%206.7-32.1l95.2-163.2c5-8.6%2014.2-13.8%2024.1-13.8s19.1%205.3%2024.1%2013.8l95.2%20163.2c5.7%209.8%209.3%2021.1%206.7%2032.1C627.2%20382%20574.9%20416%20512%20416zM126.8%20195.8L54.4%20320H199.3L126.8%20195.8zM.9%20337.1c-2.6-11%201-22.3%206.7-32.1l95.2-163.2c5-8.6%2014.2-13.8%2024.1-13.8s19.1%205.3%2024.1%2013.8l95.2%20163.2c5.7%209.8%209.3%2021.1%206.7%2032.1C242%20382%20189.7%20416%20126.8%20416S11.7%20382%20.9%20337.1z%22%2F%3E%3C%2Fsvg%3E")}
.fa-shield-halved{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%200c4.6%200%209.2%201%2013.4%202.9L457.7%2082.8c22%209.3%2038.4%2031%2038.3%2057.2c-.5%2099.2-41.3%20280.7-213.6%20363.2c-16.7%208-36.1%208-52.8%200C57.3%20420.7%2016.5%20239.2%2016%20140c-.1-26.2%2016.3-47.9%2038.3-57.2L242.7%202.9C246.8%201%20251.4%200%20256%200zm0%2066.8V444.8C394%20378%20431.1%20230.1%20432%20141.4L256%2066.8l0%200z%22%2F%3E%3C%2Fsvg%3E")}
.fa-tiktok{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M448%2C209.91a210.06%2C210.06%2C0%2C0%2C1-122.77-39.25V349.38A162.55%2C162.55%2C0%2C1%2C1%2C185%2C188.31V278.2a74.62%2C74.62%2C0%2C1%2C0%2C52.23%2C71.18V0l88%2C0a121.18%2C121.18%2C0%2C0%2C0%2C1.86%2C22.17h0A122.18%2C122.18%2C0%2C0%2C0%2C381%2C102.39a121.43%2C121.43%2C0%2C0%2C0%2C67%2C20.14Z%22%2F%3E%3C%2Fsvg%3E")}
.fa-train-subway{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M96%200C43%200%200%2043%200%2096V352c0%2048%2035.2%2087.7%2081.1%2094.9l-46%2046C28.1%20499.9%2033.1%20512%2043%20512H82.7c8.5%200%2016.6-3.4%2022.6-9.4L160%20448H288l54.6%2054.6c6%206%2014.1%209.4%2022.6%209.4H405c10%200%2015-12.1%207.9-19.1l-46-46c46-7.1%2081.1-46.9%2081.1-94.9V96c0-53-43-96-96-96H96zM64%20128c0-17.7%2014.3-32%2032-32h80c17.7%200%2032%2014.3%2032%2032v96c0%2017.7-14.3%2032-32%2032H96c-17.7%200-32-14.3-32-32V128zM272%2096h80c17.7%200%2032%2014.3%2032%2032v96c0%2017.7-14.3%2032-32%2032H272c-17.7%200-32-14.3-32-32V128c0-17.7%2014.3-32%2032-32zM64%20352a32%2032%200%201%201%2064%200%2032%2032%200%201%201%20-64%200zm288-32a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22%2F%3E%3C%2Fsvg%3E")}
.fa-van-shuttle{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%3E%3Cpath%20d%3D%22M64%20104v88h96V96H72c-4.4%200-8%203.6-8%208zm482%2088L465.1%2096H384v96H546zm-226%200V96H224v96h96zM592%20384H576c0%2053-43%2096-96%2096s-96-43-96-96H256c0%2053-43%2096-96%2096s-96-43-96-96H48c-26.5%200-48-21.5-48-48V104C0%2064.2%2032.2%2032%2072%2032H192%20352%20465.1c18.9%200%2036.8%208.3%2049%2022.8L625%20186.5c9.7%2011.5%2015%2026.1%2015%2041.2V336c0%2026.5-21.5%2048-48%2048zm-64%200a48%2048%200%201%200%20-96%200%2048%2048%200%201%200%2096%200zM160%20432a48%2048%200%201%200%200-96%2048%2048%200%201%200%200%2096z%22%2F%3E%3C%2Fsvg%3E")}
.fa-whatsapp{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M380.9%2097.1C339%2055.1%20283.2%2032%20223.9%2032c-122.4%200-222%2099.6-222%20222%200%2039.1%2010.2%2077.3%2029.6%20111L0%20480l117.7-30.9c32.4%2017.7%2068.9%2027%20106.1%2027h.1c122.3%200%20224.1-99.6%20224.1-222%200-59.3-25.2-115-67.1-157zm-157%20341.6c-33.2%200-65.7-8.9-94-25.7l-6.7-4-69.8%2018.3L72%20359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2%200-101.7%2082.8-184.5%20184.6-184.5%2049.3%200%2095.6%2019.2%20130.4%2054.1%2034.8%2034.9%2056.2%2081.2%2056.1%20130.5%200%20101.8-84.9%20184.6-186.6%20184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5%202.8-3.7%205.6-14.3%2018-17.6%2021.8-3.2%203.7-6.5%204.2-12%201.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8%205.7-9.1%2016.3-30.3%201.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7%200-9.7%201.4-14.8%206.9-5.1%205.6-19.4%2019-19.4%2046.3%200%2027.3%2019.9%2053.7%2022.6%2057.4%202.8%203.7%2039.1%2059.7%2094.8%2083.8%2035.2%2015.2%2049%2016.5%2066.6%2013.9%2010.7-1.6%2032.8-13.4%2037.4-26.4%204.6-13%204.6-24.1%203.2-26.4-1.3-2.5-5-3.9-10.5-6.6z%22%2F%3E%3C%2Fsvg%3E")}
.fa-wifi{--fa-svg:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20640%20512%22%3E%3Cpath%20d%3D%22M54.2%20202.9C123.2%20136.7%20216.8%2096%20320%2096s196.8%2040.7%20265.8%20106.9c12.8%2012.2%2033%2011.8%2045.2-.9s11.8-33-.9-45.2C549.7%2079.5%20440.4%2032%20320%2032S90.3%2079.5%209.8%20156.7C-2.9%20169-3.3%20189.2%208.9%20202s32.5%2013.2%2045.2%20.9zM320%20256c56.8%200%20108.6%2021.1%20148.2%2056c13.3%2011.7%2033.5%2010.4%2045.2-2.8s10.4-33.5-2.8-45.2C459.8%20219.2%20393%20192%20320%20192s-139.8%2027.2-190.5%2072c-13.3%2011.7-14.5%2031.9-2.8%2045.2s31.9%2014.5%2045.2%202.8c39.5-34.9%2091.3-56%20148.2-56zm64%20160a64%2064%200%201%200%20-128%200%2064%2064%200%201%200%20128%200z%22%2F%3E%3C%2Fsvg%3E")}
/* styles.css */
/*
 * Feuille de style principale pour le site de réservation VTC.
 * Le thème sombre avec des accents dorés est inspiré de sites de chauffeur privé haut de gamme.
 * On utilise des variables CSS pour faciliter la cohérence des couleurs.
 */


:root {
  --color-dark: #0b0b0b;
  --color-darker: #050505;
  --color-light: #ffffff;
  --color-muted: #aaaaaa;
  --color-primary: #c4a24a; /* teinte dorée douce */
  --color-primary-dark: #b08d34;
  --color-card-bg: rgba(255, 255, 255, 0.05);
  --max-width: 1200px;
  --nav-height: 70px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Montserrat', sans-serif;
  background-color: #000; /* ✅ fond noir si l’image ne charge pas */
  color: #fff;
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover {
  color: var(--color-primary-dark);
}

/* Navigation */
.navbar {
  background-color: var(--color-darker);
  height: var(--nav-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.logo {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-primary);
  display: flex;
  align-items: center;
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 1rem;
}

.nav-links li a {
  padding: 0.5rem 0.75rem;
  color: var(--color-light);
  font-weight: 500;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.nav-links li a.active,
.nav-links li a:hover {
  background-color: var(--color-primary);
  color: var(--color-dark);
}

/* Langue sélection */
.language-select {
  margin-left: 1rem;
  padding: 0.3rem 0.5rem;
  background-color: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  border-radius: 4px;
  font-size: 0.9rem;
}

/* Slideshow for tourist section */
.slideshow {
  width: 100%;
  height: 180px;
  position: relative;
  overflow: hidden;
}

.slideshow img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  display: none;
}

/* ✅ amélioration visibilité du diaporama */
.slideshow img.active {
  display: block;
  opacity: 0.8; /* augmente la visibilité, tu peux mettre 0.9 pour encore plus clair */
  filter: brightness(1.1); /* éclaire légèrement les images */
  transition: opacity 1.5s ease-in-out;
}

/* Diaporama de la section héroïque (plein écran). Les images sont
   superposées et défilent avec un filtre sombre pour laisser
   apparaître le texte. */
.hero-slideshow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  overflow: hidden;
}
.hero-slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.5);
  display: none;
}

/* Héros */
.hero {
  position: relative;
  width: 100%;
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--color-light);
  overflow: hidden;
}

.hero::before {
  /* Le diaporama de la section héroïque gère l’image de fond.
     Nous supprimons l’image statique et conservons uniquement
     le conteneur pour positionnement. */
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* aucune image de fond : les slides s’en chargent */
  background: none;
  z-index: -3;
}

.hero::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.9));
  z-index: -1;
}

.hero h1 {
  font-size: 2.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.hero p {
  font-size: 1.1rem;
  margin-bottom: 2rem;
  color: var(--color-muted);
}

.btn {
  background-color: var(--color-primary);
  color: var(--color-dark);
  padding: 0.8rem 1.5rem;
  border: none;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.btn:hover {
  background-color: var(--color-primary-dark);
}

.btn-outline {
  background-color: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}

.btn-outline:hover {
  background-color: var(--color-primary);
  color: var(--color-dark);
}

/* WhatsApp floating button */
.whatsapp-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  z-index: 1000;
}

.whatsapp-button img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

/* Contact page styles */
.contact-container {
  max-width: var(--max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  padding: 2rem 1rem;
}

.contact-item h3 {
  margin-bottom: 0.5rem;
  color: var(--color-primary);
}

.contact-item p a {
  color: var(--color-light);
  text-decoration: underline;
}

/* Sections générales */
section {
  padding: 4rem 1rem;
}

section h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 2rem;
  color: var(--color-primary);
  font-weight: 600;
}

.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
}

/* Cartes de caractéristiques/services */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}

.card {
  background-color: var(--color-card-bg);
  padding: 2rem 1.5rem;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.card-icon {
  font-size: 2.5rem;
  color: var(--color-primary);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Logo image sizing */
.logo img {
  width: auto;
  height: 60px; /* ajuste la taille si besoin */
  border: 2px solid #d4af37; /* cadre doré élégant */
  border-radius: 8px; /* coins légèrement arrondis */
  padding: 4px; /* espace entre le logo et le bord */
  background-color: #0a0a0a; /* fond noir / bleu très foncé pour le contraste */
  box-shadow: 0 0 10px rgba(212, 175, 55, 0.4); /* légère lueur dorée */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.logo img:hover {
  transform: scale(1.05); /* petit zoom au survol */
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.6); /* effet lumineux pro */
}
/* Service card images */
.card-icon img {
  /* When an image is placed inside the card-icon container, give it a fixed size */
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
}

.card h3 {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.card p {
  font-size: 0.95rem;
  color: var(--color-muted);
  flex-grow: 1;
}

.card .card-btn {
  margin-top: 1.5rem;
  align-self: start;
  font-size: 0.9rem;
}

/* Tableaux de tarifs */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}

table th,
table td {
  padding: 0.75rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

table th {
  background-color: var(--color-card-bg);
  color: var(--color-primary);
  font-weight: 600;
  text-align: left;
}

table td {
  color: var(--color-light);
}

/* Formulaire de réservation */
.reservation-form {
  max-width: 800px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.reservation-form .full-width {
  grid-column: span 2;
}

.reservation-form label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: var(--color-primary);
}

.reservation-form input,
.reservation-form select,
.reservation-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  background-color: var(--color-darker);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  color: var(--color-light);
  font-size: 0.95rem;
  outline: none;
}

.reservation-form input:focus,
.reservation-form select:focus,
.reservation-form textarea:focus {
  border-color: var(--color-primary);
}

.reservation-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.reservation-form textarea {
  resize: vertical;
  min-height: 100px;
}

.reservation-form .options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}

.reservation-form .options label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 400;
  color: var(--color-muted);
}

.reservation-form .options input[type="checkbox"] {
  accent-color: var(--color-primary);
  width: 18px;
  height: 18px;
}

.reservation-form .submit-btn {
  grid-column: span 2;
  margin-top: 1rem;
  text-align: center;
}

/* Footer */
footer {
  margin-top: auto;
  background-color: var(--color-darker);
  padding: 2rem 1rem;
  text-align: center;
  font-size: 0.85rem;
  color: var(--color-muted);
}

footer p {
  margin-bottom: 0.5rem;
}

/* Classe utilitaire pour masquer les éléments */
.hidden {
  display: none !important;
}

/* Section éco-responsable */
.eco {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 2rem 1rem;
  padding: 1.5rem;
  background-color: var(--color-card-bg);
  border-radius: 8px;
}

.eco img {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

.eco p {
  font-size: 1rem;
  color: var(--color-muted);
  max-width: 600px;
}

/* Responsive */
@media (max-width: 768px) {
  .nav-links {
    gap: 0.5rem;
  }
  .hero h1 {
    font-size: 2rem;
  }
  section {
    padding: 3rem 1rem;
  }
  .reservation-form {
    grid-template-columns: 1fr;
  }
  .reservation-form .full-width {
    grid-column: span 1;
  }
}
/* === ALIGNEMENT LOGO + MENU === */
header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 30px;
}

/* === MENU PRINCIPAL === */
nav ul {
  display: flex;
  list-style: none;
  gap: 25px;
  margin: 0;
  padding: 0;
}

nav ul li {
  display: flex;
  align-items: center;
}

nav ul li a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: center;
  transition: color 0.3s ease;
  padding-top: 3px;
}  

nav ul li a:hover {
  color: #d4af37; /* doré au survol */
}

/* === LANGUES AVEC DRAPEAUX === */
.language-select {
  background-color: transparent;
  color: #fff;
  border: 1px solid #d4af37;
  border-radius: 5px;
  padding: 5px 10px;
  font-weight: 500;
}

.language-select option {
  color: #000;
  font-weight: 500;
}
/* ==== Fond de la page SERVICES ==== */
/* Version simple (marche même si tu n'as pas mis le code de transition) */
/* === Fonds d’arrière-plan des pages === */

/* SERVICES = Tour Eiffel */
/* ==== FONDS PAR PAGE ==== */

body.services-page {
  background-image: url('/assets/optimized/nani.jpg-jpg.39d178e7d7.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

body.gamme-page {
  background-image: none;
  background-color: #000;
}

body.tarifs-page {
  background-image: url('/assets/optimized/notre-dame.jpg-jpg.bceec0c26c.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

body.apropos-page {
  background-image:
    url('/assets/optimized/logo-ecologie.jpg-jpg.df26114814.webp'),
    url('/assets/optimized/logo-raylan.jpg-jpg.f2dc70e268.webp');
  background-position: center right 0, center bottom;
  background-size: 200px 180px, 200px 180px;
  background-repeat: no-repeat, no-repeat;
}
/* SERVICES = Tour Eiffel */
body.services-page {
  background-image: url('/assets/optimized/nani.jpg-jpg.39d178e7d7.webp');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* Gamme : la photo du pont reste uniquement dans le bandeau du titre. */
body.gamme-page {
  background-image: none;
  background-color: #000;
}

/* TARIFS = Notre-Dame */
body.tarifs-page {
  background-image: url('/assets/optimized/notre-dame.jpg-jpg.bceec0c26c.webp');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* À PROPOS = logos Raylan + écologie */
body.apropos-page {
  background-image:
    url('/assets/optimized/logo-ecologie.jpg-jpg.df26114814.webp'),
    url('/assets/optimized/logo-raylan.jpg-jpg.f2dc70e268.webp');
  background-position: center right, center bottom;
  background-size: 200px 180px, 200px 180px;
  background-repeat: no-repeat, no-repeat;
  
}
/* === VERSION MOBILE COMPLÈTE === */
@media (max-width: 768px) {

  /* === Structure générale === */
  body {
    background-attachment: scroll !important; /* évite le bug iPhone */
    background-size: cover;
    background-position: center;
    overflow-x: hidden;
  }

  /* === NAVBAR === */
  .navbar {
    flex-direction: column;
    height: auto;
    padding: 10px 15px;
    text-align: center;
  }

  .nav-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
  }

  .nav-links li a {
    font-size: 0.9rem;
    padding: 0.4rem 0.6rem;
  }

  .logo img {
    height: 50px;
    margin-bottom: 10px;
  }

  /* === SECTION HERO === */
  .hero {
    min-height: 50vh;
    padding: 2rem 1rem;
  }

  .hero h1 {
    font-size: 1.8rem;
  }

  .hero p {
    font-size: 1rem;
  }

  /* === FORMULAIRES (Réservation + Contact) === */
  form,
  .reservation-form {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 0 1rem;
  }

  form input,
  form select,
  form textarea,
  .reservation-form input,
  .reservation-form select,
  .reservation-form textarea {
    width: 100%;
    font-size: 1rem;
    padding: 0.9rem 1rem;
  }

  .submit-btn {
    text-align: center;
  }

  /* === CARTES (services, gammes, etc.) === */
  .card-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .card {
    padding: 1.5rem;
  }

  .card-icon {
    font-size: 2rem;
  }

  /* === TEXTE === */
  p,
  li {
    font-size: 0.95rem;
  }

  /* === SECTION ÉCO RESPONSABLE === */
  .eco {
    flex-direction: column;
    text-align: center;
    padding: 1rem;
  }

  .eco img {
    width: 50px;
    height: 50px;
  }

  /* === FOOTER === */
  footer {
    font-size: 0.8rem;
    line-height: 1.4;
    padding: 2rem 1rem 80px 1rem;
  }

  footer a {
    display: inline-block;
    margin-top: 0.4rem;
  }

  /* === WHATSAPP FLOATING BUTTON === */
  .whatsapp-button {
    width: 55px;
    height: 55px;
    bottom: 15px;
    right: 15px;
  }

  /* === IMAGES DE FOND PAR PAGE === */
  body.services-page,
  body.gamme-page,
  body.tarifs-page,
  body.apropos-page,
  body.reservation-page,
  body.contact-page {
    background-attachment: scroll !important; /* iPhone fix */
    background-size: cover;
    background-position: center;
  }

  /* === FAQ === */
  .faq-item {
    margin-bottom: 1rem;
  }

  .faq-item h3 {
    font-size: 1rem;
  }

  .faq-item p {
    font-size: 0.9rem;
  }
}
.i18n-missing { outline: 1px dashed #ffcc00; }
body.services-page {
  background: url('/assets/optimized/nani.jpg-jpg.39d178e7d7.webp') center/cover fixed no-repeat !important;
  background-color: #000 !important;
  color: #fff !important;
}
/* === Fond spécifique pour la page Services === */
body.services-page {
  background: url('/assets/optimized/nani.jpg-jpg.39d178e7d7.webp') center center / cover no-repeat fixed;
  background-color: #000; /* fond noir si image absente */
  color: #fff;
}
/* Official social links */
.site-social { margin: 24px auto 0; max-width: 900px; }
.site-social .site-social-heading { margin: 0 0 12px; color: #d4af37; font-size: .95rem; font-weight: 600; }
.site-social-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.site-social-links a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; border: 1px solid #d4af37; border-radius: 50%; color: #d4af37; text-decoration: none; }
.site-social-links a i { font-size: 22px; }
.site-social-links a:hover { color: #000; background: #d4af37; }
.site-social-links a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.site-enrichment .google-review-link { gap: 10px; }

/* site-display.css */
/* Shared typography and mobile input sizing for every active page. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html,
body {
  font-family: 'Montserrat', sans-serif;
}
button,
input,
optgroup,
select,
textarea {
  font-family: 'Montserrat', sans-serif;
}
::file-selector-button {
  font-family: inherit;
}
.pac-container,
.pac-item,
.pac-item-query {
  font-family: 'Montserrat', sans-serif;
}
/* Keep mobile form controls large enough to avoid automatic focus zoom. */
@media (max-width: 1100px) {
  input,
  select,
  textarea {
    font-size: 16px;
  }
  .language-select {
    font-size: 16px;
  }
}

/* Reuse the existing stacked menu while a full navigation row cannot fit. */
@media (min-width: 769px) and (max-width: 1100px) {
  .navbar {
    flex-direction: column;
    height: auto;
    padding: 10px 15px;
    text-align: center;
  }
  .nav-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
  }
  .navbar .logo img {
    height: 50px;
    margin-bottom: 10px;
  }
}
/* Wide fare tables scroll within their own section on small screens. */
.tarif-table-scroll {
  max-width: 100%;
  overflow-x: auto;
}
.tarif-table-scroll:focus-visible {
  outline: 2px solid #d4af37;
  outline-offset: 3px;
}
@media (max-width: 768px) {
  .tarif-section {
    min-width: 0;
    width: calc(100% - 2rem);
  }
}

@media (max-width: 768px) {
  .gamme-page .grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact-page .contact-section {
    min-width: 0;
    width: calc(100% - 2rem);
  }
  .contact-page .contact-item a {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 768px) {
  .cgv-container,
  .mentions-container,
  .policy-container {
    min-width: 0;
    max-width: calc(100% - 2rem);
    overflow-wrap: anywhere;
  }
}
#invoiceForm,
#invoiceForm input,
#invoiceForm button {
  box-sizing: border-box;
}

/* refinements.css */
/* Finitions visuelles v15 : uniquement les pages publiques. */
.site-refined { --refined-gold: #d4af37; }
.site-refined .hero p { color: #eeeae2; text-shadow: 0 1px 5px rgba(0,0,0,.7); }
.home-page .hero,
.home-page .hero h1,
.home-page .hero p,
.home-page .hero .btn-primary,
.home-page .why-section h2,
.home-page .why-item,
.home-page .onboard-section h2,
.home-page .onboard-item { animation: none; opacity: 1; transform: none; }
.home-page .hero { animation: raylan-home-entry 1.2s ease-in-out; }
@keyframes raylan-home-entry {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}
.site-refined.tarifs-page,
.site-refined.services-page,
.site-refined.apropos-page { background: #000 !important; }
.home-page .hero h1 { font-size: clamp(1.9rem, 3.5vw, 3rem); line-height: 1.2; max-width: 24ch; text-wrap: balance; }
.home-page .hero p { max-width: 65ch; line-height: 1.7; }
.home-page .hero .btn-group { gap: 14px; }
.home-page .hero .btn-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; line-height: 1.4; }
.home-page .hero .btn-primary[data-i18n="hero.cta"] { color: #080808; background: #d4af37; box-shadow: 0 8px 28px rgba(0,0,0,.25); }
.site-refined :is(.btn-primary,.btn,.enrichment-link,.card-btn,.site-social-links a) { transition: background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.site-refined :is(.btn-primary,.btn,.enrichment-link,.card-btn):focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.site-refined .site-enrichment { border-color: rgba(212,175,55,.46); border-radius: 14px; padding: clamp(22px,3vw,34px); margin-block: clamp(30px,4vw,48px); background: linear-gradient(140deg,rgba(212,175,55,.035),rgba(0,0,0,.8)); }
.site-refined .site-enrichment h2 { margin-bottom: 18px; text-wrap: balance; }
.site-refined :is(.enrichment-grid,.card-grid) { align-items: stretch; gap: 22px; }
.site-refined :is(.enrichment-card,.card,.onboard-item,.why-item,.review-card) { min-width: 0; border: 1px solid rgba(212,175,55,.25); border-radius: 12px; background-color: rgba(255,255,255,.028); transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.site-refined .enrichment-card { padding: clamp(20px,2.4vw,28px); }
.site-refined .enrichment-card h3 { line-height: 1.45; }
.site-refined .enrichment-card p { color: #deddd8; }
.site-refined .enrichment-card .enrichment-link { margin-top: auto; }
.site-refined .card .card-btn { margin-top: 22px; }
.home-page .why-section { padding-block: clamp(42px,6vw,72px); }
.home-page .why-grid { gap: 22px; align-items: stretch; }
.home-page .why-item { padding: 26px 22px; }
.home-page .why-item p { color: #e2e0d9; line-height: 1.75; }
.home-page .onboard-grid { gap: 18px; }
.home-page .onboard-item { box-shadow: none; }
.site-refined .company-address { color: #e9e5dc; font-style: normal; line-height: 1.8; margin-block: 20px; }
.site-refined .company-address strong { color: #d4af37; }
.google-reviews .reviews-kicker { color: #e0c577; font-size: .76rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; }
.review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 26px; }
.review-card { display: flex; flex-direction: column; padding: 26px; }
.review-stars { color: #d4af37; font-size: 1.1rem; letter-spacing: .14em; margin-bottom: 18px; }
.review-card blockquote { color: #f2eee7; font-size: 1.05rem; line-height: 1.8; margin: 0 0 24px; overflow-wrap: anywhere; }
.review-card figcaption { margin-top: auto; color: #d9d6ce; font-size: .87rem; line-height: 1.6; overflow-wrap: anywhere; }
.review-card cite { display: block; color: #fff; font-style: normal; font-weight: 600; }
.review-card .review-source { color: #c3bfb6; font-size: .78rem; }
.site-refined .reviews-updated { color: #bdb8ae; font-size: .78rem; margin-top: 18px; margin-bottom: 0; }
.site-refined .payment-assurance { display: flex; align-items: center; gap: 14px; margin: 14px 0 22px; padding: 16px; border: 1px solid rgba(212,175,55,.45); border-radius: 10px; background: rgba(212,175,55,.035); }
.site-refined .payment-assurance svg { flex: 0 0 30px; width: 30px; height: 30px; color: #d4af37; }
.site-refined .payment-assurance strong { display: block; color: #e3c66a; font-size: .92rem; line-height: 1.5; }
.mobile-actions { display: none; }
.site-refined h2:not(#cookie-heading)::after { content: ''; display: block; width: 64px; height: 2px; margin: 12px auto 0; background: linear-gradient(90deg,rgba(212,175,55,.25),#d4af37,rgba(212,175,55,.25)); transform: scaleX(1); }
.site-refined h2.title-line-reveal:not(#cookie-heading)::after { animation: raylan-title-line .55s ease-out both; }
.site-refined :is(.faq-topic,.about-section) > h2::after { margin-inline: 0; }
@keyframes raylan-title-line { from { transform: scaleX(0); opacity: .35; } to { transform: scaleX(1); opacity: 1; } }
.booking-progress { margin: 0 0 28px; }
.booking-progress ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.booking-progress a { display: flex; align-items: center; gap: 8px; height: 100%; min-height: 54px; padding: 10px; border: 1px solid #48412d; border-radius: 8px; color: #ddd9cf; font-size: .8rem; line-height: 1.5; }
.booking-progress a.is-current { color: #e5c66a; border-color: #d4af37; background: rgba(212,175,55,.07); box-shadow: inset 0 -2px #d4af37; }
.booking-progress .step-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; border: 1px solid #84703a; border-radius: 50%; color: #e5c66a; font-size: .75rem; }
.booking-progress a span:last-child { min-width: 0; overflow-wrap: anywhere; }
.booking-progress a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.site-refined .booking-recap { margin: 26px 0 20px; padding: 22px; border: 1px solid rgba(212,175,55,.65); border-radius: 12px; background: rgba(212,175,55,.035); color: #eeeae2; }
.site-refined .booking-recap h2 { color: #e0c577; font-size: 1.12rem; line-height: 1.5; text-align: start; margin-bottom: 22px; }
.site-refined .booking-recap h2::after { margin-inline: 0; }
.booking-recap dl { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr); gap: 12px 18px; margin: 0; }
.booking-recap dt { color: #bcb6a8; font-size: .82rem; line-height: 1.6; }
.booking-recap dd { margin: 0; min-width: 0; color: #eeeae2; font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
.booking-recap .recap-total { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(212,175,55,.3); }
.recap-total span { font-size: .9rem; }
.recap-total strong { color: #e0c577; font-size: 1.4rem; font-weight: 700; }
.site-refined .booking-recap .recap-hint { margin: 10px 0 0; font-size: .82rem; line-height: 1.6; color: #c5bfae; }
.quick-faq-card .quick-faq-item { padding: 12px 0; border-top: 1px solid rgba(212,175,55,.25); }
.quick-faq-card summary { cursor: pointer; color: #eeeae2; font-size: .9rem; font-weight: 600; line-height: 1.6; }
.quick-faq-card summary::marker { color: #d4af37; }
.quick-faq-card summary:focus-visible { outline: 2px solid #d4af37; outline-offset: 4px; }
.quick-faq-card .quick-faq-item p { margin: 12px 0 0; font-size: .85rem; line-height: 1.8; }
.quick-faq-card > .enrichment-link { padding-top: 12px; }
@media (max-width: 520px) {
  .booking-progress ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-refined .booking-recap { padding: 18px; }
  .booking-recap dl { grid-template-columns: minmax(0,1fr); gap: 5px; }
  .booking-recap dd { margin-bottom: 10px; }
}
@media (hover: hover) and (pointer: fine) {
  .site-refined :is(.enrichment-card,.card,.onboard-item,.why-item,.review-card):hover { border-color: rgba(212,175,55,.65); background-color: rgba(212,175,55,.045); box-shadow: 0 10px 28px rgba(0,0,0,.24); transform: translateY(-3px); }
  .site-refined :is(.btn-primary,.btn,.enrichment-link,.card-btn):hover { transform: translateY(-2px); }
  .home-page .hero .btn-primary[data-i18n="hero.cta"]:hover { background: #e3be4d; color: #080808; }
}
.site-refined :is(.enrichment-card,.card,.review-card):focus-within { border-color: #d4af37; }
@media (max-width: 900px) {
  .review-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .review-card { padding: 24px; }
  .review-card blockquote { margin-bottom: 18px; }
}
@media (max-width: 768px) {
  .site-refined { padding-bottom: calc(84px + env(safe-area-inset-bottom,0px)); }
  .home-page .hero { padding: 70px 20px; }
  .home-page .hero .btn-group { width: min(100%,440px); }
  .home-page .hero .btn-primary { flex: 1 1 170px; padding: 13px 18px; font-size: .95rem; }
  .site-refined .site-enrichment { width: calc(100% - 28px); }
  .site-refined :is(.enrichment-grid,.card-grid) { gap: 16px; }
  .site-refined .mobile-actions { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 10px; position: fixed; z-index: 1050; inset-inline: 0; bottom: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom,0px)); background: #0b0b0b; border-top: 1px solid rgba(212,175,55,.45); box-shadow: 0 -5px 24px rgba(0,0,0,.2); }
  .mobile-actions a { display: flex; align-items: center; justify-content: center; gap: 9px; min-width: 0; min-height: 48px; padding: 10px 12px; border-radius: 8px; font-size: .95rem; line-height: 1.35; font-weight: 700; text-align: center; text-decoration: none; }
  .mobile-actions .mobile-reserve { background: #d4af37; border: 1px solid #d4af37; color: #090909; }
  .mobile-actions .mobile-call { color: #e3c66a; border: 1px solid #8e7735; background: transparent; }
  .mobile-actions svg { width: 19px; height: 19px; flex-shrink: 0; }
  .mobile-actions a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .site-refined .whatsapp-button { bottom: calc(100px + env(safe-area-inset-bottom,0px)); right: 16px; width: 52px; height: 52px; }
  .site-refined .whatsapp-button img { position: static !important; width: 100% !important; height: 100% !important; }
  .site-refined.is-form-editing :is(.mobile-actions,.whatsapp-button) { display: none; }
  .site-refined #reservationForm { scroll-margin-top: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-refined,.site-refined *,.site-refined *::before,.site-refined *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .mobile-actions,.site-refined .whatsapp-button { display: none !important; }
  .site-refined { padding-bottom: 0; }
}

/* v19 — the existing content, with a clearer hierarchy on wide and narrow screens. */
.site-refined .nav-links a { display:inline-flex; align-items:center; min-height:44px; border-radius:0; }
.site-refined .nav-links a:is(.active,[aria-current]) { color:#e5c66a; background:transparent; box-shadow:inset 0 -2px #d4af37; }
.site-refined .nav-links a:hover { color:#f0d880; background:rgba(212,175,55,.06); }
.site-refined .nav-links a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.site-refined :is(input,select,textarea,fieldset) { min-width:0; box-sizing:border-box; }
.site-refined :is(input,select,textarea,[id]) { scroll-margin-top:calc(var(--site-nav-height,180px) + 20px); }
.home-page .hero .hero-trust { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 0; list-style:none; padding:0; margin:24px auto 0; max-width:850px; color:#eee8d9; font-size:.81rem; line-height:1.7; }
.hero-trust li + li::before { content:'·'; color:#d4af37; margin-inline:12px; }
.site-refined .site-enrichment { border-color:transparent; background:transparent; padding-inline:0; }
.site-refined :is(.enrichment-card,.card,.onboard-item,.why-item,.review-card) { border-color:#33322e; background-color:#10100f; box-shadow:none; }
.site-refined :is(.home-services,.google-reviews,.home-information,.booking-steps) { margin-block:clamp(36px,5vw,64px); }
.home-page .home-information .info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-information .quick-faq-card { grid-column:1 / -1; }
.home-information .quick-faq-card > p { margin-bottom:18px; }
.home-information .quick-faq-item { width:100%; }
.home-information .quick-faq-card > a { margin-top:16px; }
.site-refined .eco { display:flex; align-items:center; justify-content:center; gap:24px; width:calc(100% - 40px); max-width:1000px; padding:26px; margin:32px auto; border:1px solid #2c3028; border-radius:12px; background:#0e110d; box-sizing:border-box; }
.site-refined .eco .eco-mark { position:relative; display:block; flex:0 0 64px; width:64px; height:64px; border-radius:50%; overflow:hidden; }
.site-refined .eco .eco-mark img { position:absolute; display:block; width:156%; height:156%; max-width:none; margin:0; left:-28%; top:-28%; object-fit:cover; border:0; }
.site-refined .eco p { text-align:start; margin:0; max-width:760px; font-size:.92rem; line-height:1.8; }
.site-refined footer { padding:32px 20px; margin-top:48px; border-top:1px solid #292824; background:#080808; color:#c4bfb4; }
.site-refined footer .local-service-link { margin:0 0 12px; }
.site-refined .footer-legal { display:flex; flex-direction:column; align-items:center; gap:8px; margin:0; font-size:.8rem; line-height:1.8; }
.footer-legal .footer-legal-links { display:flex; justify-content:center; flex-wrap:wrap; gap:0 20px; }
.footer-legal .footer-legal-links a { display:inline-flex; align-items:center; min-height:44px; margin:0; padding:4px 0; }
.site-refined .site-social { margin-top:22px; padding-top:20px; border-top:1px solid #282722; }
.site-refined .site-social-heading { margin:0 0 14px; color:#c7c1b4; font-size:.82rem; }
.site-refined .site-social-links { gap:12px; }
.site-refined .site-social-links a { border-color:#51462a; background:transparent; }
.services-page .service-group { max-width:1100px; width:calc(100% - 40px); margin:48px auto; padding:0; }
.service-group > h2 { color:#e0c577; font-size:clamp(1.4rem,2.4vw,1.8rem); margin:0 0 26px; line-height:1.4; text-align:start; }
.service-group > h2::after { margin-inline:0 !important; }
.services-page .service-group .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; padding:0; width:100%; }
.services-page .card { gap:12px; padding:26px; text-align:start; }
.services-page .card h3 { margin-top:0; }
.services-page .card .btn-primary { margin-top:auto; align-self:flex-start; max-width:100%; text-align:center; }
.tarifs-page .pricing-booking-guide { border-color:#3b3525; background:#11100e; }
.pricing-booking-guide .btn-primary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin:4px 0 22px; text-align:center; }
.estimate-details { border-top:1px solid #3d3729; padding-top:16px; }
.estimate-details summary,.booking-detail-help summary { cursor:pointer; min-height:44px; color:#e0c577; font-size:.9rem; font-weight:600; line-height:1.7; }
.estimate-details summary::marker,.booking-detail-help summary::marker { color:#d4af37; }
.estimate-details summary:focus-visible,.booking-detail-help summary:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.estimate-details p:first-of-type { margin-top:14px; }
.apropos-page .about-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; width:calc(100% - 40px); max-width:1100px; padding:0; margin:40px auto; border:0; background:transparent; }
.about-value { min-width:0; padding:26px; border:1px solid #33322e; border-radius:12px; background:#10100f; }
.about-value h2 { margin:0 0 18px; line-height:1.4; font-size:1.25rem; text-align:start; }
.about-value h2::after { margin-inline:0 !important; }
.about-value p { margin:0; font-size:.98rem; line-height:1.85; }
.site-refined .about-identity { margin-bottom:30px; }
.site-refined .about-preparation { padding:26px; border:1px solid #34312a; background:#11100e; }
.site-refined .about-preparation h2::after,.site-refined .about-contact h2::after { margin-inline:0; }
.contact-page .request-context { padding:16px; margin:0 0 24px; border-inline-start:3px solid #d4af37; background:#15130d; color:#e0c577; font-size:.95rem; line-height:1.7; }
.reservation-page .form-section { width:calc(100% - 40px); max-width:1180px; margin:40px auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.reservation-page #reservationForm { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,370px); align-items:start; gap:0 28px; width:100%; max-width:none; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.reservation-page .booking-progress { grid-column:1 / -1; }
.reservation-page .booking-fields { min-width:0; padding:28px; border:1px solid #34322b; border-radius:12px; background:#10100f; }
.reservation-page .booking-summary-column { min-width:0; padding:24px; border:1px solid #6d5a26; border-radius:12px; background:#11100d; }
.reservation-page .booking-summary-column .booking-recap { border:0; padding:0; margin:0; background:transparent; }
.reservation-page .booking-recap h2 { margin-bottom:6px; }
.recap-edit { display:inline-flex; align-items:center; min-height:44px; margin:0 0 16px; color:#e0c577; text-decoration:underline; text-underline-offset:4px; font-size:.85rem; }
.recap-edit:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.reservation-page .booking-recap dl { grid-template-columns:minmax(0,1fr); gap:3px; }
.reservation-page .booking-recap dd { margin-bottom:10px; }
.reservation-page .booking-recap .recap-total { margin-top:12px; }
.reservation-page .booking-fields > :is(input,select,textarea),.reservation-page .billing-fields :is(input:not([type="checkbox"]),select,textarea) { width:100%; max-width:100%; }
.reservation-page .field-hint { display:block; margin:-5px 0 20px; color:#beb7a7; font-size:.8rem; line-height:1.6; }
.reservation-page .billing-fields { border-color:#46402e !important; margin-inline:0 !important; }
.reservation-page .booking-detail-help { margin:0 0 8px; border-top:1px solid #36342d; padding-top:14px; }
.booking-detail-help ul { padding-inline-start:22px; color:#cfc9bc; font-size:.85rem; line-height:1.85; }
.booking-detail-help li + li { margin-top:10px; }
.reservation-page .booking-submit { margin-top:24px !important; }
.reservation-page .booking-submit .btn-primary { width:100%; padding:14px 18px; min-height:52px; box-sizing:border-box; line-height:1.5; }
.reservation-page .payment-next-step { margin:12px 0 0; font-size:.8rem; color:#ccc4b0; line-height:1.7; text-align:start; }
.reservation-page .booking-help { padding:16px; margin:18px 0 0; border-inline-start:3px solid #d4af37; background:#1a170f; text-align:start; }
.booking-help > p { margin:0; font-size:.9rem; color:#e0c577; }
.booking-help .enrichment-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; margin:6px 0 0; }
.booking-help a { display:inline-flex; align-items:center; min-height:44px; color:#e0c577; font-size:.85rem; text-decoration:underline; text-underline-offset:4px; }
.reservation-page #map { margin-top:30px; border-color:#33322e; }
.not-found-page .not-found-content { width:calc(100% - 40px); max-width:850px; margin:clamp(50px,9vh,110px) auto; text-align:center; }
.not-found-content .not-found-code { color:#d4af37; font-weight:700; font-size:1rem; letter-spacing:.18em; }
.not-found-content h1 { font-size:clamp(1.8rem,4vw,2.8rem); color:#e0c577; line-height:1.3; margin:18px 0; }
.not-found-content > p { color:#d8d2c4; line-height:1.8; }
.not-found-content .enrichment-actions { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:26px; }
.not-found-content .btn-primary { opacity:1; min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:12px 22px; border:1px solid #d4af37; border-radius:8px; color:#e0c577; background:transparent; font-size:.95rem; font-weight:600; line-height:1.5; }
.not-found-content .btn-primary:first-child { background:#d4af37; color:#090909; }
@media(min-width:1101px) {
  .reservation-page .booking-summary-column.can-stick { position:sticky; top:calc(var(--site-nav-height,90px) + 20px); }
}
@media(max-width:1100px) {
  .site-refined .navbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 14px; height:auto; padding:10px 18px !important; }
  .site-refined .navbar .logo { grid-column:1; grid-row:1; justify-self:start; }
  .site-refined .navbar .logo img { height:44px !important; margin:0; }
  .site-refined .navbar .language-select { grid-column:2; grid-row:1; justify-self:end; margin:0; min-height:40px; }
  .site-refined .navbar .nav-links { grid-column:1 / -1; grid-row:2; width:100%; justify-content:center; flex-wrap:wrap; gap:0 6px; margin:0; padding:0; }
  .site-refined .nav-links li a { padding:8px; font-size:.84rem; }
  .reservation-page #reservationForm { grid-template-columns:minmax(0,1fr); gap:20px; }
  .reservation-page .booking-progress { margin-bottom:0; }
  .reservation-page .booking-summary-column { position:static; }
  .reservation-page .booking-recap dl { grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:10px 16px; }
}
@media(max-width:768px) {
  .site-refined:is(.services-page,.tarifs-page,.apropos-page) .hero { min-height:0; padding:54px 20px !important; }
  .site-refined:is(.services-page,.tarifs-page,.apropos-page) .hero h1 { font-size:clamp(1.6rem,6.5vw,2rem); line-height:1.3; margin:0 auto 14px; }
  .site-refined:is(.services-page,.tarifs-page,.apropos-page) .hero p { font-size:.96rem; line-height:1.7; margin:0 auto; }
  .site-refined .page-title-photo { object-position:center 52%; }
  .home-page .hero-trust { max-width:340px; font-size:.76rem; }
  .home-page .hero-trust li { flex:0 0 100%; }
  .home-page .hero-trust li + li::before { content:none; }
  .home-page .home-information .info-grid { grid-template-columns:minmax(0,1fr); }
  .site-refined .eco { width:calc(100% - 28px); gap:16px; padding:20px; }
  .site-refined .eco .eco-mark { flex-basis:50px; width:50px; height:50px; }
  .site-refined .eco p { font-size:.84rem; }
  .services-page .service-group,.apropos-page .about-values { width:calc(100% - 28px); margin-block:32px; }
  .services-page .service-group .card-grid,.apropos-page .about-values { grid-template-columns:minmax(0,1fr); }
  .services-page .card,.about-value { padding:22px; }
  .site-refined .about-preparation { padding:22px; }
  .reservation-page .form-section { width:calc(100% - 28px); margin-block:26px; }
  .reservation-page .booking-fields,.reservation-page .booking-summary-column { padding:20px; }
  .reservation-page .hero { min-height:0; padding:38px 20px; }
  .reservation-page .hero h1 { font-size:1.85rem; }
  .reservation-page .hero .warning-box { margin-top:22px; font-size:.9rem; }
  .footer-legal .footer-legal-links { flex-direction:column; align-items:center; gap:0; }
  .site-refined footer { padding-inline:20px; margin-top:32px; }
}
@media(max-width:520px) {
  .reservation-page .booking-recap dl { grid-template-columns:minmax(0,1fr); gap:3px; }
  .reservation-page .booking-fields,.reservation-page .booking-summary-column { padding:18px; }
}

/* acquisition.css */
/* v20: new destinations and professional pages; the existing design stays scoped. */
.acq-skip{position:absolute;inset-inline-start:12px;top:-80px;z-index:2000;background:#d4af37;color:#080808;padding:12px}.acq-skip:focus{top:8px}
.landing-page{background:#090909;color:#eee9df}.landing-page main{width:100%;flex:1}.landing-page .navbar{background:#080808}.landing-page .navbar .logo img{object-fit:contain}
.acq-breadcrumb{max-width:1200px;margin:auto;padding:15px 24px;display:flex;gap:12px;flex-wrap:wrap;font-size:.78rem;color:#c8bd9e}.acq-breadcrumb a{color:#d5cbb1;text-decoration:none}.acq-breadcrumb a:hover{text-decoration:underline}
.acq-hero{position:relative;isolation:isolate;overflow:hidden;border-block:1px solid #4e4124;background:#10100e}.acq-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.33}.acq-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,5,5,.9),rgba(5,5,5,.58))}
.acq-hero-inner{max-width:1200px;margin:auto;padding:64px 24px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:50px;align-items:center}.acq-eyebrow{color:#e1c574;font-size:.73rem;letter-spacing:.16em;font-weight:600;margin-bottom:18px}.acq-lead h1{font-size:clamp(2rem,3.8vw,3.3rem);line-height:1.17;text-wrap:balance;color:#fff;max-width:21ch;margin:0 0 22px}.acq-intro{font-size:1rem;line-height:1.9;max-width:62ch;color:#eee8dc}.acq-direct{display:flex;gap:15px 24px;flex-wrap:wrap;margin-top:24px}.acq-text-link{font-size:.84rem;color:#f1d990;text-underline-offset:5px}
.acq-start,.acq-professional{background:#0c0c0cf2;border:1px solid #77612d;border-radius:12px;padding:27px;box-shadow:0 14px 40px #0005;min-width:0}.acq-start h2,.acq-professional h2{font-size:1.15rem;line-height:1.45;color:#ead28a;margin:0 0 20px}.acq-start label{display:block;color:#eae5d9;font-size:.82rem;margin:16px 0 7px;font-weight:600}.acq-start input:not([type=hidden]),.acq-start select{display:block;width:100%;min-width:0;min-height:48px;background:#181817;border:1px solid #726449;border-radius:6px;color:#fff;font:inherit;font-size:.9rem;padding:11px}.acq-start input::placeholder{color:#bcb7ac}.acq-start .acq-hint{font-size:.76rem;color:#c5bda9;line-height:1.7;margin:15px 0 19px}.acq-primary,.acq-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;font:600 .88rem/1.5 Montserrat,sans-serif;cursor:pointer;text-decoration:none;border:1px solid #d4af37;border-radius:6px;text-align:center;max-width:100%;overflow-wrap:anywhere}.acq-primary{background:#d4af37;color:#080808}.acq-primary:hover{background:#e3c365;color:#080808}.acq-secondary{background:transparent;color:#e5ca7b}.acq-start .acq-primary{width:100%}.acq-fallback{display:block;color:#d4c9a9;font-size:.74rem;text-align:center;margin-top:16px;text-underline-offset:4px}.acq-professional ul{padding-inline-start:18px;line-height:1.9;color:#d4cbb7;font-size:.9rem;margin-bottom:24px}.acq-professional a{display:flex;margin-top:12px}
.acq-body{max-width:1200px;margin:auto;padding:60px 24px 35px}.acq-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.acq-stories section{border-top:1px solid #67552b;padding-top:23px}.acq-number{font-size:.74rem;color:#ac9560;letter-spacing:.1em}.acq-stories h2{font-size:1.1rem;line-height:1.5;color:#e7cd87;margin:13px 0 18px}.acq-stories p{font-size:.88rem;line-height:1.95;color:#d9d5ca}.acq-faq{max-width:860px;margin:62px auto 0}.acq-faq>h2,.acq-related h2{font-size:1.5rem;color:#ecd494;line-height:1.5;margin-bottom:24px}.acq-faq details{border-bottom:1px solid #443d2c;padding:20px 0}.acq-faq summary{cursor:pointer;font-size:.93rem;font-weight:600;color:#eee9dd;padding-inline-end:8px}.acq-faq details p{color:#d0cabc;font-size:.88rem;line-height:1.9;margin-top:15px}.acq-related{margin-top:58px;padding:30px 0;border-top:1px solid #443d2c}.acq-route-links{display:flex;flex-wrap:wrap;gap:10px 22px}.acq-route-links a{font-size:.84rem;color:#e5cd88;text-underline-offset:5px}.acq-bottom-action{margin-top:28px}
.acq-discovery{max-width:1100px;margin:32px auto;padding:24px 20px;border-block:1px solid #584923;color:#e3dac4;text-align:center}.acq-discovery h2{font-size:1.2rem;color:#d9bf75;margin:0 0 12px}.acq-discovery p{font-size:.88rem;line-height:1.8;margin:0 auto 14px;max-width:70ch}.acq-discovery .acq-route-links{justify-content:center}.acq-discovery .acq-route-links a{font-size:.85rem}
.acq-party{border:1px solid #62532e;border-radius:8px;margin:20px 0;padding:14px 16px;min-width:0}.acq-party summary{color:#e1c579;cursor:pointer;font-size:.88rem;font-weight:600;line-height:1.6}.acq-party .acq-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:12px}.acq-party .acq-party-grid>div{min-width:0}.acq-party label{font-size:.82rem}.acq-party .acq-party-note{font-size:.78rem;line-height:1.8;color:#c8c0ad;margin-top:12px}.acq-party-error{font-size:.8rem;color:#ffc6b5;margin:10px 0}.acq-party input{min-width:0;width:100%}
.landing-page :is(a,button,input,select,summary):focus-visible,.acq-discovery a:focus-visible,.acq-party :is(input,summary):focus-visible{outline:2px solid #fff;outline-offset:4px}.landing-page footer{margin-top:0}.landing-page [hidden]{display:none!important}
@media(min-width:1200px){.landing-page .navbar .logo img{height:55px}.landing-page .navbar{padding-inline:30px}}
@media(max-width:900px){.acq-hero-inner{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}.acq-stories{grid-template-columns:1fr;gap:30px}.acq-stories p{max-width:85ch}.acq-stories h2{margin-bottom:10px}.acq-hero-inner{padding-block:44px}.acq-lead h1{font-size:2.25rem}}
@media(max-width:650px){.acq-breadcrumb{padding:13px 18px;font-size:.72rem}.acq-hero-inner{grid-template-columns:1fr;gap:28px;padding:32px 18px}.acq-lead h1{font-size:clamp(1.8rem,7.6vw,2.3rem);line-height:1.25;max-width:23ch;margin-bottom:16px}.acq-intro{font-size:.91rem;line-height:1.85}.acq-eyebrow{font-size:.67rem;margin-bottom:12px}.acq-start,.acq-professional{padding:22px 18px}.acq-direct{gap:13px 20px;margin-top:18px}.acq-body{padding:35px 18px 16px}.acq-stories{gap:26px}.acq-stories h2{font-size:1.05rem}.acq-faq{margin-top:38px}.acq-faq>h2,.acq-related h2{font-size:1.22rem}.acq-related{margin-top:36px}.acq-route-links{gap:14px 20px}.acq-party .acq-party-grid{grid-template-columns:1fr}.acq-discovery{margin:24px 18px;padding-inline:0}.acq-hero:after{background:linear-gradient(#050505ce,#050505b8)}}

@media(max-width:1100px){.acq-start input:not([type=hidden]),.acq-start select,.acq-party input{font-size:16px}}
/* The route action comes before the longer introduction on a phone. */
@media(max-width:650px){.acq-hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0}.acq-lead{display:contents}.acq-lead .acq-eyebrow{order:0}.acq-lead h1{order:1}.acq-start,.acq-professional{order:2;margin:6px 0 24px}.acq-lead .acq-intro{order:3}.acq-lead .acq-direct{order:4}}

@media(max-width:650px){.landing-page .whatsapp-button{display:none}}

/* customer-paths.css */
/* v21 : parcours visibles, menu partagé, accueil et regroupements. */
.path-hub-header{display:block!important}.path-hub-header>.path-eyebrow{margin-inline:auto!important}
.customer-layout .logo a{display:inline-flex;align-items:center}.path-nav-toggle{display:none}.path-nav-toggle[hidden]{display:none!important}
.path-subnav{position:relative;z-index:1001;background:#10100f;border-block:1px solid #514327;color:#eee1bd}.path-subnav-inner{display:flex;max-width:1160px;margin:auto;padding:0 22px;gap:5px}.path-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:13px 18px;min-height:48px;font-size:.83rem;font-weight:600;color:#e6d6a8;cursor:pointer}.path-menu>summary::-webkit-details-marker{display:none}.path-menu[open]>summary{background:#302a1c}.path-menu-panel{position:absolute;inset-inline:0;top:100%;margin:auto;max-width:1120px;padding:25px 28px;background:#10100f;border:1px solid #66552f;border-radius:0 0 10px 10px;box-shadow:0 20px 40px #0009;max-height:65vh;overflow-y:auto;text-align:start}.path-menu-groups{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:28px}.path-menu-groups>section{margin:0;padding:0;background:transparent}.path-menu-groups h2{font-size:.9rem;color:#e5c979;margin:0 0 12px;text-align:start}.path-menu-links{display:grid;gap:3px}.path-menu-links a{display:flex;justify-content:space-between;gap:15px;color:#e8e3d8;text-decoration:none;padding:8px 0;font-size:.82rem;line-height:1.5;min-height:38px}.path-menu-all{display:inline-flex;margin-top:20px;padding-top:15px;border-top:1px solid #4c422b;color:#eed18a;font-size:.84rem}.path-menu-pro .path-menu-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.path-pro-link{display:grid;align-content:start;gap:9px;padding:12px 0;text-decoration:none;color:#e6ca80;font-size:.9rem}.path-pro-link span{font-size:.8rem;line-height:1.8;color:#d0c9b8}
.home-page.customer-layout .hero{padding:0!important;min-height:0;text-align:start}.path-hero-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:62px;align-items:center;padding:56px 28px 62px}.path-eyebrow{color:#e3c16b!important;font-size:.71rem!important;letter-spacing:.16em;font-weight:600;margin:0 0 17px!important;line-height:1.5!important}.home-page .path-hero-copy h1{font-size:clamp(2rem,3.5vw,3.15rem);line-height:1.2;max-width:19ch;margin:0 0 18px}.home-page .path-hero-copy .path-hero-pitch{color:#fff;font-size:1.03rem;line-height:1.7;max-width:42ch;margin-bottom:15px}.home-page .path-hero-copy p[data-i18n="hero.subtitle"]{font-size:.88rem;line-height:1.8;color:#dfd7c3;max-width:51ch;margin-bottom:22px}.home-page .path-hero-copy .btn-group{justify-content:flex-start;gap:12px;flex-wrap:wrap;margin:0}.home-page .path-hero-copy .btn-primary{min-height:44px;padding:10px 14px;font-size:.83rem}.home-page .path-hero-copy .hero-trust{justify-content:flex-start;text-align:start;margin:22px 0 0;max-width:100%;font-size:.74rem}.path-hero-contact{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:24px}.path-hero-contact a{font-size:.79rem;color:#ecd69a;text-underline-offset:5px}
.path-quote{background:#111110f7;border:1px solid #b6994d;border-radius:12px;padding:27px 26px;box-shadow:0 15px 40px #0005;min-width:0;text-align:start}.path-number{display:block;color:#bca46a;font-size:.68rem;letter-spacing:.1em;line-height:1.7}.path-quote h2{font-size:1.22rem;color:#fff;line-height:1.5;margin:8px 0 24px;text-align:start}.path-quote label{display:block;font-weight:600;font-size:.81rem;color:#e9e1d2;margin:16px 0 8px}.path-quote input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:49px;background:#20201e;border:1px solid #766849;border-radius:5px;color:#fff;font:inherit;font-size:.9rem;padding:12px}.path-quote input::placeholder{color:#bdb8ac}.path-quote .path-quote-note{color:#bfb5a0;font-size:.76rem;line-height:1.8;margin:17px 0 20px}.path-quote button{width:100%;font-size:.88rem;min-height:48px}.path-direct-book{display:block;text-align:center;font-size:.74rem;color:#d1c3a0;margin-top:15px}
.path-audiences{max-width:1160px;margin:0 auto;padding:47px 22px 22px;text-align:start;color:#eee8dc}.path-audiences>h2{font-size:1.7rem;color:#ead093;margin:0 0 7px;line-height:1.4;text-align:start}.path-section-intro{font-size:.9rem;color:#cfc6b2;line-height:1.8;margin:0 0 24px}.path-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.path-profile-grid.path-four{grid-template-columns:repeat(4,minmax(0,1fr))}.path-profile{padding:23px 20px;border:1px solid #4f4633;border-radius:9px;background:linear-gradient(145deg,#171714,#0e0e0d);min-width:0;display:flex;flex-direction:column;align-items:flex-start}.path-profile h3{font-size:1.02rem;line-height:1.5;color:#ead094;margin:14px 0 12px;text-align:start}.path-profile p{font-size:.81rem;line-height:1.9;color:#d4cbb7;margin:0 0 23px}.path-profile a{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;margin-top:auto;padding-top:15px;border-top:1px solid #52452b;color:#f1db9c;font-size:.77rem;text-decoration:none;font-weight:600;line-height:1.6}
.home-page.customer-layout .home-services{max-width:1160px;text-align:start;padding-inline:22px;margin:20px auto 50px}.home-page.customer-layout .home-services>h2{text-align:start}.home-page.customer-layout .home-services>.enrichment-intro{margin-inline:0;text-align:start}.home-page.customer-layout .home-services .enrichment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-page.customer-layout .home-services .enrichment-card{min-width:0;padding:25px 24px;text-align:start;box-shadow:none;background:#10100f;border-color:#5c4d2d}.path-route-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 15px;margin-top:18px}.path-route-links a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid #423b2c;font-size:.83rem;color:#eee7d5;line-height:1.5;text-decoration:none;min-width:0}.path-route-links a>span:first-child{overflow-wrap:anywhere}.path-home-leisure{padding:20px 0;border-bottom:1px solid #514428}.path-home-leisure h3{color:#e6ce8d;font-size:1rem}.path-home-leisure>.path-route-links{max-width:650px}.path-catalog-link{display:inline-flex;color:#e5ca82;font-size:.83rem;margin-top:18px}.path-family-events{display:flex;gap:12px 28px;flex-wrap:wrap;padding-top:20px}.path-family-events a{font-size:.81rem;color:#dac18a}
.path-footer-nav{padding:5px 0 23px;margin:0 auto 20px;max-width:1050px;border-bottom:1px solid #423b2b;text-align:center}.path-footer-nav strong{display:block;color:#d5c293;font-size:.87rem;margin-bottom:14px}.path-footer-nav>div{display:flex;justify-content:center;gap:13px 24px;flex-wrap:wrap}.path-footer-nav a{font-size:.78rem;color:#cfc5ac}.path-hub-access{padding:28px 22px;max-width:1100px;margin:auto;text-align:start}.path-hub-access h2{color:#e8cc83;font-size:1.25rem}.path-hub-header{padding:54px 24px 48px;background:linear-gradient(100deg,#080807e8,#15120ad9),url('/assets/optimized/services-bg-jpg.20f83979d1.webp') center/cover;border-bottom:1px solid #574a2a}.path-hub-header>*{max-width:1100px;margin-inline:auto}.path-hub-header h1{font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.25;color:#fff;margin-bottom:21px}.path-hub-header p:last-child{font-size:.98rem;line-height:1.9;color:#ded5c1}.path-hub-body{max-width:1150px;margin:auto;padding:40px 24px 48px}.path-search{border:1px solid #68572d;border-radius:10px;padding:23px;margin-bottom:35px;background:#11110f}.path-search label{display:block;font-size:.89rem;color:#ead08d;font-weight:600;margin-bottom:12px}.path-search>div{display:flex;gap:13px;flex-wrap:wrap}.path-search input{flex:1 1 260px;min-width:0;min-height:48px;padding:10px 13px;background:#22211c;border:1px solid #85734d;border-radius:5px;color:#fff;font:inherit;font-size:16px}.path-search button{padding:9px 15px;background:transparent;border:1px solid #847040;color:#e9d498;border-radius:5px;font:inherit;font-size:.83rem}.path-search p{font-size:.76rem;color:#c5b998;margin-top:12px}.path-catalog-group{margin:30px 0 0;padding:0}.path-catalog-group>h2{font-size:1.4rem;color:#e3c680;margin-bottom:20px;text-align:start}.path-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.path-destination{background:#131310;border:1px solid #55492f;border-radius:8px;padding:22px;min-width:0;display:flex;flex-direction:column;gap:17px}.path-destination h3{font-size:1rem;color:#f3ede0;line-height:1.6}.path-destination a{display:flex;justify-content:space-between;gap:10px;color:#dfc67f;font-size:.8rem;margin-top:auto;padding-top:13px;border-top:1px solid #4b4028}.path-pro-steps{margin-top:48px;padding:0}.path-pro-steps>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:27px}.path-pro-steps h3{color:#fff;font-size:.98rem}.path-pro-steps p{font-size:.86rem;line-height:1.9;color:#d4c9b0}.path-other-needs{margin-top:40px;border-top:1px solid #574a2b;padding-top:30px}.path-other-needs>div{display:flex;gap:15px 25px;flex-wrap:wrap}.path-other-needs a,.path-no-result a{color:#dbbf7b;font-size:.84rem}.path-no-result{color:#eadbb7;padding:30px 0;line-height:1.9}
.path-menu-groups h2:after,.path-quote h2:after,.path-audiences>h2:after,.path-hub-header h1:after,.path-catalog-group>h2:after{display:none}.customer-layout :is(.path-menu,.path-profile,.path-quote,.path-search,.path-destination) :focus-visible{outline:2px solid #ffe09a;outline-offset:4px}
@media(min-width:1101px){.customer-layout .navbar{padding:10px 24px!important;gap:15px}.customer-layout .navbar .logo img{height:50px!important}.customer-layout .nav-links{gap:1px}.customer-layout .nav-links li a{font-size:.82rem;padding:10px}}
@media(max-width:1100px){.customer-layout .navbar{display:grid!important;grid-template-columns:1fr auto auto;gap:12px!important;align-items:center;padding:11px 17px!important}.customer-layout .navbar .logo img{height:42px!important}.customer-layout .navbar .language-select{margin:0!important;min-height:40px}.customer-layout .path-nav-toggle:not([hidden]){display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid #76602e;border-radius:5px;background:#19160e;color:#e3d1a0;font:inherit;font-size:.8rem}.path-menu-icon{width:15px;height:10px;border-block:1px solid currentColor}.customer-layout .navbar .nav-links{grid-row:2;grid-column:1/-1;width:100%;flex-wrap:wrap;justify-content:flex-start;gap:0 7px;margin:0;padding:7px 0 0}.customer-layout[data-customer-ready] .navbar .nav-links{display:none!important}.customer-layout[data-customer-ready] .navbar.nav-open .nav-links{display:flex!important}.customer-layout .navbar .nav-links li a{font-size:.82rem;padding:10px}.path-subnav-inner{justify-content:center;padding:0 15px;gap:0}.path-menu{flex:1}.path-menu-panel{margin-inline:15px}.path-hero-inner{gap:30px;padding:40px 24px}.path-profile-grid.path-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.path-hero-inner{grid-template-columns:1fr;gap:24px;padding:30px 19px 33px}.home-page .path-hero-copy h1{font-size:clamp(1.85rem,7vw,2.6rem);max-width:21ch;margin-bottom:13px}.home-page .path-hero-copy .path-hero-pitch,.home-page .path-hero-copy .btn-group{display:none}.home-page .path-hero-copy p[data-i18n="hero.subtitle"]{font-size:.78rem;line-height:1.8;margin-bottom:16px}.home-page .path-hero-copy .hero-trust{display:flex;gap:6px 0;font-size:.71rem;margin-top:14px}.path-hero-contact{margin-top:17px;gap:12px 20px}.path-hero-contact a{font-size:.76rem}.path-quote{padding:22px 20px}.path-quote h2{font-size:1.15rem;margin-bottom:18px}.path-quote input{font-size:16px}.path-audiences{padding:32px 18px 17px}.path-audiences>h2{font-size:1.4rem}.path-section-intro{font-size:.83rem;margin-bottom:20px}.path-profile-grid,.path-profile-grid.path-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.path-profile{padding:17px 14px}.path-profile h3{font-size:.87rem;margin:8px 0 14px}.path-profile p{display:none}.path-profile a{font-size:.7rem;gap:9px;padding-top:12px}.home-page.customer-layout .home-services{padding-inline:18px;margin-top:18px}.home-page.customer-layout .home-services .enrichment-grid{grid-template-columns:1fr;gap:15px}.home-page.customer-layout .home-services .enrichment-card{padding:22px 18px}.path-route-links a{font-size:.79rem}.path-menu-panel{padding:21px 18px}.path-menu-groups,.path-menu-pro .path-menu-groups{grid-template-columns:1fr;gap:22px}.path-pro-link{padding:9px 0}.path-hub-header{padding:32px 20px}.path-hub-header h1{font-size:1.9rem}.path-hub-body{padding:27px 18px 35px}.path-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.path-destination{padding:17px 14px;gap:12px}.path-destination h3{font-size:.86rem}.path-destination a{font-size:.73rem;gap:8px}.path-pro-steps>div{grid-template-columns:1fr}.home-page.customer-layout .whatsapp-button{display:none}}
@media(max-width:360px){.customer-layout .navbar{gap:8px!important;padding-inline:12px!important}.customer-layout .navbar .logo img{height:38px!important}.customer-layout .navbar .language-select{padding:4px;min-height:38px}.customer-layout .path-nav-toggle:not([hidden]){gap:5px;padding:5px 7px;font-size:.74rem}.path-menu>summary{font-size:.77rem;padding:11px 8px;gap:10px}.path-catalog{grid-template-columns:1fr}}

/* visual-polish.css */
/* Finitions v21.1 : pictogrammes tracés, sans caractères emoji. */
.site-refined .detail-icon,.site-refined .step-symbol,.site-refined .link-mark,.site-refined .menu-mark{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:#e3c477;flex-shrink:0;vertical-align:middle}
.site-refined .detail-icon{width:40px;height:40px;border:1px solid #665532;border-radius:11px;background:linear-gradient(145deg,#292315,#17150f);margin-bottom:3px}
.site-refined .detail-icon svg{display:block;width:23px;height:23px}
.site-refined .step-symbol{width:25px;height:25px;flex:0 0 25px}
.site-refined .step-symbol svg{display:block;width:21px;height:21px}
.site-refined .link-mark,.site-refined .menu-mark{width:24px;height:24px;flex:0 0 24px;border:1px solid #71603a;border-radius:50%;background:#211d13;transition:background-color .2s,border-color .2s}
.site-refined .link-mark svg,.site-refined .menu-mark svg{display:block;width:13px;height:13px}
.site-refined a:hover>.link-mark,.site-refined a:focus-visible>.link-mark,.site-refined summary:hover>.menu-mark{background:#3c311b;border-color:#d4af37}
.site-refined .menu-mark{transition:transform .2s,border-color .2s}.site-refined .path-menu[open]>summary>.menu-mark{transform:rotate(180deg)}
.site-refined .acq-stories .detail-icon{width:36px;height:36px;border-radius:10px}
.site-refined .path-pro-steps .detail-icon{margin-bottom:15px}
.site-refined details:not(.path-menu)>summary{list-style:none;display:flex;align-items:center;gap:12px}
.site-refined details:not(.path-menu)>summary::-webkit-details-marker{display:none}
.site-refined details:not(.path-menu)>summary::marker{content:''}
.site-refined details:not(.path-menu)>summary::after{content:''!important;display:block;box-sizing:border-box;width:24px;height:24px;flex:0 0 24px;margin-inline-start:auto;border:1px solid #71603a;border-radius:50%;background:linear-gradient(#e3c477,#e3c477) center/10px 1px no-repeat,linear-gradient(#e3c477,#e3c477) center/1px 10px no-repeat,#211d13}
.site-refined details[open]:not(.path-menu)>summary::after{background:linear-gradient(#e3c477,#e3c477) center/10px 1px no-repeat,#211d13}
@media(max-width:700px){.site-refined .path-profile .detail-icon{width:34px;height:34px;border-radius:9px}.site-refined .path-profile .detail-icon svg{width:21px;height:21px}.site-refined .booking-progress .step-symbol{width:20px;height:20px;flex-basis:20px}.site-refined .booking-progress .step-symbol svg{width:19px;height:19px}.site-refined .link-mark{width:21px;height:21px;flex-basis:21px}}
@media(prefers-reduced-motion:reduce){.site-refined .link-mark,.site-refined .menu-mark{transition:none}}

/* Flèches de navigation : tracé fin doré, aucune dépendance aux emoji système. */
.site-refined .link-mark{width:28px;height:28px;flex:0 0 28px;border-color:#75613c;background:linear-gradient(145deg,#252116,#14130f);color:#e3c477}
.site-refined .link-mark svg{width:18px;height:18px}
.site-refined .menu-mark svg{width:18px;height:18px}
.site-refined .intl-route-grid>a>.link-mark{width:34px;height:34px;flex-basis:34px;border-color:#8e7540;background:linear-gradient(145deg,#292317,#15140f)}
.site-refined .intl-route-grid>a>.link-mark svg{width:22px;height:22px}
[dir="rtl"] .link-mark svg{transform:scaleX(-1)}
select:not([multiple]):not([size]){-webkit-appearance:none;appearance:none;padding-inline-end:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e3c477' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px 20px;background-position:right .65rem center}
[dir="rtl"] select:not([multiple]):not([size]){background-position:left .65rem center}
@media(prefers-reduced-motion:reduce){.site-refined .menu-mark{transition:none}}

/* expansion.css */
/* Extension v22 : mêmes couleurs, typo et composants que la v21.1. */
.exp-nav-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;color:#e7d5a4;font-size:.82rem;font-weight:600;text-decoration:none;border-inline-start:1px solid #3f3625;white-space:nowrap}
.exp-nav-link:hover,.exp-nav-link:focus-visible{background:#211c11;color:#ffe3a0}
.path-menu-panel{max-height:min(76vh,760px);overflow-y:auto;overscroll-behavior:contain}
.path-menu-panel>.path-menu-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
.path-menu-groups h2>a{color:inherit;font:inherit;line-height:inherit;text-decoration:none}.path-menu-groups h2>a:hover,.path-menu-groups h2>a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.exp-partner-secondary{display:block;margin-top:18px;line-height:1.8}
.path-menu-pro .path-pro-link{line-height:1.8}.exp-discover{padding-top:32px;margin-top:24px;border-top:1px solid #514428}.exp-discover>h3{color:#e6ce8d;margin-bottom:20px}.exp-discover .path-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}
.exp-card-copy{font-size:.8rem;line-height:1.9;color:#cec5b1;margin:0}.exp-official{font-size:.78rem;line-height:1.8;margin-top:25px}.exp-official a{color:#d6c18c;text-underline-offset:4px}
.exp-form-section{margin-top:48px;padding:30px;border:1px solid #77612d;border-radius:12px;background:#10100f;max-width:100%;min-width:0}.exp-form-section>h2{font-size:1.45rem;color:#ead08d;line-height:1.5;text-align:start}.exp-form-intro{font-size:.87rem;line-height:1.9;color:#dbd2bd;max-width:80ch;margin:15px 0 25px}.exp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 23px;align-items:start}.exp-field{min-width:0}.exp-field label{display:block;color:#eae5d9;font-size:.82rem;font-weight:600;line-height:1.7;margin-bottom:7px}.exp-field :is(input,select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:48px;background:#181817;border:1px solid #726449;border-radius:6px;color:#fff;font:inherit;font-size:16px;padding:11px;box-sizing:border-box}.exp-field textarea{resize:vertical;line-height:1.8}.exp-field input::placeholder,.exp-field textarea::placeholder{color:#bcb7ac}.exp-full{grid-column:1/-1}.exp-small{font-size:.75rem;color:#c8bea6;line-height:1.8;margin:0}.exp-check{display:flex;gap:12px;align-items:flex-start;line-height:1.8;font-size:.8rem;color:#d6cdb8}.exp-check input{margin-top:5px;min-width:20px;width:20px;height:20px;accent-color:#d4af37}.exp-check a{color:#e6cc86;text-underline-offset:3px}.exp-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.exp-form button:disabled{opacity:.6;cursor:wait}.exp-status{font-size:.85rem;line-height:1.8;overflow-wrap:anywhere;color:#eed699}.exp-status[data-error=true]{color:#ffb9a4}.exp-form-section [hidden],.exp-form [hidden]{display:none!important}.exp-doc-list{margin:24px 0;padding:0;list-style:none}.exp-doc-list li{padding:12px 0;border-bottom:1px solid #514428;font-size:.83rem;line-height:1.8;color:#dcd2bc}.exp-privacy{max-width:1000px;margin:30px auto;padding:25px;color:#d9d0be;font-size:.85rem;line-height:1.9}.exp-privacy h2{color:#e7cb84;font-size:1.3rem}.exp-form-section :focus-visible,.exp-nav-link:focus-visible{outline:2px solid #ffe09a;outline-offset:4px}
@media(max-width:1100px){.path-subnav-inner{flex-wrap:wrap}.path-menu-panel>.path-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.exp-nav-link{padding-inline:15px}}
@media(max-width:700px){.path-subnav-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 15px}.path-menu{min-width:0}.path-menu>summary{justify-content:center}.exp-nav-link{border-inline-start:0;border-top:1px solid #3f3625;min-height:41px;padding:8px 10px;font-size:.76rem}.exp-discover .path-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.exp-form-section{padding:23px 18px;margin-top:32px}.exp-form{grid-template-columns:1fr;gap:18px}.exp-full{grid-column:auto}.exp-form-section>h2{font-size:1.2rem}.exp-form-intro{font-size:.83rem}.path-menu-panel>.path-menu-groups{grid-template-columns:1fr}.exp-form button{width:100%}.exp-card-copy{font-size:.76rem}.exp-discover{padding-top:23px}}
@media(max-width:360px){.exp-discover .path-catalog{grid-template-columns:1fr}}

/* international.css */
/* Ray&Lan : continuité du bleu nuit, du doré et de Montserrat. */
.intl-discovery,.intl-reassurance{margin:clamp(2rem,5vw,4rem) auto;max-width:1200px;padding:0 clamp(1rem,4vw,2.5rem)}
.acq-body .intl-reassurance{padding:0;max-width:none}
.intl-eyebrow{font-size:.73rem;font-weight:700;letter-spacing:.12em;color:#d9bb73;text-transform:uppercase}
.intl-reassurance h2,.intl-discovery h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.25;color:#e6ca84;margin:.55rem 0 1rem}
.intl-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.intl-trust-grid article{padding:1.4rem;border:1px solid #53452d;border-radius:16px;background:linear-gradient(145deg,#171d23,#101416);min-width:0}
.site-refined .intl-trust-grid .detail-icon{margin-bottom:.8rem}
.intl-trust-grid h3{font-size:1.04rem;line-height:1.4;color:#f0e2bd;margin:0 0 .65rem}
.intl-trust-grid p,.intl-conditions,.intl-custom-intro{font-size:.92rem;line-height:1.7;color:#d1d0cb}
.intl-trust-grid a,.intl-conditions a{display:inline-block;font-size:.88rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:#e4c67e}
.intl-conditions{border-top:1px solid #53452d;margin-top:1.4rem;padding-top:1.2rem}
.intl-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1.2rem}
.intl-route-grid>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:82px;padding:1.2rem;border:1px solid #5b4b2a;border-radius:12px;background:#151b21;color:#ead8aa;font-weight:700;font-size:.92rem;text-decoration:none}
.intl-route-grid>a:hover{border-color:#a37c36;background:#262a28}
.intl-start select,.intl-start input[type=text]{width:100%;max-width:100%;box-sizing:border-box}
.intl-start select{white-space:normal}
.intl-start label.intl-check{display:flex;align-items:flex-start;gap:.65rem;line-height:1.5;font-size:.88rem;margin:1rem 0}
.intl-start .intl-check input{flex:0 0 auto;width:18px;height:18px;min-height:18px;margin:.15rem 0 0;accent-color:#0a2137}
.intl-start [data-international-status]{padding:.9rem;background:#fff4de;border-radius:8px;line-height:1.55;font-size:.9rem;color:#553b12}
.intl-start [hidden],.intl-followup [hidden]{display:none!important}
.intl-custom{border:1px solid #5b4b2a;border-radius:14px;margin:2rem 0;background:#11171d;overflow:hidden}
.intl-custom>summary{cursor:pointer;font-weight:700;padding:1.3rem;color:#f0e2bd;line-height:1.5}
.intl-custom-intro{margin:0;padding:0 1.3rem 1rem}
.intl-custom .exp-inquiry,.intl-custom section{margin:0;border:0;border-radius:0}
.intl-booking-note{padding:1rem 1.15rem;border-left:3px solid #bb9654;background:#111e29;border-radius:6px;color:#e4dfd5;margin:0 0 1.6rem}
.intl-booking-note p{margin:.2rem 0 .5rem;font-size:.88rem;line-height:1.65}
.intl-booking-note a{font-size:.85rem;color:#e4c67e;text-decoration:underline}
.intl-followup{border-top:1px solid #63532f;margin-top:1.2rem;padding-top:1.2rem}
.intl-followup p{font-size:.9rem;line-height:1.65}
.intl-followup a{display:inline-block;padding:.7rem 1rem;margin:.4rem .5rem .4rem 0;border:1px solid #a27d38;border-radius:8px;color:#f0e2bd;background:#151b21;font-weight:600;text-decoration:none}
.intl-followup a:hover{background:#262a28}
@media(max-width:700px){.intl-route-grid,.intl-trust-grid{grid-template-columns:minmax(0,1fr)}.intl-discovery,.intl-reassurance{padding:0 1rem}.acq-body .intl-reassurance{padding:0}.intl-trust-grid article{padding:1.2rem}.intl-start h2{font-size:1.25rem}.intl-start label{overflow-wrap:anywhere}.intl-route-grid>a{min-height:64px;padding:1rem}.intl-custom>summary{padding:1.1rem}}
