/* ================================================
   Le Souffle des Horizons — CSS global
   Polices : Cookie (titres footer 50px)
             Wix Madefor Text (corps)
             Dancing Script (titres de soins)
             Jost (proche de Futura, dates promo)
   ================================================ */

/* latin */
@font-face {
  font-family: 'Cookie';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/syky-y18lb0tSbf9kgqS.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;
}
/* vietnamese */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLviuEViw.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: 'Dancing Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLuiuEViw.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLgiuE.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;
}
/* vietnamese */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLviuEViw.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: 'Dancing Script';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLuiuEViw.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLgiuE.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;
}
/* vietnamese */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLviuEViw.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: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLuiuEViw.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/If2RXTr6YS-zF4S-kcSWSVi_szLgiuE.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73oDd4iYl.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73ord4iYl.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73oTd4g.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73oDd4iYl.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73ord4iYl.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73oTd4g.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73oDd4iYl.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73ord4iYl.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73oTd4g.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;
}
/* cyrillic */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73oDd4iYl.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73ord4iYl.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/92zatBhPNqw73oTd4g.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_WXI_oSymQ8Qj-Apx3HGN_Hu1RZiAL6QzqeqKx1td3dw_GuJpF8pN5.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: 'Wix Madefor Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_WXI_oSymQ8Qj-Apx3HGN_Hu1RZiAL6QzqeqKx1td3dw_GuJNF8pN5.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_WXI_oSymQ8Qj-Apx3HGN_Hu1RZiAL6QzqeqKx1td3dw_GuJhF8pN5.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: 'Wix Madefor Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_WXI_oSymQ8Qj-Apx3HGN_Hu1RZiAL6QzqeqKx1td3dw_GuJlF8pN5.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_WXI_oSymQ8Qj-Apx3HGN_Hu1RZiAL6QzqeqKx1td3dw_GuJdF8g.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cK_NNePiJVd9g.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: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cK_NNeGiJVd9g.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cK_NNeNiJVd9g.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: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cK_NNeMiJVd9g.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cK_NNeCiJU.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cKNNNePiJVd9g.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: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cKNNNeGiJVd9g.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cKNNNeNiJVd9g.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: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cKNNNeMiJVd9g.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cKNNNeCiJU.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJhM9ePiJVd9g.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: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJhM9eGiJVd9g.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJhM9eNiJVd9g.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: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJhM9eMiJVd9g.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJhM9eCiJU.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJYM9ePiJVd9g.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: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJYM9eGiJVd9g.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJYM9eNiJVd9g.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: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJYM9eMiJVd9g.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Wix Madefor Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/-W_oXI_oSymQ8Qj-Apx3HGN_Hu1RTCk5FtSDETgf0cJYM9eCiJU.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;
}

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

:root {
  --teal:        #3FA5C4;
  --teal-dark:   #2d8aa8;
  --teal-deep:   #167184;   /* teal profond : titres escale, labels */
  --teal-promo:  #1D738E;   /* couleur texte bandeau promo */
  --teal-light:  #e3f5fb;
  --teal-line:   #b0dcea;
  --gold:        #C8952A;   /* accent doré : dividers, actif nav */
  --gold-light:  #F5D9A0;
  --pink:        #d4587a;
  --red-notice:  #b02020;
  --cream:       #fdfaf4;   /* fond général crème */
  --text:        #333;
  --text-mid:    #555;
  --text-light:  #777;
  --white:       #fff;
  --nav-h:       68px;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Wix Madefor Text', sans-serif;
  color: var(--text);
  background: var(--cream, #fdfaf4);
  font-size: 15px;
  line-height: 1.75;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* ══ NAVIGATION ══════════════════════════════════
   Invisible sur le hero, apparaît au scroll
 ════════════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 300;
  height: var(--nav-h);
  background: transparent;
  border-bottom: 1px solid transparent;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 40px;
  transition: background .4s, border-color .4s, box-shadow .4s;
}
/* Logo à gauche */
.nav-logo {
  font-family: 'Dancing Script', cursive;
  font-size: 1.6rem; font-weight: 700;
  color: var(--white);
  transition: color .4s;
  justify-self: start;
  line-height: 1.1;
}
/* Liens centrés */
.nav-links {
  display: flex; align-items: center; gap: 32px; list-style: none;
  justify-self: center;
}
.nav-links a {
  font-size: .74rem; font-weight: 500;
  color: rgba(255,255,255,.9);
  letter-spacing: .09em;
  text-transform: uppercase;
  transition: color .2s;
}
.nav-links a:hover { color: var(--white); }
.nav-links a.active {
  color: var(--white);
  font-weight: 600;
  border-bottom: 2px solid rgba(255,255,255,.7);
  padding-bottom: 2px;
}
/* CTA à droite */
.nav-right { justify-self: end; }
.nav-cta {
  display: inline-block;
  background: rgba(255,255,255,.2) !important;
  color: var(--white) !important;
  padding: 9px 22px; border-radius: 2px;
  font-size: .8rem !important; font-weight: 600 !important;
  letter-spacing: .04em !important;
  border: 1px solid rgba(255,255,255,.5) !important;
  transition: background .2s !important;
}
.nav-cta:hover { background: rgba(255,255,255,.35) !important; }

/* État "scrolled" : fond blanc */
nav.scrolled {
  background: rgba(255,255,255,.97);
  box-shadow: 0 2px 16px rgba(63,165,196,.08);
}
nav.scrolled .nav-logo { color: var(--teal); }
nav.scrolled .nav-links a { color: var(--teal-deep, #167184); }
nav.scrolled .nav-links a:hover { color: var(--teal); }
nav.scrolled .nav-links a.active {
  color: var(--gold, #C8952A);
  border-bottom-color: var(--gold, #C8952A);
}
nav.scrolled .nav-cta {
  background: var(--teal) !important;
  color: var(--white) !important;
  border: none !important;
}
nav.scrolled .nav-cta:hover { background: var(--teal-dark) !important; }

/* Pages sans hero plein écran : nav toujours visible */
nav.always-visible {
  background: rgba(253,250,244,.96);
}
nav.always-visible .nav-logo { color: var(--teal-deep, #167184); }
nav.always-visible .nav-links a { color: var(--teal-deep, #167184); }
nav.always-visible .nav-links a:hover { color: var(--teal); }
nav.always-visible .nav-links a.active {
  color: var(--gold, #C8952A);
  border-bottom-color: var(--gold, #C8952A);
}
nav.always-visible .nav-cta {
  background: var(--teal) !important;
  color: var(--white) !important;
  border: none !important;
}

.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; }
.hamburger span { width: 24px; height: 1.5px; background: var(--white); display: block; transition: .3s; }
nav.scrolled .hamburger span,
nav.always-visible .hamburger span { background: var(--teal); }

/* ══ BOUTONS ══════════════════════════════════════ */
.btn {
  display: inline-block;
  padding: 12px 34px;
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .82rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  cursor: pointer; border: none; transition: .25s; border-radius: 2px;
}
.btn-teal   { background: var(--teal); color: var(--white); }
.btn-teal:hover { background: var(--teal-dark); }
.btn-outline { border: 1.5px solid var(--teal); color: var(--teal); background: transparent; }
.btn-outline:hover { background: var(--teal); color: var(--white); }
.btn-white  { background: var(--white); color: var(--teal); }
.btn-white:hover { background: var(--teal-light); }
.btn-ghost  {
  background: transparent;
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,.7);
}
.btn-ghost:hover { background: rgba(255,255,255,.15); border-color: var(--white); }

/* ══ HERO (animation mer turquoise) ══════════════
   Fond CSS animé (mer + ciel)
   Logo image : images/logo.png
 ════════════════════════════════════════════════ */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; text-align: center;
}

/* Fond GIF plein écran */
.hero-gif {
  position: absolute; inset: 0;
  background: url('images/gif-accueil.gif') center center / cover no-repeat;
}

/* Vague SVG bas du hero */
.hero-wave {
  position: absolute; bottom: -2px; left: 0; right: 0; z-index: 1;
}

.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.0) 40%,
    rgba(0,0,0,.2) 100%
  );
}

.hero-content {
  position: relative; z-index: 2;
  display: flex; flex-direction: column;
  align-items: center; gap: 20px;
  padding: 0 24px;
}
/* Logo image centré */
.hero-logo {
  max-width: 300px; width: 50vw;
  filter: drop-shadow(0 3px 16px rgba(0,0,0,.3));
  animation: fadeDown .9s ease both;
}
.hero-tagline {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: clamp(1.1rem, 2.5vw, 1.5rem);
  font-style: italic;
  color: var(--white);
  text-shadow: 0 2px 10px rgba(0,0,0,.4);
  animation: fadeDown .9s .18s ease both;
}
.hero-btn-wrap { animation: fadeDown .9s .35s ease both; }

@keyframes fadeDown {
  from { opacity: 0; transform: translateY(-20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ══ BANDEAU PROMO ════════════════════════════════
   Fond : images/bandeau-fond.jpg
   Tous les textes : couleur #1D738E
 ════════════════════════════════════════════════ */
.promo-banner {
  position: relative;
  padding: 52px 24px;
  text-align: center;
  overflow: hidden;
  background-color: #f4fafd;   /* fallback si image absente */
}
.promo-banner-bg {
  position: absolute; inset: 0;
  background: url('images/bandeau-fond.jpg') center center / cover no-repeat;
}
/* Overlay très léger pour que les textes #1D738E restent lisibles */
.promo-banner-overlay {
  position: absolute; inset: 0;
  background: rgba(255,255,255,.55);
}
.promo-content { position: relative; z-index: 1; }

/* Dates : Jost (≈ Futura), 46px, #1D738E */
.promo-date {
  font-family: 'Jost', 'Futura', 'Trebuchet MS', sans-serif;
  font-size: 46px;
  font-weight: 500;
  color: var(--teal-promo);
  letter-spacing: .04em;
  line-height: 1.1;
  margin-bottom: 6px;
}
/* Offre : Dancing Script, 47px, #1D738E */
.promo-title {
  font-family: 'Dancing Script', cursive;
  font-size: 47px;
  font-weight: 400;
  color: var(--teal-promo);
  line-height: 1.1;
  margin-bottom: 8px;
}
/* Sous-texte : Wix Madefor Text, 18px, #1D738E */
.promo-sub {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--teal-promo);
  margin-bottom: 26px;
}

/* ══ BANDEAU TITRE pages internes ════════════════
   Fond : images/bandeau-fond.jpg
 ════════════════════════════════════════════════ */
.page-banner {
  position: relative;
  height: 94px;
  display: flex; align-items: center; justify-content: flex-start;
  overflow: hidden;
}
.page-banner-bg {
  position: absolute; inset: 0;
  background: url('images/bandeau-fond.jpg') center 40% / cover no-repeat;
}
.page-banner-overlay {
  position: absolute; inset: 0;
  background: rgba(255,255,255,.25);
}
.page-banner-title {
  position: relative; z-index: 1;
  font-family: 'Cookie', cursive;
  font-size: clamp(2.2rem, 5vw, 3.2rem); font-weight: 400;
  color: var(--teal-promo);
  text-shadow: 0 1px 6px rgba(255,255,255,.6);
  padding-left: clamp(0px, 6vw, 100px);
}

/* ══ CADRE "QUI SUIS-JE ?" (À propos) ═══════════
   Remplace le bandeau sur la page À propos.
   Photo : images/jessica-portrait.jpg
 ════════════════════════════════════════════════ */
.quisuisje-frame {
  margin-top: var(--nav-h);
  display: flex;
  align-items: stretch;
  max-width: 1000px;
  margin-left: auto; margin-right: auto;
  margin-bottom: 0;
  border: 2px solid var(--teal-line);
  border-radius: 3px;
  overflow: hidden;
  /* espace après la nav */
  position: relative;
  top: 0;
}
.quisuisje-photo {
  width: 340px; max-width: 100%; flex-shrink: 0;
  overflow: hidden;
}
.quisuisje-photo img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.quisuisje-photo .img-ph {
  width: 100%; height: 100%; min-height: 280px;
  background: var(--teal-light);
  display: flex; align-items: center; justify-content: center;
  color: var(--teal); font-style: italic; font-size: .9rem;
}
.quisuisje-text {
  flex: 1;
  padding: 44px 48px;
  display: flex; flex-direction: column; justify-content: center;
  background: var(--white);
}
.quisuisje-text h2 {
  font-family: 'Dancing Script', cursive;
  font-size: 2.6rem; font-weight: 700;
  color: var(--pink); margin-bottom: 20px;
}
.quisuisje-text p {
  font-family: 'Wix Madefor Text', sans-serif;
  color: var(--text-mid); font-size: .9rem;
  line-height: 1.85; margin-bottom: 12px;
}

/* ══ COLONNE CONTENU ═════════════════════════════ */
.content-col {
  max-width: 920px; margin: 0 auto;
  padding: 44px 52px 64px;
}

/* Bandeau encadré à la largeur du contenu (prestations, faq) */
.banner-framed {
  max-width: calc(920px - 104px); /* aligne avec le texte intérieur du content-col = 816px */
  margin: var(--nav-h) auto 0;
  overflow: hidden;
}
/* Bandeau page À propos : aligné avec les sections bio (max-width 960px, padding 48px) */
.banner-framed--about {
  max-width: calc(960px - 96px); /* = 864px */
}
.banner-framed .page-banner {
  margin-top: 0;
}

/* ══ NOTICE "clientèle féminine" ═════════════════ */
.notice-feminine {
  text-align: center;
  color: var(--red-notice);
  font-weight: 700; font-size: 1rem;
  font-style: italic; margin-bottom: 46px; line-height: 1.5;
}

/* ══ BLOC MASSAGE / FORFAIT / BON CADEAU ══════════ */
.massage-block { margin-bottom: 58px; }
.massage-heading {
  display: flex; align-items: center; gap: 10px; margin-bottom: 10px;
}
.massage-heading .lotus { font-size: 1.5rem; }
.massage-heading h2 {
  font-family: 'Dancing Script', cursive;
  font-size: 2rem; font-weight: 700;
  color: var(--pink); line-height: 1;
}
.massage-desc {
  color: var(--text-mid); font-size: .92rem;
  margin-bottom: 28px; max-width: 100%;
}

/* ══ ITEMS DE PRESTATION ═════════════════════════ */
.presta-item {
  display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start;
  padding: 18px 0; border-bottom: 1px solid var(--teal-line); gap: 16px;
}
.presta-item:last-of-type { border-bottom: none; }
.presta-left { flex: 1; min-width: 0; }
.presta-name  { font-size: .96rem; font-weight: 600; color: var(--teal); margin-bottom: 2px; }
.presta-subdesc { font-size: .82rem; color: var(--text-light); font-style: italic; }
.presta-price { font-size: .94rem; font-weight: 700; color: var(--teal); text-align: right; padding-top: 4px; }
.block-cta { text-align: center; margin-top: 28px; }

/* ══ SECTION GÉNÉRIQUES ══════════════════════════ */
.section-h {
  font-family: 'Dancing Script', cursive;
  font-size: 2.2rem; font-weight: 700;
  color: var(--pink); text-align: center; margin-bottom: 6px;
}
.section-sub {
  text-align: center; color: var(--text-light);
  font-size: .88rem; margin-bottom: 32px;
}

/* ══ FAQ ══════════════════════════════════════════ */
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--teal-line); }
.faq-question {
  width: 100%; background: none; border: none;
  display: flex; justify-content: space-between; align-items: center;
  padding: 20px 0; cursor: pointer;
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .96rem; font-weight: 600;
  color: var(--teal); text-align: left; gap: 16px;
}
.faq-icon {
  width: 26px; height: 26px; flex-shrink: 0;
  border: 1.5px solid var(--teal);
  display: flex; align-items: center; justify-content: center;
  color: var(--teal); font-size: 1.1rem;
  transition: transform .35s, background .2s;
}
.faq-item.open .faq-icon { transform: rotate(45deg); background: var(--teal); color: #fff; }
.faq-answer {
  max-height: 0; overflow: hidden;
  transition: max-height .45s ease;
  color: var(--text-mid); font-size: .9rem; line-height: 1.85;
}
.faq-item.open .faq-answer { max-height: 500px; padding-bottom: 22px; }

/* ══ À PROPOS (sections texte + photo) ══════════ */
.apropos-section {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 56px; align-items: center;
  max-width: 960px; margin: 0 auto 60px;
  padding: 0 48px;
}
.apropos-section.reverse { direction: rtl; }
.apropos-section.reverse > * { direction: ltr; }
.apropos-img { width: 100%; aspect-ratio: 4/3; overflow: hidden; border-radius: 2px; }
.apropos-img img { width: 100%; height: 100%; object-fit: cover; }
.apropos-img .img-ph {
  width: 100%; height: 100%;
  background: var(--teal-light);
  display: flex; align-items: center; justify-content: center;
  color: var(--teal); font-style: italic; font-size: .9rem;
}
.apropos-text h3 {
  font-size: .68rem; font-weight: 700;
  letter-spacing: .26em; text-transform: uppercase;
  color: var(--teal); margin-bottom: 14px;
}
.apropos-text p {
  font-family: 'Wix Madefor Text', sans-serif;
  color: var(--teal); font-size: 15px;
  margin-bottom: 14px; line-height: 1.85;
}
.apropos-text ul { padding-left: 20px; margin-bottom: 14px; }
.apropos-text ul li {
  font-family: 'Wix Madefor Text', sans-serif;
  color: var(--teal); font-size: 15px; margin-bottom: 6px;
}

/* Titre de section "lotus + Dancing Script" – À propos */
.apropos-heading {
  display: flex; align-items: center; gap: 10px; margin-bottom: 8px;
}
.apropos-heading .lotus { font-size: 1.4rem; }
.apropos-heading h2 {
  font-family: 'Dancing Script', cursive;
  font-size: 2rem; font-weight: 700;
  color: var(--teal); line-height: 1;
}
.apropos-divider {
  border: none;
  border-top: 1px solid var(--teal-line);
  margin: 10px 0 18px;
}
.apropos-subtitle {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: 15px; color: var(--teal);
  font-weight: 700; margin-bottom: 14px; line-height: 1.7;
}

/* Bio "Qui suis-je ?" : texte gauche + photo droite */
.apropos-bio-layout {
  display: grid; grid-template-columns: 1fr 360px;
  gap: 56px; align-items: start;
  max-width: 960px; margin: 56px auto 0;
  padding: 0 48px;
}
.apropos-bio-text p {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: 15px; color: var(--teal);
  line-height: 1.85; margin-bottom: 14px;
}
.apropos-bio-photo {
  border-radius: 3px; overflow: hidden;
}
.apropos-bio-photo img {
  width: 100%; display: block; object-fit: cover;
}

/* Texte conclusif centré – Dancing Script */
.apropos-closing-wrap {
  max-width: 700px; margin: 48px auto 56px;
  padding: 0 40px; text-align: center;
}
.apropos-closing {
  font-family: 'Dancing Script', cursive;
  font-size: 22px; color: #1D738E;
  line-height: 1.7; display: block; margin-bottom: 4px;
}
.apropos-closing-sig {
  font-family: 'Dancing Script', cursive;
  font-size: 28px; color: #1D738E;
  display: block; margin-top: 10px;
}

.location-block {
  max-width: 920px; margin: 0 auto;
  padding: 40px 52px;
  border: 1px solid var(--teal-line); border-radius: 2px;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 40px; align-items: start;
}
.location-block h2 {
  font-family: 'Jost', 'Futura', 'Trebuchet MS', sans-serif;
  font-size: 2rem; font-weight: 500;
  color: var(--teal); margin-bottom: 16px;
}
.location-block p { font-size: .9rem; color: var(--text-mid); margin-bottom: 10px; }
.location-block a { color: var(--teal); }
.location-block a.btn-teal { color: var(--white) !important; }
.map-frame { width: 100%; height: 280px; border: 0; display: block; border-radius: 2px; }

/* ══ FOOTER ══════════════════════════════════════
   Fond : #3FA5C4
   Titre : Cookie 50px
   Corps : Wix Madefor Text
   Logos : Facebook bleu, Instagram gradient
 ════════════════════════════════════════════════ */
footer {
  background: #1a6474;
  color: var(--white);
  padding: 48px 40px 28px;
}
.footer-inner {
  max-width: 960px; margin: 0 auto;
  display: grid; grid-template-columns: 1.4fr 1fr;
  gap: 44px; margin-bottom: 36px; align-items: stretch;
}
.footer-title {
  font-family: 'Cookie', cursive;
  font-size: 50px; line-height: 1;
  color: var(--white); margin-bottom: 0;
}
/* Trait entre le titre et les coordonnées */
.footer-hr {
  border: none;
  border-top: 1px solid rgba(255,255,255,.4);
  margin: 14px 0 16px;
}
.footer-contact p {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .95rem;    /* adresse un peu plus grande */
  opacity: .9; line-height: 2;
}
.footer-contact a {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .9rem; opacity: .88;
  transition: opacity .2s;
}
.footer-contact a:hover { opacity: 1; text-decoration: underline; }

/* Titre + logos côte à côte */
.footer-title-row {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}

/* Logos sociaux en vraies couleurs */
.footer-social { display: flex; gap: 12px; margin-top: 0; }
.footer-social a {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  transition: opacity .2s;
}
.footer-social a:hover { opacity: .85; }
.footer-social a.fb-link { background: #1877F2; }
.footer-social a.ig-link {
  background: linear-gradient(45deg,
    #f09433 0%, #e6683c 25%,
    #dc2743 50%, #cc2366 75%, #bc1888 100%);
}
.footer-social svg { width: 20px; height: 20px; fill: #fff; }

/* Colonnes "Pages" — dernier lien aligné avec l'email */
.footer-nav-cols {
  grid-column: 2;
  display: flex; flex-direction: column; justify-content: flex-end;
}
/* Labels h4 supprimés */
.footer-links-col h4 { display: none; }
.footer-links-col { }
.footer-links-col ul { list-style: none; }
.footer-links-col ul li { margin-bottom: 4px; }
.footer-links-col ul a {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .86rem; opacity: .8; transition: opacity .2s;
}
.footer-links-col ul a:hover { opacity: 1; }


.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.22);
  padding-top: 16px; max-width: 960px; margin: 0 auto;
}
.footer-bottom-inner {
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px;
}
.footer-bottom-inner > p {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .76rem; opacity: .55;
}
.footer-legal-links {
  display: flex; gap: 20px; flex-wrap: wrap;
}
.footer-legal-links a {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .82rem; opacity: .75; transition: opacity .2s;
}
.footer-legal-links a:hover { opacity: 1; }

/* ══ EN-TÊTE PAGES LÉGALES ════════════════════════ */
.page-hero {
  margin-top: var(--nav-h);
  padding: 48px 52px 32px;
}
.page-hero h1 {
  font-family: 'Jost', 'Futura', sans-serif;
  font-size: 2rem; font-weight: 500;
  color: var(--teal);
}

/* ══ AVIS GOOGLE ═════════════════════════════════ */
/* ── Bandeaux présentation accueil ── */
.intro-band {
  padding: 96px 24px;
  text-align: center;
  background: #ffffff;
}
.intro-band + .intro-band {
  border-top: 1px solid #b0dcea;
}
.intro-band--cream { background: #faf7f2; }

.intro-band-inner {
  max-width: 560px;
  margin: 0 auto;
}

.intro-band-title {
  font-family: 'Dancing Script', cursive !important;
  font-size: 2.6rem;
  font-weight: 700;
  color: #d4587a;
  line-height: 1.2;
  margin-bottom: 20px;
}

.intro-band-rule {
  width: 56px;
  height: 2px;
  background: #C8952A;
  margin: 0 auto 36px;
  border-radius: 1px;
}

.intro-band-text {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .94rem;
  color: #555555;
  line-height: 2;
  margin: 0;
}

.intro-band-cta {
  display: inline-block;
  margin-top: 36px;
}

@media (max-width: 600px) {
  .intro-band { padding: 72px 24px; }
  .intro-band-title { font-size: 2rem; }
}

.reviews-section {
  padding: 72px 0;
  background: #f9f6f2;
  overflow: hidden;
}
.reviews-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}
.reviews-header {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.reviews-google-badge {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #fff;
  border-radius: 14px;
  padding: 16px 22px;
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
  flex-shrink: 0;
}
.reviews-google-icon { width: 32px; height: 32px; }
.reviews-score {
  font-family: 'Jost', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--teal-dark);
  line-height: 1;
}
.reviews-stars {
  color: #fbbc04;
  font-size: 1rem;
  letter-spacing: 2px;
  margin: 3px 0;
}
.reviews-count {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .8rem;
  color: #888;
}
.reviews-title {
  font-family: 'Dancing Script', cursive;
  font-size: 2.4rem;
  color: var(--teal-dark);
  margin: 0;
}

/* Carrousel */
.reviews-carousel {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  margin-bottom: 40px;
  /* fondu sur les bords */
  mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}
@keyframes scroll-reviews {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.reviews-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  padding: 16px 0;
  width: max-content;
  will-change: transform;
  animation: scroll-reviews 40s linear infinite;
}
.reviews-track:hover {
  animation-play-state: paused;
}
.review-card {
  background: transparent;
  padding: 4px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 280px;
  flex-shrink: 0;
}
.review-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
}
.review-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: var(--teal);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Jost', sans-serif;
  font-size: 1rem; font-weight: 600;
  color: #fff;
}
.review-author-info { flex: 1; min-width: 0; }
.review-name {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .88rem;
  font-weight: 700;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.review-stars {
  color: #fbbc04;
  font-size: .85rem;
  letter-spacing: 1px;
  margin-top: 2px;
}
.review-text {
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .85rem;
  color: #555;
  line-height: 1.6;
  flex: 1;
}
.reviews-cta { text-align: center; }

@media (max-width: 860px) {
  .reviews-header { gap: 20px; }
  .reviews-title { font-size: 1.8rem; }
  .review-card { width: 240px; }
}

/* ══ REVEAL AU SCROLL ════════════════════════════ */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-d1 { transition-delay: .12s; }
.reveal-d2 { transition-delay: .24s; }
.reveal-d3 { transition-delay: .36s; }

/* ══ RESPONSIVE ══════════════════════════════════ */
@media (max-width: 860px) {
  nav { padding: 0 20px; grid-template-columns: 1fr auto auto; gap: 0 12px; }
  .hamburger { grid-column: 3; grid-row: 1; }
  .nav-right { grid-column: 2; grid-row: 1; justify-self: end; }
  .nav-links {
    display: none; flex-direction: column; position: fixed;
    top: var(--nav-h); left: 0; right: 0;
    background: var(--white); padding: 24px 20px;
    border-bottom: 1px solid #d0edf5; gap: 20px;
  }
  .nav-links a { color: var(--teal) !important; font-weight: 500; }
  .nav-links.open { display: flex; }
  .hamburger { display: flex; }
  .content-col { padding: 30px 20px 48px; border-left: none; border-right: none; }
  .apropos-section,
  .apropos-section.reverse { grid-template-columns: 1fr; direction: ltr; padding: 0 20px; }
  .location-block { grid-template-columns: 1fr; padding: 28px 20px; }
  .footer-inner { grid-template-columns: 1fr; gap: 28px; }
  .footer-nav-cols { grid-column: 1; }
  .footer-title { font-size: clamp(26px, 8vw, 38px); }
  .hero-logo { max-width: 280px; }
  .quisuisje-frame { flex-direction: column; margin-top: var(--nav-h); }
  .quisuisje-photo { width: 100%; height: 220px; }
  .quisuisje-text { padding: 28px 24px; }
  .apropos-bio-layout { grid-template-columns: 1fr; padding: 0 20px; }
  .apropos-bio-photo { max-height: 320px; }
  .promo-date  { font-size: clamp(20px, 6vw, 28px); }
  .promo-title { font-size: clamp(22px, 7vw, 30px); }
  .promo-sub   { font-size: 15px; }
}

/* SEO/accessibilité : titre descriptif pour lecteurs d’écran et moteurs */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* ══ PRESTATIONS — boutons inline sur les items ═════════════ */
.presta-price-row {
  display: flex; align-items: center; gap: 12px;
  flex-shrink: 0;
}
.btn-sm {
  padding: 8px 18px !important;
  font-size: .78rem !important;
  white-space: nowrap;
}
.btn-gift {
  background: transparent;
  border: 1.5px solid var(--teal);
  color: var(--teal);
  border-radius: 2px;
  padding: 8px 18px;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.btn-gift:hover {
  background: var(--teal);
  color: #fff;
}
.btn-full { width: 100%; justify-content: center; }
.btn-spinner {
  display: inline-block;
  width: 16px; height: 16px;
  border: 2px solid rgba(255,255,255,.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin .7s linear infinite;
  vertical-align: middle;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ══ MODALE COMMANDE ═════════════════════════════════════════ */
.modal-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(0,0,0,.45);
  align-items: center; justify-content: center;
  padding: 20px;
}
.modal-overlay.open { display: flex; }
.modal-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 48px rgba(0,0,0,.18);
  padding: 40px 36px;
  max-width: 480px; width: 100%;
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
}
.modal-close {
  position: absolute; top: 14px; right: 16px;
  background: none; border: none;
  font-size: 1.2rem; color: #999;
  cursor: pointer; padding: 4px 8px;
  line-height: 1;
}
.modal-close:hover { color: #333; }
.modal-label {
  font-size: .75rem; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--teal); margin: 0 0 4px;
}
.modal-product {
  font-size: 1rem; font-weight: 600;
  color: var(--teal-dark); margin-bottom: 2px;
}
.modal-price {
  font-size: 1.5rem; font-weight: 700;
  color: var(--teal-dark); margin-bottom: 24px;
}
.modal-section-title {
  font-size: .78rem; font-weight: 700;
  letter-spacing: .07em; text-transform: uppercase;
  color: #888; margin: 20px 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid #eee;
}
.form-row { margin-bottom: 14px; }
.form-row label {
  display: block;
  font-size: .83rem; font-weight: 600;
  color: #444; margin-bottom: 5px;
}
.form-row input,
.form-row select,
.form-row textarea {
  width: 100%; box-sizing: border-box;
  border: 1.5px solid #d0d8df;
  border-radius: 4px;
  padding: 10px 12px;
  font-family: 'Wix Madefor Text', sans-serif;
  font-size: .93rem;
  color: #222;
  transition: border-color .2s;
  background: #fff;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
  outline: none;
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(29,115,142,.10);
}
.form-row textarea { resize: vertical; min-height: 72px; }
.form-hint { display: block; font-size: .76rem; color: #888; margin-top: 4px; }
.radio-group { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.radio-option { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: .92rem; color: #333; padding: 6px 10px; border-radius: 6px; border: 1px solid #e0e0e0; transition: border-color .15s, background .15s; }
.radio-option:has(input:checked) { border-color: #2a7f8a; background: #f0f9fa; }
.radio-option input[type="radio"] { accent-color: #2a7f8a; width: 15px; height: 15px; flex-shrink: 0; }
.req { color: #c0392b; }
.modal-legal {
  font-size: .78rem; color: #999;
  line-height: 1.55; margin: 16px 0 14px;
}
.form-error {
  background: #fef0f0;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  color: #c0392b;
  font-size: .85rem;
  padding: 10px 14px;
  margin-bottom: 12px;
}

@media (max-width: 860px) {
  .presta-price-row { flex-direction: column; align-items: flex-end; gap: 8px; }
  .modal-card { padding: 28px 18px; }
}

.form-row-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 480px) {
  .form-row-split { grid-template-columns: 1fr; }
}


/* ══════════════════════════════════════════════
   ESCALES — mise en page article
   ══════════════════════════════════════════════ */

/* Lien "Retour" intégré dans la col gauche */
.escale-back {
  display: none; /* masqué — le lien est dans escale-left */
}

/* Page escale : flux normal (footer visible), débute juste sous la nav */
.escale-page {
  margin-top: var(--nav-h, 68px);
  min-height: calc(100vh - var(--nav-h, 68px));
  display: flex;
  flex-direction: column;
}

/* ── Zone principale 3 colonnes ── */
.escale-main {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 200px 1fr 260px;
  overflow: hidden;
}

/* Col gauche : lien retour + méta */
.escale-left {
  padding: 4px 14px 8px 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
}
.escale-back-link {
  font-size: .75rem;
  color: var(--teal-deep, #167184);
  text-decoration: none;
  margin-bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  opacity: .8;
  transition: opacity .2s;
}
.escale-back-link:hover { opacity: 1; text-decoration: underline; }
.escale-num-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--teal-deep, #167184);
  margin: 0 0 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.escale-num-label::after {
  content: '';
  display: inline-block;
  width: 18px; height: 1px;
  background: var(--gold, #C8952A);
  opacity: .6;
}
.escale-meta-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex; flex-direction: column;
  gap: 7px;
}
.escale-meta-list li {
  display: flex; align-items: center;
  gap: 7px;
  font-size: .70rem;
  color: var(--text-light,#666);
}
.escale-meta-ico { font-size: .76rem; }

/* Col centre : titre + texte (flex colonne) */
.escale-center {
  padding: 4px 20px 8px 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
}
.escale-main-title {
  font-family: 'Dancing Script', cursive;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--teal-deep, #167184);
  margin: 0 0 4px;
  line-height: 1.2;
  flex-shrink: 0;
}
/* Séparateur doré décoratif sous le titre */
.escale-title-sep {
  flex-shrink: 0;
  display: block;
  color: var(--gold, #C8952A);
  font-size: .78rem;
  letter-spacing: .25em;
  margin: 0 0 6px;
  opacity: .7;
}
.escale-body {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  font-size: .73rem;
  line-height: 1.5;
  color: var(--text,#333);
}
.escale-body p         { margin: 0 0 .5em; }
.escale-body p:last-child { margin-bottom: 0; }
.escale-body h3        { font-size: .80rem; font-weight: 700; margin: .5em 0 .25em; }
.escale-body ol,
.escale-body ul        { margin: 0 0 .4em; padding-left: 1.2em; }
.escale-body li        { margin-bottom: .18em; }
.escale-body .ol-2col  { columns: 2; column-gap: 1.2em; }

/* Col droite : image seule (flex:1), citation déplacée en barre basse */
.escale-right {
  padding: 0 16px 8px 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.escale-image-ph,
.escale-right img {
  width: 100%;
  flex: 1;
  min-height: 0;
  max-height: 255px;
  margin-top: 44px;
  border-radius: 8px;
  object-fit: cover;
  display: block;
}

/* Citation dans la barre basse (alignée sous la col image) */
.escale-citation {
  grid-column: 3;
  grid-row: 2;
  padding: 4px 8px;
  align-self: center;
}
.escale-citation blockquote {
  font-family: 'Dancing Script', cursive;
  font-style: italic;
  font-size: .98rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--teal-deep, #167184);
  margin: 0 0 4px;
  padding: 0; border: none;
  position: relative;
}
.escale-citation blockquote::before {
  content: '\201C';
  font-size: 2.4rem;
  line-height: .4;
  color: var(--gold, #C8952A);
  opacity: .5;
  display: block;
  margin-bottom: 4px;
  font-family: Georgia, serif;
}
.escale-citation cite {
  font-size: .68rem;
  color: var(--text-light, #888);
  font-style: normal;
  letter-spacing: .04em;
}

/* ── Barre basse : À retenir + cartes ──
   Grille 2 lignes : ligne 1 = libellé "Déjà explorées…", ligne 2 = À retenir / cartes / citation.
   .escale-cards-wrap passe en display:contents pour que son libellé et son strip
   deviennent chacun une cellule de grille indépendante (le libellé ne pousse plus
   la hauteur de la ligne 2, donc "À retenir" et les cartes gardent la même hauteur). */
.escale-bottom-bar {
  flex-shrink: 0;
  display: grid;
  grid-template-columns: 380px 1fr 220px;
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 6px;
  padding: 0 24px 8px 24px;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
}
.escale-cards-header {
  grid-column: 2;
  grid-row: 1;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--teal-deep, #167184);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.escale-cards-header::after {
  content: '';
  display: inline-block;
  width: 18px; height: 1px;
  background: var(--gold, #C8952A);
  opacity: .6;
}
.escale-retenir {
  grid-column: 1;
  grid-row: 2;
  padding: 7px 10px 7px 8px;
  border: 1px solid rgba(22,113,132,.30);
  border-radius: 10px;
  background: rgba(22,113,132,.04);
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 8px;
}
.escale-retenir-icon {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border: 1.5px solid rgba(22,113,132,.35);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .95rem;
}
.escale-retenir-body { flex: 1; min-width: 0; }
.escale-retenir h3 {
  font-size: .68rem;
  font-weight: 700;
  color: var(--teal-deep, #167184);
  margin: 0 0 4px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.escale-retenir p {
  font-size: .68rem;
  line-height: 1.45;
  color: var(--text,#333);
  margin: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

/* Wrapper cartes : s'efface pour que header et strip deviennent des cellules de grille directes */
.escale-cards-wrap {
  display: contents;
}
/* Cartes des autres escales */
.escale-cards-strip {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  align-items: stretch;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(22,113,132,.3) transparent;
}
.escale-card-mini {
  flex-shrink: 0;
  width: 128px;
  border: 1px solid #e8e0d6;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  scroll-snap-align: start;
  position: relative;
}
.escale-card-mini:hover {
  border-color: var(--teal-deep, #167184);
  box-shadow: 0 2px 12px rgba(22,113,132,.12);
}
.ecm-img  {
  flex: none;
  width: 100%;
  height: 62px;
  display: block;
  object-fit: cover;
}
.ecm-body {
  padding: 8px 8px 10px;
  flex-shrink: 0;
}
.ecm-num  {
  font-size: .58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: var(--teal-deep, #167184);
  margin-bottom: 1px;
}
.ecm-title {
  font-family: 'Dancing Script', cursive;
  font-size: .82rem;
  font-weight: 600;
  color: var(--teal-deep, #167184);
  line-height: 1.25;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

.escale-strip { display: none; }


/* ══ PAGE ESCALES — CARNET ════════════════════════════ */

.carnet-intro {
  padding: calc(var(--nav-h) + 14px) 24px 10px;
  text-align: center;
}
.carnet-heading {
  font-family: 'Dancing Script', cursive;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 700;
  color: var(--teal-deep, #167184);
  line-height: 1.2;
  margin: 0;
}

.carnet-section {
  padding: 16px 16px 24px;
  display: flex;
  justify-content: center;
}

/* ── Cadre image carnet ── */
.nb-frame {
  width: 100%;
  max-width: 820px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.nb-aspect {
  flex: 1;
  min-width: 0;
  position: relative;
  /* Fondu des bords */
  -webkit-mask-image:
    linear-gradient(to right,  transparent 0%, black 9%, black 91%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 7%, black 93%, transparent 100%);
  -webkit-mask-composite: destination-in;
  mask-image:
    linear-gradient(to right,  transparent 0%, black 9%, black 91%, transparent 100%),
    linear-gradient(to bottom, transparent 0%, black 7%, black 93%, transparent 100%);
  mask-composite: intersect;
}

.nb-bg {
  width: 100%;
  height: auto;
  max-height: 72vh;
  display: block;
  pointer-events: none;
  user-select: none;
}

/* ── Zones de texte superposées sur les pages ── */
.nb-overlay {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 16px;
  gap: 14px;
  transition: opacity 0.4s ease;
}

/* Calées sur les pages blanches du carnet (% de l'image entière) */
.nb-overlay--left  { top: 16%; bottom: 38%; left: 10%; right: 53%; }
.nb-overlay--right { top: 16%; bottom: 25%; left: 54%; right: 10%; }

.nb-overlay.is-fading { opacity: 0; }

/* ── Typographie ── */
.nb-label {
  font-family: 'Jost', sans-serif;
  font-size: clamp(0.38rem, 0.7vw, 0.48rem);
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold, #C8952A);
  opacity: .85;
  margin: 0;
}

.nb-title {
  font-family: 'Dancing Script', cursive;
  font-size: clamp(0.68rem, 1.3vw, 1.0rem);
  font-weight: 700;
  color: #2a1c08;
  line-height: 1.25;
  margin: 0;
  text-wrap: balance;
}

.nb-cta {
  display: inline-block;
  font-family: 'Jost', sans-serif;
  font-size: clamp(0.38rem, 0.65vw, 0.5rem);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--teal-deep, #167184);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
  opacity: .7;
  transition: opacity .2s;
}
.nb-cta:hover { opacity: 1; }

/* ── Flèches de navigation latérales ── */
.nb-arrow {
  flex-shrink: 0;
  width: 28px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.6rem;
  line-height: 1;
  color: rgba(22,113,132,.38);
  transition: color .2s, transform .15s;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nb-arrow:hover  { color: rgba(22,113,132,.8); transform: scale(1.2); }
.nb-arrow[disabled] { opacity: 0; pointer-events: none; }

/* ── Responsive mobile ── */
@media (max-width: 640px) {
  .carnet-section { padding: 12px 8px 20px; }
  .nb-frame { gap: 6px; max-width: 100%; }
  .nb-overlay { padding: 6px; gap: 6px; }
  .nb-overlay--left  { top: 14%; bottom: 42%; left: 9%; right: 54%; }
  .nb-overlay--right { top: 14%; bottom: 26%; left: 55%; right: 9%; }
  .nb-arrow { font-size: 1.3rem; width: 22px; }
}
@media (max-width: 768px) {
  .escale-page { min-height: auto; }
  .escale-main { display: block; overflow: visible; }
  .escale-left, .escale-center, .escale-right { padding: 12px 16px; overflow: visible; }
  .escale-body, .escale-right { min-height: auto; }
  .escale-image-ph, .escale-right img { height: 200px; flex: none; width: 100%; margin-top: 0; }
  .escale-bottom-bar { display: flex; flex-direction: column; height: auto; padding: 12px 16px; }
  .escale-retenir { width: auto; }
  .escale-cards-strip { overflow-x: auto; }
}

/* ══ Cookie Consent Banner ═══════════════════════ */
#cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9999;
  background: rgba(22, 38, 40, .97);
  backdrop-filter: blur(4px);
  border-top: 1px solid rgba(255,255,255,.1);
}
.cookie-banner-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.cookie-banner-text {
  flex: 1;
  min-width: 200px;
  font-size: 13px;
  color: rgba(255,255,255,.82);
  line-height: 1.55;
  margin: 0;
}
.cookie-banner-link {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookie-banner-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.cookie-btn {
  padding: 8px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-family: inherit;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: opacity .2s;
  line-height: 1;
}
.cookie-btn:hover { opacity: .82; }
.cookie-btn-refuse {
  background: transparent;
  color: rgba(255,255,255,.7);
  border: 1px solid rgba(255,255,255,.3);
}
.cookie-btn-accept {
  background: var(--gold);
  color: #fff;
}
#reviews-consent-wall {
  padding: 28px 16px;
  text-align: center;
}
.reviews-consent-msg {
  font-size: 14px;
  color: var(--text-mid);
  margin-bottom: 16px;
}
@media (max-width: 540px) {
  .cookie-banner-inner { padding: 12px 16px; gap: 12px; }
  .cookie-banner-actions { width: 100%; justify-content: flex-end; }
}
