/* Fonts (self-hosted, da DEPLAY_V2) */
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-9e1d49c6.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-339584fd.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-79856d13.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-f0617d83.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-8152da1d.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-9e1d49c6.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-339584fd.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-79856d13.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-f0617d83.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: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-8152da1d.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-13cda61b.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-49dc6a6d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-57b7a150.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-749f534c.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-8fc4999c.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-13cda61b.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-49dc6a6d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-57b7a150.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-749f534c.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-8fc4999c.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/font-13cda61b.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/font-49dc6a6d.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/font-57b7a150.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/font-749f534c.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: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/font-8fc4999c.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: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-15560a92.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: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-40727a99.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: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-6769ba53.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: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-6c2a2ae1.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: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-9d0e2bd8.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-7f24e52a.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: 400;
  font-display: swap;
  src: url("/assets/fonts/font-f678ba9e.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: 400;
  font-display: swap;
  src: url("/assets/fonts/font-ef1385b3.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: 400;
  font-display: swap;
  src: url("/assets/fonts/font-c0345ad3.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: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/font-7bee57cf.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-7f24e52a.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: 500;
  font-display: swap;
  src: url("/assets/fonts/font-f678ba9e.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: 500;
  font-display: swap;
  src: url("/assets/fonts/font-ef1385b3.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: 500;
  font-display: swap;
  src: url("/assets/fonts/font-c0345ad3.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: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/font-7bee57cf.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: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/font-7f24e52a.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: 600;
  font-display: swap;
  src: url("/assets/fonts/font-f678ba9e.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: 600;
  font-display: swap;
  src: url("/assets/fonts/font-ef1385b3.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: 600;
  font-display: swap;
  src: url("/assets/fonts/font-c0345ad3.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: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/font-7bee57cf.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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/font-7f24e52a.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: 700;
  font-display: swap;
  src: url("/assets/fonts/font-f678ba9e.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: 700;
  font-display: swap;
  src: url("/assets/fonts/font-ef1385b3.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: 700;
  font-display: swap;
  src: url("/assets/fonts/font-c0345ad3.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: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/font-7bee57cf.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: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/font-7f24e52a.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: 800;
  font-display: swap;
  src: url("/assets/fonts/font-f678ba9e.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: 800;
  font-display: swap;
  src: url("/assets/fonts/font-ef1385b3.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: 800;
  font-display: swap;
  src: url("/assets/fonts/font-c0345ad3.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: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/font-7bee57cf.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;
}


/* ---------- SELF-HOSTED BRAND FONTS (uploaded by client) ---------- */
@font-face {
  font-family: 'Rouge Script';
  src: url("/assets/fonts/font-18982f8d.ttf") format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Lemon Splash';
  src: url("/assets/fonts/font-8d923d5c.otf") format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}


:root {
  /* ---------- BRAND PALETTE ---------- */
  /* Limone — the lemon yellow that fills the bottle. Hero color. */
  --limone:        #EBD21C;   /* primary brand yellow */
  --limone-bright: #F6E04A;   /* highlight / sunlit */
  --limone-deep:   #C9B200;   /* shadow / pressed */
  --limone-soft:   #FBF1A6;   /* tints, washes, hovers */

  /* Cobalto — the deep royal blue of the cap & tile cores. */
  --cobalto:       #0B3082;
  --cobalto-deep:  #07235F;

  /* Maiolica — the steel/denim blue of the wordmark, script & scrollwork ink. */
  --maiolica:      #3C6A9C;
  --maiolica-deep: #2C527B;
  --maiolica-soft: #9CBBD6;   /* highlights in the tilework */

  /* Foglia — the sage-green of the watercolor lemon leaves. */
  --foglia:        #6E9A46;
  --foglia-deep:   #4F7531;

  /* Neutrals — warm cream of the tile ground & paper. */
  --panna:         #FBF9F2;   /* page background, warm off-white */
  --crema:         #F4EEDD;   /* card / panel ground */
  --crema-line:    #E6DCC4;   /* hairline borders on cream */
  --bianco:        #FFFFFF;   /* pure label white */

  /* Ink — near-black navy for body text (never pure #000). */
  --inchiostro:    #16243C;
  --inchiostro-2:  #4A586E;   /* secondary text */
  --inchiostro-3:  #8C96A6;   /* tertiary / captions */

  /* ---------- SEMANTIC ROLES ---------- */
  --fg1: var(--inchiostro);
  --fg2: var(--inchiostro-2);
  --fg3: var(--inchiostro-3);
  --bg1: var(--panna);
  --bg2: var(--crema);
  --accent: var(--cobalto);
  --accent-ink: var(--maiolica);
  --line: var(--crema-line);

  /* ---------- TYPE FAMILIES ---------- */
  /* Geometric sans — wordmark, UI, labels. (subs for proprietary LELLA mark) */
  --font-sans: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  /* Formal script — the "Limoncello" calligraphy accent. (brand font) */
  --font-script: 'Rouge Script', 'Snell Roundhand', cursive;
  /* Casual signature — "Product of Italy" small flourishes. (brand font) */
  --font-hand: 'Lemon Splash', 'Sacramento', cursive;
  /* Editorial serif — long-form story & romantic headlines. */
  --font-serif: 'Cormorant Garamond', 'Hoefler Text', Georgia, serif;

  /* ---------- TYPE SCALE (clamped, fluid) ---------- */
  --t-wordmark: 700 clamp(2rem, 5vw, 4rem)/0.95 var(--font-sans);
  --t-script-xl: 400 clamp(3rem, 7vw, 6rem)/0.9 var(--font-script);
  --t-script: 400 clamp(2rem, 4vw, 3.25rem)/1 var(--font-script);
  --t-display: 500 clamp(2.4rem, 5vw, 4.2rem)/1.05 var(--font-serif);
  --t-h1: 600 clamp(1.9rem, 3.4vw, 2.8rem)/1.1 var(--font-serif);
  --t-h2: 600 1.5rem/1.2 var(--font-sans);
  --t-h3: 600 1.125rem/1.3 var(--font-sans);
  --t-body: 400 1.0625rem/1.65 var(--font-sans);
  --t-body-serif: 400 1.25rem/1.6 var(--font-serif);
  --t-small: 500 0.875rem/1.5 var(--font-sans);
  --t-eyebrow: 600 0.75rem/1 var(--font-sans);  /* pair w/ tracking below */

  /* Tracking */
  --track-wordmark: 0.16em;   /* L E L L A is widely spaced */
  --track-eyebrow: 0.28em;
  --track-tight: -0.01em;

  /* ---------- SPACING (8px base) ---------- */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px;
  --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px;

  /* ---------- RADII ---------- */
  --r-sm: 4px;
  --r-md: 8px;
  --r-lg: 14px;
  --r-pill: 999px;
  /* The label uses a crisp thin frame, not soft cards — keep radii restrained. */

  /* ---------- SHADOWS / ELEVATION ---------- */
  --shadow-sm: 0 1px 2px rgba(22,36,60,0.08);
  --shadow-md: 0 8px 24px -8px rgba(22,36,60,0.18);
  --shadow-lg: 0 24px 60px -20px rgba(11,48,130,0.30);
  /* "Frame" elevation: the brand's signature is a hairline keyline, not a blur. */
  --frame: 1.5px solid var(--bianco);
  --frame-blue: 1.5px solid var(--maiolica);
}

/* ============================================================
   SEMANTIC ELEMENT DEFAULTS
   ============================================================ */
.lella-wordmark {
  font: var(--t-wordmark);
  letter-spacing: var(--track-wordmark);
  color: var(--maiolica);
  text-transform: uppercase;
}
.lella-script   { font: var(--t-script); color: var(--maiolica); }
.lella-script-xl{ font: var(--t-script-xl); color: var(--maiolica); }
.lella-hand     { font: 400 1.5rem/1 var(--font-hand); color: var(--maiolica); }

h1.lella, .lella-display { font: var(--t-display); color: var(--inchiostro); letter-spacing: var(--track-tight); }
h2.lella { font: var(--t-h1); color: var(--inchiostro); }
h3.lella { font: var(--t-h2); color: var(--inchiostro); }

.lella-eyebrow {
  font: var(--t-eyebrow);
  letter-spacing: var(--track-eyebrow);
  text-transform: uppercase;
  color: var(--cobalto);
}
p.lella { font: var(--t-body); color: var(--fg2); }
.lella-lead { font: var(--t-body-serif); color: var(--fg1); font-style: italic; }
.lella-small { font: var(--t-small); color: var(--fg3); }


/* ============================================================
   LELLA — layout statico (porting fedele dei componenti React V2)
   Breakpoint mobile: 820px (come useIsMobile)
   ============================================================ */
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--panna); }
a { text-decoration: none; color: inherit; }
::selection { background: var(--limone); color: var(--maiolica); }
img { max-width: none; }
.ico { display: inline-flex; flex-shrink: 0; }

/* ---------- bottoni ---------- */
.btn { display: inline-block; font: 600 14px var(--font-sans); letter-spacing: .03em;
  border-radius: 999px; padding: 14px 28px; cursor: pointer; border: 1.5px solid transparent;
  transition: all .2s ease; text-align: center; }
.btn-primary { background: var(--cobalto); color: #fff; }
.btn-primary:hover { background: var(--cobalto-deep); }
.btn-secondary { background: var(--limone); color: var(--maiolica); border-color: var(--limone-deep); }
.btn-secondary:hover { background: var(--limone-bright); }
.btn-ghost { background: transparent; color: var(--maiolica); border-color: var(--maiolica); }
.btn-ghost:hover { background: var(--maiolica); color: #fff; }

/* ---------- eyebrow ---------- */
.eyebrow { font: 600 12px var(--font-sans); letter-spacing: .28em; text-transform: uppercase; color: var(--cobalto); }
.eyebrow.inline { display: inline-block; }

/* ---------- wordmark ---------- */
.wm { display: inline-flex; flex-direction: column; align-items: center; line-height: 1; cursor: pointer; }
.wm-logo { display: block; background: var(--maiolica);
  -webkit-mask-image: url('/assets/img/logoSvg.svg'); mask-image: url('/assets/img/logoSvg.svg');
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center; }
.wm-script { font: 23.1px var(--font-script); color: var(--maiolica); line-height: .6; margin-top: 4.84px; }
.wm-nav .wm-logo { width: 94.16px; height: 22px; }
.wm-foot .wm-logo { width: 111.28px; height: 26px; background: var(--limone); }
.wm-foot .wm-script { font-size: 27.3px; margin-top: 5.72px; color: var(--limone); }
@media (max-width: 820px) {
  .wm-nav .wm-logo { width: 77.04px; height: 18px; }
  .wm-nav .wm-script { font-size: 18.9px; margin-top: 3.96px; }
}

/* ---------- topbar ---------- */
.topbar { position: sticky; top: 0; z-index: 30; background: rgba(251,249,242,.96);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
.topbar-in { max-width: 1180px; margin: 0 auto; padding: 14px 32px; display: flex; align-items: center; justify-content: space-between; }
.nav-desk { display: flex; gap: 34px; }
.nav-link { cursor: pointer; font: 600 13px var(--font-sans); letter-spacing: .06em; text-transform: uppercase;
  color: var(--maiolica); padding-bottom: 4px; border-bottom: 2px solid transparent; }
.nav-link.on { color: var(--cobalto); border-bottom-color: var(--cobalto); }
.topbar-right { display: flex; align-items: center; gap: 18px; }
.menu-btn { display: none; border: 0; background: transparent; cursor: pointer; color: var(--maiolica); align-items: center; padding: 4px; }
.menu-ico-close { display: none; }
.topbar.open .menu-ico-open { display: none; }
.topbar.open .menu-ico-close { display: inline-flex; }
.nav-mobile { display: none; border-top: 1px solid var(--line); background: rgba(251,249,242,.98);
  padding: 4px 18px 14px; flex-direction: column; }
.topbar.open .nav-mobile { display: flex; }
.mnav-link { cursor: pointer; font: 600 15px var(--font-sans); letter-spacing: .06em; text-transform: uppercase;
  color: var(--maiolica); padding: 15px 0; border-bottom: 1px solid var(--line); }
.mnav-link.on { color: var(--cobalto); }
@media (max-width: 820px) {
  .topbar-in { padding: 12px 18px; }
  .nav-desk { display: none; }
  .topbar-right { gap: 8px; }
  .menu-btn { display: flex; }
  .langtoggle-globe { display: none; }
}

/* ---------- language toggle ---------- */
.langtoggle { display: flex; align-items: center; gap: 7px; color: var(--maiolica); }
.langtoggle-pill { display: flex; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 2px; }
.langtoggle-seg { cursor: pointer; font: 700 11px var(--font-sans); letter-spacing: .08em;
  padding: 5px 10px; border-radius: 999px; user-select: none; color: var(--maiolica); transition: all .18s ease; }
.langtoggle-seg.on { background: var(--cobalto); color: #fff; }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--panna); }
.hero-in { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.05fr .95fr;
  gap: 24px; align-items: center; min-height: 560px; padding: 60px 32px; }
.hero-h1 { font: 500 clamp(2.4rem,4.6vw,4rem)/1.04 var(--font-serif); color: var(--inchiostro); margin: 20px 0 0; letter-spacing: -.01em; }
.hero-h1 em { font-style: italic; }
.hero-lead { font: 400 1.15rem/1.7 var(--font-sans); color: var(--fg2); max-width: 460px; margin: 24px 0 0; }
.hero-ctas { display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; }
.hero-visual { position: relative; display: flex; justify-content: center; align-items: center; min-height: 520px; }
.hero-glow { position: absolute; width: 460px; height: 460px; border-radius: 50%;
  background: radial-gradient(circle, var(--limone) 0%, var(--limone-soft) 40%, rgba(251,241,166,0) 70%); }
.hero-branch { position: absolute; right: -36px; top: -16px; width: 240px; opacity: .12; pointer-events: none; }
.hero-bottle { position: relative; height: 520px; filter: drop-shadow(0 30px 50px rgba(11,48,130,.28)); }
.hero-slice { position: absolute; left: 18px; bottom: 30px; width: 128px; transform: rotate(-12deg); pointer-events: none; }
@media (max-width: 820px) {
  .hero-in { grid-template-columns: 1fr; min-height: 0; padding: 40px 20px 8px; }
  .hero-copy { text-align: center; }
  .hero-lead { margin: 20px auto 0; }
  .hero-ctas { margin-top: 28px; justify-content: center; }
  .hero-visual { min-height: 360px; }
  .hero-glow { width: 300px; height: 300px; }
  .hero-branch { right: -10px; width: 150px; }
  .hero-bottle { height: 340px; }
  .hero-slice { left: 0; width: 90px; }
}

/* ---------- tasting strip ---------- */
.strip { background: var(--cobalto); color: #fff; }
.strip-in { max-width: 1180px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; padding: 22px 32px; }
.strip-word { font: 600 13px var(--font-sans); letter-spacing: .06em; color: #fff; padding: 0 6px; }
.strip-word.alt { color: var(--limone-bright); }
.strip-dot { margin-left: 14px; opacity: .4; }

/* ---------- story teaser ---------- */
.teaser { background: var(--crema); }
.teaser-in { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: .9fr 1.1fr;
  gap: 56px; align-items: center; padding: 84px 32px; }
.teaser-art { background: var(--limone); border-radius: 8px; position: relative; height: 360px;
  display: flex; align-items: center; justify-content: center; overflow: hidden; }
.teaser-frame { position: absolute; inset: 16px; border: 1.5px solid rgba(255,255,255,.7); border-radius: 4px; }
.teaser-art img { height: 322px; object-fit: contain; }
.h2-serif { font: 600 2.4rem/1.15 var(--font-serif); color: var(--inchiostro); margin: 16px 0 0; }
.teaser-p { font: 400 1.0625rem/1.75 var(--font-sans); color: var(--fg2); margin-top: 22px; }
.teaser-quote { font: italic 500 1.35rem/1.5 var(--font-serif); color: var(--maiolica); margin-top: 20px; }
.teaser-cta { margin-top: 28px; }
@media (max-width: 820px) {
  .teaser-in { grid-template-columns: 1fr; gap: 32px; padding: 52px 20px; }
  .teaser-art { height: 280px; }
}

/* ---------- serving ---------- */
.serving { background: var(--panna); }
.serving-in { max-width: 1180px; margin: 0 auto; padding: 84px 32px; }
.serving-head { text-align: center; margin-bottom: 48px; }
.serving-head .h2-serif { margin-top: 14px; }
.serving-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 44px; align-items: stretch; }
.serving-art { position: relative; background: var(--crema); border-radius: 10px; display: flex;
  align-items: center; justify-content: center; overflow: hidden; min-height: 460px; }
.serving-art-frame { position: absolute; inset: 14px; border: 1.5px solid var(--maiolica); border-radius: 6px; opacity: .45; pointer-events: none; }
.serving-art img { height: 420px; filter: drop-shadow(0 22px 42px rgba(11,48,130,.18)); }
.serve-list { display: flex; flex-direction: column; gap: 18px; }
.serve-card { background: var(--limone); border-radius: 10px; position: relative; padding: 26px 30px;
  display: flex; gap: 22px; align-items: center; flex: 1; }
.serve-frame { position: absolute; inset: 10px; border: 1.5px solid #fff; border-radius: 6px; pointer-events: none; }
.serve-ico { position: relative; flex-shrink: 0; }
.serve-body { position: relative; }
.serve-body h3 { font: 400 1.85rem var(--font-script); color: var(--maiolica); margin: 0 0 6px; line-height: .8; }
.serve-body p { font: 400 .95rem/1.55 var(--font-sans); color: var(--maiolica-deep); margin: 0; }
@media (max-width: 820px) {
  .serving-in { padding: 52px 20px; }
  .serving-head { margin-bottom: 32px; }
  .serving-grid { grid-template-columns: 1fr; gap: 22px; }
  .serving-art { display: none; }
}

/* ---------- attributes ---------- */
.attrs { background: #fff; border-top: 1px solid var(--line); }
.attrs-in { max-width: 1180px; margin: 0 auto; padding: 72px 32px; }
.attrs-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; }
.attr-cell { padding: 26px 22px; display: flex; flex-direction: column; gap: 12px;
  border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.attr-cell:nth-child(4n) { border-right: none; }
.attr-cell:nth-last-child(-n+4) { border-bottom: none; }
.attr-label { font: 500 .95rem/1.45 var(--font-sans); color: var(--inchiostro); }
@media (max-width: 820px) {
  .attrs-in { padding: 44px 20px; }
  .attrs-grid { grid-template-columns: repeat(2,1fr); }
  .attr-cell { padding: 22px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .attr-cell:nth-child(2n) { border-right: none; }
  .attr-cell:nth-last-child(-n+2) { border-bottom: none; }
}

/* ---------- newsletter ---------- */
.nl { background: var(--limone); position: relative; overflow: hidden; }
.nl-wedge-a { position: absolute; left: -28px; bottom: -34px; width: 184px; opacity: .18; transform: rotate(10deg); pointer-events: none; }
.nl-wedge-c { position: absolute; right: -26px; top: -30px; width: 168px; opacity: .18; transform: rotate(-14deg); pointer-events: none; }
.nl-in { max-width: 720px; margin: 0 auto; padding: 72px 32px; text-align: center; position: relative; }
.nl-title { font: 3rem var(--font-script); color: var(--maiolica); line-height: .6; display: block; }
.nl-text { font: 400 1.05rem/1.6 var(--font-sans); color: var(--maiolica-deep); margin: 20px auto 28px; max-width: 440px; }
.nl-form { display: flex; max-width: 420px; margin: 0 auto; border: 1.5px solid var(--maiolica);
  border-radius: 999px; overflow: hidden; background: #fff; }
.nl-form input { border: 0; flex: 1; min-width: 0; padding: 15px 20px; font: 400 15px var(--font-sans); color: var(--inchiostro); outline: none; }
.nl-form button { border: 0; background: var(--cobalto); color: #fff; font: 600 14px var(--font-sans); padding: 0 26px; cursor: pointer; }
.nl-done { font: 600 1rem var(--font-sans); color: var(--cobalto); }

/* ---------- footer ---------- */
.foot { background: var(--inchiostro); color: #cdd6e3; position: relative; }
.foot-strip { height: 16px; background-image: url('/assets/img/majolicaStrip.png');
  background-size: auto 92px; background-repeat: repeat-x; background-position: center; }
.foot-grid { max-width: 1180px; margin: 0 auto; padding: 56px 32px 40px; display: grid;
  grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; }
.foot-tagline { font: 400 14px/1.7 var(--font-sans); color: #9fb0c4; max-width: 320px; margin-top: 22px; }
.foot-title { font: 600 11px var(--font-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--limone); margin-bottom: 16px; }
.foot-link { display: block; cursor: pointer; font: 400 14px var(--font-sans); color: #cdd6e3; padding: 5px 0; }
.foot-contact { font: 400 13px/1.8 var(--font-sans); color: #9fb0c4; }
.foot-contact a { color: #9fb0c4; }
.foot-rights { border-top: 1px solid rgba(255,255,255,.1); padding: 20px 32px; text-align: center;
  font: 400 12px var(--font-sans); letter-spacing: .04em; color: #7e8ea3; }
@media (max-width: 820px) {
  .foot-grid { padding: 40px 22px 32px; grid-template-columns: 1fr; gap: 30px; }
}

/* ---------- story page ---------- */
.story { background: var(--panna); }
.story-hero { background: var(--limone); position: relative; overflow: hidden; }
.story-rail { position: absolute; top: 0; bottom: 0; width: 40px;
  background-image: url('/assets/img/majolicaStrip.png'); background-size: 40px auto; background-repeat: repeat-y; }
.story-rail.left { left: 0; } .story-rail.right { right: 0; }
.story-hero-in { max-width: 760px; margin: 0 auto; padding: 80px 60px; text-align: center; }
.story-h1 { font: 500 clamp(2.4rem,4.4vw,3.6rem)/1.1 var(--font-serif); color: var(--inchiostro); margin: 18px 0 0; font-style: italic; }
.story-sub { font: 400 1.05rem/1.6 var(--font-sans); color: var(--maiolica-deep); max-width: 480px; margin: 22px auto 0; }
.story-body { max-width: 760px; margin: 0 auto; padding: 72px 32px 40px; }
.story-lead { font: 500 1.5rem/1.55 var(--font-serif); color: var(--inchiostro); margin-top: 0; }
.story-p { font: 400 1.0625rem/1.85 var(--font-sans); color: var(--fg2); }
.story-divider { display: flex; justify-content: center; margin: 44px 0; }
.story-divider-word { font: 3.2rem var(--font-script); color: var(--maiolica); line-height: 1; position: relative; padding: 0 40px; }
.story-divider-word .dl, .story-divider-word .dr { position: absolute; top: 50%; width: 28px; height: 1px; background: var(--line); }
.story-divider-word .dl { left: 0; } .story-divider-word .dr { right: 0; }
.story-quote { font: italic 500 1.6rem/1.5 var(--font-serif); color: var(--inchiostro);
  border-left: 3px solid var(--limone); padding-left: 24px; margin: 36px 0; }
.story-sign { background: var(--crema); border-top: 1px solid var(--line); }
.story-sign-in { max-width: 760px; margin: 0 auto; padding: 56px 32px; text-align: center; }
.story-close { font: 400 1.15rem/1.7 var(--font-serif); font-style: italic; color: var(--inchiostro); max-width: 560px; margin: 18px auto 0; }
.story-hand { font: 1.4rem var(--font-hand); color: var(--maiolica); margin-top: 26px; }
.story-cta { margin-top: 32px; }
@media (max-width: 820px) {
  .story-rail { width: 16px; background-size: 16px auto; }
  .story-hero-in { padding: 52px 34px; }
}

/* ---------- shop page ---------- */
.shop { background: var(--panna); }
.shop-in { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr;
  gap: 48px; padding: 56px 32px; align-items: start; }
.shop-gallery { background: #fff; border-radius: 12px; position: relative; height: 600px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  border: 1px solid var(--line); box-shadow: var(--shadow-md); top: 90px; }
.shop-glow { position: absolute; width: 380px; height: 380px; border-radius: 50%;
  background: radial-gradient(circle, var(--limone-soft) 0%, rgba(251,241,166,0) 68%); }
.shop-rail { position: absolute; top: 10%; bottom: 10%; width: 34px;
  background-image: url('/assets/img/majolicaStrip.png'); background-size: 34px auto; background-repeat: repeat-y; }
.shop-rail.left { left: 0; } .shop-rail.right { right: 0; }
.shop-gallery img { position: relative; height: 540px; filter: drop-shadow(0 26px 44px rgba(11,48,130,.22)); }
.shop-detail { padding-top: 8px; }
.shop-brand { display: flex; align-items: baseline; gap: 16px; margin-top: 12px; }
.shop-logo { height: 40px; }
.shop-script { font: 2.4rem var(--font-script); color: var(--maiolica); line-height: .6; }
.shop-desc { font: 400 1.05rem/1.7 var(--font-sans); color: var(--fg2); margin-top: 22px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.chip { font: 600 12px var(--font-sans); padding: 8px 14px; border-radius: 999px; background: #fff;
  color: var(--maiolica); border: 1px solid var(--line); }
.format { margin-top: 30px; }
.format-label { font: 600 11px var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--fg2); margin-bottom: 12px; }
.format-box { display: inline-block; padding: 14px 24px; border-radius: 10px; border: 1.5px solid var(--cobalto);
  background: var(--limone-soft); font: 600 14px var(--font-sans); color: var(--inchiostro); }
.price { margin-top: 28px; font: 700 1.7rem var(--font-sans); color: var(--inchiostro); }
.buynote { font: 500 13px/1.6 var(--font-sans); color: var(--fg2); margin-top: 10px; max-width: 420px; }
.shop-ctas { display: flex; gap: 12px; margin-top: 20px; }
.btn-wide { flex: 1; padding: 16px 28px; }
.trust { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.trust-item { display: flex; align-items: center; gap: 8px; }
.trust-item span { font: 500 12px var(--font-sans); color: var(--fg2); }
@media (max-width: 820px) {
  .shop-in { grid-template-columns: 1fr; gap: 28px; padding: 32px 20px; }
  .shop-gallery { height: 380px; top: 0; }
  .shop-gallery img { height: 330px; }
  .shop-ctas { flex-direction: column; }
  .trust { gap: 12px 20px; }
}

/* ---------- 404 ---------- */
.nf { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 40px 24px; gap: 8px; }
.nf-h1 { font: 500 2.2rem/1.2 var(--font-serif); color: var(--inchiostro); margin: 28px 0 0; }
.nf-p { font: 400 1.05rem/1.7 var(--font-sans); color: var(--fg2); margin: 10px 0 0; }
.nf-ctas { display: flex; gap: 14px; margin-top: 26px; flex-wrap: wrap; justify-content: center; }

/* ---------- banner cookie ---------- */
.cookiebar { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60;
  display: flex; justify-content: center; }
.cookiebar[hidden] { display: none; }
.cookiebar-in { max-width: 720px; width: 100%; background: var(--crema); border: 1.5px solid var(--maiolica);
  border-radius: var(--r-lg); box-shadow: var(--shadow-lg); padding: 18px 22px;
  display: flex; align-items: center; gap: 20px; }
.cookiebar-text { margin: 0; font: var(--t-small); color: var(--fg1); flex: 1; }
.cookiebar-text a { color: var(--cobalto); text-decoration: underline; }
.cookiebar-btns { display: flex; gap: 10px; flex-shrink: 0; }
.cookiebar-btn { padding: 10px 20px; }
@media (max-width: 820px) {
  .cookiebar-in { flex-direction: column; align-items: stretch; text-align: center; }
  .cookiebar-btns { justify-content: center; }
}

/* ---------- pagina legale (privacy/cookie) ---------- */
.legal { background: var(--panna); }
.legal-in { max-width: 760px; margin: 0 auto; padding: 72px 32px 96px; }
.legal-h1 { font: var(--t-h1); color: var(--fg1); margin: 10px 0 6px; }
.legal-updated { font: var(--t-small); color: var(--fg3); margin: 0 0 8px; }
.legal-in h2 { font: var(--t-h3); color: var(--cobalto); margin: 36px 0 10px; }
.legal-in p, .legal-in ul { font: var(--t-body); color: var(--fg2); margin: 0 0 12px; }
.legal-in ul { padding-left: 22px; }
.legal-in a { color: var(--cobalto); text-decoration: underline; }
.foot-rights a { color: inherit; text-decoration: underline; }
@media (max-width: 820px) { .legal-in { padding: 48px 22px 72px; } }
