/* PATTERN CSS bundle: product */

/* ---- css/fonts.css ---- */
/* Self-hosted Google Fonts — generated automatically */
/* Eliminates render-blocking Google Fonts @import */

/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSq17w.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSq17w.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSq17w.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.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: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSq17w.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSq17w.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSq17w.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.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: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.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(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.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: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFkD-vYSZviVYUb_rj3ij__anPXDTnohkk72xU.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFkD-vYSZviVYUb_rj3ij__anPXDTnojUk72xU.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: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFkD-vYSZviVYUb_rj3ij__anPXDTnojEk72xU.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: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7.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: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFkD-vYSZviVYUb_rj3ij__anPXDTnohkk72xU.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFkD-vYSZviVYUb_rj3ij__anPXDTnojUk72xU.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: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFkD-vYSZviVYUb_rj3ij__anPXDTnojEk72xU.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: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7.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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTjYgFE_.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTPYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgFE_.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: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.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;
}

/* ─────────────────────────────────────────────
 * CAIRO — Arabic + Latin (self-hosted)
 * Used for Arabic RTL interface text
 * ───────────────────────────────────────────── */
/* arabic */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.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: 'Cairo';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.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;
}
/* arabic */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.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: 'Cairo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.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;
}
/* arabic */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.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: 'Cairo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.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;
}
/* arabic */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.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: 'Cairo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.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;
}
/* arabic */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscQyyS4J0.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: 'Cairo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscSCyS4J0.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: 'Cairo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../fonts/cairo-SLXVc1nY6HkvangtZmpQdkhzfH5lkSscRiyS.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;
}


/* ---- css/global.css ---- */
/*
Theme Name: Pattern Gold — Luxury Edition
Theme URI: https://patternjewellery.com
Author: Pattern Gold & Diamond Jewellery
Author URI: https://patternjewellery.com
Description: A complete luxury WooCommerce jewellery theme for Pattern Gold & Diamond Jewellery. Features mega menus, transparent sticky header, wishlist, quick view, ring builder, diamond education, 360° viewer support, AR virtual try-on placeholder, ring size calculator, metal selector, schema markup, and a full luxury pearl-white design system.
Version: 2.1.0
License: Proprietary
Text Domain: pattern-gold
Tags: woocommerce, jewellery, luxury, light, gold, mega-menu, wishlist
*/

/* =========================================================
   1. DESIGN TOKENS — Pearl Blue & Gold  (v2.1.0)
   Palette inspired by the PATTERN brand photography:
   diamond jewellery on sky-blue satin + gold logo.
   ========================================================= */
:root {

  /* ── GOLD — brand accent ──────────────────────────────────────────
   * ACCESSIBILITY: measured contrast on the ivory background (#FAF8F3):
   *
   *   --gold      #C9A84C   2.15:1  ✗ fails AA normal (4.5:1) AND large (3:1)
   *   --gold-dark #A8852E   3.27:1  ✗ fails AA normal, passes large only
   *   --gold-text #856D28   4.69:1  ✓ passes AA normal
   *
   * The brand gold was being used for 10–11px text — product spec lines,
   * filter counts, eyebrows, "VIEW DETAILS" — i.e. purchase-relevant
   * information rendered at roughly half the legibility AA requires.
   *
   * Rather than change the brand colour, the palette is now split by ROLE:
   *   --gold        decoration only — borders, dividers, swatches, rules,
   *                 icon fills, and display type at 32px+ where it reads
   *                 as a graphic element rather than as copy.
   *   --gold-text   any gold TEXT on ivory or white.
   *   --gold-on-dark  gold text on the navy footer (#0F2336) — the brand
   *                 gold already passes there at 6.99:1, so it is reused.
   *
   * --gold-text keeps the brand hue (44°) and saturation exactly; only
   * lightness is reduced, so it still reads unmistakably as gold.
   * ───────────────────────────────────────────────────────────────── */
  --gold:          #C9A84C;
  --gold-dark:     #A8852E;
  --gold-brand:    #C9A84C;   /* the untouched brand gold, always available */

  /* ── ALERT / NOTIFICATION ──────────────────────────────────────────
   * A hardcoded magenta #ba1264 appeared in 20 places across
   * single-product.php, header.php, global.css, nav-fix.css and
   * product.css — as SVG strokes, accordion border rules, and the
   * cart/wishlist count badges. Magenta sits outside the gold / ivory /
   * navy palette entirely and read as a leftover from another project.
   *
   * Decorative uses are repointed to gold. Genuine notification badges
   * keep a distinct attention colour, but as a deep burgundy that
   * belongs with gold and navy. White on it measures 8.89:1.
   * ───────────────────────────────────────────────────────────────── */
  --alert:         #8C1D3F;
  --gold-text:     #856D28;   /* AA-compliant gold for text on light bg */
  --gold-on-dark:  #C9A84C;   /* gold text on navy — 6.99:1 */
  --gold-light:    #DFC06A;
  --gold-xlight:   #F5ECD5;
  --champagne:     #E8D5A0;
  --rose-gold:     #C9826A;
  --white-gold:    #C0C0C0;

  /* ── PEARL BLUE — sky satin palette (new v2.1) ── */
  --sky:           #87C5DC;   /* mid sky blue — hero sparkle accents, borders */
  --sky-light:     #C2DFF0;   /* soft sky — hover states, dividers */
  --sky-xlight:    #EEF6FB;   /* near-white blue — feature section washes */
  --sky-dark:      #4E8FAA;   /* deeper sky — active states */
  --sky-glow:      rgba(135,197,220,.15); /* subtle sky glow for shadows */
  --sky-border:    rgba(135,197,220,.30); /* sky-tinted border */

  /* ── NAVY — premium dark (footer + dark sections) ── */
  --navy:          #0F2336;   /* deep navy — footer bg, dark section bg */
  --navy-mid:      #1A3A54;   /* mid navy — card bg in dark sections */
  --navy-light:    #2A5070;   /* lighter navy — borders in dark mode */

  /* ── PEARL / IVORY — page surfaces (warm ivory stays primary) ── */
  --ivory:         #FAF8F3;   /* main page background — warm pearl white */
  --pearl:         #FAFCFD;   /* cool pearl — shop/category page bg */
  --card:          #FFFFFF;   /* card surface — pure white */
  --soft:          #F5F0E8;   /* subtle warm off-white — hover states */
  --soft-2:        #EDE8DE;   /* deeper cream — borders, dividers */
  --overlay:       rgba(250,248,243,.96);
  --overlay-navy:  rgba(15,35,54,.85);   /* navy overlay for hero on blue sections */
  --black:         #FAF8F3;   /* legacy alias → keep pointing to ivory */

  /* ── CRYSTAL — diamond sparkle ── */
  --crystal:       rgba(255,255,255,0.85);
  --prismatic:     linear-gradient(135deg,#87C5DC 0%,#DFC06A 40%,#FFFFFF 70%,#87C5DC 100%);

  /* ── BORDERS ── */
  --gold-border:   rgba(201,168,76,.22);
  --gold-muted:    rgba(201,168,76,.07);
  --gold-glow:     rgba(201,168,76,.15);
  --border:        rgba(201,168,76,.15);
  --border-hover:  rgba(201,168,76,.50);

  /* ── TEXT — charcoal hierarchy (on ivory/white) ── */
  --text-bright:   #1A1814;   /* near-black charcoal — headings */
  --text-mid:      #3D3730;   /* warm dark brown — body text */
  --text-muted:    #7A6F64;   /* warm medium-grey — secondary text */
  --text-dim:      #6E6560;   /* warm grey — captions. Was #A09590, which
                                 measured 2.75:1 on ivory and failed AA;
                                 this is 5.36:1 at the same hue. */
  --text-deep:     #1A1814;
  --text-light:    #5C5450;

  /* ── TEXT on coloured backgrounds ── */
  --text-on-sky:   #0F2336;   /* navy text on sky-blue sections */
  --text-on-navy:  #FAF8F3;   /* ivory text on navy sections */
  --text-on-gold:  #1A1814;   /* charcoal text on gold bar */

  /* ── SEMANTIC ── */
  --cream:       #EDE8DE;
  --muted:       #7A6F64;
  --dark-grey:   #3D3730;
  --light-grey:  #F0EDE8;
  --ivory-bg:    #FAF8F3;
  --success:     #2ECC71;
  --error:       #E74C3C;
  --rose-gold-spec: #E6B7A9;

  /* ── FONTS ── */
  --font-serif:  'Playfair Display', Georgia, serif;
  --font-alt:    'Cormorant Garamond', Georgia, serif;
  --font-body:   'Montserrat', sans-serif;
  --font-sans:   'Montserrat', sans-serif;

  /* ── SPACING RHYTHM ── */
  --sp-xs:   8px;
  --sp-sm:   16px;
  --sp-md:   32px;
  --sp-lg:   60px;
  --sp-xl:   90px;
  --sp-xxl:  120px;

  /* ── 8pt Spacing Scale ── */
  --space-4:    4px;   --space-8:    8px;   --space-12:  12px;
  --space-16:   16px;  --space-24:   24px;  --space-32:  32px;
  --space-48:   48px;  --space-64:   64px;  --space-96:  96px;
  --space-128:  128px;

  /* ── TRANSITIONS ── */
  --ease:    cubic-bezier(.4,0,.2,1);
  --fast:    .2s var(--ease);
  --medium:  .35s var(--ease);
  --slow:    .6s var(--ease);

  /* ── TYPOGRAPHY SCALE (fluid via clamp on key sizes) ── */
  --type-h1:      clamp(40px, 6vw, 72px);
  --type-h2:      clamp(28px, 4vw, 48px);
  --type-h3:      clamp(22px, 3vw, 32px);
  --type-h4:      22px;
  --type-body-lg: 18px;
  --type-body:    16px;
  --type-small:   14px;
  --type-caption: 12px;

  /* ── RADII ── */
  --radius:      4px;
  --radius-lg:   8px;
  --radius-btn:  8px;
  --radius-card: 12px;
  --radius-cat:  16px;

  /* ── LAYOUT ── */
  --btn-h:         48px;
  --container:     1280px;
  --max-content:   1440px;
  --nav-h:         80px;
  --topbar-h:      40px;
  --filter-w:      280px;
  --cart-summary-w:320px;

  /* ── SECTION BACKGROUNDS (semantic zone system) ── */
  --bg-page:       var(--ivory);        /* default page — warm ivory */
  --bg-shop:       var(--pearl);        /* shop/category pages — cool pearl */
  --bg-feature:    var(--sky-xlight);   /* featured sections — pale sky wash */
  --bg-dark:       var(--navy);         /* footer + dark editorial sections */
  --bg-card:       var(--card);         /* product cards — pure white */
  --bg-gold-bar:   var(--gold);         /* gold rate bar */
}

/* =========================================================
   2. RESET & BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: 'Montserrat', sans-serif;
  background: var(--ivory);
  color: var(--text-mid);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
::selection { background: rgba(201,168,76,.22); color: var(--text-bright); }
a { color: var(--gold-dark); text-decoration: none; transition: color var(--fast); }
a:hover { color: var(--gold); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; padding: 0; margin: 0; }
button, input, select, textarea { font-family: 'Montserrat', sans-serif; }
p { font-size: .82rem; color: var(--text-muted); line-height: 1.9; margin-bottom: 1rem; }
strong { color: var(--text-mid); font-weight: 600; }
em { color: var(--gold-dark); font-style: italic; }
h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif;
  font-weight: 400;
  color: var(--text-bright);
  line-height: 1.2;
}

/* =========================================================
   3. TOPBAR
   ========================================================= */
.pg-topbar {
  background: var(--gold-brand);
  color: var(--text-on-gold);
  text-align: center;
  padding: 9px 20px;
  font-size: 11px;           /* WCAG fix: was .54rem ≈ 8.6px — now min 11px */
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  position: relative;
  z-index: 10000;
}
.pg-topbar a { color: var(--text-on-gold); text-decoration: none; }
.pg-topbar a:hover { opacity: .75; }
.pg-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1440px;
  margin: 0 auto;
  flex-wrap: wrap;
  gap: 8px;
}
.pg-topbar-msg { flex: 1; text-align: center; }
.pg-topbar-links { display: flex; gap: 20px; flex-shrink: 0; }
.pg-topbar-links a { font-size: 10px; letter-spacing: 2px; color: var(--text-on-gold); text-transform: uppercase; }

/* =========================================================
   4. HEADER + NAVIGATION
   ========================================================= */
.pg-site-header {
  position: sticky;
  top: 0;
  z-index: 9000;
  background: rgba(250,248,243,.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: .5px solid var(--gold-border);
  transition: background var(--medium), box-shadow var(--medium);
}
.pg-site-header.is-transparent {
  background: transparent;
  border-bottom-color: transparent;
}
.pg-site-header.is-scrolled {
  background: rgba(250,248,243,.98);
  border-bottom-color: var(--gold-border);
  box-shadow: 0 4px 24px rgba(26,24,20,.12);
}
.pg-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 48px;
  gap: 24px;
}

/* Logo */
.pg-logo {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  flex-shrink: 0;
}
.pg-logo-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  letter-spacing: 6px;
  color: var(--gold);
  text-transform: uppercase;
  line-height: 1.1;
}
.pg-logo-sub {
  font-size: .4rem;
  letter-spacing: 5px;
  color: var(--text-dim);
  text-transform: uppercase;
  margin-top: 3px;
}

/* PRIMARY NAV */
.pg-primary-nav {
  display: flex;
  align-items: center;
  height: 100%;
  flex: 1;
  justify-content: center;
}
.pg-nav-list {
  display: flex;
  align-items: stretch;
  height: 100%;
  gap: 0;
}
.pg-nav-list > li {
  position: relative;
  display: flex;
  align-items: center;
}
.pg-nav-list > li > a {
  font-size: .54rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 0 14px;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  transition: color var(--fast);
}
.pg-nav-list > li > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 14px;
  right: 14px;
  height: 1px;
  background: var(--gold-brand);
  transform: scaleX(0);
  transition: transform var(--fast);
}
.pg-nav-list > li:hover > a,
.pg-nav-list > li.current-menu-item > a,
.pg-nav-list > li.current-menu-ancestor > a { color: var(--gold); }
.pg-nav-list > li:hover > a::after,
.pg-nav-list > li.current-menu-item > a::after { transform: scaleX(1); }

/* =========================================================
   5. MEGA MENU
   ========================================================= */
.pg-mega-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 760px;
  background: #FFFFFF;
  border: .5px solid var(--gold-border);
  border-top: 2px solid var(--gold);
  padding: 32px;
  display: none;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  box-shadow: 0 20px 60px rgba(26,24,20,.14);
  z-index: 9100;
}
.pg-nav-list > li:hover .pg-mega-menu { display: grid; }
.pg-mega-col { display: flex; flex-direction: column; gap: 4px; }
.pg-mega-col-title {
  font-size: .52rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: .5px solid var(--gold-border);
}
.pg-mega-link {
  font-size: .64rem;
  color: var(--text-dim);
  padding: 6px 0;
  letter-spacing: .5px;
  transition: all var(--fast);
  display: flex;
  align-items: center;
  gap: 8px;
}
.pg-mega-link:hover { color: var(--gold); padding-left: 6px; }
.pg-mega-featured {
  grid-column: span 2;
  position: relative;
  overflow: hidden;
  background: var(--soft);
  border: .5px solid var(--gold-border);
}
.pg-mega-featured img { width: 100%; height: 160px; object-fit: cover; opacity: .7; transition: opacity var(--medium); }
.pg-mega-featured:hover img { opacity: .9; }
.pg-mega-feat-label {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(26,24,20,.45), transparent);
  font-size: .58rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
}

/* Simple dropdown */
.pg-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #FFFFFF;
  border: .5px solid var(--gold-border);
  border-top: 2px solid var(--gold);
  padding: 8px 0;
  display: none;
  box-shadow: 0 16px 40px rgba(26,24,20,.12);
  z-index: 9100;
}
.pg-nav-list > li:hover .pg-dropdown { display: block; }
.pg-dropdown a {
  display: block;
  padding: 10px 20px;
  font-size: .62rem;
  letter-spacing: 1px;
  color: var(--text-dim);
  transition: all var(--fast);
  border-bottom: .5px solid rgba(26,24,20,.07);
}
.pg-dropdown a:hover { color: var(--gold); background: rgba(201,168,76,.04); padding-left: 26px; }

/* Header icons */
.pg-header-icons {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.pg-icon-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  position: relative;
  transition: color var(--fast);
  cursor: pointer;
  background: none;
  border: none;
  text-decoration: none;
}
.pg-icon-btn:hover { color: var(--gold); }
.pg-icon-badge {
  position: absolute;
  top: 6px;
  right: 5px;
  width: 16px;
  height: 16px;
  background: var(--gold-brand);
  color: var(--black);
  font-size: .42rem;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Search overlay */
.pg-search-overlay {
  position: fixed;
  inset: 0;
  background: rgba(26,24,20,.9);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--medium);
}
.pg-search-overlay.is-open { opacity: 1; pointer-events: all; }
.pg-search-inner {
  width: 100%;
  max-width: 700px;
  padding: 0 32px;
}
.pg-search-label {
  font-size: .52rem;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
  display: block;
}
.pg-search-form {
  display: flex;
  border-bottom: 1px solid var(--gold-border);
}
.pg-search-inp {
  flex: 1;
  background: none;
  border: none;
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.4rem, 3vw, 2.4rem);
  color: #fff;
  padding: 16px 0;
  outline: none;
}
.pg-search-inp::placeholder { color: rgba(255,255,255,.2); }
.pg-search-submit {
  background: none;
  border: none;
  color: var(--gold);
  cursor: pointer;
  padding: 0 16px;
}
.pg-search-close {
  position: absolute;
  top: 32px;
  right: 32px;
  background: none;
  border: .5px solid var(--gold-border);
  color: var(--gold);
  width: 44px;
  height: 44px;
  cursor: pointer;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--fast);
}
.pg-search-close:hover { background: var(--gold-brand); color: var(--black); }

/* Mobile hamburger */
.pg-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.pg-hamburger span {
  display: block;
  width: 24px;
  height: 1.5px;
  background: var(--gold-brand);
  transition: all var(--medium);
  transform-origin: center;
}
.pg-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.pg-hamburger.is-open span:nth-child(2) { opacity: 0; }
.pg-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Mobile nav drawer */
.pg-mobile-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: min(400px, 90vw);
  height: 100vh;
  background: #FAF8F3;
  border-left: .5px solid var(--gold-border);
  z-index: 9500;
  overflow-y: auto;
  transition: right var(--medium);
  padding: 80px 32px 40px;
}
.pg-mobile-drawer.is-open { right: 0; }
.pg-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(26,24,20,.35);
  z-index: 9400;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--medium);
}
.pg-drawer-overlay.is-open { opacity: 1; pointer-events: all; }
.pg-drawer-close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: none;
  border: .5px solid var(--gold-border);
  color: var(--gold);
  width: 38px;
  height: 38px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--fast);
}
.pg-drawer-close:hover { background: var(--gold-brand); color: var(--black); }
.pg-drawer-nav { margin-bottom: 32px; }
.pg-drawer-nav > li {
  border-bottom: .5px solid rgba(201,168,76,.08);
}
.pg-drawer-nav > li > a {
  display: block;
  padding: 16px 0;
  font-size: .8rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-mid);
  font-family: 'Playfair Display', serif;
}
.pg-drawer-nav > li > a:hover { color: var(--gold); }
.pg-drawer-sub { padding: 0 0 8px 16px; display: none; }
.pg-drawer-sub.is-open { display: block; }
.pg-drawer-sub a { font-size: .64rem; color: var(--text-dim); display: block; padding: 7px 0; letter-spacing: 1px; }
.pg-drawer-sub a:hover { color: var(--gold); }
.pg-drawer-toggle { float: right; background: none; border: none; color: var(--gold); font-size: 1rem; cursor: pointer; padding: 16px 0; }

/* =========================================================
   6. TYPOGRAPHY SYSTEM
   ========================================================= */
.pg-label {
  display: block;
  font-size: .54rem;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
  font-weight: 500;
}
.pg-heading-xl {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.8rem, 5.5vw, 5.2rem);
  font-weight: 400;
  line-height: 1.08;
  color: var(--text-bright);
}
.pg-heading-lg {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1.12;
  color: var(--text-bright);
}
.pg-heading-md {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--text-bright);
}
.pg-heading-sm {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.2rem, 2vw, 1.8rem);
  font-weight: 400;
  color: var(--text-bright);
}
.pg-subhead {
  font-family: 'Cormorant Garamond', 'Playfair Display', serif;
  font-size: clamp(1rem, 1.8vw, 1.4rem);
  color: var(--text-muted);
  font-style: italic;
  line-height: 1.6;
}
.pg-body { font-size: .8rem; color: var(--text-muted); line-height: 1.9; }
.pg-body-sm { font-size: .72rem; color: var(--text-muted); line-height: 1.8; }
.pg-cap {
  font-size: .52rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim);
}

/* =========================================================
   7. LAYOUT UTILITIES
   ========================================================= */
.pg-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 48px;
}
.pg-container-md { max-width: 1100px; margin: 0 auto; padding: 0 48px; }
.pg-container-sm { max-width: 800px; margin: 0 auto; padding: 0 48px; }
.pg-section     { padding: var(--sp-xl) var(--sp-lg); background: var(--ivory); }
.pg-section-alt { padding: var(--sp-xl) var(--sp-lg); background: var(--soft); }
.divider { height: .5px; background: var(--gold-border); border: none; margin: 0; }
.pg-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.pg-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.pg-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }

/* =========================================================
   8. BUTTONS
   ========================================================= */
.btn-gold {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--gold-brand);
  color: #1A1814;
  font-size: .58rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 700;
  padding: 14px 32px;
  border: none;
  cursor: pointer;
  transition: all .3s;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 2px 12px rgba(201,168,76,.22);
}
.btn-gold:hover { background: var(--gold-dark); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(201,168,76,.35); color: #1A1814; }
.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: var(--gold-dark);
  font-size: .58rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 500;
  padding: 14px 32px;
  border: 1px solid var(--gold);
  cursor: pointer;
  transition: all .3s;
  text-decoration: none;
  white-space: nowrap;
}
.btn-outline:hover { background: var(--gold-brand); color: #1A1814; box-shadow: 0 4px 16px rgba(201,168,76,.28); }
.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--text-muted);
  font-size: .56rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  border: 1px solid rgba(26,24,20,.15);
  padding: 12px 24px;
  cursor: pointer;
  transition: all var(--fast);
  text-decoration: none;
}
.btn-ghost:hover { border-color: var(--gold); color: var(--gold-dark); background: var(--gold-xlight); }
.btn-ghost:hover { border-color: var(--gold-border); color: var(--gold); }
.btn-wa {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #25D366;
  color: #fff;
  font-size: .58rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  font-weight: 600;
  padding: 14px 28px;
  border: none;
  cursor: pointer;
  transition: all .3s;
  text-decoration: none;
}
.btn-wa:hover { background: #1da851; transform: translateY(-2px); color: #fff; }
.view-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .54rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  border-bottom: .5px solid rgba(201,168,76,.3);
  padding-bottom: 3px;
  transition: all var(--fast);
  text-decoration: none;
}
.view-all:hover { letter-spacing: 4px; border-bottom-color: var(--gold); color: var(--gold); }

/* =========================================================
   9. HERO SECTION
   ========================================================= */
.pg-hero {
  position: relative;
  min-height: 96vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--black);
}
.pg-hero-video-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.pg-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .35;
}
.pg-hero-img-bg {
  position: absolute;
  inset: 0;
  background-image: var(--hero-image, none);
  background-size: cover;
  background-position: center;
  opacity: .3;
  z-index: 0;
  transition: opacity 1s ease;
}
.pg-hero-grad {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    rgba(10,10,10,.95) 0%,
    rgba(10,10,10,.7) 50%,
    rgba(10,10,10,.2) 100%
  );
  z-index: 1;
}
.pg-hero-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 68% 45%, rgba(201,168,76,.08) 0%, transparent 60%);
  z-index: 1;
  pointer-events: none;
}
.pg-hero-content {
  position: relative;
  z-index: 2;
  padding: 0 60px;
  max-width: 720px;
}
.pg-hero-eyebrow {
  font-size: .56rem;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  opacity: 0;
  animation: pg-fadeUp .8s var(--ease) .2s forwards;
}
.pg-hero-eyebrow::before {
  content: '';
  width: 32px;
  height: .5px;
  background: var(--gold-brand);
}
.pg-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(3rem, 5.5vw, 5.5rem);
  font-weight: 400;
  line-height: 1.08;
  color: #fff;
  margin-bottom: 24px;
  opacity: 0;
  animation: pg-fadeUp .8s var(--ease) .4s forwards;
}
.pg-hero-sub {
  font-size: .84rem;
  color: rgba(255,255,255,.6);
  line-height: 1.9;
  max-width: 420px;
  margin-bottom: 40px;
  opacity: 0;
  animation: pg-fadeUp .8s var(--ease) .6s forwards;
}
.pg-hero-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 56px;
  opacity: 0;
  animation: pg-fadeUp .8s var(--ease) .8s forwards;
}
.pg-hero-stats {
  display: flex;
  gap: 40px;
  padding-top: 32px;
  border-top: .5px solid rgba(201,168,76,.15);
  opacity: 0;
  animation: pg-fadeUp .8s var(--ease) 1s forwards;
}
.pg-hero-stat-num { font-family: 'Playfair Display', serif; font-size: 2rem; color: var(--gold); display: block; line-height: 1; }
.pg-hero-stat-lbl { font-size: .48rem; letter-spacing: 2px; text-transform: uppercase; color: var(--text-dim); margin-top: 4px; display: block; }
.pg-hero-scroll-cue {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 3;
  animation: pg-fadeUp 1s var(--ease) 1.4s both;
}
.pg-hero-scroll-cue span { font-size: .44rem; letter-spacing: 4px; text-transform: uppercase; color: rgba(201,168,76,.4); }
.pg-scroll-chevron { width: 20px; height: 20px; border-right: 1px solid rgba(201,168,76,.4); border-bottom: 1px solid rgba(201,168,76,.4); transform: rotate(45deg); animation: pg-bounce 2s ease-in-out infinite; }
@keyframes pg-bounce { 0%,100%{ transform:rotate(45deg) translateY(0);opacity:.4; } 50%{ transform:rotate(45deg) translateY(7px);opacity:1; } }
@keyframes pg-fadeUp { from{opacity:0;transform:translateY(24px);} to{opacity:1;transform:translateY(0);} }
@keyframes pg-fadeIn { from{opacity:0;} to{opacity:1;} }

/* =========================================================
   10. MARQUEE TICKER
   ========================================================= */
.pg-ticker {
  background: var(--card);
  border-top: .5px solid var(--gold-border);
  border-bottom: .5px solid var(--gold-border);
  padding: 14px 0;
  overflow: hidden;
  position: relative;
}
.pg-ticker::before, .pg-ticker::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.pg-ticker::before { left:0; background:linear-gradient(to right,var(--card),transparent); }
.pg-ticker::after  { right:0; background:linear-gradient(to left,var(--card),transparent); }
.pg-ticker-track {
  display: flex;
  width: max-content;
  animation: pg-ticker 30s linear infinite;
}
.pg-ticker-track:hover { animation-play-state: paused; }
.pg-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  padding: 0 28px;
  font-size: .54rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--gold);
  flex-shrink: 0;
  white-space: nowrap;
}
.pg-ticker-dot { width: 3px; height: 3px; border-radius: 50%; background: rgba(201,168,76,.5); }
@keyframes pg-ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* =========================================================
   11. COLLECTION GRID
   ========================================================= */
.pg-cat-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2px;
}
.pg-cat-grid.cols-4 { grid-template-columns: repeat(4,1fr); }
.pg-cat-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
  cursor: pointer;
  display: block;
  text-decoration: none;
  background: var(--soft);
}
.pg-cat-card.wide { grid-column: span 2; aspect-ratio: 3/2; }
.pg-cat-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--slow);
}
.pg-cat-card:hover .pg-cat-img { transform: scale(1.06); }
.pg-cat-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,24,20,.65) 0%, rgba(26,24,20,.12) 60%, transparent 100%);
  transition: background var(--medium);
}
.pg-cat-card:hover .pg-cat-overlay { background: linear-gradient(to top, rgba(26,24,20,.72) 0%, rgba(26,24,20,.2) 60%, transparent 100%); }
.pg-cat-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px 22px;
}
.pg-cat-name {
  font-family: 'Playfair Display', serif;
  font-size: clamp(.9rem,1.5vw,1.3rem);
  color: #fff;
  font-weight: 400;
  margin-bottom: 6px;
  transition: color var(--fast);
}
.pg-cat-count { font-size: .52rem; letter-spacing: 2px; color: rgba(255,255,255,.5); text-transform: uppercase; }
.pg-cat-shop {
  display: inline-block;
  font-size: .5rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-top: 10px;
  border-bottom: .5px solid rgba(201,168,76,.4);
  padding-bottom: 2px;
  transform: translateY(8px);
  opacity: 0;
  transition: all var(--medium);
}
.pg-cat-card:hover .pg-cat-shop { opacity: 1; transform: translateY(0); }
/* Placeholder category card */
.pg-cat-ph {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--soft);
}
.pg-cat-ph-icon {
  font-family: 'Playfair Display', serif;
  font-size: 2.4rem;
  color: rgba(201,168,76,.22);
  line-height: 1;
}

/* =========================================================
   12. PRODUCT CARDS
   ========================================================= */
.pg-products-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.pg-products-grid.cols-3 { grid-template-columns: repeat(3,1fr); }
.pg-product-card {
  background: var(--card);
  border: .5px solid rgba(201,168,76,.10);
  overflow: hidden;
  position: relative;
  transition: all var(--medium);
  cursor: pointer;
}
.pg-product-card:hover {
  border-color: rgba(212,175,55,.45);
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(26,24,20,.1);
}
.pg-product-img-wrap {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--soft);
}
.pg-product-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 20px;
  transition: transform var(--slow);
}
.pg-product-card:hover .pg-product-img { transform: scale(1.05); }

/* Sale / New badge */
.pg-prod-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  font-size: .46rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 10px;
  z-index: 3;
}
.pg-prod-badge.sale { background: var(--gold-brand); color: var(--black); }
.pg-prod-badge.new  { background: #fff; color: var(--black); }
.pg-prod-badge.featured { background: rgba(201,168,76,.15); color: var(--gold); border: .5px solid rgba(201,168,76,.3); }

/* Month tags */
.pg-month-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: .44rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 9px;
  z-index: 3;
}
.m1-tag { background:rgba(201,168,76,.15);color:var(--gold);border:.5px solid rgba(201,168,76,.3); }
.m2-tag { background:rgba(100,180,255,.1);color:#64b4ff;border:.5px solid rgba(100,180,255,.25); }
.m3-tag { background:rgba(100,200,150,.1);color:#64c896;border:.5px solid rgba(100,200,150,.25); }

/* Wishlist button on card */
.pg-card-wishlist {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  background: rgba(245,240,232,.88);
  border: .5px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 4;
  transition: all var(--fast);
  color: var(--text-muted);
}
.pg-card-wishlist:hover,
.pg-card-wishlist.is-wishlisted { background: rgba(201,168,76,.15); color: var(--gold); border-color: rgba(201,168,76,.5); }

/* Hover overlay */
.pg-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(245,240,232,.82);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  opacity: 0;
  transition: opacity var(--medium);
  z-index: 2;
}
.pg-product-card:hover .pg-card-overlay { opacity: 1; }
.pg-quick-view-btn {
  font-size: .52rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: var(--gold-brand);
  color: var(--black);
  padding: 10px 18px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: background var(--fast);
  white-space: nowrap;
}
.pg-quick-view-btn:hover { background: var(--gold-light); }

/* Product body */
.pg-product-body {
  padding: 14px 16px 18px;
  border-top: .5px solid rgba(201,168,76,.08);
}
.pg-product-type {
  font-size: .48rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 4px;
}
.pg-product-title {
  font-size: .7rem;
  color: var(--text-mid);
  letter-spacing: .5px;
  line-height: 1.4;
  margin-bottom: 10px;
  transition: color var(--fast);
  display: block;
  text-decoration: none;
}
.pg-product-card:hover .pg-product-title { color: var(--gold); }
.pg-product-price {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.pg-price-now {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  color: var(--gold);
  line-height: 1;
}
.pg-price-was {
  font-size: .68rem;
  color: var(--text-dim);
  text-decoration: line-through;
}
.pg-price-save {
  font-size: .46rem;
  letter-spacing: 1px;
  background: rgba(201,168,76,.10);
  color: var(--gold);
  border: .5px solid rgba(201,168,76,.25);
  padding: 2px 7px;
  font-weight: 600;
}
.pg-product-specs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.pg-spec-chip {
  font-size: .46rem;
  letter-spacing: .5px;
  color: var(--text-dim);
  background: rgba(26,24,20,.03);
  border: .5px solid rgba(26,24,20,.10);
  padding: 3px 7px;
}
.pg-spec-chip.diamond { color: var(--gold); }
.pg-spec-chip.sapphire { color: #4a90d9; }
.pg-spec-chip.emerald  { color: #50c878; }
.pg-spec-chip.ruby     { color: #e0115f; }

/* Rating stars */
.pg-product-rating { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.pg-stars { color: var(--gold); font-size: .6rem; letter-spacing: 2px; }
.pg-rating-count { font-size: .52rem; color: var(--text-dim); }

/* =========================================================
   13. QUICK VIEW MODAL
   ========================================================= */
.pg-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(26,24,20,.55);
  z-index: 9800;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--medium);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.pg-modal-backdrop.is-open { opacity: 1; pointer-events: all; }
.pg-modal {
  background: var(--card);
  border: .5px solid var(--gold-border);
  max-width: 960px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  transform: scale(.95);
  transition: transform var(--medium);
}
.pg-modal-backdrop.is-open .pg-modal { transform: scale(1); }
.pg-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  background: none;
  border: .5px solid var(--gold-border);
  color: var(--gold);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  z-index: 2;
  transition: all var(--fast);
}
.pg-modal-close:hover { background: var(--gold-brand); color: var(--black); }
.pg-modal-inner { display: grid; grid-template-columns: 1fr 1fr; }
.pg-modal-gallery { height: 480px; background: var(--soft); overflow: hidden; }
.pg-modal-gallery img { width: 100%; height: 100%; object-fit: contain; padding: 32px; }
.pg-modal-details { padding: 40px 36px; overflow-y: auto; }
.pg-modal-loading { padding: 80px; text-align: center; color: var(--text-dim); font-size: .64rem; letter-spacing: 2px; }

/* =========================================================
   14. WISHLIST SYSTEM
   ========================================================= */
.pg-wishlist-panel {
  position: fixed;
  top: 0;
  right: -480px;
  width: 440px;
  height: 100vh;
  background: #FFFFFF;
  border-left: .5px solid var(--gold-border);
  z-index: 9600;
  overflow-y: auto;
  transition: right var(--medium);
  display: flex;
  flex-direction: column;
}
.pg-wishlist-panel.is-open { right: 0; }
.pg-wishlist-header {
  padding: 24px 24px 20px;
  border-bottom: .5px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}
.pg-wishlist-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  color: #fff;
  font-weight: 400;
}
.pg-wishlist-close {
  width: 34px;
  height: 34px;
  background: none;
  border: .5px solid var(--gold-border);
  color: var(--gold);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--fast);
}
.pg-wishlist-close:hover { background: var(--gold-brand); color: var(--black); }
.pg-wishlist-items { flex: 1; padding: 16px; overflow-y: auto; }
.pg-wishlist-item {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: .5px solid rgba(255,255,255,.04);
  align-items: center;
}
.pg-wishlist-item-img { width: 70px; height: 70px; object-fit: contain; background: var(--soft); flex-shrink: 0; padding: 6px; }
.pg-wishlist-item-info { flex: 1; min-width: 0; }
.pg-wishlist-item-name { font-size: .66rem; color: var(--text-mid); margin-bottom: 6px; display: block; text-decoration: none; }
.pg-wishlist-item-price { font-family: 'Playfair Display', serif; font-size: 1rem; color: var(--gold); }
.pg-wishlist-item-remove { background: none; border: none; color: var(--text-dim); cursor: pointer; font-size: .9rem; flex-shrink: 0; transition: color var(--fast); }
.pg-wishlist-item-remove:hover { color: #ff4444; }
.pg-wishlist-empty { text-align: center; padding: 60px 24px; }
.pg-wishlist-empty-icon { font-family: 'Playfair Display', serif; font-size: 3rem; color: rgba(201,168,76,.10); margin-bottom: 16px; }

/* =========================================================
   15. PRODUCT SLIDER (Best Sellers)
   ========================================================= */
.pg-slider-wrap { position: relative; }
.pg-slider { display: flex; gap: 20px; overflow-x: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; }
.pg-slide { flex: 0 0 calc(25% - 15px); scroll-snap-align: start; }
.pg-slide.wide { flex: 0 0 calc(33.333% - 14px); }
.pg-slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: rgba(245,240,232,.95);
  border: .5px solid var(--gold-border);
  color: var(--gold);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  transition: all var(--fast);
  font-size: 1.1rem;
}
.pg-slider-btn:hover { background: var(--gold-brand); color: var(--black); }
.pg-slider-btn.prev { left: -22px; }
.pg-slider-btn.next { right: -22px; }
.pg-slider-dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.pg-slider-dot { width: 24px; height: 2px; background: rgba(201,168,76,.22); cursor: pointer; transition: background var(--fast); }
.pg-slider-dot.active { background: var(--gold-brand); }

/* =========================================================
   16. RING BUILDER SECTION
   ========================================================= */
.pg-builder-section {
  background: var(--card);
  padding: var(--sp-xl) var(--sp-lg);
  position: relative;
  overflow: hidden;
}
.pg-builder-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(201,168,76,.04) 0%, transparent 70%);
  pointer-events: none;
}
.pg-builder-steps {
  display: flex;
  gap: 0;
  margin: 48px 0;
  position: relative;
}
.pg-builder-steps::before {
  content: '';
  position: absolute;
  top: 28px;
  left: calc(10% + 20px);
  right: calc(10% + 20px);
  height: .5px;
  background: var(--gold-border);
}
.pg-builder-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  position: relative;
  cursor: pointer;
  transition: opacity var(--fast);
}
.pg-builder-step:hover { opacity: .85; }
.pg-step-num {
  width: 56px;
  height: 56px;
  border: .5px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  color: var(--text-dim);
  background: var(--card);
  position: relative;
  z-index: 2;
  transition: all var(--medium);
}
.pg-builder-step.active .pg-step-num,
.pg-builder-step:hover .pg-step-num {
  background: var(--gold-brand);
  color: var(--black);
  border-color: var(--gold);
  box-shadow: 0 0 24px rgba(201,168,76,.3);
}
.pg-step-label {
  font-size: .56rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim);
  font-weight: 500;
  transition: color var(--fast);
}
.pg-builder-step.active .pg-step-label,
.pg-builder-step:hover .pg-step-label { color: var(--gold); }
.pg-step-desc { font-size: .62rem; color: var(--text-deep); }

/* =========================================================
   17. BRAND STORY SECTION
   ========================================================= */
.pg-story-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 600px;
}
.pg-story-media { position: relative; overflow: hidden; background: var(--soft); }
.pg-story-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--slow); }
.pg-story-media:hover img { transform: scale(1.03); }
.pg-story-frame-corner {
  position: absolute;
  width: 40px;
  height: 40px;
  z-index: 3;
}
.pg-story-frame-corner.tl { top: 16px; left: 16px; border-top: .5px solid rgba(201,168,76,.4); border-left: .5px solid rgba(201,168,76,.4); }
.pg-story-frame-corner.br { bottom: 16px; right: 16px; border-bottom: .5px solid rgba(201,168,76,.4); border-right: .5px solid rgba(201,168,76,.4); }
.pg-story-content {
  padding: 80px 60px;
  background: var(--card);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pg-story-divider { width: 48px; height: 1px; background: var(--gold-brand); margin: 24px 0; }

/* =========================================================
   18. WHY US / TRUST ICONS
   ========================================================= */
.pg-trust-grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 1px;
  background: rgba(201,168,76,.08);
}
.pg-trust-item {
  padding: 44px 24px;
  background: var(--card);
  text-align: center;
  transition: background var(--fast);
}
.pg-trust-item:hover { background: var(--soft-2); }
.pg-trust-icon {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  color: rgba(201,168,76,.35);
  display: block;
  margin: 0 auto 14px;
  line-height: 1;
}
.pg-trust-title {
  font-size: .56rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 8px;
}
.pg-trust-text { font-size: .68rem; color: var(--text-dim); line-height: 1.7; }

/* =========================================================
   19. BRIDAL SECTION
   ========================================================= */
.pg-bridal-hero {
  position: relative;
  height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--soft);
}
.pg-bridal-bg { position: absolute; inset: 0; object-fit: cover; width: 100%; height: 100%; opacity: .4; }
.pg-bridal-grad {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 50%, rgba(10,10,10,.3) 0%, rgba(10,10,10,.85) 100%);
}
.pg-bridal-inner { position: relative; z-index: 2; text-align: center; padding: 0 48px; max-width: 700px; }

/* =========================================================
   20. INSTAGRAM GALLERY
   ========================================================= */
.pg-instagram-grid {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 2px;
}
.pg-insta-item {
  aspect-ratio: 1;
  overflow: hidden;
  position: relative;
  background: var(--soft);
  cursor: pointer;
}
.pg-insta-item img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--medium); }
.pg-insta-item:hover img { transform: scale(1.08); }
.pg-insta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(212,175,55,.0);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--fast);
}
.pg-insta-item:hover .pg-insta-overlay { background: rgba(201,168,76,.12); }
.pg-insta-icon { color: #fff; opacity: 0; transition: opacity var(--fast); font-size: 1.4rem; }
.pg-insta-item:hover .pg-insta-icon { opacity: 1; }

/* =========================================================
   21. TESTIMONIALS
   ========================================================= */
.pg-testimonials-wrap { position: relative; }
.pg-testi-slider { display: flex; gap: 24px; overflow: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; }
.pg-testi-slide { flex: 0 0 calc(33.333% - 16px); scroll-snap-align: start; }
.pg-testi-card {
  border: .5px solid var(--gold-border);
  padding: 36px 30px;
  background: var(--card);
  transition: all var(--medium);
  height: 100%;
}
.pg-testi-card:hover { border-color: rgba(201,168,76,.4); transform: translateY(-4px); box-shadow: 0 14px 32px rgba(26,24,20,.1); }
.pg-testi-q { font-family: 'Playfair Display', serif; font-size: 4rem; color: rgba(201,168,76,.10); line-height: 1; margin-bottom: 8px; }
.pg-testi-stars { color: var(--gold); font-size: .68rem; letter-spacing: 3px; margin-bottom: 16px; }
.pg-testi-body { font-size: .76rem; color: #777; line-height: 1.9; font-style: italic; margin-bottom: 22px; }
.pg-testi-author { font-size: .58rem; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); font-weight: 500; }
.pg-testi-loc { font-size: .52rem; color: var(--text-dim); letter-spacing: 1px; margin-top: 4px; }

/* =========================================================
   22. NEWSLETTER / VIP CLUB
   ========================================================= */
.pg-newsletter {
  background: var(--card);
  border-top: .5px solid rgba(201,168,76,.15);
  border-bottom: .5px solid rgba(201,168,76,.15);
  padding: 60px 48px;
  position: relative;
  overflow: hidden;
}
.pg-newsletter::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(212,175,55,.05) 0%, transparent 70%);
  pointer-events: none;
}
.pg-newsletter-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.pg-newsletter-title { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: #fff; font-weight: 400; margin-bottom: 6px; }
.pg-newsletter-sub { font-size: .68rem; color: var(--text-dim); }
.pg-newsletter-perks { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; }
.pg-newsletter-perk { font-size: .54rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gold); display: flex; align-items: center; gap: 8px; }
.pg-newsletter-perk::before { content: '✦'; font-size: .44rem; }
.pg-newsletter-form { display: flex; flex: 1; max-width: 500px; min-width: 280px; }
.pg-nl-inp {
  flex: 1;
  background: var(--soft);
  border: .5px solid rgba(201,168,76,.22);
  border-right: none;
  color: var(--text-mid);
  font-size: .72rem;
  padding: 15px 18px;
  outline: none;
  transition: border-color var(--fast);
}
.pg-nl-inp:focus { border-color: var(--gold); }
.pg-nl-inp::placeholder { color: var(--text-deep); }
.pg-nl-btn {
  background: var(--gold-brand);
  color: var(--black);
  font-size: .54rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  font-weight: 700;
  padding: 15px 22px;
  border: none;
  cursor: pointer;
  transition: background var(--fast);
  flex-shrink: 0;
}
.pg-nl-btn:hover { background: var(--gold-dark); }

/* =========================================================
   23. FOOTER
   ========================================================= */
.pg-footer { background: #1A1814; border-top: .5px solid rgba(201,168,76,.12); }
.pg-footer-main { padding: 70px 48px 56px; }
.pg-footer-grid { display: grid; grid-template-columns: 2.2fr 1fr 1fr 1fr 1fr; gap: 48px; }
.pg-f-logo-name { font-family: 'Playfair Display', serif; font-size: 1.15rem; letter-spacing: 5px; color: var(--gold); text-transform: uppercase; display: block; margin-bottom: 3px; }
.pg-f-logo-sub { font-size: .42rem; letter-spacing: 5px; text-transform: uppercase; color: var(--text-deep); display: block; margin-bottom: 20px; }
.pg-f-about { font-size: .66rem; color: var(--text-deep); line-height: 1.9; margin-bottom: 24px; max-width: 280px; }
.pg-f-socials { display: flex; gap: 8px; flex-wrap: wrap; }
.pg-f-social {
  width: 36px; height: 36px;
  border: .5px solid rgba(201,168,76,.15);
  display: flex; align-items: center; justify-content: center;
  color: var(--text-deep);
  cursor: pointer;
  transition: all var(--fast);
  text-decoration: none;
  font-size: .7rem;
}
.pg-f-social:hover { border-color: var(--gold); color: var(--gold); }
.pg-f-col-title { font-size: .5rem; letter-spacing: 4px; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; font-weight: 600; }
.pg-f-links li { border-bottom: .5px solid rgba(26,24,20,.07); }
.pg-f-links li:last-child { border-bottom: none; }
.pg-f-links a {
  font-size: .64rem;
  color: var(--text-deep);
  padding: 8px 0;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all var(--fast);
  text-decoration: none;
}
.pg-f-links a::before { content: '›'; color: rgba(201,168,76,.22); font-size: .9rem; transition: color var(--fast); }
.pg-f-links a:hover { color: var(--gold); padding-left: 6px; }
.pg-f-links a:hover::before { color: var(--gold); }
.pg-footer-certs {
  border-top: .5px solid rgba(255,255,255,.04);
  padding: 22px 48px;
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.pg-footer-certs-lbl { font-size: .46rem; letter-spacing: 3px; text-transform: uppercase; color: var(--text-deep); }
.pg-footer-cert { font-family: 'Playfair Display', serif; font-size: .95rem; color: rgba(212,175,55,.22); letter-spacing: 2.5px; }
.pg-footer-bottom {
  background: #F0EDE8;
  border-top: .5px solid rgba(255,255,255,.04);
  padding: 18px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.pg-footer-copy { font-size: .52rem; color: var(--text-bright); letter-spacing: 1px; }
.pg-footer-legal { display: flex; gap: 20px; }
.pg-footer-legal a { font-size: .5rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-bright); text-decoration: none; transition: color var(--fast); }
.pg-footer-legal a:hover { color: var(--gold); }
.pg-pay-methods { display: flex; gap: 7px; align-items: center; flex-wrap: wrap; }
.pg-pay-chip { font-size: .44rem; letter-spacing: 1px; text-transform: uppercase; color: var(--text-bright); border: .5px solid rgba(26,24,20,.10); padding: 4px 8px; }

/* WhatsApp FAB */
.pg-wa-fab {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9999;
  width: 56px;
  height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 24px rgba(37,211,102,.4);
  transition: all .3s;
  text-decoration: none;
}
.pg-wa-fab:hover { transform: scale(1.1) translateY(-2px); box-shadow: 0 6px 32px rgba(37,211,102,.55); }
.pg-wa-fab::before {
  content: '';
  position: absolute;
  width: 100%; height: 100%;
  border-radius: 50%;
  background: #25D366;
  opacity: .25;
  animation: pg-wa-pulse 2.5s ease-out infinite;
}
@keyframes pg-wa-pulse { 0%{transform:scale(1);opacity:.25} 100%{transform:scale(1.8);opacity:0} }

/* Toast */
.pg-toast {
  position: fixed;
  bottom: 100px;
  right: 28px;
  background: var(--card);
  border: .5px solid var(--gold-border);
  border-left: 3px solid var(--gold);
  padding: 14px 20px;
  font-size: .62rem;
  color: var(--text-mid);
  letter-spacing: 1px;
  z-index: 9990;
  transform: translateX(calc(100% + 40px));
  transition: transform var(--medium);
  max-width: 300px;
}
.pg-toast.is-visible { transform: translateX(0); }

/* =========================================================
   24. SHOP PAGE
   ========================================================= */
.pg-shop-layout { display: grid; grid-template-columns: 260px 1fr; gap: 36px; padding: 40px 48px 80px; }
.pg-shop-sidebar {
  position: sticky;
  top: 90px;
  height: fit-content;
  border: .5px solid rgba(201,168,76,.10);
  background: var(--card);
  padding: 28px;
}
.pg-filter-group { margin-bottom: 28px; padding-bottom: 28px; border-bottom: .5px solid rgba(255,255,255,.04); }
.pg-filter-group:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.pg-filter-title {
  font-size: .54rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pg-filter-toggle { font-size: .8rem; color: var(--text-dim); transition: transform var(--fast); }
.pg-filter-toggle.collapsed { transform: rotate(-90deg); }
.pg-filter-options { display: flex; flex-direction: column; gap: 4px; }
.pg-filter-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  cursor: pointer;
  font-size: .64rem;
  color: var(--text-dim);
  letter-spacing: .5px;
  transition: color var(--fast);
  border-bottom: .5px solid rgba(255,255,255,.02);
}
.pg-filter-option:hover { color: var(--gold); }
.pg-filter-option input[type="checkbox"] { appearance: none; width: 14px; height: 14px; border: .5px solid rgba(201,168,76,.22); flex-shrink: 0; cursor: pointer; transition: all var(--fast); position: relative; }
.pg-filter-option input[type="checkbox"]:checked { background: var(--gold-brand); border-color: var(--gold); }
.pg-filter-option input[type="checkbox"]:checked::after { content: '✓'; position: absolute; top: -2px; left: 1px; font-size: .6rem; color: var(--black); font-weight: 700; }
.pg-filter-count { margin-left: auto; font-size: .52rem; color: var(--text-deep); }

/* Price range */
.pg-price-range-wrap { padding: 8px 0; }
.pg-price-range-vals { display: flex; justify-content: space-between; font-size: .58rem; color: var(--gold); margin-bottom: 12px; }
.pg-range-slider { width: 100%; accent-color: var(--gold); }

/* Metal swatches */
.pg-metal-swatches { display: flex; gap: 10px; flex-wrap: wrap; }
.pg-metal-swatch {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all var(--fast);
  position: relative;
}
.pg-metal-swatch.active, .pg-metal-swatch:hover { border-color: var(--gold); transform: scale(1.1); }
.pg-metal-swatch.yellow { background: radial-gradient(circle at 35% 35%, #f5d660, #C9A84C 50%, #9a7318); }
.pg-metal-swatch.white  { background: radial-gradient(circle at 35% 35%, #f4f4f4, #d0d0d0 50%, #9a9a9a); }
.pg-metal-swatch.rose   { background: radial-gradient(circle at 35% 35%, #e8a898, #c9826a 50%, #8b4a2a); }
.pg-metal-swatch.platinum { background: radial-gradient(circle at 35% 35%, #e8e8f0, #c8c8d8 50%, #909098); }

/* Diamond shape filter */
.pg-shape-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.pg-shape-opt {
  border: .5px solid rgba(201,168,76,.15);
  padding: 10px 6px;
  cursor: pointer;
  text-align: center;
  transition: all var(--fast);
  font-size: .5rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-dim);
}
.pg-shape-opt:hover, .pg-shape-opt.active { border-color: var(--gold); color: var(--gold); background: rgba(212,175,55,.05); }
.pg-shape-icon { font-size: 1.1rem; display: block; margin-bottom: 4px; color: rgba(201,168,76,.4); }

/* Shop main area */

.pg-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: .5px solid rgba(201,168,76,.08);
  flex-wrap: wrap;
  gap: 12px;
}
.pg-shop-results { font-size: .58rem; letter-spacing: 2px; text-transform: uppercase; color: var(--text-dim); }
.pg-shop-sort-wrap { display: flex; align-items: center; gap: 12px; }
.pg-shop-sort {
  background: var(--soft);
  border: .5px solid rgba(201,168,76,.15);
  color: var(--text-mid);
  font-size: .6rem;
  padding: 9px 14px;
  letter-spacing: 1px;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23D4AF37'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 32px;
}
.pg-view-toggle { display: flex; gap: 4px; }
.pg-view-btn {
  width: 34px; height: 34px;
  border: .5px solid rgba(201,168,76,.15);
  background: none;
  color: var(--text-dim);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--fast);
  font-size: .7rem;
}
.pg-view-btn.active, .pg-view-btn:hover { background: rgba(201,168,76,.08); color: var(--gold); border-color: var(--gold-border); }

/* Active filters */
.pg-active-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.pg-active-filter {
  font-size: .5rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--gold);
  background: rgba(201,168,76,.08);
  border: .5px solid rgba(201,168,76,.25);
  padding: 5px 10px 5px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: all var(--fast);
}
.pg-active-filter:hover { background: rgba(212,175,55,.14); }
.pg-active-filter-x { font-size: .7rem; }
.pg-clear-filters { font-size: .52rem; letter-spacing: 2px; text-transform: uppercase; color: var(--text-dim); background: none; border: none; cursor: pointer; text-decoration: underline; transition: color var(--fast); }
.pg-clear-filters:hover { color: var(--gold); }

/* =========================================================
   25. SINGLE PRODUCT PAGE
   ========================================================= */

/* Main page wrapper - add top padding to clear fixed header */
.pg-product-main {
  padding-top: 80px;
  background: var(--black);
}

/* The 2-column layout container (gallery left | details right) */
.pg-product-layout,
.pg-product-single {
  display: grid;
  grid-template-columns: 54% 1fr;
  gap: 56px;
  padding: 48px 0 64px;
  align-items: start;
}

/* Gallery column — sticky so it stays visible while user scrolls details */
.pg-gallery {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Product details / summary column */
.pg-product-summary {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pg-gallery-sticky { position: sticky; top: 90px; }
.pg-gallery-main,
.pg-gallery-main-img {
  height: 520px;
  background: var(--soft);
  border: .5px solid rgba(201,168,76,.15);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  margin-bottom: 12px;
  cursor: zoom-in;
}
.pg-gallery-main img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 32px;
  transition: transform var(--medium);
}
.pg-gallery-main.is-zoomed img { transform: scale(1.8); cursor: zoom-out; }
.pg-gallery-360-btn {
  position: absolute;
  bottom: 14px;
  right: 14px;
  background: rgba(245,240,232,.92);
  border: .5px solid var(--gold-border);
  color: var(--gold);
  font-size: .5rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 8px 12px;
  cursor: pointer;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all var(--fast);
}
.pg-gallery-360-btn:hover { background: var(--gold-brand); color: var(--black); }
.pg-gallery-thumbs, .pg-thumbnails { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.pg-gallery-thumb, .pg-thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  aspect-ratio: 1;
  background: var(--soft);
  border: .5px solid rgba(201,168,76,.10);
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  transition: border-color var(--fast);
}
.pg-gallery-thumb img, .pg-thumb img { width: 100%; height: 100%; object-fit: cover; opacity: .6; transition: opacity var(--fast); }
.pg-gallery-thumb:hover img, .pg-gallery-thumb.active img,
.pg-thumb:hover img, .pg-thumb.is-active { opacity: 1; }
.pg-gallery-thumb:hover, .pg-gallery-thumb.active,
.pg-thumb:hover, .pg-thumb.is-active { border-color: var(--gold); opacity: 1; }

/* Product summary */
.pg-product-sale-pill {
  display: inline-block;
  background: var(--gold-brand);
  color: var(--black);
  font-size: .5rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 12px;
  margin-bottom: 16px;
}
.pg-product-cat-link {
  font-size: .54rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: 8px;
  text-decoration: none;
}
.pg-product-name {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  color: #fff;
  font-weight: 400;
  line-height: 1.18;
  margin-bottom: 6px;
}
.pg-product-sku {
  font-size: .54rem;
  letter-spacing: 2px;
  color: var(--text-dim);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.pg-product-rating-row { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.pg-product-price-block {
  padding: 22px 0;
  border-top: .5px solid rgba(201,168,76,.12);
  border-bottom: .5px solid rgba(201,168,76,.12);
  margin-bottom: 24px;
  display: flex;
  align-items: flex-end;
  gap: 20px;
  flex-wrap: wrap;
}
.pg-product-price-now {
  font-family: 'Playfair Display', serif;
  font-size: 2.6rem;
  color: var(--gold);
  line-height: 1;
}
.pg-product-price-was { font-size: 1rem; color: var(--text-dim); text-decoration: line-through; }
.pg-product-price-save {
  font-size: .5rem;
  font-weight: 700;
  letter-spacing: 2px;
  background: rgba(201,168,76,.10);
  border: .5px solid rgba(201,168,76,.3);
  color: var(--gold);
  padding: 8px 14px;
  text-transform: uppercase;
}

/* Customisation options */
.pg-customise-options { margin-bottom: 24px; }
.pg-option-group { margin-bottom: 20px; }
.pg-option-label {
  font-size: .54rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.pg-option-label span { font-size: .6rem; color: var(--text-mid); letter-spacing: 0; text-transform: none; font-weight: 400; }

/* Metal options */
.pg-metal-opts { display: flex; gap: 10px; flex-wrap: wrap; }
.pg-metal-opt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 10px 12px;
  border: .5px solid rgba(201,168,76,.15);
  min-width: 70px;
  transition: all var(--fast);
}
.pg-metal-opt:hover, .pg-metal-opt.selected { border-color: var(--gold); background: rgba(201,168,76,.04); }
.pg-metal-ball { width: 28px; height: 28px; border-radius: 50%; }
.pg-metal-name { font-size: .5rem; letter-spacing: 1px; text-transform: uppercase; color: var(--text-dim); white-space: nowrap; transition: color var(--fast); }
.pg-metal-opt.selected .pg-metal-name { color: var(--gold); }

/* Size selector */
.pg-size-opts { display: flex; gap: 8px; flex-wrap: wrap; }
.pg-size-opt {
  width: 44px; height: 44px;
  border: .5px solid rgba(201,168,76,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .64rem;
  color: var(--text-dim);
  cursor: pointer;
  transition: all var(--fast);
}
.pg-size-opt:hover, .pg-size-opt.selected { background: var(--gold-brand); color: var(--black); border-color: var(--gold); }
.pg-size-opt.unavailable { opacity: .3; cursor: not-allowed; position: relative; }
.pg-size-opt.unavailable::after { content: ''; position: absolute; inset: 0; background: linear-gradient(45deg, transparent 45%, rgba(255,0,0,.4) 45%, rgba(255,0,0,.4) 55%, transparent 55%); }
.pg-size-guide-link { font-size: .52rem; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(201,168,76,.5); cursor: pointer; text-decoration: underline; transition: color var(--fast); background: none; border: none; }
.pg-size-guide-link:hover { color: var(--gold); }

/* Engraving */
.pg-engraving-inp {
  width: 100%;
  background: var(--soft);
  border: .5px solid rgba(212,175,55,.18);
  color: var(--text-mid);
  font-size: .74rem;
  padding: 13px 16px;
  outline: none;
  transition: border-color var(--fast);
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: 2px;
}
.pg-engraving-inp:focus { border-color: var(--gold); }
.pg-engraving-inp::placeholder { color: var(--text-deep); font-family: 'Montserrat', sans-serif; font-size: .68rem; letter-spacing: .5px; }
.pg-engraving-count { font-size: .5rem; color: var(--text-dim); text-align: right; margin-top: 4px; }

/* Add to cart row */
.pg-add-to-cart-row { display: flex; gap: 12px; margin-bottom: 14px; }
.pg-qty-wrap {
  display: flex;
  align-items: center;
  border: .5px solid rgba(201,168,76,.22);
  flex-shrink: 0;
}
.pg-qty-btn {
  width: 40px; height: 52px;
  background: var(--soft);
  border: none;
  color: var(--gold);
  cursor: pointer;
  font-size: 1.2rem;
  transition: background var(--fast);
}
.pg-qty-btn:hover { background: rgba(201,168,76,.10); }
.pg-qty-inp { width: 48px; height: 52px; background: var(--card); border: none; color: var(--text-mid); text-align: center; font-size: .8rem; }
.pg-atc-btn {
  flex: 1;
  background: var(--gold-brand);
  color: var(--black);
  border: none;
  font-size: .6rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 700;
  padding: 0 24px;
  cursor: pointer;
  transition: all .3s;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.pg-atc-btn:hover { background: var(--gold-dark); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(201,168,76,.3); }
.pg-wishlist-atc {
  width: 52px; height: 52px;
  border: .5px solid rgba(201,168,76,.22);
  background: var(--soft);
  color: var(--text-dim);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--fast);
}
.pg-wishlist-atc:hover, .pg-wishlist-atc.is-wishlisted { background: rgba(201,168,76,.10); color: var(--gold); border-color: var(--gold-border); }

/* Specs table */
.pg-specs-table-wrap { border: .5px solid rgba(201,168,76,.12); margin: 22px 0; }
.pg-specs-table-head { font-size: .52rem; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); padding: 12px 18px; background: rgba(201,168,76,.04); border-bottom: .5px solid rgba(201,168,76,.10); font-weight: 600; }
.pg-specs-tbl { width: 100%; border-collapse: collapse; }
.pg-specs-tbl tr { border-bottom: .5px solid rgba(26,24,20,.07); }
.pg-specs-tbl tr:last-child { border-bottom: none; }
.pg-specs-tbl td:first-child { font-size: .58rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-dim); padding: 12px 18px; width: 44%; vertical-align: top; }
.pg-specs-tbl td:last-child { font-size: .72rem; color: var(--text-mid); padding: 12px 18px 12px 0; text-align: right; }
.pg-specs-tbl td:last-child strong { color: var(--gold); font-weight: 500; }

/* Trust badges */
.pg-product-trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(201,168,76,.08); margin-top: 20px; }
.pg-product-trust-item { background: var(--card); padding: 16px 10px; display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; }
.pg-product-trust-icon { font-size: 1.2rem; color: var(--gold); line-height: 1; }
.pg-product-trust-text { font-size: .5rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-dim); line-height: 1.5; }

/* =========================================================
   26. RING SIZE CALCULATOR MODAL
   ========================================================= */
.pg-size-calc {
  position: fixed;
  inset: 0;
  background: rgba(26,24,20,.85);
  z-index: 9900;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--medium);
}
.pg-size-calc.is-open { opacity: 1; pointer-events: all; }
.pg-size-calc-inner {
  background: var(--card);
  border: .5px solid var(--gold-border);
  max-width: 600px;
  width: 100%;
  padding: 48px;
  position: relative;
}
.pg-size-table { width: 100%; border-collapse: collapse; font-size: .64rem; }
.pg-size-table th { font-size: .5rem; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); padding: 10px 14px; text-align: left; background: rgba(201,168,76,.04); border-bottom: .5px solid rgba(201,168,76,.15); }
.pg-size-table td { padding: 10px 14px; border-bottom: .5px solid rgba(26,24,20,.07); color: var(--text-dim); }
.pg-size-table tr:last-child td { border-bottom: none; }
.pg-size-table tr:hover td { background: rgba(212,175,55,.03); color: var(--text-mid); }

/* =========================================================
   27. DIAMOND EDUCATION PAGE
   ========================================================= */
.pg-4cs-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(201,168,76,.08); }
.pg-4c-card { padding: 56px 36px; background: var(--card); text-align: center; transition: background var(--medium); }
.pg-4c-card:hover { background: var(--soft-2); }
.pg-4c-icon { font-family: 'Playfair Display', serif; font-size: 3.5rem; color: rgba(201,168,76,.15); line-height: 1; margin-bottom: 20px; display: block; }
.pg-4c-letter { font-family: 'Playfair Display', serif; font-size: 4.5rem; color: rgba(201,168,76,.08); position: absolute; top: 16px; right: 20px; line-height: 1; pointer-events: none; }
.pg-4c-title { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: #fff; font-weight: 400; margin-bottom: 10px; }
.pg-4c-scale { display: flex; flex-direction: column; gap: 3px; margin: 16px 0; }
.pg-4c-scale-item { display: flex; align-items: center; gap: 8px; font-size: .58rem; color: var(--text-dim); }
.pg-4c-bar { height: 3px; background: var(--gold-brand); border-radius: 0; }

.pg-shapes-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 16px; }
.pg-shape-card {
  border: .5px solid rgba(201,168,76,.12);
  padding: 28px 16px;
  text-align: center;
  cursor: pointer;
  transition: all var(--fast);
  background: var(--card);
}
.pg-shape-card:hover, .pg-shape-card.active { border-color: var(--gold); background: rgba(201,168,76,.04); transform: translateY(-3px); }
.pg-shape-svg { height: 50px; margin: 0 auto 12px; display: flex; align-items: center; justify-content: center; }
.pg-shape-name { font-size: .54rem; letter-spacing: 2px; text-transform: uppercase; color: var(--text-dim); transition: color var(--fast); }
.pg-shape-card:hover .pg-shape-name, .pg-shape-card.active .pg-shape-name { color: var(--gold); }

/* =========================================================
   28. BLOG LAYOUTS
   ========================================================= */
.pg-blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.pg-blog-card { background: var(--card); border: .5px solid rgba(201,168,76,.08); overflow: hidden; transition: all var(--medium); }
.pg-blog-card:hover { border-color: rgba(201,168,76,.3); transform: translateY(-4px); box-shadow: 0 14px 32px rgba(26,24,20,.1); }
.pg-blog-img { aspect-ratio: 16/9; overflow: hidden; background: var(--soft); }
.pg-blog-img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--slow); }
.pg-blog-card:hover .pg-blog-img img { transform: scale(1.05); }
.pg-blog-body { padding: 24px 22px; }
.pg-blog-cat { font-size: .5rem; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; display: block; }
.pg-blog-title { font-family: 'Playfair Display', serif; font-size: 1.15rem; color: #fff; font-weight: 400; margin-bottom: 12px; line-height: 1.35; }
.pg-blog-title a { color: inherit; text-decoration: none; transition: color var(--fast); }
.pg-blog-title a:hover { color: var(--gold); }
.pg-blog-meta { display: flex; gap: 16px; font-size: .52rem; letter-spacing: 1px; text-transform: uppercase; color: var(--text-dim); margin-top: 14px; }
.pg-blog-excerpt { font-size: .7rem; color: var(--text-muted); line-height: 1.8; }
.pg-blog-read-more { font-size: .52rem; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; transition: gap var(--fast); }
.pg-blog-read-more:hover { gap: 12px; }

/* =========================================================
   29. BREADCRUMBS
   ========================================================= */
.pg-breadcrumb {
  padding: 18px 48px;
  background: var(--black);
  border-bottom: .5px solid rgba(201,168,76,.06);
  font-size: .54rem;
  letter-spacing: 1.5px;
  color: var(--text-dim);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.pg-breadcrumb a { color: var(--text-dim); text-decoration: none; transition: color var(--fast); }
.pg-breadcrumb a:hover { color: var(--gold); }
.pg-breadcrumb-sep { color: rgba(201,168,76,.25); }
/* pg-bc-sep — alias used in cart/checkout/shop breadcrumbs */
.pg-bc-sep { color: rgba(201,168,76,.25); margin: 0 8px; font-size: 12px; }
.pg-breadcrumb-current { color: var(--text-mid); font-weight: 500; }

/* ── Section heading helpers (used across all pages) ── */
.pg-section-label {
  display: block;
  font-size: 10px; letter-spacing: .25em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 4px;
}
.pg-section-title {
  font-family: var(--font-serif);
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 400; color: var(--text-bright, #1A1814); margin: 0;
}
.pg-section-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 28px; flex-wrap: wrap; gap: 10px;
}
.pg-section-view-all {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--gold); text-decoration: none;
  border-bottom: .5px solid transparent; transition: border-color .2s;
}
.pg-section-view-all:hover { border-bottom-color: var(--gold); }
.pg-section-footer { text-align: center; margin-top: 32px; }

/* =========================================================
   30. PAGE HERO (inner pages)
   ========================================================= */
.pg-page-hero {
  padding: 100px 48px 80px;
  background: var(--black);
  position: relative;
  overflow: hidden;
}
.pg-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(212,175,55,.05) 0%, transparent 60%);
  pointer-events: none;
}
.pg-page-hero-content { max-width: 680px; position: relative; z-index: 2; }

/* =========================================================
   31. COMPARISON TABLE
   ========================================================= */
.pg-compare-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--card);
  border-top: 2px solid var(--gold);
  padding: 16px 48px;
  z-index: 8000;
  transform: translateY(100%);
  transition: transform var(--medium);
  display: flex;
  align-items: center;
  gap: 20px;
}
.pg-compare-bar.is-visible { transform: translateY(0); }
.pg-compare-item { display: flex; align-items: center; gap: 12px; border: .5px solid var(--gold-border); padding: 8px 12px; }
.pg-compare-item img { width: 48px; height: 48px; object-fit: contain; }
.pg-compare-item-name { font-size: .62rem; color: var(--text-mid); max-width: 120px; }
.pg-compare-remove { background: none; border: none; color: var(--text-dim); cursor: pointer; font-size: .9rem; }
.pg-compare-btn { margin-left: auto; }

/* =========================================================
   32. SCROLL ANIMATIONS
   ========================================================= */
.pg-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.pg-reveal.is-visible { opacity: 1; transform: translateY(0); }
.pg-reveal-delay-1 { transition-delay: .1s; }
.pg-reveal-delay-2 { transition-delay: .2s; }
.pg-reveal-delay-3 { transition-delay: .3s; }
.pg-reveal-delay-4 { transition-delay: .4s; }

/* =========================================================
   33. WC OVERRIDES
   ========================================================= */
.woocommerce-page, .woocommerce { background: var(--black); }
.woocommerce .col2-set, .woocommerce-page .col2-set { width: 100%; }
.woocommerce span.onsale { background: var(--gold-brand) !important; color: var(--black) !important; border-radius: 0 !important; font-family: 'Montserrat', sans-serif !important; font-size: .5rem !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase !important; min-height: unset !important; min-width: unset !important; padding: 5px 10px !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--gold-brand) !important; color: var(--black) !important; font-family: 'Montserrat', sans-serif !important; font-size: .58rem !important; letter-spacing: 3px !important; text-transform: uppercase !important; font-weight: 700 !important; border-radius: 0 !important; padding: 14px 28px !important; transition: all .3s !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--gold-dark) !important; transform: translateY(-1px) !important; }
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--gold-brand) !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { background: var(--card); border: .5px solid var(--gold-border); padding: 32px; }
.woocommerce table.shop_table { background: var(--card); border: .5px solid rgba(201,168,76,.10) !important; border-radius: 0 !important; }
.woocommerce table.shop_table th { font-family: 'Montserrat', sans-serif; font-size: .52rem; letter-spacing: 3px; text-transform: uppercase; color: var(--gold); background: rgba(201,168,76,.04); border-bottom: .5px solid rgba(201,168,76,.15) !important; }
.woocommerce table.shop_table td { border-bottom: .5px solid rgba(255,255,255,.04) !important; color: var(--text-mid); }
.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-info { background: rgba(201,168,76,.08) !important; border-top-color: var(--gold) !important; color: var(--text-mid) !important; }
.woocommerce-form-login input[type="text"], .woocommerce-form-login input[type="password"], .woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"], .woocommerce-checkout input[type="tel"], .woocommerce-checkout select, .woocommerce-checkout textarea { background: var(--soft) !important; border: .5px solid rgba(212,175,55,.18) !important; color: var(--text-mid) !important; border-radius: 0 !important; padding: 13px 16px !important; }
.woocommerce-checkout input:focus, .woocommerce-checkout select:focus, .woocommerce-checkout textarea:focus { border-color: var(--gold) !important; outline: none !important; }
.woocommerce label { color: var(--text-muted) !important; font-size: .64rem !important; letter-spacing: 1px !important; }

/* Star ratings */
.woocommerce .star-rating span::before { color: var(--gold) !important; }
.woocommerce .star-rating { color: rgba(201,168,76,.25) !important; }

/* Wishlist Active States */
.is-wishlisted svg, button.is-wishlisted svg, .pcard__wish.is-wishlisted svg, .pg-wishlist-btn.is-wishlisted svg {
  fill: var(--gold) !important;
  color: var(--gold) !important;
}
.pg-wishlist-count {
  font-size: 10px !important;
}

/* WC Blocks Overrides */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout {
  background: var(--black) !important;
  padding: 20px 0;
}
.wc-block-cart-items, .wc-block-components-sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar {
  background: var(--card) !important;
  border: .5px solid rgba(201,168,76,.15) !important;
  border-radius: 8px !important;
  padding: 32px !important;
}
.wc-block-cart-items th, .wc-block-components-sidebar th, .wc-block-components-order-summary th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: .52rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  background: rgba(201,168,76,.04) !important;
  border-bottom: .5px solid rgba(201,168,76,.15) !important;
}
.wc-block-cart-items td, .wc-block-components-totals-item {
  border-bottom: .5px solid rgba(255,255,255,.04) !important;
}
.wc-block-components-product-name, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-components-address-card__contact {
  color: var(--text-bright) !important;
}
.wc-block-components-product-price, .wc-block-components-totals-item__value {
  color: var(--gold) !important;
  font-weight: 500 !important;
}
.wc-block-components-button:not(.is-link) {
  background: var(--gold-brand) !important;
  color: var(--black) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: .58rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
  transition: all .3s !important;
  border: none !important;
}
.wc-block-components-button:not(.is-link):hover {
  background: var(--gold-dark) !important;
  transform: translateY(-1px) !important;
}
.wc-block-components-text-input input, .wc-block-components-radio-control input[type="radio"] {
  background: var(--soft) !important;
  border: .5px solid rgba(212,175,55,.18) !important;
  color: var(--text-mid) !important;
}
.wc-block-components-text-input label {
  color: var(--text-muted) !important;
}
.wc-block-cart__totals-title, .wc-block-checkout__title {
  font-family: var(--font-serif) !important;
  color: var(--gold) !important;
  font-weight: 400 !important;
  font-size: 1.5rem !important;
}

/* =========================================================
   34. RESPONSIVE
   ========================================================= */
@media (max-width: 1280px) {
  .pg-header-inner { padding: 0 32px; }
  .pg-footer-main { padding: 60px 32px 48px; }
  .pg-footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .pg-section, .pg-section-alt { padding: var(--sp-lg) var(--sp-md); }
  .pg-shop-layout { padding: 30px 32px 60px; }
}
@media (max-width: 1024px) {
  .pg-primary-nav { display: none; }
  .pg-hamburger { display: flex; }
  .pg-header-inner { padding: 0 24px; }
  .pg-product-single { grid-template-columns: 1fr; gap: 40px; padding: 40px 24px; }
  .pg-gallery-sticky { position: static; }
  .pg-modal-inner { grid-template-columns: 1fr; }
  .pg-modal-gallery { height: 300px; }
  .pg-shop-layout { grid-template-columns: 1fr; padding: 24px; }
  .pg-shop-sidebar { position: static; display: none; }
  .pg-shop-sidebar.is-open { display: block; }
  .pg-story-wrap { grid-template-columns: 1fr; }
  .pg-story-content { padding: 48px 32px; }
  .pg-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .pg-trust-grid { grid-template-columns: repeat(3,1fr); }
  .pg-4cs-grid { grid-template-columns: repeat(2,1fr); }
  .pg-shapes-grid { grid-template-columns: repeat(4,1fr); }
  .pg-instagram-grid { grid-template-columns: repeat(4,1fr); }
}
@media (max-width: 768px) {
  .pg-container, .pg-container-md { padding: 0 20px; }
  .pg-section, .pg-section-alt { padding: 60px 20px; }
  .pg-hero-content { padding: 0 24px; max-width: 100%; }
  .pg-products-grid { grid-template-columns: repeat(2,1fr); gap: 14px; }
  .pg-cat-grid { grid-template-columns: repeat(2,1fr); }
  .pg-cat-card.wide { grid-column: span 1; aspect-ratio: 3/4; }
  .pg-blog-grid { grid-template-columns: 1fr; }
  .pg-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .pg-footer-main { padding: 48px 20px 40px; }
  .pg-footer-bottom { padding: 16px 20px; flex-direction: column; gap: 14px; }
  .pg-testi-slide { flex: 0 0 90%; }
  .pg-builder-steps { flex-direction: column; align-items: center; gap: 16px; }
  .pg-builder-steps::before { display: none; }
  .pg-trust-grid { grid-template-columns: repeat(2,1fr); }
  .pg-4cs-grid { grid-template-columns: 1fr; }
  .pg-shapes-grid { grid-template-columns: repeat(3,1fr); }
  .pg-instagram-grid { grid-template-columns: repeat(3,1fr); }
  .pg-breadcrumb { padding: 14px 20px; }
  .pg-page-hero { padding: 70px 20px 56px; }
  .pg-newsletter-inner { flex-direction: column; gap: 28px; }
  .pg-wishlist-panel { width: 100%; right: -100%; }
  .pg-compare-bar { padding: 14px 20px; flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .pg-products-grid { grid-template-columns: 1fr; }
  .pg-hero-btns { flex-direction: column; }
  .pg-hero-stats { gap: 24px; }
  .pg-cat-grid { grid-template-columns: 1fr; }
  .pg-shapes-grid { grid-template-columns: repeat(2,1fr); }
  .pg-instagram-grid { grid-template-columns: repeat(2,1fr); }
  .pg-add-to-cart-row { flex-wrap: wrap; }
  .pg-atc-btn { min-height: 52px; }
  .pg-product-price-now { font-size: 2rem; }
}

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE ADDITIONS — PATTERN jewellery-theme
   Added: pg-marquee, pg-why-grid 6-col, pg-craft, pg-bridal-stats,
   pg-sale-banner, pg-builder-steps, cart/checkout, newsletter AJAX
   ═══════════════════════════════════════════════════════════ */

/* ── pg-h1 / pg-h2 / pg-lead / pg-eyebrow / pg-container ── */
.pg-container { max-width: var(--container, 1280px); margin: 0 auto; padding: 0 40px; }
.pg-h1 { font-family: var(--font-serif); font-size: clamp(36px,6vw,80px); font-weight: 400; line-height: 1.1; color: #e8dab8; }
.pg-h1 em { color: var(--gold); font-style: italic; }
.pg-h2 { font-family: var(--font-serif); font-size: clamp(28px,4vw,52px); font-weight: 400; line-height: 1.15; color: var(--text-mid); }
.pg-h2 em { color: var(--gold); font-style: italic; }
.pg-eyebrow { font-size: 9px; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: 12px; }
.pg-lead { font-size: 15px; color: var(--text-muted); line-height: 1.85; }
.pg-text-center { text-align: center; }
.pg-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; font-size: 9.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; text-decoration: none; border-radius: var(--radius); transition: all var(--fast); cursor: pointer; border: none; font-family: var(--font-body, 'Montserrat', sans-serif); }
.pg-btn-gold { background: linear-gradient(135deg, var(--gold-brand) 0%, var(--champagne) 100%); color: #000; }
.pg-btn-gold:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(201,168,76,.35); color: #000; }
.pg-btn-ghost { background: transparent; color: var(--gold); border: .5px solid rgba(201,168,76,.4); }
.pg-btn-ghost:hover { background: rgba(201,168,76,.08); border-color: var(--gold); }
.pg-btn-outline { background: transparent; color: var(--text-muted); border: .5px solid rgba(200,191,168,.25); }
.pg-btn-outline:hover { border-color: var(--gold); color: var(--gold); }
.pg-btn-sm { padding: 10px 22px; font-size: 8px; }
.pg-section { padding: 100px 0; }
.pg-section--sm { padding: 64px 0; }
.pg-section-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 48px; flex-wrap: wrap; gap: 16px; }
.pg-section-header-left { display: flex; flex-direction: column; }
.pg-products-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.pg-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

/* ── pg-reveal scroll animation ── */
.pg-reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.pg-reveal.is-visible { opacity: 1; transform: none; }
.pg-reveal-delay-1 { transition-delay: .1s; }
.pg-reveal-delay-2 { transition-delay: .2s; }
.pg-reveal-delay-3 { transition-delay: .3s; }

/* ── Marquee (§2) ── */
.pg-marquee { background: #FAF8F3; border-top: .5px solid rgba(201,168,76,.12); border-bottom: .5px solid rgba(201,168,76,.12); overflow: hidden; padding: 14px 0; }
.pg-marquee-track { display: flex; gap: 0; animation: pg-ticker 28s linear infinite; white-space: nowrap; width: max-content; }
.pg-marquee:hover .pg-marquee-track { animation-play-state: paused; }
.pg-marquee-item { display: inline-flex; align-items: center; gap: 12px; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: #777; padding: 0 32px; }
.pg-marquee-item .gem { color: var(--gold); font-size: 10px; }
@keyframes pg-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ── Sale Banner (§2b) ── */
.pg-sale-banner { background: linear-gradient(90deg,#1A1814 0%,#2D2924 40%,#1A1814 100%); border-top: .5px solid rgba(201,168,76,.15); border-bottom: .5px solid rgba(201,168,76,.15); padding: 14px 0; }
.pg-sale-banner-inner { display: flex; align-items: center; gap: 20px; justify-content: center; flex-wrap: wrap; }
.pg-sale-banner-badge { background: var(--gold-brand); color: #000; font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; padding: 4px 10px; border-radius: 3px; flex-shrink: 0; }
.pg-sale-banner-text { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: center; }
.pg-sale-banner-headline { font-family: var(--font-serif); font-size: 16px; font-weight: 400; color: var(--champagne); letter-spacing: .04em; }
.pg-sale-banner-sub { font-size: 11px; color: var(--text-muted); letter-spacing: .04em; }
.pg-sale-banner-sub::before { content: '—'; margin-right: 8px; color: rgba(201,168,76,.3); }

/* ── Cat grid (§3) ── */
.pg-cat-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 2px; }
.pg-cat-card { position: relative; overflow: hidden; text-decoration: none; aspect-ratio: 1; }
.pg-cat-card.is-wide { grid-row: span 2; aspect-ratio: auto; }
.pg-cat-card-img { position: absolute; inset: 0; }
.pg-cat-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(26,24,20,.7) 0%, rgba(26,24,20,.15) 50%, transparent 100%); transition: background var(--medium); }
.pg-cat-card:hover .pg-cat-card-overlay { background: linear-gradient(to top, rgba(26,24,20,.78) 0%, rgba(26,24,20,.25) 60%, rgba(26,24,20,.08) 100%); }
.pg-cat-card-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px; z-index: 1; }
.pg-cat-card-body .pg-eyebrow { color: var(--gold); opacity: .7; margin-bottom: 6px; }
.pg-cat-card-body h3 { font-family: var(--font-serif); font-size: 20px; font-weight: 400; color: var(--text-mid); line-height: 1.2; margin-bottom: 4px; }
.pg-cat-card-body p { font-size: 10px; color: var(--text-muted); letter-spacing: .06em; margin: 0; }
.pg-cat-card-arrow { position: absolute; top: 20px; right: 20px; width: 32px; height: 32px; background: rgba(201,168,76,.12); border: .5px solid rgba(201,168,76,.22); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--gold); opacity: 0; transform: translateY(-4px); transition: all var(--fast); }
.pg-cat-card:hover .pg-cat-card-arrow { opacity: 1; transform: none; }

/* ── Product card ── */
.pg-product-card { background: var(--card); border: .5px solid rgba(201,168,76,.08); border-radius: var(--radius-lg); overflow: hidden; transition: all var(--medium); display: flex; flex-direction: column; }
.pg-product-card:hover { border-color: rgba(212,175,55,.28); transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,.5); }
.pg-product-card-img { position: relative; padding-top: 100%; overflow: hidden; }
.pg-product-card-img img { position: absolute; top:0; left:0; width:100%; height:100%; object-fit: cover; }
.pg-product-card-badges { position: absolute; top: 12px; left: 12px; display: flex; flex-direction: column; gap: 4px; z-index: 2; }
.pg-badge { font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 3px 8px; border-radius: 2px; }
.pg-badge-new { background: var(--gold-brand); color: #000; }
.pg-badge-sale { background: #c0392b; color: #fff; }
.pg-product-card-actions { position: absolute; top: 12px; right: 12px; display: flex; flex-direction: column; gap: 6px; z-index: 2; opacity: 0; transition: opacity var(--fast); }
.pg-product-card:hover .pg-product-card-actions { opacity: 1; }
.pg-product-card-actions button { width: 34px; height: 34px; background: rgba(245,240,232,.92); backdrop-filter: blur(8px); border: .5px solid rgba(201,168,76,.22); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--text-muted); cursor: pointer; transition: all var(--fast); }
.pg-product-card-actions button:hover { background: rgba(201,168,76,.15); border-color: var(--gold); color: var(--gold); }
.pg-product-card-body { padding: 16px 18px 20px; flex: 1; display: flex; flex-direction: column; gap: 5px; }
.pg-product-card-meta { font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.pg-product-card-title { font-family: var(--font-serif); font-size: 15px; font-weight: 400; color: #d4cfc5; line-height: 1.35; text-decoration: none; margin-top: 2px; }
.pg-product-card-title:hover { color: var(--gold); }
.pg-product-card-price { font-size: 13px; font-weight: 600; color: var(--gold); margin-top: 6px; }
.pg-product-card-price del { color: #555; font-weight: 400; margin-right: 6px; }

/* ── Slider ── */
.pg-slider-outer { position: relative; }
.pg-slider-viewport { overflow: hidden; }
.pg-slider-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc(25% - 18px); gap: 24px; transition: transform .4s var(--ease); }
.pg-slider-nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 32px; }
.pg-slider-btn { width: 44px; height: 44px; background: rgba(201,168,76,.06); border: .5px solid rgba(201,168,76,.22); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--text-muted); cursor: pointer; transition: all var(--fast); }
.pg-slider-btn:hover { background: rgba(212,175,55,.14); border-color: var(--gold); color: var(--gold); }
.pg-slider-dots { display: flex; gap: 6px; align-items: center; }
.pg-slider-dot { width: 4px; height: 4px; border-radius: 50%; background: #444; cursor: pointer; transition: all var(--fast); }
.pg-slider-dot.is-active { background: var(--gold-brand); transform: scale(1.6); }

/* ── Builder CTA (§5) ── */
.pg-builder-cta { background: linear-gradient(135deg,#1A1814 0%,#2D2924 50%,#1A1814 100%); border-top: .5px solid rgba(201,168,76,.08); border-bottom: .5px solid rgba(201,168,76,.08); }
.pg-builder-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.pg-builder-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pg-builder-step { background: rgba(201,168,76,.04); border: .5px solid rgba(201,168,76,.10); border-radius: var(--radius-lg); padding: 24px; transition: all var(--fast); }
.pg-builder-step:hover { border-color: rgba(201,168,76,.35); background: rgba(212,175,55,.07); transform: translateY(-3px); }
.pg-builder-step-num { font-family: var(--font-serif); font-size: 32px; font-weight: 400; color: rgba(201,168,76,.25); line-height: 1; margin-bottom: 10px; }
.pg-builder-step h4 { font-family: var(--font-serif); font-size: 16px; font-weight: 400; color: var(--text-mid); margin-bottom: 6px; }
.pg-builder-step p { font-size: 11px; color: #777; line-height: 1.6; margin: 0; }

/* ── Craftsmanship (§6) ── */
.pg-craft { background: var(--card); }
.pg-craft-img { position: relative; border-radius: var(--radius-lg); overflow: hidden; min-height: 480px; background: linear-gradient(135deg,#F5ECD5,#FAF8F3); display: flex; align-items: center; justify-content: center; }
.pg-craft-img-bg { font-size: 140px; opacity: .07; user-select: none; }
.pg-craft-img-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom,transparent 30%,rgba(26,24,20,.4) 100%); }
.pg-craft-img-tag { position: absolute; bottom: 24px; left: 24px; background: rgba(245,240,232,.95); border: .5px solid rgba(201,168,76,.22); border-radius: var(--radius-lg); padding: 16px 20px; backdrop-filter: blur(8px); text-align: center; }
.pg-craft-img-tag .num { font-family: var(--font-serif); font-size: 32px; color: var(--gold); line-height: 1; }
.pg-craft-img-tag .lbl { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); margin-top: 4px; }
.pg-craft-steps { display: flex; flex-direction: column; gap: 20px; margin-top: 28px; }
.pg-craft-step { display: flex; gap: 16px; }
.pg-craft-step-icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }
.pg-craft-step-body h4 { font-family: var(--font-serif); font-size: 15px; font-weight: 400; color: #d4cfc5; margin-bottom: 4px; }
.pg-craft-step-body p { font-size: 11.5px; color: #777; line-height: 1.65; margin: 0; }

/* ── Why Choose Us 6-card grid (§7) ── */
.pg-why { background: var(--black); }
.pg-why-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; margin-top: 56px; }
.pg-why-card { background: var(--card); border: .5px solid rgba(201,168,76,.06); padding: 40px 32px; transition: all var(--medium); position: relative; overflow: hidden; }
.pg-why-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(201,168,76,.04) 0%,transparent 60%); opacity: 0; transition: opacity var(--medium); }
.pg-why-card:hover { border-color: rgba(201,168,76,.3); transform: translateY(-4px); }
.pg-why-card:hover::before { opacity: 1; }
.pg-why-icon { width: 56px; height: 56px; border: .5px solid rgba(201,168,76,.22); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 24px; transition: all var(--fast); background: rgba(201,168,76,.04); }
.pg-why-card:hover .pg-why-icon { background: rgba(201,168,76,.12); border-color: rgba(201,168,76,.5); transform: scale(1.08); }
.pg-why-card h4 { font-family: var(--font-serif); font-size: 18px; font-weight: 400; color: var(--text-mid); margin-bottom: 10px; }
.pg-why-card p { font-size: 12px; color: #777; line-height: 1.7; margin: 0; }

/* ── Bridal mini-stats (§8) ── */
.pg-bridal-stats { display: flex; gap: 40px; margin-top: 48px; padding-top: 32px; border-top: .5px solid rgba(201,168,76,.15); flex-wrap: wrap; }
.pg-bridal-stat-num { font-family: var(--font-serif); font-size: 28px; font-weight: 400; color: var(--gold); line-height: 1; }
.pg-bridal-stat-label { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); margin-top: 4px; }
.pg-bridal-title { font-size: clamp(32px,5vw,64px) !important; }

/* ── Bridal decorative diamond ── */
.pg-bridal-diamond-deco { position: absolute; right: 10%; top: 50%; transform: translateY(-50%); opacity: .08; z-index: 1; pointer-events: none; }
.pg-bridal-diamond-outer { width: 320px; height: 320px; border: .5px solid var(--champagne); transform: rotate(45deg); }
.pg-bridal-diamond-inner { position: absolute; top: 10%; left: 10%; right: 10%; bottom: 10%; border: .5px solid var(--champagne); }

/* ── Instagram grid (§10) ── */
.pg-insta-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 4px; margin-top: 40px; }
.pg-insta-cell { position: relative; overflow: hidden; aspect-ratio: 1; cursor: pointer; }
.pg-insta-cell.is-wide { grid-row: span 2; aspect-ratio: auto; min-height: 400px; }
.pg-insta-cell-img { position: absolute; inset: 0; }
.pg-insta-cell-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.0); display: flex; align-items: center; justify-content: center; transition: background var(--fast); }
.pg-insta-cell:hover .pg-insta-cell-overlay { background: rgba(26,24,20,.42); }
.pg-insta-cell-icon { color: #fff; opacity: 0; transition: opacity var(--fast); }
.pg-insta-cell:hover .pg-insta-cell-icon { opacity: 1; }

/* ── Testimonials (§11) ── */
.pg-testi { background: var(--black); }
.pg-testi-slider { position: relative; overflow: hidden; margin-top: 56px; }
.pg-testi-track { display: flex; transition: transform var(--medium); }
.pg-testi-slide { flex: 0 0 100%; padding: 0 16px; }
.pg-testi-card { background: var(--card); border: .5px solid rgba(201,168,76,.10); border-radius: var(--radius-lg); padding: 48px; max-width: 760px; margin: 0 auto; position: relative; }
.pg-testi-card::before { content: '\201C'; position: absolute; top: 24px; left: 32px; font-family: var(--font-serif); font-size: 80px; color: rgba(201,168,76,.15); line-height: 1; pointer-events: none; }
.pg-testi-text { font-family: var(--font-alt,'Cormorant Garamond',serif); font-size: 18px; font-weight: 300; line-height: 1.8; color: var(--text-muted); position: relative; z-index: 1; margin: 0; }
.pg-testi-author { display: flex; align-items: center; gap: 16px; margin-top: 32px; padding-top: 24px; border-top: .5px solid rgba(201,168,76,.10); }
.pg-testi-avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg,var(--gold-dark,#b8961e),#888); display: flex; align-items: center; justify-content: center; font-family: var(--font-serif); font-size: 18px; color: var(--black); font-weight: 600; flex-shrink: 0; }
.pg-testi-name { font-weight: 600; font-size: 13px; color: var(--text-mid); }
.pg-testi-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.pg-testi-stars { margin-left: auto; color: var(--gold); font-size: 14px; letter-spacing: 2px; }

/* ── Newsletter AJAX (§12) ── */
.pg-newsletter { background: linear-gradient(135deg,#F5ECD5 0%,#FAF8F3 50%,#F5ECD5 100%); border-top: .5px solid rgba(201,168,76,.10); position: relative; overflow: hidden; }
.pg-newsletter::before { content: ''; position: absolute; top: -100px; left: 50%; transform: translateX(-50%); width: 600px; height: 600px; border-radius: 50%; background: radial-gradient(circle,rgba(212,175,55,.05) 0%,transparent 70%); }
.pg-newsletter-inner { text-align: center; position: relative; z-index: 1; max-width: 560px; margin: 0 auto; }
.pg-newsletter-form { display: flex; gap: 0; margin-top: 32px; max-width: 480px; margin-left: auto; margin-right: auto; }
.pg-newsletter-form .pg-newsletter-email { flex: 1; background: rgba(255,255,255,.04); border: 1px solid rgba(201,168,76,.22); border-right: none; border-radius: var(--radius) 0 0 var(--radius); padding: 14px 20px; font-size: 13px; color: var(--text-mid); outline: none; transition: border-color var(--fast); font-family: var(--font-body,'Montserrat',sans-serif); }
.pg-newsletter-form .pg-newsletter-email:focus { border-color: rgba(201,168,76,.5); }
.pg-newsletter-form .pg-newsletter-email::placeholder { color: #555; }
.pg-newsletter-form button { padding: 14px 28px; border-radius: 0 var(--radius) var(--radius) 0; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; white-space: nowrap; }
.pg-newsletter-perks { display: flex; justify-content: center; gap: 32px; margin-top: 24px; }
.pg-newsletter-perks span { font-size: 10px; color: var(--text-muted); display: flex; align-items: center; gap: 6px; }
.pg-newsletter-perks span::before { content: '\2736'; color: var(--gold); font-size: 8px; }
.pg-newsletter-msg { margin-top: 14px; font-size: 13px; text-align: center; padding: 10px 20px; border-radius: var(--radius); }
.pg-newsletter-msg.is-success { background: rgba(76,175,80,.1); border: 1px solid rgba(76,175,80,.3); color: #4caf80; }
.pg-newsletter-msg.is-error { background: rgba(224,85,85,.08); border: 1px solid rgba(224,85,85,.25); color: #e05555; }
.pg-newsletter-btn-loading { display: inline-flex; align-items: center; }
@keyframes pg-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.pg-spinner { animation: pg-spin .7s linear infinite; display: block; }

/* ── Quick View Modal ── */
.pg-qv-modal { position: fixed; inset: 0; z-index: 9500; display: flex; align-items: center; justify-content: center; padding: 24px; opacity: 0; visibility: hidden; transition: opacity var(--medium), visibility var(--medium); pointer-events: none; }
.pg-qv-modal.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.pg-qv-close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; background: rgba(26,24,20,.06); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--text-muted); cursor: pointer; border: none; transition: all var(--fast); z-index: 1; }
.pg-qv-close:hover { background: rgba(201,168,76,.12); color: var(--gold); }
.pg-qv-inner { padding: 40px; }

/* ── Toast notification ── */
.pg-toast { position: fixed; bottom: 32px; left: 50%; transform: translateX(-50%) translateY(80px); background: var(--card); border: .5px solid var(--gold); border-radius: var(--radius-lg); padding: 14px 24px; display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--text-mid); z-index: 2000; opacity: 0; transition: all var(--medium); white-space: nowrap; box-shadow: 0 8px 24px rgba(26,24,20,.12); }
.pg-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.pg-toast-icon { width: 24px; height: 24px; border-radius: 50%; background: rgba(201,168,76,.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--gold); }

/* ── Hero scroll indicator ── */
.pg-hero-scroll { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: #555; cursor: pointer; transition: opacity .3s; }
.pg-hero-scroll-line { width: 1px; height: 48px; background: linear-gradient(to bottom, rgba(201,168,76,.5), transparent); animation: pg-scrollLine 2s ease-in-out infinite; }
@keyframes pg-scrollLine { 0%,100% { opacity: .4; height: 48px; } 50% { opacity: 1; height: 60px; } }

/* ── WooCommerce WC notices ── */
.woocommerce-message, .woocommerce-error, .woocommerce-info { border-radius: 8px; padding: .9rem 1.25rem .9rem 2.75rem; margin-bottom: 1.25rem; font-size: .85rem; position: relative; list-style: none; }
.woocommerce-message { background: rgba(76,175,80,.12); border: 1px solid rgba(76,175,80,.3); color: #4caf80; }
.woocommerce-error { background: rgba(224,85,85,.1); border: 1px solid rgba(224,85,85,.3); color: #e05555; }
.woocommerce-info { background: rgba(201,168,76,.08); border: 1px solid rgba(201,168,76,.22); color: var(--gold); }

/* ── Cart / Checkout (complete) ── */
.pg-cart-img-strip { width: 100%; height: 4px; background: linear-gradient(90deg,var(--gold-brand) 0%,var(--champagne) 50%,var(--gold) 100%); }
.pg-cart-breadcrumb { font-size: 11px; color: #555; letter-spacing: .1em; text-transform: uppercase; padding: 20px 0 0; }
.pg-cart-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.pg-cart-breadcrumb span { margin: 0 8px; }
.pg-checkout-progress { padding: 24px 0 32px; }
.pg-steps { display: flex; align-items: center; justify-content: center; gap: 0; max-width: 480px; margin: 0 auto; }
.pg-step { display: flex; align-items: center; flex: 1; }
.pg-step-inner { display: flex; flex-direction: column; align-items: center; gap: 6px; position: relative; z-index: 1; }
.pg-step-num { width: 32px; height: 32px; border-radius: 50%; background: rgba(26,24,20,.06); border: .5px solid rgba(26,24,20,.15); display: flex; align-items: center; justify-content: center; font-size: .7rem; font-weight: 700; color: var(--text-muted); transition: all .3s; }
.pg-step.is-active .pg-step-num { background: var(--gold-brand); color: #000; border-color: var(--gold); }
.pg-step.is-done .pg-step-num { background: rgba(201,168,76,.22); color: var(--gold); border-color: var(--gold); }
.pg-step-label { font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; color: #555; }
.pg-step.is-active .pg-step-label { color: var(--gold); }
.pg-step-line { flex: 1; height: .5px; background: rgba(255,255,255,.08); margin: 0 8px; margin-bottom: 18px; }

.pg-cart-layout { display: grid; grid-template-columns: 1fr 380px; gap: 40px; align-items: start; }
.pg-cart-table-wrap { background: var(--card); border: .5px solid rgba(201,168,76,.10); border-radius: var(--radius-lg); overflow: hidden; }
.pg-cart-item { display: grid; grid-template-columns: 88px 1fr auto; gap: 20px; padding: 20px 24px; border-bottom: .5px solid rgba(201,168,76,.06); align-items: start; }
.pg-cart-item:last-child { border-bottom: none; }
.pg-cart-item-img { width: 88px; height: 88px; border-radius: var(--radius); overflow: hidden; flex-shrink: 0; background: rgba(255,255,255,.04); }
.pg-cart-item-img img { width: 100%; height: 100%; object-fit: cover; }
.pg-cart-item-meta { font-size: 9px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.pg-cart-item-name { font-family: var(--font-serif); font-size: 15px; font-weight: 400; color: #d4cfc5; text-decoration: none; }
.pg-cart-item-name:hover { color: var(--gold); }
.pg-cart-item .qty { background: rgba(255,255,255,.05); border: .5px solid rgba(201,168,76,.22); border-radius: var(--radius); color: var(--text-mid); font-size: .85rem; padding: 6px 12px; width: 70px; margin-top: 10px; text-align: center; }
.pg-cart-item-subtotal { font-size: 15px; font-weight: 600; color: var(--gold); text-align: right; white-space: nowrap; padding-top: 4px; }
.pg-cart-remove { display: block; font-size: 9px; letter-spacing: .08em; color: #555; text-decoration: none; margin-top: 6px; }
.pg-cart-remove:hover { color: #e05555; }

.pg-coupon-inline { display: flex; gap: 8px; padding: 20px 24px; border-top: .5px solid rgba(201,168,76,.06); flex-wrap: wrap; }
.pg-coupon-input { flex: 1; min-width: 180px; background: rgba(255,255,255,.04); border: .5px solid rgba(212,175,55,.18); border-radius: var(--radius); padding: 10px 16px; color: var(--text-mid); font-size: .82rem; outline: none; }
.pg-coupon-input:focus { border-color: rgba(201,168,76,.5); }
.pg-coupon-btn { padding: 10px 24px; background: transparent; border: .5px solid rgba(201,168,76,.3); border-radius: var(--radius); color: var(--gold); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: all var(--fast); white-space: nowrap; font-family: var(--font-body,'Montserrat',sans-serif); }
.pg-coupon-btn:hover { background: rgba(201,168,76,.08); border-color: var(--gold); }
.pg-update-cart { display: inline-flex; align-items: center; gap: 8px; padding: 10px 24px; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; background: transparent; border: .5px solid rgba(26,24,20,.12); color: var(--text-muted); border-radius: var(--radius); cursor: pointer; transition: all var(--fast); font-family: var(--font-body,'Montserrat',sans-serif); }
.pg-update-cart:hover { border-color: rgba(201,168,76,.3); color: var(--gold); }

.pg-empty-cart { padding: 80px 24px; text-align: center; }
.pg-empty-cart-icon { font-size: 64px; opacity: .3; margin-bottom: 20px; }
.pg-empty-cart h3 { font-family: var(--font-serif); font-size: 22px; color: var(--text-muted); margin-bottom: 12px; }
.pg-empty-cart p { font-size: 13px; color: #555; margin-bottom: 24px; }

.pg-summary-card { background: var(--card); border: .5px solid rgba(201,168,76,.12); border-radius: var(--radius-lg); padding: 28px; position: sticky; top: 100px; }
.pg-summary-card h3 { font-family: var(--font-serif); font-size: 18px; color: var(--text-mid); margin-bottom: 20px; padding-bottom: 16px; border-bottom: .5px solid rgba(201,168,76,.10); }
.pg-summary-rows { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.pg-summary-row { display: flex; justify-content: space-between; font-size: .82rem; }
.pg-summary-row span:first-child { color: #777; }
.pg-summary-row span:last-child { color: var(--text-muted); }
.pg-coupon-row span:last-child { color: #4caf80; }
.pg-summary-total-row { display: flex; justify-content: space-between; padding-top: 16px; border-top: .5px solid rgba(201,168,76,.15); margin-bottom: 20px; }
.pg-summary-total-row span:first-child { font-family: var(--font-serif); font-size: 15px; color: var(--text-mid); }
.pg-summary-total-row span:last-child { font-family: var(--font-serif); font-size: 18px; color: var(--gold); font-weight: 600; }
.pg-checkout-btn { display: block; background: linear-gradient(135deg,var(--gold-brand) 0%,var(--champagne) 100%); color: #000; font-weight: 700; text-align: center; padding: .9rem 1.5rem; border-radius: 8px; font-size: .88rem; letter-spacing: .06em; text-transform: uppercase; margin-top: 1.5rem; text-decoration: none; transition: transform .2s, box-shadow .2s; border: none; cursor: pointer; font-family: var(--font-body,'Montserrat',sans-serif); }
.pg-checkout-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(201,168,76,.35); color: #000; }
.pg-wa-order-btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; padding: 12px; background: rgba(37,211,102,.08); border: .5px solid rgba(37,211,102,.25); border-radius: 8px; color: #25D366; font-size: 12px; font-weight: 600; text-decoration: none; transition: all var(--fast); }
.pg-wa-order-btn:hover { background: rgba(37,211,102,.15); border-color: #25D366; color: #25D366; }
.pg-trust-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 20px; }
.pg-trust-badge { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 8px; background: rgba(26,24,20,.03); border: .5px solid rgba(201,168,76,.06); border-radius: 6px; }
.pg-trust-badge-icon { font-size: 16px; }
.pg-trust-badge-label { font-size: 8px; letter-spacing: .1em; color: #555; text-transform: uppercase; text-align: center; }

/* Checkout layout */
.pg-checkout-layout { display: grid; grid-template-columns: 1fr 420px; gap: 48px; align-items: start; padding: 48px 0; }
.pg-checkout-fields { background: var(--card); border: .5px solid rgba(201,168,76,.10); border-radius: var(--radius-lg); padding: 32px; }
.pg-checkout-fields h3 { font-family: var(--font-serif); font-size: 18px; color: var(--text-mid); margin-bottom: 24px; padding-bottom: 16px; border-bottom: .5px solid rgba(201,168,76,.08); }
.pg-wc-billing-grid .woocommerce-billing-fields__field-wrapper,
.pg-wc-billing-grid .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.woocommerce-billing-fields p, .woocommerce-shipping-fields p, .woocommerce-additional-fields p { margin-bottom: 0; }
.woocommerce-billing-fields label, .woocommerce-shipping-fields label { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); display: block; margin-bottom: 6px; }
.woocommerce-billing-fields input, .woocommerce-shipping-fields input,
.woocommerce-billing-fields select, .woocommerce-shipping-fields select { width: 100%; background: rgba(255,255,255,.04); border: .5px solid rgba(212,175,55,.18); border-radius: var(--radius); padding: 11px 16px; color: var(--text-mid); font-size: .82rem; outline: none; }
.woocommerce-billing-fields input:focus, .woocommerce-shipping-fields input:focus { border-color: rgba(201,168,76,.5); }
.pg-order-notes textarea { width: 100%; background: rgba(255,255,255,.04); border: .5px solid rgba(212,175,55,.18); border-radius: var(--radius); padding: 11px 16px; color: var(--text-mid); font-size: .82rem; resize: vertical; min-height: 80px; outline: none; font-family: var(--font-body,'Montserrat',sans-serif); }

/* Checkout order summary */
.pg-order-review-card { background: var(--card); border: .5px solid rgba(201,168,76,.12); border-radius: var(--radius-lg); padding: 28px; position: sticky; top: 100px; }
.pg-order-review-card h3 { font-family: var(--font-serif); font-size: 18px; color: var(--text-mid); margin-bottom: 20px; padding-bottom: 16px; border-bottom: .5px solid rgba(201,168,76,.10); }
.pg-checkout-items { border-bottom: 1px solid rgba(201,168,76,.08); margin-bottom: 1rem; padding-bottom: 1rem; }
.pg-checkout-item { display: flex; gap: .75rem; padding: .6rem 0; border-bottom: 1px solid rgba(212,175,55,.07); }
.pg-checkout-item:last-child { border-bottom: none; }
.pg-checkout-item-img { position: relative; width: 52px; height: 52px; flex-shrink: 0; }
.pg-checkout-item-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.pg-checkout-item-qty { position: absolute; top: -6px; right: -6px; background: var(--gold-brand); color: #000; width: 18px; height: 18px; border-radius: 50%; font-size: .64rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pg-checkout-item-info { flex: 1; min-width: 0; }
.pg-checkout-item-name { font-size: .8rem; color: var(--text-muted); line-height: 1.4; }
.pg-checkout-item-price { font-size: .82rem; color: var(--gold); font-weight: 600; margin-top: .2rem; }
.pg-payment-options { display: flex; flex-direction: column; gap: 8px; margin: 16px 0; }
.pg-payment-option { background: rgba(26,24,20,.04); border: .5px solid rgba(201,168,76,.10); border-radius: var(--radius); padding: 12px 16px; cursor: pointer; transition: all var(--fast); }
.pg-payment-option.is-selected { background: rgba(212,175,55,.05); border-color: rgba(201,168,76,.4); }
.pg-payment-option:hover { border-color: rgba(201,168,76,.3); }
.pg-payment-radio { display: flex; align-items: center; gap: 10px; }
.pg-payment-card { flex: 1; }
.pg-payment-name { font-size: .82rem; color: var(--text-muted); font-weight: 600; }
.pg-payment-desc { font-size: .72rem; color: var(--text-muted); margin-top: 2px; }
.pg-place-order-btn { display: block; width: 100%; background: linear-gradient(135deg,var(--gold-brand) 0%,var(--champagne) 100%); color: #000; font-weight: 700; text-align: center; padding: 1rem; border-radius: 8px; font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; margin-top: 1.25rem; border: none; cursor: pointer; transition: transform .2s, box-shadow .2s; font-family: var(--font-body,'Montserrat',sans-serif); }
.pg-place-order-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(201,168,76,.4); }

/* Coupon remove */
.pg-coupon-remove-link { color: #555; margin-left: .5rem; font-size: .8rem; text-decoration: none; }
.pg-coupon-remove-link:hover { color: #e05555; }

/* ── Responsive ── */
@media (max-width: 1200px) {
  .pg-slider-track { grid-auto-columns: calc(33.333% - 16px); }
}
@media (max-width: 1023px) {
  .pg-builder-inner, .pg-grid-2 { grid-template-columns: 1fr; gap: 40px; }
  .pg-why-grid { grid-template-columns: repeat(2,1fr) !important; }
  .pg-bridal-diamond-deco { display: none; }
  .pg-products-grid { grid-template-columns: repeat(2,1fr); }
  .pg-cart-layout, .pg-checkout-layout { grid-template-columns: 1fr; }
  .pg-summary-card, .pg-order-review-card { position: static; }
  .pg-cat-grid { grid-template-columns: 1fr 1fr; }
  .pg-cat-card.is-wide { grid-row: auto; }
}
@media (max-width: 767px) {
  .pg-container { padding: 0 20px; }
  .pg-why-grid { grid-template-columns: 1fr 1fr !important; }
  .pg-sale-banner-sub { display: none; }
  .pg-bridal-stats { gap: 24px; }
  .pg-newsletter-form { flex-direction: column; gap: 8px; }
  .pg-newsletter-form .pg-newsletter-email { border-right: 1px solid rgba(201,168,76,.22); border-radius: var(--radius); }
  .pg-newsletter-form button { border-radius: var(--radius); justify-content: center; }
  .pg-slider-track { grid-auto-columns: calc(50% - 12px); }
  .pg-insta-grid { grid-template-columns: 1fr 1fr; }
  .pg-insta-cell.is-wide { grid-row: auto; grid-column: span 2; }
  .pg-testi-card { padding: 32px 24px; }
  .pg-wc-billing-grid .woocommerce-billing-fields__field-wrapper,
  .pg-wc-billing-grid .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
}
@media (max-width: 479px) {
  .pg-why-grid { grid-template-columns: 1fr !important; }
  .pg-bridal-stats { flex-direction: column; gap: 16px; }
  .pg-products-grid { grid-template-columns: 1fr; }
  .pg-slider-track { grid-auto-columns: 90%; }
  .pg-cat-grid { grid-template-columns: 1fr; }
  .pg-sale-banner-badge { font-size: 8px; }
  .pg-steps { gap: 0; }
  .pg-step-label { font-size: .5rem; }
  .pg-cart-item { grid-template-columns: 70px 1fr auto; gap: 12px; }
  .pg-cart-item-img { width: 70px; height: 70px; }
}

/* =========================================================
   PATCH — Aliases & Missing Classes
   Maps template class names to design-system styles
   ========================================================= */

/* ── HEADER: .pg-header aliases .pg-site-header ── */
.pg-header {
  position: fixed;
  top: var(--topbar-h, 36px);
  left: 0;
  right: 0;
  z-index: 100;
  background: rgba(250,248,243,.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: .5px solid var(--gold-border);
  transition: background var(--medium, .3s), box-shadow var(--medium, .3s);
}
.pg-header.is-transparent { background: transparent; border-bottom-color: transparent; }
.pg-header.site-header--scrolled,
.pg-header.is-scrolled {
  background: rgba(250,248,243,.98);
  border-bottom-color: var(--gold-border);
  box-shadow: 0 4px 24px rgba(26,24,20,.12);
}

/* ── NAV INNER — flex container matching .pg-header-inner ── */
.pg-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 48px;
  gap: 24px;
}

/* ── NAV LINKS LIST ── */
.pg-nav-links {
  display: flex;
  align-items: stretch;
  height: 100%;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 1023px) { .pg-nav-links { display: none; } }

/* ── NAV ITEM ── */
.pg-nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

/* ── NAV LINK ── */
.pg-nav-link {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--text-mid);
  text-decoration: none;
  white-space: nowrap;
  height: 100%;
  transition: color var(--fast, .15s);
  position: relative;
}
.pg-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 16px; right: 16px;
  height: 1px;
  background: var(--gold-brand);
  transform: scaleX(0);
  transition: transform var(--medium, .3s);
  transform-origin: left;
}
.pg-nav-link:hover,
.pg-nav-item.current-menu-item .pg-nav-link,
.pg-nav-item.current-menu-ancestor .pg-nav-link {
  color: var(--gold);
}
.pg-nav-link:hover::after { transform: scaleX(1); }
.pg-nav-link svg { transition: transform var(--fast, .15s); }
.pg-nav-item:hover > .pg-nav-link svg { transform: rotate(180deg); }

/* ── NAV ICONS (cart / search / wishlist) ── */
.pg-nav-icons {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.pg-nav-icon-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border: none;
  background: transparent;
  color: var(--text-mid);
  cursor: pointer;
  border-radius: 50%;
  transition: color var(--fast, .15s), background var(--fast, .15s);
  text-decoration: none;
}
.pg-nav-icon-btn:hover { color: var(--gold); background: var(--gold-muted); }

/* ── BACKDROP / MODAL OVERLAY ── */
.pg-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(26,24,20,.38);
  z-index: 200;
  backdrop-filter: blur(4px);
}
.pg-backdrop.is-open { display: block; }

/* ── TICKER WRAP ── */
.pg-ticker-wrap {
  display: flex;
  align-items: center;
  animation: pg-ticker 35s linear infinite;
  white-space: nowrap;
  width: max-content;
}
@keyframes pg-ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.pg-topbar:hover .pg-ticker-wrap { animation-play-state: paused; }

/* ── WHATSAPP FAB ── */
.pg-whatsapp-fab {
  position: fixed;
  bottom: 28px;
  right: 24px;
  z-index: 90;
  width: 52px; height: 52px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  transition: transform var(--fast, .15s), box-shadow var(--fast, .15s);
  text-decoration: none;
}
.pg-whatsapp-fab:hover {
  transform: scale(1.08) translateY(-2px);
  box-shadow: 0 8px 30px rgba(37,211,102,.5);
  color: #fff;
}
.pg-whatsapp-fab svg { width: 26px; height: 26px; }

/* ── HAMBURGER (mobile) ── */
.pg-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px; height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--text-mid);
}
@media (max-width: 1023px) { .pg-hamburger { display: flex; } }
.pg-hamburger span {
  display: block;
  height: 1.5px;
  background: currentColor;
  transition: transform .3s, opacity .3s;
  transform-origin: center;
}
.pg-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.pg-hamburger.is-open span:nth-child(2) { opacity: 0; }
.pg-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── MOBILE DRAWER ── */
.pg-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(340px, 90vw);
  background: #FAF8F3;
  z-index: 9500; /* Must be ABOVE .pg-backdrop (400) and .pg-header (9000) */
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  pointer-events: auto; /* Always clickable when open */
}
.pg-drawer.is-open { transform: translateX(0); }
.pg-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--gold-border);
}
.pg-drawer-close {
  background: none; border: none;
  color: var(--text-mid);
  cursor: pointer;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
}
.pg-drawer-nav {
  display: flex;
  flex-direction: column;
  padding: 16px 0;
}
.pg-drawer-link {
  display: flex;
  align-items: center;
  padding: 14px 24px;
  font-size: .75rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-mid);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-muted);
  transition: color var(--fast, .15s), background var(--fast, .15s);
}
.pg-drawer-link:hover { color: var(--gold); background: var(--gold-glow); }
.pg-drawer-contact {
  margin-top: auto;
  padding: 20px 24px;
  border-top: 1px solid var(--gold-border);
  font-size: .7rem;
  color: var(--text-dim);
}

/* ── HERO BACKGROUND & ELEMENTS ── */
.pg-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.pg-hero-bg-img {
  position: absolute;
  inset: 0;
  /* Was url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-desktop.webp') — that file has never existed in
     this theme, so the hero backdrop silently rendered blank. Pointing at
     the real asset, preferring the AVIF/WebP derivatives. */
  background-image: url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-desktop.png');
  background-image: image-set(
    url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-desktop.png.avif') type('image/avif'),
    url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-desktop.png.webp') type('image/webp'),
    url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-desktop.png'));
  background-size: cover;
  background-position: center 30%;
  opacity: .28;
  transition: opacity 1s;
}
@media (max-width: 767px) {
  /* hero-mobile.webp also never existed; hero-mobile.svg does. */
  .pg-hero-bg-img { background-image: url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-mobile.svg'); }
}
/* Fallback to SVG if webp not present */
.pg-hero-bg-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--gold-glow) 0%, transparent 60%);
}
.pg-hero-diamond {
  position: absolute;
  top: 50%; right: 8%;
  transform: translateY(-50%) rotate(45deg);
  width: clamp(180px, 22vw, 380px);
  height: clamp(180px, 22vw, 380px);
  border: 1px solid var(--gold-border);
  opacity: .15;
  z-index: 0;
  animation: pg-diamond-pulse 6s ease-in-out infinite;
}
.pg-hero-diamond::before {
  content: '';
  position: absolute;
  inset: 15px;
  border: 1px solid var(--gold-border);
}
@keyframes pg-diamond-pulse {
  0%, 100% { opacity: .15; transform: translateY(-50%) rotate(45deg) scale(1); }
  50%       { opacity: .25; transform: translateY(-50%) rotate(45deg) scale(1.04); }
}

/* ── HERO KICKER / SUBTITLE / ACTIONS ── */
.pg-hero-kicker {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(.65rem, 1.2vw, .8rem);
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--champagne);
  margin-bottom: 18px;
  opacity: .85;
}
.pg-hero-sub {
  font-size: clamp(.8rem, 1.4vw, .95rem);
  color: var(--text-muted);
  max-width: 520px;
  line-height: 1.85;
  margin-bottom: 36px;
}
.pg-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 56px;
}
.pg-hero-stat-label {
  font-size: .55rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-top: 4px;
}

/* ── SALE BANNER SUB-ELEMENTS ── */
.pg-sale-banner-eyebrow {
  display: inline-block;
  font-size: .55rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
  opacity: .9;
}
.pg-sale-banner-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.4rem, 3vw, 2.4rem);
  color: var(--text-bright);
  margin-bottom: 12px;
  line-height: 1.2;
}
.pg-sale-banner-sub {
  font-size: .8rem;
  color: var(--text-muted);
  margin-bottom: 28px;
}
.pg-sale-banner-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.pg-sale-banner-countdown {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pg-sale-timer {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.pg-sale-timer-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 52px;
  padding: 8px;
  background: rgba(201,168,76,.06);
  border: 1px solid var(--gold-border);
  border-radius: 4px;
}
.pg-sale-timer-unit .num {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  color: var(--gold);
  line-height: 1;
}
.pg-sale-timer-unit .label {
  font-size: .45rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-top: 4px;
}
.pg-sale-timer-sep { color: var(--gold); font-size: 1.2rem; align-self: flex-start; padding-top: 8px; }

/* ── BRIDAL CONTENT ── */
.pg-bridal-content {
  position: relative;
  z-index: 2;
  max-width: 560px;
}

/* ── SEARCH OVERLAY ── */
.pg-search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(250,248,243,.96);
  z-index: 500;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
}
.pg-search-overlay.is-open { display: flex; }
.pg-search-wrap {
  width: 100%;
  max-width: 640px;
}
.pg-search-form {
  position: relative;
  display: flex;
  align-items: center;
}
.pg-search-form input {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--gold-border);
  color: var(--text-bright);
  font-size: 1.5rem;
  padding: 16px 48px 16px 0;
  outline: none;
  font-family: 'Playfair Display', serif;
}
.pg-search-form input::placeholder { color: var(--text-dim); }
.pg-search-close {
  position: absolute;
  right: 0;
  background: none; border: none;
  color: var(--text-muted); cursor: pointer;
  font-size: 1.2rem;
  padding: 8px;
}
.pg-search-suggestions {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pg-search-suggestions a {
  font-size: .65rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 14px;
  border: 1px solid var(--gold-border);
  border-radius: 20px;
  color: var(--text-dim);
  transition: all var(--fast, .15s);
}
.pg-search-suggestions a:hover { color: var(--gold); border-color: var(--gold); }

/* ── WISHLIST PANEL ── */
.pg-wishlist-panel {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(380px, 92vw);
  background: var(--card);
  z-index: 300;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  display: flex;
  flex-direction: column;
}
.pg-wishlist-panel.is-open { transform: translateX(0); }
.pg-wishlist-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--gold-border);
}
.pg-wishlist-items {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
}
.pg-wishlist-empty {
  text-align: center;
  padding: 48px 0;
  color: var(--text-dim);
  font-size: .8rem;
}
.pg-wishlist-footer {
  padding: 20px 24px;
  border-top: 1px solid var(--gold-border);
}

/* ── CART COUNT BADGE ── */
.pg-cart-count {
  position: absolute;
  top: 4px; right: 4px;
  min-width: 16px; height: 16px;
  background: var(--gold-brand);
  color: var(--black);
  font-size: .55rem;
  font-weight: 700;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  pointer-events: none;
}

/* ── MEGA MENU FEAT ── */
.pg-mega-feat {
  background: var(--gold-glow);
  border: 1px solid var(--gold-border);
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  transition: border-color var(--fast, .15s);
  display: block;
}
.pg-mega-feat:hover { border-color: rgba(201,168,76,.4); }
.pg-mega-feat-img {
  aspect-ratio: 16/9;
  overflow: hidden;
}
.pg-mega-feat-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .6s;
}
.pg-mega-feat:hover .pg-mega-feat-img img { transform: scale(1.05); }
.pg-mega-feat-body { padding: 12px 14px; }
.pg-mega-feat-body h4 {
  font-family: 'Playfair Display', serif;
  font-size: .85rem;
  color: var(--text-bright);
  margin-bottom: 4px;
}
.pg-mega-feat-body p {
  font-size: .65rem;
  color: var(--text-dim);
  margin: 0;
}

/* ── RESPONSIVE FIXES ── */
@media (max-width: 1023px) {
  .pg-nav-inner { padding: 0 20px; }
}
@media (max-width: 767px) {
  .pg-hero-actions { flex-direction: column; align-items: flex-start; }
  .pg-hero-diamond { display: none; }
  .pg-whatsapp-fab { bottom: 80px; }
}

/* ── LOGO markup fix: PATT<span>E</span>RN + <small> ── */
.pg-logo {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  flex-shrink: 0;
  line-height: 1;
  color: var(--gold);
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  letter-spacing: 6px;
  text-transform: uppercase;
}
.pg-logo span {
  color: var(--champagne);
  font-style: italic;
}
.pg-logo small {
  display: block;
  font-size: .38rem;
  letter-spacing: 5px;
  color: var(--text-dim);
  text-transform: uppercase;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  margin-top: 3px;
}

/* ── SVG SIZE NORMALISATION (prevents unsized SVGs rendering huge) ── */
svg { overflow: hidden; vertical-align: middle; }

/* Nav chevrons and icon-button SVGs */
.pg-nav-link svg       { width: 10px; height: 10px; flex-shrink: 0; }
.pg-nav-icon-btn svg   { width: 18px; height: 18px; pointer-events: none; }
.pg-hamburger svg      { width: 18px; height: 18px; }

/* Search form submit button SVG */
.pg-search-form button svg  { width: 18px; height: 18px; }

/* Drawer close / panel close */
.pg-drawer-close svg        { width: 18px; height: 18px; }

/* Wishlist empty heart */
.pg-wishlist-empty svg      { width: 40px; height: 40px; color: var(--text-dim); margin: 0 auto 12px; display: block; }

/* WhatsApp FAB — already sized via parent, but enforce SVG */
.pg-whatsapp-fab svg        { width: 26px; height: 26px; fill: #fff; flex-shrink: 0; }

/* Toast icon */
.pg-toast-icon svg          { width: 14px; height: 14px; }

/* Mega-menu and dropdown chevrons */
.pg-mega svg, .pg-dropdown svg { width: 14px; height: 14px; }

/* Product card action SVGs */
.pg-product-card svg        { width: 16px; height: 16px; }

/* Button SVGs */
.pg-btn svg                 { width: 15px; height: 15px; flex-shrink: 0; pointer-events: none; }

/* Hero action arrow */
.pg-hero-actions .pg-btn svg { width: 16px; height: 16px; }

/* General fallback: any SVG without explicit width/height inside a known container */
button svg, a svg { max-width: 24px; max-height: 24px; }

/* ── HERO LAYOUT: ensure hero starts below fixed header ── */
.pg-hero {
  /* Override: ensure dark background even if bg-img fails to load */
  background-color: var(--black);
}
.pg-hero > * { position: relative; z-index: 1; }

/* Sections are not padded since hero is full-bleed */

/* ── TOPBAR height helper ── */
body {
  padding-top: 0; /* topbar is position:relative, header is position:fixed */
}

/* ── Ensure the fixed header sits below topbar ── */
/* .pg-header top is set via top: var(--topbar-h, 40px) in the patch above */

/* ── Main content area: offset for topbar height ── */
/* #main-content: topbar is position:relative so it naturally pushes content down;
   fixed header overlaps but hero is full-height so it looks correct */

/* ── Accessibility: skip-link position ── */
.screen-reader-text {
  position: absolute;
  clip: rect(1px,1px,1px,1px);
  padding: 0; border: 0;
  width: 1px; height: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  clip: auto;
  width: auto; height: auto;
  padding: 8px 16px;
  background: var(--gold-brand);
  color: var(--black);
  z-index: 9999;
  top: 0; left: 0;
}

/* ── WP admin bar spacer ── */
.admin-bar .pg-topbar { top: 32px; }
.admin-bar .pg-header  { top: calc(var(--topbar-h, 40px) + 32px); }
@media screen and (max-width: 782px) {
  .admin-bar .pg-topbar { top: 46px; }
  .admin-bar .pg-header  { top: calc(var(--topbar-h, 40px) + 46px); }
}

/* ── LOGO FINAL FIX: use display:block so PATT<span>E</span>RN stays inline ──
   The flex+column approach made each text node ("PATT", span, "RN") a separate
   flex row. Switching to display:block lets inline content flow naturally.     */
.pg-logo {
  display: block !important;   /* override any flex-direction:column above */
  text-decoration: none;
  flex-shrink: 0;
  color: var(--gold);
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  letter-spacing: 8px;
  text-transform: uppercase;
  line-height: 1.1;
  white-space: nowrap;
}
.pg-logo span {
  display: inline !important;  /* keep the <span>E</span> on the same line */
  color: var(--champagne);
  font-style: italic;
  letter-spacing: 8px;
}
.pg-logo small {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: .38rem;
  letter-spacing: 5px;
  color: var(--text-dim);
  text-transform: uppercase;
  margin-top: 4px;
  white-space: nowrap;
}

/* =========================================================
   FINAL PATCH — Footer, Collections, Product Image,
   Newsletter button text, remaining gaps
   ========================================================= */

/* ── FOOTER STRUCTURE ── */
.pg-footer {
  background: var(--card);
  border-top: 1px solid var(--gold-border);
  padding: 0;
  margin-top: 0;
}
.pg-footer-main {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 60px;
  border-bottom: 1px solid var(--gold-border);
}
@media (max-width: 1023px) {
  .pg-footer-main { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 767px) {
  .pg-footer-main { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 479px) {
  .pg-footer-main { grid-template-columns: 1fr; }
  .pg-footer { padding-top: 48px; }
}

/* Brand Column */
/* .pg-footer-brand — children styled below */
.pg-footer-brand p {
  font-size: .7rem;
  color: var(--text-dim);
  line-height: 1.8;
  margin-top: 16px;
  margin-bottom: 20px;
}

/* Social Links */
.pg-footer-social {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pg-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  border: 1px solid var(--gold-border);
  border-radius: 50%;
  color: var(--text-dim);
  transition: color var(--fast, .15s), border-color var(--fast, .15s), background var(--fast, .15s);
}
.pg-footer-social a:hover {
  color: var(--gold);
  border-color: var(--gold);
  background: var(--gold-glow);
}
.pg-footer-social a svg { width: 14px; height: 14px; }

/* Nav Column */
.pg-footer-col h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-bright);
  margin-bottom: 18px;
}
.pg-footer-col a,
.pg-footer-col address {
  display: block;
  font-size: .7rem;
  color: var(--text-dim);
  font-style: normal;
  margin-bottom: 10px;
  line-height: 1.6;
  text-decoration: none;
  transition: color var(--fast, .15s);
}
.pg-footer-col a:hover { color: var(--gold); }

/* Certifications bar */
.pg-footer-certs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--gold-border);
  flex-wrap: wrap;
}
.pg-cert-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .6rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-dim);
}
.pg-cert-badge span { font-size: 1rem; }

/* Footer bottom bar */
.pg-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  gap: 16px;
  flex-wrap: wrap;
}
.pg-footer-bottom p {
  font-size: .62rem;
  color: var(--text-dim);
  margin: 0;
}
.pg-footer-legal {
  display: flex;
  align-items: center;
  gap: 16px;
}
.pg-footer-legal a {
  font-size: .6rem;
  letter-spacing: 1px;
  color: var(--text-dim);
  text-decoration: none;
  transition: color var(--fast, .15s);
}
.pg-footer-legal a:hover { color: var(--gold); }

/* Payment icons */
.pg-footer-pay {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pg-pay-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border: 1px solid var(--gold-border);
  border-radius: 4px;
  font-size: .55rem;
  font-weight: 600;
  letter-spacing: 1px;
  color: var(--text-dim);
  background: var(--gold-glow);
  white-space: nowrap;
}

/* .pg-collections — inherits pg-section spacing + dark background */

/* ── PRODUCT CARD IMAGE (inside a positioned wrapper) ── */
.pg-product-card-img {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: var(--soft);
}
.pg-img-main {
  /* Inline styles handle position/fill; this ensures the img is block */
  display: block;
}

/* .pg-newsletter-btn-text: shown by default, hidden when loading (JS-toggled) */
.pg-newsletter-btn-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* ── SECTION UTILITY (used by .pg-collections and other sections) ── */
.pg-section {
  padding: 100px 0;
}
@media (max-width: 767px) {
  .pg-section { padding: 64px 0; }
}

/* ── PRODUCT CARD EXTRA DETAIL ── */
.pg-product-card-badges {
  position: absolute;
  top: 12px; left: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 2;
}
.pg-product-card-actions {
  position: absolute;
  top: 12px; right: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 2;
  opacity: 0;
  transition: opacity var(--fast, .15s);
}
.pg-product-card:hover .pg-product-card-actions { opacity: 1; }
.pg-product-card-actions button {
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 1px solid var(--gold-border);
  background: rgba(245,240,232,.92);
  color: var(--text-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--fast, .15s);
  backdrop-filter: blur(4px);
}
.pg-product-card-actions button:hover {
  background: var(--gold-brand);
  color: var(--black);
  border-color: var(--gold);
}
.pg-product-card-body {
  padding: 16px 0 8px;
}
.pg-product-card-cat {
  font-size: .55rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 4px;
}
.pg-product-card-title {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: .9rem;
  color: var(--text-bright);
  margin-bottom: 8px;
  text-decoration: none;
  line-height: 1.3;
  transition: color var(--fast, .15s);
}
.pg-product-card-title:hover { color: var(--gold); }
.pg-product-card-price {
  font-size: .8rem;
  color: var(--gold);
}
.pg-product-card-price del {
  color: var(--text-dim);
  font-size: .7rem;
  margin-right: 6px;
}
.pg-product-card-footer {
  padding-top: 8px;
}
.js-atc-btn {
  width: 100%;
  background: transparent;
  border: 1px solid var(--gold-border);
  color: var(--text-mid);
  font-size: .6rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 10px;
  cursor: pointer;
  border-radius: var(--radius, 4px);
  transition: all var(--fast, .15s);
}
.js-atc-btn:hover {
  background: var(--gold-brand);
  color: var(--black);
  border-color: var(--gold);
}

/* ── RESPONSIVE: footer on mobile ── */
@media (max-width: 479px) {
  .pg-footer-bottom { flex-direction: column; align-items: flex-start; }
  .pg-footer-certs { gap: 14px; }
  .pg-footer-pay { flex-wrap: wrap; }
}

/* ══════════════════════════════════════════════════════════
   PATCH 6 — Missing container classes (pg-bridal, pg-hero-stat,
             pg-insta section, pg-bridal-stat)
   2026-04-06
   ══════════════════════════════════════════════════════════ */

/* ── HERO STAT individual item ── */
.pg-hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 0 20px;
  border-right: .5px solid rgba(201,168,76,.12);
}
.pg-hero-stat:last-child { border-right: none; }
@media (max-width: 479px) {
  .pg-hero-stat { padding: 0 12px; }
}

/* ── BRIDAL section wrapper ── */
.pg-bridal {
  position: relative;
  overflow: hidden;
  background: var(--black);
  padding: 120px 0;
}
@media (max-width: 767px) {
  .pg-bridal { padding: 80px 0; }
}

/* ── BRIDAL STAT individual item ── */
.pg-bridal-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* ── INSTAGRAM / LOOKBOOK section modifier ── */
/* pg-section--sm already provides padding; pg-insta adds background */
.pg-insta {
  background: var(--card);
}

/* ══════════════════════════════════════════════════════════
   PATCH 7 — Remaining missing classes found via audit:
             pg-badge-gia, pg-img-hover, pg-price-current,
             pg-product-card-rating, pg-search-input
   2026-04-06
   ══════════════════════════════════════════════════════════ */

/* ── GIA / certification badge ── */
.pg-badge-gia {
  background: linear-gradient(135deg, #0a3d62, #1a6fa0);
  color: #fff;
}

/* ── Product card hover image layer ── */
.pg-img-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--medium, .4s);
  background-size: cover;
  background-position: center;
}
.pg-product-card:hover .pg-img-hover { opacity: 1; }

/* ── Price: current / active price ── */
.pg-price-current {
  font-family: var(--font-serif, 'Playfair Display', serif);
  font-size: 1rem;
  color: var(--gold);
  font-weight: 400;
}

/* ── Product card star rating ── */
.pg-product-card-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: .58rem;
  color: var(--gold);
  letter-spacing: 1px;
  margin-bottom: 6px;
}
.pg-product-card-rating span {
  color: var(--text-dim);
  font-size: .55rem;
}

/* ── Search overlay input ── */
#pg-search-input,
.pg-search-input {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(201,168,76,.3);
  color: var(--text-bright, #f5f0e8);
  font-size: clamp(1.2rem, 3vw, 2rem);
  font-family: var(--font-serif, 'Playfair Display', serif);
  padding: 12px 0;
  outline: none;
  caret-color: var(--gold);
  transition: border-color var(--fast, .15s);
}
#pg-search-input:focus,
.pg-search-input:focus {
  border-bottom-color: var(--gold);
}
#pg-search-input::placeholder,
.pg-search-input::placeholder {
  color: rgba(201,168,76,.25);
  font-style: italic;
}

/* ══════════════════════════════════════════════════════════
   PATCH 8 — Progressive Enhancement for .pg-reveal
   Sections are VISIBLE BY DEFAULT. JS adds 'pg-js-ready' to
   <body> to enable scroll-triggered animations. Without JS
   (screenshots, search crawlers, no-JS users) all content is
   fully visible with no opacity gaps.
   2026-04-06
   ══════════════════════════════════════════════════════════ */

/* Step 1: Default state — fully visible, no transform */
.pg-reveal {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Step 2: Animations are now disabled to prevent invisible content bugs */
body.pg-js-ready .pg-reveal {
  opacity: 1 !important;
  transform: none !important;
}

/* ── HERO BG: use SVG since webp images not yet uploaded ── */
.pg-hero-bg-img {
  background-image: url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-desktop.svg') !important;
  opacity: .18 !important;
}

/* ── SCROLL CUE: alias .pg-hero-scroll → .pg-hero-scroll-cue styles ── */
.pg-hero-scroll {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 3;
  cursor: pointer;
}
.pg-hero-scroll span {
  font-size: .44rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: rgba(201,168,76,.4);
}
.pg-hero-scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, rgba(201,168,76,.5), transparent);
  animation: pg-scroll-line 1.6s ease-in-out infinite;
}
@keyframes pg-scroll-line {
  0%   { transform: scaleY(0); transform-origin: top; opacity: 1; }
  50%  { transform: scaleY(1); transform-origin: top; opacity: 1; }
  100% { transform: scaleY(1); transform-origin: bottom; opacity: 0; }
}

/* ── CATEGORY GRID: ensure proper grid layout ── */
.pg-cat-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 3px !important;
  min-height: 520px;
}
.pg-cat-card { aspect-ratio: unset; min-height: 240px; }
.pg-cat-card.is-wide { grid-row: span 2; min-height: 483px; }

/* ── PRODUCTS GRID: 4-column with proper gap ── */
.pg-products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.pg-products-grid li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

/* ── BRIDAL SECTION: full-bleed dark bg with centered content ── */
.pg-bridal {
  background: linear-gradient(135deg, #1A1814 0%, #2D2924 50%, #1A1814 100%) !important;
}
.pg-bridal-content { max-width: 600px; }

/* ── INSTAGRAM GRID: proper 3+2 layout ── */
.pg-insta-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  grid-template-rows: auto auto !important;
  gap: 4px !important;
  margin-top: 40px !important;
}
.pg-insta-cell { min-height: 200px; }
.pg-insta-cell.is-wide { grid-row: span 2; min-height: 404px; }
.pg-insta-cell-img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }

/* ── TESTI SLIDER: full-width single slide ── */
.pg-testi-track {
  display: flex !important;
  transition: transform .4s cubic-bezier(.4,0,.2,1) !important;
}
.pg-testi-slide { flex: 0 0 100% !important; }

/* ── NEWSLETTER: dark gold shimmer section ── */
.pg-newsletter-inner {
  max-width: 560px !important;
  margin: 0 auto !important;
}

/* ── SECTION BACKGROUNDS ── */
.pg-collections { background: var(--black) !important; }
.pg-why         { background: var(--card) !important; }
.pg-craft       { background: var(--black) !important; }
.pg-builder-cta { background: var(--soft-2, #141209) !important; }
.pg-testi       { background: var(--black) !important; }
.pg-newsletter  { background: linear-gradient(135deg,#F5ECD5 0%,#FAF8F3 50%,#F5ECD5 100%) !important; }

/* ── WHY GRID: 3-column at desktop ── */
.pg-why-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 56px !important;
}
@media (max-width: 1023px) {
  .pg-why-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 599px) {
  .pg-why-grid    { grid-template-columns: 1fr !important; }
  .pg-cat-grid    { grid-template-columns: 1fr !important; }
  .pg-insta-grid  { grid-template-columns: 1fr 1fr !important; }
  .pg-products-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── WHY CARD ── */
.pg-why-card {
  background: var(--black);
  border: .5px solid rgba(201,168,76,.08);
  border-radius: 8px;
  padding: 32px 28px;
  transition: border-color .2s, transform .2s;
}
.pg-why-card:hover {
  border-color: rgba(201,168,76,.25);
  transform: translateY(-3px);
}
.pg-why-icon {
  width: 48px; height: 48px;
  background: rgba(201,168,76,.06);
  border: .5px solid rgba(201,168,76,.15);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
  margin-bottom: 18px;
}
.pg-why-card h4 {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 400;
  color: var(--text-mid);
  margin-bottom: 10px;
}
.pg-why-card p { font-size: 12.5px; color: #777; line-height: 1.8; margin: 0; }

/* ── BUILDER CTA LAYOUT ── */
.pg-builder-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
@media (max-width: 767px) {
  .pg-builder-inner { grid-template-columns: 1fr !important; gap: 40px !important; }
}
.pg-builder-steps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.pg-builder-step {
  background: rgba(201,168,76,.04);
  border: .5px solid rgba(201,168,76,.10);
  border-radius: 8px;
  padding: 24px 20px;
}
.pg-builder-step-num {
  font-family: var(--font-serif);
  font-size: 28px;
  color: rgba(201,168,76,.25);
  margin-bottom: 10px;
  line-height: 1;
}
.pg-builder-step h4 { font-family: var(--font-serif); font-size: 15px; color: #d4cfc5; margin-bottom: 6px; }
.pg-builder-step p { font-size: 11.5px; color: var(--text-muted); line-height: 1.7; margin: 0; }

/* ── CRAFTSMANSHIP LAYOUT ── */
.pg-craft-img {
  position: relative;
  aspect-ratio: 4/5;
  background: linear-gradient(135deg,#FAF8F3,#F5ECD5);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pg-craft-img-bg { font-size: 120px; opacity: .12; }
.pg-craft-img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,.7) 0%, transparent 60%);
}
.pg-craft-img-tag {
  position: absolute;
  bottom: 24px; left: 24px;
  background: rgba(245,240,232,.95);
  border: .5px solid rgba(201,168,76,.3);
  border-radius: 6px;
  padding: 12px 18px;
  backdrop-filter: blur(8px);
}
.pg-craft-img-tag .num {
  font-family: var(--font-serif);
  font-size: 28px;
  color: var(--gold);
  line-height: 1;
}
.pg-craft-img-tag .lbl {
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-top: 3px;
}
.pg-craft-steps { display: flex; flex-direction: column; gap: 20px; margin-top: 32px; }
.pg-craft-step {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: rgba(212,175,55,.03);
  border-left: 2px solid rgba(212,175,55,.18);
  border-radius: 0 6px 6px 0;
  transition: border-color .2s, background .2s;
}
.pg-craft-step:hover { border-left-color: rgba(201,168,76,.5); background: rgba(201,168,76,.06); }
.pg-craft-step-icon { font-size: 20px; flex-shrink: 0; margin-top: 2px; }
.pg-craft-step-body h4 { font-family: var(--font-serif); font-size: 15px; color: #d4cfc5; margin-bottom: 4px; }
.pg-craft-step-body p { font-size: 12px; color: var(--text-muted); line-height: 1.7; margin: 0; }

/* ── RESPONSIVE: adjust grid on tablet ── */
@media (max-width: 1023px) {
  .pg-grid-2 { grid-template-columns: 1fr !important; gap: 40px !important; }
  .pg-products-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .pg-cat-grid { grid-template-columns: 1fr 1fr !important; }
  .pg-cat-card.is-wide { grid-row: auto !important; }
  .pg-builder-inner { grid-template-columns: 1fr !important; gap: 40px !important; }
  .pg-insta-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .pg-insta-cell.is-wide { grid-row: auto !important; min-height: 200px !important; }
}
@media (max-width: 767px) {
  .pg-container { padding: 0 20px !important; }
  .pg-section { padding: 64px 0 !important; }
  .pg-section--sm { padding: 48px 0 !important; }
  .pg-cat-grid { grid-template-columns: 1fr !important; }
  .pg-products-grid { grid-template-columns: 1fr 1fr !important; }
  .pg-builder-steps { grid-template-columns: 1fr !important; }
  .pg-insta-grid { grid-template-columns: 1fr 1fr !important; }
  .pg-insta-cell.is-wide { grid-row: auto !important; grid-column: span 2 !important; }
}

/* ══════════════════════════════════════════════════════════
   PATCH 9 — Instagram grid 6th cell fix
   Cell 6 overflowed into an implicit 3rd row (596px tall).
   Fix: span it full-width across the bottom as a panoramic strip.
   2026-04-06
   ══════════════════════════════════════════════════════════ */

.pg-insta-grid .pg-insta-cell:nth-child(6) {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 4 !important;
  min-height: 140px !important;
}

/* ── Also: Instagram section should NOT have aspect-ratio on .pg-insta-cell by default ── */
.pg-insta-cell {
  aspect-ratio: 1;
  min-height: 180px;
}
.pg-insta-cell.is-wide {
  aspect-ratio: unset !important;
  grid-row: span 2;
  min-height: 364px;
}

/* ══════════════════════════════════════════════════════════
   PATCH 10 — Full-Width Layout & Perfect Alignment
   Ensures the page is 100vw, sections are properly centered,
   hero is full-screen, and all components are aligned.
   2026-04-06
   ══════════════════════════════════════════════════════════ */

/* ── Global: ensure full-width page with no horizontal overflow ── */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Every section/block is full-width ── */
.pg-hero,
.pg-marquee,
.pg-sale-banner,
.pg-section,
.pg-section--sm,
.pg-section-alt,
.pg-bridal,
.pg-collections,
.pg-builder-cta,
.pg-craft,
.pg-why,
.pg-insta,
.pg-testi,
.pg-newsletter,
.pg-footer,
footer {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ── Container: properly centered, full-width content with padding ── */
.pg-container {
  width: 100% !important;
  max-width: var(--container, 1280px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  box-sizing: border-box !important;
}

/* ── Hero: full-screen, centered content ── */
.pg-hero {
  position: relative !important;
  width: 100vw !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background: var(--black) !important;
  left: 0 !important;
}

.pg-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
}

.pg-hero-bg-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
}

.pg-hero > .pg-container {
  position: relative !important;
  z-index: 2 !important;
}

.pg-hero-content {
  position: relative !important;
  z-index: 2 !important;
  padding: 0 !important;
  max-width: 700px !important;
}

/* ── Hero heading: full legible sizing ── */
.pg-h1 {
  font-size: clamp(2.4rem, 5.5vw, 5rem) !important;
  line-height: 1.08 !important;
  margin-bottom: 20px !important;
}

.pg-h2 {
  font-size: clamp(1.8rem, 3.5vw, 3.2rem) !important;
  line-height: 1.15 !important;
}

/* ── Hero stats: horizontal row ── */
.pg-hero-stats {
  display: flex !important;
  flex-direction: row !important;
  gap: 0 !important;
  padding-top: 28px !important;
  margin-top: 20px !important;
  border-top: .5px solid rgba(201,168,76,.15) !important;
}

.pg-hero-stat,
.pg-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 0 28px !important;
  border-right: .5px solid rgba(201,168,76,.10) !important;
  flex: 1 !important;
}
.pg-hero-stat:first-child,
.pg-stat:first-child { padding-left: 0 !important; align-items: flex-start !important; }
.pg-hero-stat:last-child,
.pg-stat:last-child  { border-right: none !important; }

/* ── Marquee: full-width gold line ── */
.pg-marquee {
  overflow: hidden !important;
  padding: 12px 0 !important;
}

/* ── Section padding: uniform ── */
.pg-section     { padding: 100px 0 !important; }
.pg-section--sm { padding: 72px 0 !important; }
.pg-section-alt { padding: 100px 0 !important; }
.pg-bridal      { padding: 120px 0 !important; }

/* ── Section header: title left, button right ── */
.pg-section-header {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  margin-bottom: 48px !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

/* ── Collections grid: 3-col layout matching reference ── */
.pg-cat-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr !important;
  gap: 3px !important;
}
.pg-cat-card {
  min-height: 260px !important;
  aspect-ratio: unset !important;
}
.pg-cat-card.is-wide {
  grid-row: span 2 !important;
  min-height: 523px !important;
}

/* ── Product grid: Base Grid Setup ── */
.pg-products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.pg-products-grid.view-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}
.pg-products-grid.view-list {
  grid-template-columns: 1fr !important;
}
.pg-products-grid li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.pg-product-card {
  background: var(--card) !important;
}
.pg-product-card-img {
  position: relative !important;
  padding-top: 100% !important;
  overflow: hidden !important;
}

/* ── Why grid: 3 columns ── */
.pg-why-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-top: 56px !important;
}

/* ── Builder inner: 2-col grid ── */
.pg-builder-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 80px !important;
  align-items: start !important;
}

/* ── Craft section: 2-col ── */
.pg-grid-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 80px !important;
  align-items: center !important;
}

/* ── Bridal section: left-align content ── */
.pg-bridal {
  background: linear-gradient(135deg, #1A1814, #2D2924, #1A1814) !important;
}
.pg-bridal-content { max-width: 580px; }

/* ── Newsletter: centered ── */
.pg-newsletter-inner {
  text-align: center !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 1 !important;
}
.pg-newsletter-form {
  display: flex !important;
  gap: 0 !important;
  margin-top: 32px !important;
  max-width: 480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Testimonials slider ── */
.pg-testi-slider { position: relative !important; overflow: hidden !important; margin-top: 56px !important; }
.pg-testi-track  { display: flex !important; }
.pg-testi-slide  { flex: 0 0 100% !important; }
.pg-testi-card   { max-width: 760px !important; margin: 0 auto !important; }

/* ── Slider product cards ── */
.pg-slider-track {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc(25% - 18px) !important;
  gap: 24px !important;
  transition: transform .4s cubic-bezier(.4,0,.2,1) !important;
}

/* ── Footer: full-width dark ── */
.pg-footer {
  width: 100% !important;
  background: var(--navy, #0F2336) !important;
}
.pg-footer-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr !important;
  gap: 40px !important;
}

/* ── Text utility ── */
.pg-text-center { text-align: center !important; }

/* ═══ RESPONSIVE BREAKPOINTS ═══ */
@media (max-width: 1200px) {
  .pg-container { padding-left: 32px !important; padding-right: 32px !important; }
  .pg-footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr !important; }
  .pg-products-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (max-width: 1023px) {
  .pg-cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .pg-cat-card.is-wide { grid-row: auto !important; min-height: 260px !important; }
  .pg-builder-inner { grid-template-columns: 1fr !important; gap: 40px !important; }
  .pg-grid-2 { grid-template-columns: 1fr !important; gap: 40px !important; }
  .pg-why-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .pg-products-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .pg-footer-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .pg-slider-track { grid-auto-columns: calc(50% - 12px) !important; }
}

@media (max-width: 767px) {
  .pg-container { padding-left: 20px !important; padding-right: 20px !important; }
  .pg-h1 { font-size: 2.2rem !important; }
  .pg-h2 { font-size: 1.6rem !important; }
  .pg-section, .pg-section-alt { padding: 60px 0 !important; }
  .pg-section--sm { padding: 48px 0 !important; }
  .pg-bridal { padding: 80px 0 !important; }
  .pg-hero-stats { flex-wrap: wrap !important; gap: 16px !important; padding-top: 20px !important; }
  .pg-hero-stat { flex: 0 0 40% !important; border-right: none !important; padding: 8px 0 !important; }
  .pg-hero-actions { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .pg-hero-actions .pg-btn { width: 100% !important; justify-content: center !important; }
  .pg-cat-grid { grid-template-columns: 1fr !important; }
  .pg-products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
  .pg-why-grid { grid-template-columns: 1fr !important; }
  .pg-footer-grid { grid-template-columns: 1fr !important; }
  .pg-builder-steps { grid-template-columns: 1fr !important; }
  .pg-insta-grid { grid-template-columns: 1fr 1fr !important; }
  .pg-insta-cell.is-wide { grid-column: span 2 !important; grid-row: auto !important; }
  .pg-slider-track { grid-auto-columns: calc(100% - 24px) !important; }
  .pg-section-header { flex-direction: column !important; align-items: flex-start !important; }
}

@media (max-width: 479px) {
  .pg-products-grid { grid-template-columns: 1fr !important; }
  .pg-h1 { font-size: 1.9rem !important; }
  .pg-hero-stat { flex: 0 0 45% !important; }
}

/* ══════════════════════════════════════════════════════════
   PATCH 11 — Hero background opacity + final polish
   2026-04-06
   ══════════════════════════════════════════════════════════ */

/* Better hero background — show the luxury SVG clearly */
.pg-hero-bg-img {
  background-image: url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-desktop.svg') !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: .65 !important;
}
@media (max-width: 767px) {
  .pg-hero-bg-img { background-image: url('https://test.patternjewellery.com/wp-content/themes/pattern-jewellery-theme/assets/css/../images/hero-mobile.svg') !important; }
}

/* Dark overlay gradient on hero for text legibility */
.pg-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    rgba(10,10,10,.85) 0%,
    rgba(10,10,10,.55) 50%,
    rgba(10,10,10,.15) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.pg-hero > * { position: relative; z-index: 2; }
.pg-hero-bg { z-index: 0 !important; }

/* ── Hero content: better vertical positioning ── */
.pg-hero .pg-container {
  padding-top: 60px;
  padding-bottom: 60px;
}

/* ── Stats: ensure they sit above the overlay ── */
.pg-hero-stats {
  position: relative;
  z-index: 3 !important;
}

/* ── Sale banner: full-width gold strip ── */
.pg-sale-banner {
  background: linear-gradient(90deg, #1A1814 0%, #2D2924 50%, #1A1814 100%) !important;
  width: 100% !important;
}

/* ── Marquee: ensure it scrolls properly ── */
.pg-marquee { background: #F5ECD5 !important; }
.pg-marquee-track {
  animation: pg-ticker 32s linear infinite !important;
  will-change: transform;
}

/* ══════════════════════════════════════════════════════════════════
   PATCH 12 — MENU SYSTEM FIXES
   ══════════════════════════════════════════════════════════════════
   Fixes:
   1. .pg-mega (HTML class) vs .pg-mega-menu (old CSS) mismatch
   2. Hover trigger: .pg-nav-list > li → .pg-nav-item (actual HTML)
   3. Mega menu column headings: bare <h4> needs styling
   4. Smooth fade-in animation for mega menu
   5. Search overlay open/close state
   6. Wishlist panel open/close state
   7. Backdrop shared overlay
   8. Header scroll state uses .is-scrolled (not .site-header--scrolled)
   ══════════════════════════════════════════════════════════════════ */

/* ── 1 & 2. MEGA MENU — correct selector, position, show/hide ── */
.pg-mega {
  position: absolute;
  top: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  min-width: 780px;
  background: #FFFFFF;
  border: .5px solid var(--gold-border);
  border-top: 2px solid var(--gold);
  padding: 32px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  box-shadow: 0 24px 64px rgba(0,0,0,.85);
  z-index: 9100;
  /* hidden state */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}

/* Show on hover */
.pg-nav-item:hover > .pg-mega,
.pg-nav-item:focus-within > .pg-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

/* Keep visible when cursor moves from link into the panel */
.pg-mega:hover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ── 3. MEGA COL HEADINGS — bare <h4> inside .pg-mega-col ── */
.pg-mega-col > h4 {
  font-size: .52rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: .5px solid var(--gold-border);
  font-family: 'Montserrat', sans-serif;
}

/* ── Mega links — bare <a> inside .pg-mega-col ── */
.pg-mega-col > a {
  font-size: .64rem;
  color: var(--text-dim);
  padding: 7px 0;
  letter-spacing: .5px;
  transition: color var(--fast, .15s), padding-left var(--fast, .15s);
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  white-space: nowrap;
}
.pg-mega-col > a:hover { color: var(--gold); padding-left: 6px; }

/* ── Featured card inside mega ── */
.pg-mega-feat {
  background: rgba(201,168,76,.04);
  border: .5px solid var(--gold-border);
  border-radius: 4px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: border-color var(--fast, .15s);
}
.pg-mega-feat:hover { border-color: rgba(201,168,76,.35); }
.pg-mega-feat-img {
  font-size: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100px;
  background: linear-gradient(135deg, rgba(201,168,76,.08), rgba(212,175,55,.02));
  flex: 1;
}
.pg-mega-feat-body {
  padding: 12px 14px;
  border-top: .5px solid var(--gold-border);
}
.pg-mega-feat-body strong {
  display: block;
  font-size: .62rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--ivory);
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 4px;
}
.pg-mega-feat-body p {
  font-size: .6rem;
  color: var(--text-dim);
  margin: 0 0 10px;
  letter-spacing: .3px;
}
.pg-mega-feat-body a {
  font-size: .55rem;
  color: var(--gold);
  text-decoration: none;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  transition: opacity var(--fast, .15s);
}
.pg-mega-feat-body a:hover { opacity: .75; }

/* ── 4. SEARCH OVERLAY — open state ── */
.pg-search-overlay {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: fixed;
  inset: 0;
  z-index: 500;
  background: rgba(250,248,243,.96);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding-top: 120px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s;
}
.pg-search-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.pg-search-wrap {
  width: min(640px, 90vw);
  text-align: center;
}
.pg-search-wrap > label {
  display: block;
  font-size: .55rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 20px;
}
.pg-search-form {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--gold-border);
  border-radius: 2px;
  overflow: hidden;
  transition: border-color var(--fast);
}
.pg-search-form:focus-within { border-color: rgba(201,168,76,.5); }
.pg-search-form input[type="search"] {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  padding: 16px 20px;
  color: var(--ivory);
  font-size: .85rem;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: 1px;
}
.pg-search-form input[type="search"]::placeholder { color: var(--text-dim); }
.pg-search-form button {
  background: none;
  border: none;
  padding: 16px 20px;
  color: var(--text-mid);
  cursor: pointer;
  transition: color var(--fast);
}
.pg-search-form button:hover { color: var(--gold); }
.pg-search-close {
  position: absolute;
  top: 24px; right: 32px;
  background: none; border: none;
  color: var(--text-dim);
  font-size: 2rem;
  cursor: pointer;
  transition: color var(--fast);
  line-height: 1;
}
.pg-search-close:hover { color: var(--gold); }
.pg-search-suggestions {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
.pg-search-suggestions a {
  font-size: .55rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim);
  padding: 6px 14px;
  border: .5px solid var(--gold-border);
  border-radius: 100px;
  text-decoration: none;
  transition: all var(--fast);
}
.pg-search-suggestions a:hover { border-color: var(--gold); color: var(--gold); }

/* ── 5. WISHLIST PANEL — open state ── */
.pg-wishlist-panel {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(380px, 92vw);
  background: var(--card);
  z-index: 450;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  box-shadow: -8px 0 40px rgba(0,0,0,.6);
}
.pg-wishlist-panel.is-open { transform: translateX(0); }
.pg-wishlist-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: .5px solid var(--gold-border);
}
.pg-wishlist-head h3 {
  font-size: .6rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--ivory);
  font-family: 'Montserrat', sans-serif;
  margin: 0;
}
.pg-wishlist-items {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}
.pg-wishlist-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  color: var(--text-dim);
  text-align: center;
  font-size: .75rem;
  letter-spacing: .5px;
}
.pg-wishlist-footer {
  padding: 16px;
  border-top: .5px solid var(--gold-border);
}

/* ── 6. SHARED BACKDROP ── */
.pg-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(26,24,20,.35);
  z-index: 9400; /* Below drawer (9500) but above header (9000) */
  display: none;
  opacity: 0;
  transition: opacity .28s ease;
  cursor: pointer;
  pointer-events: none; /* Only capture clicks when open */
}
.pg-backdrop.is-open {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

/* ── 7. NAV HAMBURGER BUTTON ── */
.pg-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
@media (max-width: 1023px) { .pg-hamburger { display: flex; } }
.pg-hamburger span {
  display: block;
  width: 22px; height: 1.5px;
  background: var(--text-mid);
  transition: all .28s ease;
}
.pg-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.pg-hamburger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.pg-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── 8. HEADER SCROLL STATE fix ── */
.pg-header.is-transparent { background: transparent; border-bottom-color: transparent; }
.pg-header.is-scrolled {
  background: rgba(250,248,243,.98) !important;
  border-bottom-color: var(--gold-border) !important;
  box-shadow: 0 4px 24px rgba(26,24,20,.12);
}

/* ═══════════════════════════════════════════════════════════════
   PATCH 13 — Contact Page + FAQ + Form styles
   ═══════════════════════════════════════════════════════════════ */

/* ── Contact Hero ── */
.pg-contact-hero {
    position: relative;
    overflow: hidden;
    padding: 80px 0 60px;
    border-bottom: .5px solid rgba(201,168,76,.08);
}
.pg-contact-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 70% 50%, rgba(201,168,76,.06) 0%, transparent 60%),
        radial-gradient(ellipse at 20% 80%, rgba(201,130,106,.04) 0%, transparent 50%);
    pointer-events: none;
}
.pg-contact-hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    flex-wrap: wrap;
}
.pg-contact-hero-text { max-width: 540px; }
.pg-contact-hero-text .pg-h1 {
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    margin-top: 12px;
    margin-bottom: 16px;
}
.pg-contact-hero-text .pg-lead {
    color: #999;
    font-size: 15px;
    line-height: 1.7;
}

/* Gem animation */
.pg-contact-hero-gem {
    position: relative;
    width: 200px;
    height: 200px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pg-contact-gem-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(201,168,76,.15);
    animation: pgContactGemPulse 3s ease-in-out infinite;
}
.pg-contact-gem-ring-1 { width: 190px; height: 190px; }
.pg-contact-gem-ring-2 { width: 150px; height: 150px; animation-delay: .7s; border-color: rgba(201,168,76,.10); }
.pg-contact-gem-ring-3 { width: 110px; height: 110px; animation-delay: 1.4s; border-color: rgba(201,168,76,.22); }
@keyframes pgContactGemPulse {
    0%, 100% { transform: scale(1);    opacity: .5; }
    50%       { transform: scale(1.06); opacity: 1; }
}
.pg-contact-gem-icon {
    font-size: 56px;
    animation: pgContactGemFloat 4s ease-in-out infinite;
    filter: drop-shadow(0 0 24px rgba(201,168,76,.35));
    z-index: 1;
}
@keyframes pgContactGemFloat {
    0%, 100% { transform: translateY(0) rotate(-3deg); }
    50%       { transform: translateY(-12px) rotate(3deg); }
}
.pg-contact-sparkle {
    position: absolute;
    font-size: 10px;
    color: rgba(201,168,76,.5);
    animation: pgSparkleFloat 3s ease-in-out infinite;
}
.pg-contact-sparkle-1 { top: 10%;  left: 15%;  animation-delay: 0s; }
.pg-contact-sparkle-2 { top: 20%;  right: 10%; animation-delay: .6s; }
.pg-contact-sparkle-3 { bottom: 15%; left: 20%; animation-delay: 1.1s; }
.pg-contact-sparkle-4 { bottom: 20%; right: 15%; animation-delay: 1.7s; font-size: 8px; }
@keyframes pgSparkleFloat {
    0%, 100% { opacity: .3; transform: translateY(0); }
    50%       { opacity: 1;  transform: translateY(-6px); }
}

/* ── Contact Channels ── */
.pg-contact-channels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}
.pg-contact-channel {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 20px;
    background: #FFFFFF;
    border: .5px solid rgba(201,168,76,.10);
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
    transition: border-color .25s, background .25s, transform .25s;
    cursor: pointer;
}
.pg-contact-channel:hover {
    border-color: rgba(201,168,76,.4);
    background: #111009;
    transform: translateY(-2px);
}
.pg-channel-wa { border-color: rgba(37,211,102,.2); }
.pg-channel-wa:hover { border-color: rgba(37,211,102,.6); }
.pg-channel-wa .pg-channel-icon { color: #25d366; }
.pg-channel-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(201,168,76,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    flex-shrink: 0;
}
.pg-channel-content { flex: 1; min-width: 0; }
.pg-channel-label {
    font-size: 10px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 2px;
}
.pg-channel-value {
    font-family: var(--font-serif);
    font-size: 15px;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pg-channel-note { font-size: 11px; color: #555; margin-top: 2px; }
.pg-channel-arrow { color: rgba(201,168,76,.3); flex-shrink: 0; transition: color .2s, transform .2s; }
.pg-contact-channel:hover .pg-channel-arrow { color: var(--gold); transform: translateX(3px); }

/* ── Contact Form Layout ── */
.pg-contact-form-section { background: var(--soft); }
.pg-contact-form-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
}
@media (min-width: 960px) {
    .pg-contact-form-layout {
        grid-template-columns: 1fr 380px;
        gap: 60px;
    }
}

/* Form elements */
.pg-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 600px) { .pg-form-row { grid-template-columns: 1fr; } }
.pg-form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.pg-form-label {
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-muted);
}
.pg-form-label span { color: var(--gold); }
.pg-form-input,
.pg-form-select,
.pg-form-textarea {
    width: 100%;
    background: rgba(26,24,20,.04);
    border: .5px solid rgba(201,168,76,.15);
    border-radius: 6px;
    padding: 12px 14px;
    font-size: 13px;
    color: var(--text-muted);
    font-family: var(--font-body);
    outline: none;
    transition: border-color .2s, background .2s;
    box-sizing: border-box;
}
.pg-form-input:focus,
.pg-form-select:focus,
.pg-form-textarea:focus {
    border-color: rgba(201,168,76,.5);
    background: rgba(212,175,55,.03);
}
.pg-form-input::placeholder,
.pg-form-textarea::placeholder { color: #444; }
.pg-form-select { appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }
.pg-form-select option { background: #FFFFFF; color: var(--text-muted); }
.pg-form-textarea { resize: vertical; min-height: 120px; }
.pg-form-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.pg-form-feedback { margin-top: 12px; font-size: 13px; padding: 10px 14px; border-radius: 6px; background: rgba(201,168,76,.06); }
.pg-form-submit { margin-top: 8px; }

/* ── Info cards (right sidebar) ── */
.pg-contact-info-card {
    background: rgba(26,24,20,.03);
    border: .5px solid rgba(201,168,76,.10);
    border-radius: 10px;
    padding: 22px 24px;
    margin-bottom: 16px;
}
.pg-contact-info-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 14px;
}
.pg-contact-info-text { font-size: 13px; color: var(--text-muted); line-height: 1.7; margin: 0; }

.pg-hours-list { margin: 0; }
.pg-hours-row { display: flex; justify-content: space-between; align-items: center; padding: 5px 0; border-bottom: .5px solid rgba(255,255,255,.04); font-size: 12px; }
.pg-hours-row:last-child { border-bottom: none; }
.pg-hours-row dt { color: #999; }
.pg-hours-row dd { color: #fff; margin: 0; }

.pg-contact-socials { display: flex; flex-direction: column; gap: 10px; }
.pg-social-link { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--text-muted); text-decoration: none; transition: color .2s; }
.pg-social-link:hover { color: var(--gold); }

.pg-contact-trust-row {
    display: flex;
    gap: 12px;
}
.pg-contact-trust-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 14px 8px;
    background: rgba(201,168,76,.04);
    border: .5px solid rgba(201,168,76,.08);
    border-radius: 8px;
}
.pg-contact-trust-icon { font-size: 18px; margin-bottom: 4px; }
.pg-contact-trust-label { font-size: 11px; font-weight: 600; color: var(--text-muted); line-height: 1.2; }
.pg-contact-trust-sub { font-size: 10px; color: #555; margin-top: 2px; }

/* ── Map ── */
.pg-contact-map-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    border: .5px solid rgba(201,168,76,.15);
}
.pg-contact-map-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(26,24,20,.78));
    padding: 24px 24px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    z-index: 2;
    flex-wrap: wrap;
}
.pg-contact-map-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-muted);
}
.pg-contact-map-label svg { color: var(--gold); flex-shrink: 0; }
.pg-contact-map-iframe { display: block; }

/* ── FAQ ── */
.pg-faq-list {
    max-width: 800px;
    margin: 0 auto;
}
.pg-faq-item {
    border-bottom: .5px solid rgba(201,168,76,.10);
}
.pg-faq-item:first-child { border-top: .5px solid rgba(201,168,76,.10); }
.pg-faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 15px;
    font-family: var(--font-serif);
    cursor: pointer;
    text-align: left;
    transition: color .2s;
}
.pg-faq-question:hover { color: var(--gold); }
.pg-faq-question[aria-expanded="true"] { color: var(--gold); }
.pg-faq-icon { flex-shrink: 0; transition: transform .3s; }
.pg-faq-question[aria-expanded="true"] .pg-faq-icon { transform: rotate(45deg); }
.pg-faq-answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height .35s ease;
}
.pg-faq-answer-inner { padding: 0 0 20px; }
.pg-faq-answer-inner p { font-size: 14px; color: var(--text-muted); line-height: 1.75; margin: 0; }

/* ── CTA Strip ── */
.pg-cta-strip { background: rgba(201,168,76,.04); border-top: .5px solid rgba(201,168,76,.12); border-bottom: .5px solid rgba(201,168,76,.12); }
.pg-cta-strip-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    padding: 40px 0;
}

/* =============================================================
   PRODUCTION PATCH — v1.0
   Canonical overrides for duplicated rules + mobile responsive
   All rules here take final precedence via cascade order.
   ============================================================= */

/* ─────────────────────────────────────────────
   P1. CANONICAL pg-hamburger (single source of truth)
   Overrides the 3 duplicate definitions above.
   ───────────────────────────────────────────── */
.pg-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px; height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--text-mid);
  -webkit-tap-highlight-color: transparent;
}
@media (max-width: 1023px) { .pg-hamburger { display: flex; } }
.pg-hamburger span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: currentColor;
  transition: transform .3s ease, opacity .3s ease;
  transform-origin: center;
  border-radius: 2px;
}
.pg-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.pg-hamburger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.pg-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ─────────────────────────────────────────────
   P2. CANONICAL pg-section (single source of truth)
   ───────────────────────────────────────────── */
.pg-section {
  padding: 100px 0;
  background: var(--black);
}
.pg-section-alt {
  padding: 100px 0;
  background: var(--card);
}

/* ─────────────────────────────────────────────
   P3. FOOTER TEXT COLORS — brighten from invisible #2a2a2a
   ───────────────────────────────────────────── */
.pg-footer-copy {
  font-size: .62rem;
  color: #777;
  letter-spacing: 1px;
}
.pg-footer-legal a {
  font-size: .6rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #777;
  text-decoration: none;
  transition: color var(--fast);
}
.pg-footer-legal a:hover { color: var(--gold); }
.pg-pay-chip {
  font-size: .54rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-muted);
  border: .5px solid rgba(255,255,255,.12);
  padding: 4px 10px;
  border-radius: 2px;
}

/* ─────────────────────────────────────────────
   P4. FOOTER GRID — mobile responsive
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
  .pg-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .pg-footer-main { padding: 56px 32px 48px; }
  .pg-footer-certs { padding: 20px 32px; }
  .pg-footer-bottom { padding: 18px 32px; }
  .pg-newsletter { padding: 48px 32px; }
}
@media (max-width: 767px) {
  .pg-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .pg-footer-main { padding: 48px 20px 40px; }
  .pg-footer-certs { padding: 16px 20px; gap: 16px; flex-wrap: wrap; }
  .pg-footer-bottom {
    padding: 16px 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .pg-f-about { max-width: 100%; }
  .pg-newsletter { padding: 40px 20px; }
  .pg-newsletter-inner { flex-direction: column; gap: 24px; }
  .pg-newsletter-form { max-width: 100%; min-width: 0; width: 100%; }
}

/* ─────────────────────────────────────────────
   P5. GLOBAL CONTAINER + TYPOGRAPHY — mobile
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
  .pg-container { padding-inline: 32px; }
  .pg-section { padding: 72px 0; }
  .pg-section-alt { padding: 72px 0; }
}
@media (max-width: 767px) {
  .pg-container { padding-inline: 20px; }
  .pg-section { padding: 56px 0; }
  .pg-section-alt { padding: 56px 0; }

  /* Headings scale */
  h1, .pg-h1 { font-size: clamp(1.8rem, 7vw, 2.8rem); }
  h2, .pg-h2 { font-size: clamp(1.5rem, 5.5vw, 2.2rem); }
  h3, .pg-h3 { font-size: clamp(1.1rem, 4vw, 1.6rem); }

  /* Section labels */
  .pg-section-label { font-size: .55rem; }
  .pg-section-title { font-size: clamp(1.6rem, 6vw, 2.4rem); }
  .pg-section-sub { font-size: .72rem; }
}
@media (max-width: 479px) {
  .pg-container { padding-inline: 16px; }
  .pg-section { padding: 48px 0; }
  .pg-section-alt { padding: 48px 0; }
}

/* ─────────────────────────────────────────────
   P6. HEADER — mobile refinements
   ───────────────────────────────────────────── */
@media (max-width: 767px) {
  .pg-header-inner { padding: 0 20px; height: 62px; }
  .pg-logo-name { font-size: 1rem; letter-spacing: 4px; }
  .pg-logo-sub { display: none; }
  .pg-header-actions { gap: 6px; }
  .pg-icon-btn { width: 36px; height: 36px; }
}
@media (max-width: 479px) {
  .pg-header-inner { height: 56px; padding: 0 16px; }
}

/* ─────────────────────────────────────────────
   P7. MOBILE DRAWER — ensure full coverage
   ───────────────────────────────────────────── */
@media (max-width: 479px) {
  .pg-drawer { width: 100vw; max-width: 100vw; }
  .pg-drawer-inner { padding: 28px 20px; }
}

/* ─────────────────────────────────────────────
   P8. HOME HERO — mobile
   ───────────────────────────────────────────── */
@media (max-width: 767px) {
  .pg-hero { min-height: 85svh; }
  .pg-hero-content { padding: 0 20px; }
  .pg-hero-label { font-size: .52rem; letter-spacing: 3px; }
  .pg-hero-title { font-size: clamp(2rem, 9vw, 3.2rem); margin-bottom: 16px; }
  .pg-hero-sub { font-size: .75rem; }
  .pg-hero-actions { flex-direction: column; align-items: flex-start; gap: 14px; }
  .pg-hero-scroll { bottom: 24px; }
}
@media (max-width: 479px) {
  .pg-hero { min-height: 90svh; }
  .pg-hero-title { font-size: clamp(1.8rem, 10vw, 2.6rem); }
}

/* ─────────────────────────────────────────────
   P9. PRODUCT CARDS + SHOP GRID — mobile
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
  .pg-products-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .pg-shop-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 767px) {
  .pg-products-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .pg-shop-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media (max-width: 479px) {
  .pg-products-grid { grid-template-columns: 1fr; gap: 16px; }
  .pg-shop-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* Product card mobile */
@media (max-width: 767px) {
  .pg-card-img-wrap { height: 240px; }
  .pg-card-body { padding: 14px 14px 16px; }
  .pg-card-name { font-size: .95rem; }
  .pg-card-price { font-size: .75rem; }
}
@media (max-width: 479px) {
  .pg-card-img-wrap { height: 200px; }
  .pg-card-actions { gap: 8px; }
}

/* ─────────────────────────────────────────────
   P10. SINGLE PRODUCT — mobile
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
  .pg-product-layout { grid-template-columns: 1fr; gap: 40px; }
  .pg-product-gallery { position: static; }
  .pg-product-thumbs { flex-direction: row; }
  .pg-product-thumb { width: 70px; height: 70px; }
}
@media (max-width: 767px) {
  .pg-product-main-img { height: 380px; }
  .pg-product-title { font-size: clamp(1.4rem, 5.5vw, 2rem); }
  .pg-product-price { font-size: 1.1rem; }
  .pg-product-actions { flex-direction: column; }
  .pg-btn-addcart { width: 100%; justify-content: center; }
  .pg-btn-whatsapp { width: 100%; justify-content: center; }
  .pg-product-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 0; }
  .pg-product-tab { flex-shrink: 0; padding: 12px 16px; font-size: .58rem; }
}
@media (max-width: 479px) {
  .pg-product-main-img { height: 300px; }
  .pg-product-thumbs { gap: 6px; }
  .pg-product-thumb { width: 56px; height: 56px; }
}

/* ─────────────────────────────────────────────
   P11. SHOP SIDEBAR FILTER — mobile
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
  .pg-shop-layout { grid-template-columns: 1fr; }
  .pg-shop-sidebar {
    position: fixed;
    top: 0; left: -100%; bottom: 0;
    width: 300px;
    z-index: 400;
    overflow-y: auto;
    background: var(--card);
    padding: 32px 24px;
    transition: left .3s ease;
    border-right: .5px solid rgba(201,168,76,.12);
  }
  .pg-shop-sidebar.is-open { left: 0; }
  .pg-shop-main { grid-column: 1; }
}

/* ─────────────────────────────────────────────
   P12. CART / CHECKOUT — mobile
   ───────────────────────────────────────────── */
@media (max-width: 767px) {
  .pg-cart-layout { grid-template-columns: 1fr; }
  .pg-cart-item { grid-template-columns: 80px 1fr; gap: 12px; }
  .pg-cart-img { width: 80px; height: 80px; }
  .pg-cart-item-name { font-size: .85rem; }
  .pg-checkout-layout { grid-template-columns: 1fr; }
  .pg-checkout-order { position: static; }
}
@media (max-width: 479px) {
  .pg-cart-item { grid-template-columns: 70px 1fr; }
  .pg-cart-img { width: 70px; height: 70px; }
}

/* ─────────────────────────────────────────────
   P13. CONTACT PAGE — mobile
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
  .pg-contact-layout { grid-template-columns: 1fr; }
  .pg-contact-info-sidebar { position: static; }
}
@media (max-width: 767px) {
  .pg-contact-hero { min-height: 320px; padding: 60px 0; }
  .pg-contact-hero-title { font-size: clamp(1.6rem, 6vw, 2.4rem); }
  .pg-contact-channels-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .pg-form-row { grid-template-columns: 1fr; }
  .pg-faq-question { font-size: .85rem; }
  .pg-cta-strip-inner { flex-direction: column; text-align: center; gap: 20px; }
}
@media (max-width: 479px) {
  .pg-contact-channels-grid { grid-template-columns: 1fr; }
  .pg-contact-hero { padding: 48px 0; }
}

/* ─────────────────────────────────────────────
   P14. BREADCRUMB — mobile
   ───────────────────────────────────────────── */
@media (max-width: 479px) {
  .pg-breadcrumb { padding: 10px 0; font-size: .6rem; }
  .pg-breadcrumb .sep { margin: 0 4px; }
}

/* ─────────────────────────────────────────────
   P15. BUTTONS — touch targets
   ───────────────────────────────────────────── */
@media (max-width: 767px) {
  .pg-btn { min-height: 48px; padding: 14px 28px; font-size: .6rem; }
  .pg-btn-sm { min-height: 40px; padding: 10px 18px; }
  .pg-btn-icon { width: 44px; height: 44px; }
}

/* ─────────────────────────────────────────────
   P16. MINI CART DRAWER — mobile full-width
   ───────────────────────────────────────────── */
@media (max-width: 479px) {
  .pg-cart-drawer { width: 100vw; max-width: 100vw; }
  .pg-cart-drawer-inner { padding: 24px 16px; }
}

/* ─────────────────────────────────────────────
   P17. BLOG / SINGLE POST — mobile
   ───────────────────────────────────────────── */
@media (max-width: 1023px) {
  .pg-blog-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .pg-post-layout { grid-template-columns: 1fr; }
  .pg-post-sidebar { position: static; display: none; }
}
@media (max-width: 767px) {
  .pg-blog-grid { grid-template-columns: 1fr; gap: 20px; }
  .pg-post-hero { min-height: 280px; }
  .pg-post-title { font-size: clamp(1.4rem, 6vw, 2.2rem); }
  .pg-prose { font-size: .85rem; }
  .pg-prose h2 { font-size: 1.3rem; }
  .pg-prose h3 { font-size: 1.1rem; }
}

/* ─────────────────────────────────────────────
   P18. 404 PAGE — mobile
   ───────────────────────────────────────────── */
@media (max-width: 767px) {
  .pg-404-diamond { width: 120px; height: 120px; }
  .pg-404-code { font-size: 5rem; }
  .pg-404-title { font-size: clamp(1.2rem, 5vw, 1.8rem); }
  .pg-404-actions { flex-direction: column; align-items: center; gap: 12px; }
  .pg-404-actions .pg-btn { width: 100%; max-width: 280px; justify-content: center; }
}

/* ─────────────────────────────────────────────
   P19. WHATSAPP FAB — avoid overlap on mobile
   ───────────────────────────────────────────── */
@media (max-width: 767px) {
  .pg-wa-fab { bottom: 20px; right: 16px; width: 50px; height: 50px; }
  .pg-wa-fab svg { width: 22px; height: 22px; }
}

/* ─────────────────────────────────────────────
   P20. SCROLL-BAR STYLING
   ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #FAF8F3; }
::-webkit-scrollbar-thumb { background: rgba(201,168,76,.25); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(201,168,76,.5); }

/* ─────────────────────────────────────────────
   P21. UTILITY — visually hidden, focus styles
   ───────────────────────────────────────────── */
.pg-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
button:focus:not(:focus-visible),
a:focus:not(:focus-visible) {
  outline: none;
}

/* ─────────────────────────────────────────────
   P22. PRINT STYLES — hide non-essential
   ───────────────────────────────────────────── */
@media print {
  .pg-header, .pg-footer, .pg-wa-fab,
  .pg-newsletter, .pg-breadcrumb,
  .pg-cart-drawer, .pg-drawer { display: none !important; }
  body { background: #fff; color: #000; }
  a { color: #000; text-decoration: underline; }
}

/* ─────────────────────────────────────────────
   P23. MOBILE DRAWER COLOR FIX
   Forces drawer text to be visible on dark background.
   ───────────────────────────────────────────── */
.pg-drawer { background: #FAF8F3 !important; }
.pg-drawer-head .pg-logo { color: var(--gold) !important; }
.pg-drawer-head .pg-logo span { color: #ffffff !important; }
.pg-drawer-close { color: #cccccc !important; }
.pg-drawer-nav .pg-drawer-link {
    color: #cccccc !important;
    border-bottom: 1px solid rgba(212,175,55,0.15) !important;
}
.pg-drawer-link:hover { color: var(--gold) !important; }
.pg-drawer-contact { border-top: 1px solid rgba(212,175,55,0.15) !important; }
.pg-drawer-contact, .pg-drawer-contact p, .pg-drawer-contact a { color: #bbbbbb !important; }

/* === END PRODUCTION PATCH v1.0 === */

/* ─────────────────────────────────────────────
   P24. STANDARD WORDPRESS DROPDOWN MENU
   Overrides the old blurred mega menu with clean, standard dropdowns.
   ───────────────────────────────────────────── */
.pg-nav-links .sub-menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  min-width: 220px;
  background: #FFFFFF;
  border: .5px solid rgba(212,175,55,0.2);
  border-top: 2px solid var(--gold);
  padding: 12px 0;
  box-shadow: 0 12px 30px rgba(0,0,0,.6);
  z-index: 9100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
  display: flex;
  flex-direction: column;
}

/* Show on hover */
.pg-nav-links > li:hover > .sub-menu,
.pg-nav-links > li:focus-within > .sub-menu,
.pg-nav-links .sub-menu:hover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.pg-nav-links .sub-menu li { display: block; position: relative; }
.pg-nav-links .sub-menu a {
  font-size: .68rem;
  color: #aaaaaa;
  padding: 10px 24px;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: color .15s, background .15s;
  display: block;
  text-decoration: none;
  font-family: 'Montserrat', sans-serif;
}
.pg-nav-links .sub-menu a:hover {
  color: var(--gold);
  background: rgba(212,175,55,.05);
}

/* Multi-level dropdowns */
.pg-nav-links .sub-menu .sub-menu {
  top: -2px;
  left: 100%;
}

/* Hide the old mega menu if it ever appears */
.pg-mega { display: none !important; }

/* ─────────────────────────────────────────────
   P25. DYNAMIC MOBILE DRAWER MENU STYLES
   Styles the newly implemented wp_nav_menu in the mobile drawer.
   ───────────────────────────────────────────── */
.pg-drawer-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pg-drawer-menu-list li {
  display: block;
  border-bottom: 1px solid rgba(212,175,55,0.15);
}
.pg-drawer-menu-list a {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  font-size: .8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #cccccc !important;
  text-decoration: none;
  font-family: 'Montserrat', sans-serif;
}
.pg-drawer-menu-list a:hover {
  color: var(--gold) !important;
  background: rgba(212,175,55,0.05);
}

/* Mobile Drawer Sub-menus */
.pg-drawer-menu-list .sub-menu {
  list-style: none;
  padding: 0 0 0 24px;
  background: rgba(0,0,0,0.2);
  display: block;
}
.pg-drawer-menu-list .sub-menu li {
  border-bottom: none;
  border-top: 1px solid rgba(255,255,255,0.05);
}
.pg-drawer-menu-list .sub-menu a {
  padding: 12px 24px;
  font-size: .7rem;
  color: #aaaaaa !important;
}

/* =============================================================
   SINGLE PRODUCT — CTA Enhancement + Related Products
   ============================================================= */

/* ── Qty row wrapper ── */
.pg-qty-row {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin-bottom: 12px;
}
.pg-qty-row .quantity { flex-shrink: 0; }

/* ── Add to Cart button ── */
.pg-add-to-cart {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: transparent;
    border: 1.5px solid var(--gold);
    color: var(--gold);
    font-size: .6rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: var(--font-body);
    padding: 16px 24px;
    cursor: pointer;
    transition: background .22s, color .22s;
    white-space: nowrap;
    min-height: 52px;
}
.pg-add-to-cart:hover {
    background: var(--gold-brand);
    color: var(--black);
}

/* ── Buy Now button (filled gold, primary CTA) ── */
.pg-buy-now {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background: var(--gold-brand);
    color: var(--black);
    font-size: .62rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: var(--font-body);
    padding: 18px 24px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: background .22s, transform .15s;
    min-height: 56px;
    margin-bottom: 4px;
    position: relative;
    overflow: hidden;
}
.pg-buy-now::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0);
    transition: background .2s;
}
.pg-buy-now:hover { background: #c49a1a; }
.pg-buy-now:hover::after { background: rgba(26,24,20,.06); }
.pg-buy-now:active { transform: scale(.99); }

/* ── Out of stock notice ── */
.pg-out-of-stock-notice {
    padding: 20px;
    border: .5px solid rgba(201,168,76,.15);
    background: rgba(212,175,55,.03);
    text-align: center;
}
.pg-out-of-stock-notice p {
    font-size: .7rem;
    color: var(--text-dim);
    margin: 0;
}

/* ═══════════════════════════════════════════════════════
   STICKY BUY BAR
   ═══════════════════════════════════════════════════════ */
.pg-sticky-bar {
    position: fixed;
    bottom: -80px;
    left: 0; right: 0;
    z-index: 500;
    background: rgba(10, 10, 10, .97);
    border-top: .5px solid rgba(201,168,76,.22);
    box-shadow: 0 -8px 40px rgba(0,0,0,.6);
    transition: bottom .32s cubic-bezier(.22,1,.36,1);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.pg-sticky-bar.is-visible { bottom: 0; }

.pg-sticky-bar-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.pg-sticky-bar-info {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    flex: 1;
}
.pg-sticky-bar-img {
    width: 48px; height: 48px;
    object-fit: cover;
    flex-shrink: 0;
    border: .5px solid rgba(201,168,76,.15);
}
.pg-sticky-bar-name {
    font-family: 'Playfair Display', serif;
    font-size: .9rem;
    color: #fff;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 320px;
    margin: 0 0 2px;
}
.pg-sticky-bar-price {
    font-size: .7rem;
    color: var(--gold);
    margin: 0;
}
.pg-sticky-bar-price bdi { font-family: var(--font-body); }
.pg-sticky-bar-price del { color: var(--text-deep); margin-right: 6px; }

.pg-sticky-bar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.pg-sticky-add-to-cart {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid var(--gold);
    color: var(--gold);
    font-size: .56rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: var(--font-body);
    padding: 12px 20px;
    cursor: pointer;
    transition: background .2s, color .2s;
    white-space: nowrap;
}
.pg-sticky-add-to-cart:hover { background: var(--gold-brand); color: var(--black); }

.pg-sticky-buy-now {
    display: inline-flex;
    align-items: center;
    background: var(--gold-brand);
    color: var(--black);
    font-size: .56rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: var(--font-body);
    padding: 12px 24px;
    text-decoration: none;
    transition: background .2s;
    white-space: nowrap;
}
.pg-sticky-buy-now:hover { background: #c49a1a; color: var(--black); }

.pg-sticky-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 20px;
    height: 48px;
    background: #25d366;
    color: #fff;
    text-decoration: none;
    transition: background .2s;
    flex-shrink: 0;
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.pg-sticky-whatsapp:hover { background: #1da851; color: #fff; }

/* ═══════════════════════════════════════════════════════
   RELATED PRODUCTS — Row headers + 4-col grid
   ═══════════════════════════════════════════════════════ */
.pg-row-products {
    padding: 72px 0;
}
.pg-row-products.pg-section-alt {
    background: var(--card);
}

.pg-row-products-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: .5px solid rgba(201,168,76,.10);
}
/* .pg-row-products-titles — children styled below */
.pg-row-products-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #fff;
    font-weight: 400;
    margin: 6px 0 0;
    line-height: 1.2;
}

.pg-row-view-all {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .54rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gold);
    text-decoration: none;
    transition: gap .2s;
    white-space: nowrap;
    flex-shrink: 0;
    padding-bottom: 2px;
    border-bottom: .5px solid rgba(201,168,76,.3);
}
.pg-row-view-all:hover { gap: 12px; border-bottom-color: var(--gold); }

/* ── 4-column product grid ── */
.pg-4col-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ── Responsive: sticky bar ── */
@media (max-width: 767px) {
    .pg-sticky-bar-inner { padding: 0 12px; height: 64px; gap: 8px; }
    .pg-sticky-bar-info { display: none; } /* Hide image and title on mobile to make room for 3 buttons */
    .pg-sticky-bar-actions { width: 100%; display: flex; gap: 8px; }
    
    .pg-sticky-add-to-cart { display: inline-flex; flex: 1; padding: 0 8px; font-size: .52rem; height: 40px; letter-spacing: 1px; min-width: 0; }
    .pg-sticky-buy-now { flex: 1; padding: 0 8px; font-size: .52rem; height: 40px; display: inline-flex; align-items: center; justify-content: center; letter-spacing: 1px; min-width: 0; }
    .pg-sticky-whatsapp { flex: 1; padding: 0 8px; font-size: .52rem; height: 40px; letter-spacing: 1px; min-width: 0; }
    
    .pg-sticky-add-to-cart svg { width: 14px; height: 14px; margin-right: 4px; }
    .pg-sticky-whatsapp svg { width: 14px; height: 14px; margin-right: 4px; }
    .pg-sticky-whatsapp span { display: inline; }
}
@media (max-width: 380px) {
    /* On very small screens, hide the text of the Add to Cart and WhatsApp to save space, just show icons + Buy Now */
    .pg-sticky-whatsapp span { display: none; }
    .pg-sticky-whatsapp svg { margin-right: 0; width: 18px; height: 18px; }
    .pg-sticky-add-to-cart { font-size: 0; }
    .pg-sticky-add-to-cart svg { margin-right: 0; width: 18px; height: 18px; }
}

/* ── Responsive: 4-col grid ── */
@media (max-width: 1023px) {
    .pg-4col-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .pg-row-products { padding: 56px 0; }
}
@media (max-width: 767px) {
    .pg-4col-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .pg-row-products { padding: 48px 0; }
    .pg-row-products-head { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 28px; }
    .pg-row-products-title { font-size: 1.3rem; }
}
@media (max-width: 479px) {
    .pg-4col-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ── Buy Now responsive ── */
@media (max-width: 479px) {
    .pg-buy-now { font-size: .56rem; padding: 16px 20px; }
    .pg-qty-row { flex-direction: column; }
    .pg-add-to-cart { width: 100%; }
}

/* === END SINGLE PRODUCT PATCH === */

/* ================================================================
   PATTERN — Product Card System (.pgc-)
   Malabar Gold inspired: square image · hover actions · clean body
   ================================================================ */

/* ── Wrapper ── */
.pgc-wrap {
    position: relative;
    background: #FFFFFF;
    border: .5px solid rgba(26,24,20,.08);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color .25s, box-shadow .25s, transform .25s;
    display: flex;
    flex-direction: column;
}
.pgc-wrap:hover {
    border-color: rgba(201,168,76,.35);
    box-shadow: 0 12px 36px rgba(26,24,20,.10), 0 0 0 1px rgba(201,168,76,.18);
    transform: translateY(-4px);
}

/* ── Image area ── */
.pgc-image-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: var(--soft, #F5F0E8);
    flex-shrink: 0;
}
.pgc-image-link {
    display: block;
    width: 100%; height: 100%;
    position: relative;
    overflow: hidden;
}
.pgc-img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease, opacity .3s ease;
}
.pgc-img-main  { position: relative; z-index: 1; }
.pgc-img-hover {
    position: absolute; inset: 0;
    z-index: 2; opacity: 0;
    transition: opacity .4s ease;
}
.pgc-wrap:hover .pgc-img-hover { opacity: 1; }
.pgc-wrap:hover .pgc-img-main  { transform: scale(1.04); }
.pgc-img-placeholder {
    display: flex; align-items: center; justify-content: center;
    width: 100%; height: 100%;
    font-size: 3.5rem; color: rgba(201,168,76,.22);
}

/* ── Badges ── */
.pgc-badges {
    position: absolute; top: 10px; left: 10px;
    display: flex; flex-direction: column; gap: 5px;
    z-index: 5;
}
.pgc-badge {
    display: inline-block;
    padding: 3px 9px; border-radius: 3px;
    font-size: 10px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    line-height: 1.5;
}
.pgc-badge-sale     { background: rgba(200,40,40,.9);  color: #fff; }
.pgc-badge-new      { background: rgba(212,175,55,.9); color: #000; }
.pgc-badge-cert     { background: rgba(40,140,200,.85); color: #fff; }
.pgc-badge-featured { background: rgba(201,168,76,.15); color: var(--gold); border: .5px solid rgba(201,168,76,.4); }

/* ── Hover action overlay ── */
.pgc-actions {
    position: absolute; bottom: 0; left: 0; right: 0;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 10px;
    background: linear-gradient(0deg, rgba(26,24,20,.65) 0%, transparent 100%);
    z-index: 6;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .3s, transform .3s;
}
.pgc-wrap:hover .pgc-actions { opacity: 1; transform: translateY(0); }
.pgc-action-btn {
    width: 36px; height: 36px;
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(6px);
    border: .5px solid rgba(255,255,255,.2);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; color: #fff;
    transition: background .2s, border-color .2s, transform .2s;
    padding: 0;
}
.pgc-action-btn svg { width: 15px; height: 15px; }
.pgc-action-btn:hover {
    background: var(--gold-brand);
    border-color: var(--gold);
    color: #000;
    transform: scale(1.1);
}

/* ── Out of stock / low stock ── */
.pgc-oos {
    position: absolute; inset: 0;
    background: rgba(26,24,20,.35);
    display: flex; align-items: center; justify-content: center;
    z-index: 7;
}
.pgc-oos span {
    font-size: 10px; letter-spacing: .15em; text-transform: uppercase;
    color: rgba(255,255,255,.55);
    border: .5px solid rgba(255,255,255,.2);
    padding: 5px 12px; border-radius: 3px;
}
.pgc-low-stock {
    position: absolute; bottom: 8px; right: 8px;
    font-size: 10px; letter-spacing: .06em;
    color: #e55; background: rgba(200,50,50,.12);
    border: .5px solid rgba(200,50,50,.25);
    padding: 2px 8px; border-radius: 3px;
    z-index: 5;
}

/* ── Card body ── */
.pgc-body {
    padding: 14px 14px 16px;
    display: flex; flex-direction: column; gap: 6px;
    flex: 1;
}
.pgc-meta {
    font-size: 10px; letter-spacing: .09em; text-transform: uppercase;
    color: var(--gold); font-weight: 600;
    line-height: 1.4;
}
.pgc-name {
    font-family: var(--font-serif, Georgia, serif);
    font-size: 13px; font-weight: 400;
    color: var(--text-bright, #1A1814);
    margin: 0; line-height: 1.45;
}
.pgc-name a {
    color: inherit; text-decoration: none;
    transition: color .2s;
}
.pgc-name a:hover { color: var(--gold-dark, #A8852E); }

/* ── Stars ── */
.pgc-rating {
    display: flex; align-items: center; gap: 3px;
    font-size: 11px; line-height: 1;
}
.pgc-star-filled { color: var(--gold); }
.pgc-star-empty  { color: rgba(201,168,76,.25); }
.pgc-rating-count { font-size: 10px; color: var(--text-dim, #A09590); margin-left: 2px; }

/* ── Price ── */
.pgc-price {
    display: flex; align-items: baseline; gap: 7px;
    flex-wrap: wrap; margin-top: 2px;
}
.pgc-price-sale, .pgc-price-now {
    font-size: 14px; font-weight: 700;
    color: var(--text-bright, #1A1814);
}
.pgc-price-sale { color: var(--gold-dark, #A8852E); }
.pgc-price-reg {
    font-size: 11px; color: var(--text-dim, #A09590);
    text-decoration: line-through;
}
/* Override WooCommerce price wrappers */
.pgc-price .woocommerce-Price-amount { font-size: inherit; color: inherit; }

/* ── Gold price indicator hint ── */

/* ── View Details CTA ── */
.pgc-view-btn {
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: auto;
    padding: 9px 0 0;
    font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
    color: var(--gold-dark, #A8852E); text-decoration: none;
    border-top: .5px solid rgba(201,168,76,.15);
    font-weight: 600;
    transition: gap .2s, color .2s;
}
.pgc-view-btn:hover { gap: 9px; color: var(--gold, #C9A84C); }

/* ── Responsive ── */
@media (max-width: 767px) {
    .pgc-body { padding: 10px 10px 12px; gap: 4px; }
    .pgc-name { font-size: 12px; }
    .pgc-price-sale, .pgc-price-now { font-size: 13px; }
}
@media (max-width: 479px) {
    .pgc-body { padding: 8px 8px 10px; }
    .pgc-name { font-size: 11px; }
}

/* ═══════════════════════════════════════════════════════
   CRITICAL OVERRIDES — Footer Full-Width & Cart Drawer Fix
   ═══════════════════════════════════════════════════════ */

/* Footer: stretch full width of viewport */
.pg-footer {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden; /* prevent any child from overflowing */
}

/* Inner sections: constrain content but fill footer background */
.pg-footer-main,
.pg-footer-certs,
.pg-footer-bottom {
    padding-left: clamp(16px, 4vw, 80px);
    padding-right: clamp(16px, 4vw, 80px);
}

/* Cart Drawer: always off-screen to the right, hidden behind footer */
.pg-cart-drawer,
.cart-drawer {
    position: fixed !important;
    top: 0 !important;
    right: -110% !important;
    bottom: 0 !important;
    height: 100vh !important;
    width: 400px !important;
    max-width: 92vw !important;
    z-index: 99999 !important;
    transform: translateX(0) !important;
    transition: right 0.35s cubic-bezier(.4,0,.2,1) !important;
    overflow-y: auto !important;
    background: var(--card) !important;
    box-shadow: -8px 0 40px rgba(0,0,0,0.7) !important;
    /* Ensure it never renders in document flow */
    margin: 0 !important;
}

/* Slide in when open */
.pg-cart-drawer.is-open,
.cart-drawer.is-open {
    right: 0 !important;
}

/* Backdrop */
.modal-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    z-index: 99998;
    backdrop-filter: blur(2px);
}
.modal-backdrop.is-visible { display: block; }

/* ═══════════════════════════════════════════════════════
   CRITICAL OVERRIDES — Mobile Responsiveness
   ═══════════════════════════════════════════════════════ */

@media (max-width: 1023px) {
    /* Hide some nav icons on mobile to prevent header crowding */
    .pg-nav-icons a[href*="/wishlist/"],
    .pg-nav-icons a[href*="/my-account"],
    .pg-nav-icons .pg-lang-switcher,
    .pg-currency-dropdown,
    .pg-nav-icons button[onclick*="WPML"] {
        display: none !important;
    }
    .pg-nav-icons {
        gap: 12px !important;
    }
    .pg-hamburger {
        display: flex !important;
    }
}

@media (max-width: 767px) {
    /* Adjust WhatsApp float button to avoid overlapping sticky bar */
    .pg-wa-fab {
        bottom: 85px !important;
        right: 16px !important;
        width: 48px !important;
        height: 48px !important;
    }
    .pg-toast {
        bottom: 140px !important;
    }
    
    /* Make product gallery actions wrap properly if cluttered */
    .pg-gallery-actions-v {
        justify-content: center;
        gap: 8px !important;
    }
    .pg-gallery-counter-v {
        margin-left: 0 !important;
        width: 100%;
        text-align: center;
        margin-top: 4px;
    }
}

/* ═══════════════════════════════════════════════════════
   FOOTER ALIGNMENT — v2.1 navy 5-col grid (left-aligned)
   Centering overrides removed; layout handled by footer.css
   ═══════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   PATTERN — PREMIUM DESKTOP HEADER FIX (Phase 3 WebGL Update)
   Perfect alignment for: logo · nav-links · gold-rate · AED · icons
   ═══════════════════════════════════════════════════════════════════════ */

/* -- Header height & container rebase -- */
.pg-header { z-index: 9200; }
.pg-nav-inner {
  height: 76px;
  padding: 0 40px;
  gap: 0;
  position: relative;
}

/* -- Logo — left anchor -- */
.pg-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: 'Montserrat', 'Cinzel', serif;
  font-size: 1.1rem;
  letter-spacing: 6px;
  font-weight: 700;
  color: var(--gold, #C9A84C);
  text-decoration: none;
  flex-shrink: 0;
  line-height: 1;
  margin-right: 32px;
  white-space: nowrap;
}
.pg-logo span { color: #fff; }
.pg-logo small {
  font-size: 0.42rem;
  letter-spacing: 3.5px;
  color: rgba(212,175,55,.55);
  text-transform: uppercase;
  margin-top: 3px;
  font-weight: 400;
  font-family: 'Montserrat', sans-serif;
}

/* -- Nav links — center flex -- */
.pg-nav-links {
  flex: 1;
  display: flex;
  align-items: stretch;
  justify-content: center;
  height: 100%;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 1023px) { .pg-nav-links { display: none !important; } }

/* Individual nav items & links */
.pg-nav-item {
  position: relative;
  display: flex;
  align-items: center;
}
.pg-nav-link {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 18px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  white-space: nowrap;
  height: 100%;
  transition: color 0.2s ease;
  position: relative;
}
.pg-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 18px; right: 18px;
  height: 1.5px;
  background: var(--gold, #C9A84C);
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: center;
}
.pg-nav-link:hover,
.pg-nav-item.current-menu-item .pg-nav-link,
.pg-nav-item.current-menu-ancestor .pg-nav-link { color: var(--gold, #C9A84C); }
.pg-nav-link:hover::after { transform: scaleX(1); }

/* -- Right icon cluster -- */
.pg-nav-icons {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  margin-left: auto;
}

/* Live gold rate badge — right aligned */
.pg-live-gold-rate {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid rgba(212,175,55,0.35);
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--gold, #C9A84C);
  white-space: nowrap;
  margin-right: 12px;
  line-height: 1;
}
@media (max-width: 1200px) { .pg-live-gold-rate { display: none; } }

/* AED / currency dropdown */

/* Icon buttons — consistent 40×40 circular hits */
.pg-nav-icon-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border: none;
  background: transparent;
  color: rgba(255,255,255,.72);
  cursor: pointer;
  border-radius: 50%;
  transition: color 0.2s ease, background 0.2s ease;
  text-decoration: none;
  flex-shrink: 0;
}
.pg-nav-icon-btn svg { width: 20px; height: 20px; pointer-events: none; }
.pg-nav-icon-btn:hover {
  color: var(--gold, #C9A84C);
  background: rgba(212,175,55,0.08);
}

/* Cart count badge */
.pg-cart-count {
  position: absolute;
  top: 2px; right: 2px;
  min-width: 18px; height: 18px;
  background: var(--alert);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
  pointer-events: none;
}

/* Wishlist count badge */
.pg-wishlist-count {
  position: absolute;
  top: 2px; right: 2px;
  min-width: 18px; height: 18px;
  background: var(--alert);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
  pointer-events: none;
}

/* -- Mobile hamburger — right most on mobile -- */
.pg-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px; height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  margin-left: 8px;
}
.pg-hamburger span {
  display: block;
  width: 22px; height: 1.5px;
  background: rgba(255,255,255,.8);
  border-radius: 2px;
  transition: all 0.3s ease;
}
.pg-hamburger:hover span { background: var(--gold, #C9A84C); }
@media (max-width: 1023px) {
  .pg-hamburger { display: flex; }
}

/* Hide gold rate + currency on very small screens */
@media (max-width: 480px) {
}

/* ── MEGA MENU perfect positioning ── */
.pg-mega {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 680px;
  background: rgba(250,248,243,.97);
  border: .5px solid var(--gold-border, rgba(201,168,76,.22));
  border-top: 2px solid var(--gold, #C9A84C);
  border-radius: 0 0 8px 8px;
  padding: 28px 32px;
  display: none;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  box-shadow: 0 24px 60px rgba(0,0,0,.7);
  z-index: 9300;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}
.pg-nav-item:hover > .pg-mega,
.pg-nav-item:focus-within > .pg-mega {
  display: grid;
  pointer-events: all;
  opacity: 1;
}

/* Mega col headings */
.pg-mega-col > h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold, #C9A84C);
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: .5px solid rgba(201,168,76,.22);
}

/* Mega links */
.pg-mega-col > a {
  display: block;
  font-size: 0.82rem;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  padding: 5px 0;
  transition: color 0.2s ease, padding-left 0.2s ease;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  letter-spacing: 0.5px;
}
.pg-mega-col > a:hover { color: var(--gold, #C9A84C); padding-left: 6px; }

/* Sub-menu dropdown (standard WP) */
.pg-nav-links .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(250,248,243,.97);
  border: .5px solid var(--gold-border, rgba(201,168,76,.22));
  border-top: 2px solid var(--gold, #C9A84C);
  border-radius: 0 0 6px 6px;
  padding: 8px 0;
  min-width: 200px;
  list-style: none;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  z-index: 9300;
  box-shadow: 0 16px 40px rgba(0,0,0,.6);
}
.pg-nav-links > li:hover > .sub-menu,
.pg-nav-links > li:focus-within > .sub-menu,
.pg-nav-links .sub-menu:hover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.pg-nav-links .sub-menu li { display: block; }
.pg-nav-links .sub-menu a {
  display: block;
  padding: 10px 20px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease, padding-left 0.2s ease;
  white-space: nowrap;
}
.pg-nav-links .sub-menu a:hover {
  color: var(--gold, #C9A84C);
  background: rgba(201,168,76,.06);
  padding-left: 28px;
}

/* ── WEBGL CURSOR — ensure z-index above all ── */
#pg-cursor { z-index: 999999 !important; }

/* ── PAGE TRANSITION OVERLAY ── */
#pg-transition-overlay { z-index: 999998 !important; }

/* ── Product image canvas overlay for WebGL shaders ── */
.pgc-image-wrap { overflow: hidden; }
.pgc-image-wrap canvas { border-radius: inherit; }

/* =========================================================
   PREMIUM LIGHT THEME — WOOCOMMERCE GLOBAL OVERRIDES
   Ensures every WC default element matches the Pearl &
   Champagne aesthetic across shop, cart, checkout, account.
   ========================================================= */

/* ── WC Notices ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,24,20,.10) !important;
  border-left: 3px solid var(--gold, #C9A84C) !important;
  color: var(--text-mid, #3D3730) !important;
  border-radius: 4px;
  padding: 16px 20px !important;
  box-shadow: 0 2px 16px rgba(26,24,20,.06);
}
.woocommerce-error {
  border-left-color: #C02030 !important;
}
.woocommerce-info {
  border-left-color: #4466CC !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--gold, #C9A84C) !important;
}

/* ── Product Tabs ── */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: transparent !important;
  border-bottom: 1px solid rgba(26,24,20,.10) !important;
  padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--gold, #C9A84C) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--text-muted, #7A6F64) !important;
  font-family: var(--font-body, 'Montserrat', sans-serif) !important;
  font-size: 0.68rem !important;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 12px 20px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--text-bright, #1A1814) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,24,20,.07) !important;
  border-top: none !important;
  padding: 32px !important;
  margin: 0 !important;
}

/* ── Star Ratings ── */
.woocommerce .star-rating span,
.woocommerce .star-rating::before,
.star-rating span::before {
  color: var(--gold, #C9A84C) !important;
}
.woocommerce .star-rating::before {
  color: rgba(26,24,20,.15) !important;
}

/* ── Product Prices ── */
.woocommerce .price,
.woocommerce-Price-amount,
.price .amount {
  color: var(--text-bright, #1A1814) !important;
  font-family: var(--font-serif, 'Playfair Display', serif) !important;
}
.woocommerce .price del .woocommerce-Price-amount {
  color: var(--text-dim, #A09590) !important;
  font-size: 0.85em;
}
.woocommerce .price ins {
  text-decoration: none !important;
  color: var(--text-bright, #1A1814) !important;
  font-weight: 500;
}

/* ── Pagination ── */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,24,20,.10) !important;
  color: var(--text-muted, #7A6F64) !important;
  border-radius: 3px;
  transition: all 0.2s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gold, #C9A84C) !important;
  border-color: var(--gold, #C9A84C) !important;
  color: #1A1814 !important;
}

/* ── WC Tables ── */
.woocommerce table.shop_table,
.woocommerce-checkout-review-order-table,
.woocommerce table.order_details {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,24,20,.08) !important;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 6px;
  overflow: hidden;
}
.woocommerce table.shop_table thead tr,
.woocommerce-checkout-review-order-table thead tr {
  background: var(--soft, #F5F0E8) !important;
}
.woocommerce table.shop_table th,
.woocommerce-checkout-review-order-table th {
  color: var(--text-mid, #3D3730) !important;
  font-size: 0.64rem !important;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(26,24,20,.08) !important;
}
.woocommerce table.shop_table td,
.woocommerce-checkout-review-order-table td {
  color: var(--text-mid, #3D3730) !important;
  border-bottom: 1px solid rgba(26,24,20,.06) !important;
  padding: 14px 16px !important;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none !important; }
.woocommerce table.shop_table tfoot tr th,
.woocommerce table.shop_table tfoot tr td {
  color: var(--text-bright, #1A1814) !important;
  font-weight: 600;
}
.woocommerce table.shop_table .order-total td .woocommerce-Price-amount {
  color: var(--text-bright, #1A1814) !important;
  font-family: var(--font-serif, 'Playfair Display', serif) !important;
  font-size: 1.1rem;
}

/* ── Coupon / Order Notes ── */
.woocommerce .coupon input.input-text {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,24,20,.14) !important;
  color: var(--text-bright, #1A1814) !important;
}

/* ── Review Form ── */
.woocommerce #reviews #reply-title,
.woocommerce #review_form #respond .comment-form p label {
  color: var(--text-mid, #3D3730);
}
.woocommerce .comment-form-rating .stars a {
  color: var(--gold, #C9A84C);
}

/* ── Account Navigation ── */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  color: var(--text-muted, #7A6F64);
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  padding: 10px 16px;
  border-radius: 3px;
  transition: all 0.18s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--gold-dark, #A8852E);
  background: var(--gold-xlight, #F5ECD5);
}

/* ── Breadcrumbs ── */
.woocommerce .woocommerce-breadcrumb {
  color: var(--text-dim, #A09590);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
}
.woocommerce .woocommerce-breadcrumb a {
  color: var(--text-muted, #7A6F64);
}
.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--gold-dark, #A8852E);
}

/* ── General ── */
.woocommerce-loop-product__title,
.woocommerce-page .woocommerce-loop-product__title {
  font-family: var(--font-serif, 'Playfair Display', serif) !important;
  color: var(--text-bright, #1A1814) !important;
}
.woocommerce ul.products li.product .price {
  color: var(--text-bright, #1A1814) !important;
}

/* ── Ensure page backgrounds are ivory on all WC pages ── */
.woocommerce,
.woocommerce-page,
body.woocommerce,
body.woocommerce-page,
body.single-product,
body.archive.tax-product_cat {
  background-color: var(--ivory, #FAF8F3) !important;
}

/* =========================================================
   PREMIUM HIGHLIGHT SYSTEM — Text & Section Accents
   ========================================================= */
.text-gold    { color: var(--gold, #C9A84C); }
.text-gold-dk { color: var(--gold-dark, #A8852E); }
.text-charcoal{ color: var(--text-bright, #1A1814); }
.text-muted   { color: var(--text-muted, #7A6F64); }

.highlight-gold {
  background: var(--gold-xlight, #F5ECD5);
  color: var(--gold-dark, #A8852E);
  padding: 1px 6px;
  border-radius: 2px;
}
mark, ::selection {
  background: rgba(201,168,76,.22);
  color: var(--text-bright, #1A1814);
}

/* Section dividers */
.section-divider {
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold, #C9A84C), var(--champagne, #E8D5A0));
  border: none;
  margin: 16px auto;
  border-radius: 1px;
}
.section-divider--left { margin-left: 0; }

/* Luxury eyebrow label */
.pg-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 0.56rem;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--gold-dark, #A8852E);
  margin-bottom: 14px;
}
.pg-eyebrow::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--gold, #C9A84C);
  flex-shrink: 0;
}

/* Premium section heading style */
.pg-section-heading {
  font-family: var(--font-serif, 'Playfair Display', serif);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 400;
  color: var(--text-bright, #1A1814);
  line-height: 1.18;
  letter-spacing: -0.01em;
}
.pg-section-subhead {
  font-size: 0.9rem;
  color: var(--text-muted, #7A6F64);
  line-height: 1.8;
  max-width: 560px;
  margin-top: 12px;
}

/* Gold accent band (use on dark sections inside light page) */
.pg-accent-band {
  background: linear-gradient(135deg, #1A1814 0%, #2D2924 100%);
  color: rgba(255,255,255,.88);
  padding: 72px 0;
}
.pg-accent-band h2,
.pg-accent-band h3,
.pg-accent-band .pg-section-heading {
  color: #FAF8F3;
}
.pg-accent-band .pg-eyebrow { color: var(--champagne, #E8D5A0); }
.pg-accent-band .pg-eyebrow::before { background: var(--champagne, #E8D5A0); }

/* Subtle card hover highlight */
.pg-card-highlight {
  transition: box-shadow 0.25s, transform 0.25s;
}
.pg-card-highlight:hover {
  box-shadow: 0 12px 40px rgba(26,24,20,.10), 0 0 0 1px rgba(201,168,76,.20);
  transform: translateY(-3px);
}

/* ── Scrollbar (webkit) — site-wide ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: rgba(26,24,20,.04); }
::-webkit-scrollbar-thumb { background: rgba(201,168,76,.35); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(201,168,76,.55); }
* { scrollbar-width: thin; scrollbar-color: rgba(201,168,76,.35) rgba(26,24,20,.04); }

/* Fix for all hero banner texts to be visible on dark backgrounds */
.pg-page-hero-title,
.pg-page-hero-desc,
.pg-about-hero h1, .pg-about-hero p, .pg-about-hero div,
.pg-hj-hero h1, .pg-hj-hero p, .pg-hj-hero div,
.pg-bridal-hero h1, .pg-bridal-hero p, .pg-bridal-hero div,
.pg-post-hero h1, .pg-post-hero p, .pg-post-hero div,
.pg-rate-hero h1, .pg-rate-hero p, .pg-rate-hero div,
.pg-maison-hero h1, .pg-maison-hero p, .pg-maison-hero div {
    color: #FFFFFF !important;
}

.pg-bridal-hero-eyebrow, .pg-hero-label, .pg-hj-hero-badge {
    color: var(--gold, #C9A84C) !important;
}

/* ==========================================================
   PEARL BLUE & GOLD — SECTION ZONE SYSTEM  (v2.1.0)
   Applied via BEM modifier classes on section wrappers.
   ========================================================== */

/* ── .pg-zone-ivory — default, main page background ── */
.pg-zone-ivory {
  background: var(--ivory);
  color: var(--text-mid);
}

/* ── .pg-zone-pearl — shop, category, search pages ── */
.pg-zone-pearl {
  background: var(--pearl);
  color: var(--text-mid);
}

/* ── .pg-zone-sky — feature wash sections (sky-blue accent) ── */
.pg-zone-sky {
  background: var(--sky-xlight);
  color: var(--text-on-sky);
}
.pg-zone-sky h1,
.pg-zone-sky h2,
.pg-zone-sky h3,
.pg-zone-sky h4 {
  color: var(--navy);
}
.pg-zone-sky .pg-section-eyebrow {
  color: var(--sky-dark);
}

/* ── .pg-zone-navy — footer, dark editorial, High Jewellery ── */
.pg-zone-navy {
  background: var(--navy);
  color: var(--text-on-navy);
}
.pg-zone-navy h1,
.pg-zone-navy h2,
.pg-zone-navy h3,
.pg-zone-navy h4 { color: var(--ivory); }
.pg-zone-navy p   { color: rgba(250,248,243,.75); }
.pg-zone-navy a   { color: var(--gold-light); }
.pg-zone-navy a:hover { color: var(--gold); }
.pg-zone-navy .pg-section-eyebrow { color: var(--sky-light); }

/* ── .pg-zone-gold — gold rate bar, CTA strips ── */
.pg-zone-gold {
  background: var(--gold-brand);
  color: var(--text-on-gold);
}
.pg-zone-gold h1,
.pg-zone-gold h2,
.pg-zone-gold h3,
.pg-zone-gold h4 { color: var(--text-bright); }

/* ==========================================================
   PEARL BLUE — REUSABLE SECTION COMPONENTS
   ========================================================== */

/* Sky-tinted card variant */
.pg-card-sky {
  background: var(--sky-xlight);
  border: 1px solid var(--sky-border);
  border-radius: var(--radius-card);
}
.pg-card-sky:hover {
  border-color: var(--sky);
  box-shadow: 0 8px 32px var(--sky-glow);
}

/* Sky-tinted divider */
.pg-divider-sky {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--sky-light), transparent);
  border: none;
  margin: var(--space-48) 0;
}

/* Diamond sparkle decorative element */
.pg-sparkle {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: var(--gold-brand);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  vertical-align: middle;
  margin: 0 6px;
}

/* Prismatic shimmer for diamond sections */
@keyframes pg-prismatic-shimmer {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.pg-shimmer-text {
  background: var(--prismatic);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: pg-prismatic-shimmer 4s ease infinite;
}

/* Gold rule (decorative heading underline) */
.pg-gold-rule {
  display: block;
  width: 48px;
  height: 2px;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold-light));
  margin: 12px auto 0;
  border-radius: 1px;
}

/* Section eyebrow label (above headings) */
.pg-section-eyebrow {
  display: block;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}

/* Featured section wrapper with sky wash */
.pg-section-featured {
  background: var(--sky-xlight);
  border-top: 1px solid var(--sky-border);
  border-bottom: 1px solid var(--sky-border);
  padding: var(--space-96) 0;
}

/* Trust / USP strip */
.pg-trust-strip {
  background: var(--ivory);
  border-top: 1px solid var(--gold-border);
  border-bottom: 1px solid var(--gold-border);
  padding: var(--space-32) 0;
}

/* Sky-gradient hero overlay (for jewellery-on-blue hero) */
.pg-hero-overlay-sky {
  background: linear-gradient(
    135deg,
    rgba(15,35,54,.72) 0%,
    rgba(15,35,54,.40) 50%,
    rgba(135,197,220,.15) 100%
  );
}

/* ==========================================================
   FOOTER — NAVY DARK (v2.1.0)
   ========================================================== */

.pg-footer {
  background: var(--navy);
  color: var(--text-on-navy);
  padding: var(--space-96) 0 0;
  border-top: 2px solid var(--gold);
}
.pg-footer h4 {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: var(--space-16);
}
.pg-footer a {
  color: rgba(250,248,243,.65);
  font-size: 13px;
  line-height: 1;
  display: block;
  margin-bottom: 10px;
  transition: color var(--fast);
}
.pg-footer a:hover { color: var(--gold-light); }
.pg-footer p {
  color: rgba(250,248,243,.55);
  font-size: 13px;
  line-height: 1.7;
}
.pg-footer-legal {
  background: rgba(0,0,0,.25);
  border-top: 1px solid var(--navy-light);
  padding: var(--space-16) 0;
  margin-top: var(--space-64);
  text-align: center;
  font-size: 11px;
  color: rgba(250,248,243,.40);
  letter-spacing: 1px;
}
.pg-footer-brand .pg-logo {
  color: var(--gold);
  font-family: var(--font-serif);
  font-size: 22px;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: var(--space-16);
  display: inline-block;
}
.pg-footer-social { display: flex; gap: 16px; margin-top: var(--space-24); }
.pg-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,.30);
  color: rgba(250,248,243,.70);
  transition: all var(--fast);
  margin-bottom: 0;
}
.pg-footer-social a:hover {
  background: var(--gold-brand);
  border-color: var(--gold);
  color: var(--navy);
}

/* ==========================================================
   ACCESSIBILITY — prefers-reduced-motion
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .pg-hero-slides,
  .pg-shimmer-text {
    animation: none !important;
  }
}

/* ==========================================================
   UPDATED BUTTON SYSTEM (v2.1.0)
   btn-gold = primary CTA / btn-outline = ghost / btn-sky = secondary
   ========================================================== */

.btn-gold,
.pg-btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--btn-h);
  padding: 0 32px;
  background: var(--gold-brand);
  color: var(--text-bright);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  border: none;
  border-radius: var(--radius-btn);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--fast), transform var(--fast), box-shadow var(--fast);
  box-shadow: 0 2px 12px rgba(201,168,76,.25);
}
.btn-gold:hover,
.pg-btn-gold:hover {
  background: var(--gold-dark);
  color: var(--ivory);
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(201,168,76,.35);
}

.btn-outline,
.pg-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--btn-h);
  padding: 0 32px;
  background: transparent;
  color: var(--ivory);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  border: 1.5px solid rgba(250,248,243,.60);
  border-radius: var(--radius-btn);
  cursor: pointer;
  text-decoration: none;
  transition: all var(--fast);
}
.btn-outline:hover,
.pg-btn-outline:hover {
  background: rgba(250,248,243,.12);
  border-color: var(--ivory);
  color: var(--ivory);
}

/* Outline on light backgrounds (navy border, charcoal text) */
.btn-outline-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--btn-h);
  padding: 0 32px;
  background: transparent;
  color: var(--text-bright);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  border: 1.5px solid var(--text-bright);
  border-radius: var(--radius-btn);
  cursor: pointer;
  text-decoration: none;
  transition: all var(--fast);
}
.btn-outline-dark:hover {
  background: var(--text-bright);
  color: var(--ivory);
}

/* Sky blue secondary button */
.btn-sky {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: var(--btn-h);
  padding: 0 32px;
  background: var(--sky);
  color: var(--navy);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  border: none;
  border-radius: var(--radius-btn);
  cursor: pointer;
  text-decoration: none;
  transition: all var(--fast);
}
.btn-sky:hover {
  background: var(--sky-dark);
  color: var(--ivory);
  transform: translateY(-1px);
}

/* ══════════════════════════════════════════════════════════════════════
   ACCESSIBLE GOLD — contextual remap
   ----------------------------------------------------------------------
   `--gold` is referenced as a TEXT colour in 396 declarations across 23
   stylesheets. Editing each one would be a large, error-prone diff — and
   wrong, because the correct value depends on the background: the brand
   gold fails badly on ivory (2.15:1) but passes comfortably on the navy
   footer (6.99:1).

   Because --gold is a custom property, it can be reassigned per subtree
   instead. Custom properties resolve from the nearest ancestor that sets
   them, so:

     body            → accessible gold  (everything on ivory/white)
     dark containers → brand gold restored (already AA there)

   One declaration fixes every light-background usage at once, and the
   dark surfaces keep the exact brand colour they had before.

   Decorative uses that must stay brand-exact reference --gold-brand.
   Borders are unaffected: --gold-border is its own rgba() token.
   ══════════════════════════════════════════════════════════════════════ */

body {
    --gold: #856D28;        /* 4.69:1 on ivory — AA for normal text */
    --gold-dark: #6E5921;   /* 6.35:1 — hover/active on light */
}

/* Dark surfaces: restore the brand gold, which is already accessible here. */
.pg-header,
.pg-footer,
.pg-cart-drawer,
.pg-drawer,
.pg-hero,
.pgm-cat-hero,
.pg-page-hero,
.pg-modal-content,
.pg-search-overlay,
.pg-announcement-bar {
    --gold: #C9A84C;
    --gold-dark: #A8852E;
}

/* Large display type reads as a graphic element, not copy — the brand gold
   is appropriate above ~32px where stroke weight carries the colour. */
.pg-hero-title,
.pgm-cat-hero-title,
.pg-display,
.pg-h1 {
    --gold: var(--gold-brand);
}

/* ── Inline SVG icons (inc/icons.php) ──────────────────────────────────
   Replaces emoji used as structural icons. Unlike emoji these inherit
   currentColor, so they participate in the gold palette and hover states. */
.pg-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}
.pg-pillar-icon {
    color: var(--gold);
    line-height: 0;
    margin-bottom: 4px;
}
.pg-pillar:hover .pg-pillar-icon { color: var(--gold-dark); }


/* ---- css/components/footer.css ---- */
/*
 * FILE: assets/css/components/footer.css
 * PATTERN — Site Footer Component  (v2.1.0)
 * Pearl Blue & Gold design system — deep navy footer
 * Convention: Cartier / Graff / Tiffany — light body, dark footer anchor
 */

/* ── Base: override from global pg-zone-navy zone ── */
.pg-footer {
  background: var(--navy, #0F2336);
  border-top: 2px solid var(--gold, #C9A84C);
  padding: 0;
  color: rgba(250,248,243,.60);
}

/* ── Trust strip (above main footer) ── */
.pg-footer-trust {
  border-bottom: 1px solid rgba(135,197,220,.12);
  padding: 28px 0;
  background: rgba(0,0,0,.15);
}
.pg-footer-trust-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.pg-footer-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(250,248,243,.65);
}
.pg-footer-trust-item svg { color: var(--gold, #C9A84C); flex-shrink: 0; }

/* ── Main grid ── */
.pg-footer-main {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: var(--space-48, 48px);
  padding: var(--space-64, 64px) 0;
}
@media (max-width: 1200px) {
  .pg-footer-main { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 768px) {
  .pg-footer-main { grid-template-columns: 1fr 1fr; gap: 32px; }
  .pg-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .pg-footer-main { grid-template-columns: 1fr; }
}

/* ── Brand column ── */
.pg-footer-brand { }
.pg-footer-logo-link { display: inline-block; margin-bottom: 20px; }
.pg-footer-logo-img { max-width: 180px; height: auto; filter: brightness(1.1); }
.pg-footer-logo-text {
  display: inline-flex;
  flex-direction: column;
  font-family: var(--font-serif, 'Playfair Display', serif);
  font-size: 22px;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--gold, #C9A84C);
  line-height: 1;
}
.pg-footer-logo-text small {
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 8px;
  letter-spacing: 3px;
  font-weight: 600;
  color: rgba(250,248,243,.50);
  margin-top: 4px;
}
.pg-footer-brand p {
  font-size: 13px;
  line-height: 1.75;
  color: rgba(250,248,243,.50);
  max-width: 280px;
  margin-bottom: 0;
}

/* ── Columns ── */
.pg-footer-col h4 {
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold-light, #DFC06A);
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(201,168,76,.20);
}
.pg-footer-col a {
  display: block;
  font-size: 13px;
  color: rgba(250,248,243,.55);
  margin-bottom: 10px;
  transition: color .2s ease;
  text-decoration: none;
}
.pg-footer-col a:hover { color: var(--gold-light, #DFC06A); padding-left: 4px; }
.pg-footer-col address { font-style: normal; }

/* ── Social icons ── */
.pg-footer-social {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}
.pg-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,.25);
  color: rgba(250,248,243,.60);
  transition: all .2s ease;
  margin-bottom: 0;
}
.pg-footer-social a:hover {
  background: var(--gold, #C9A84C);
  border-color: var(--gold, #C9A84C);
  color: var(--navy, #0F2336);
  transform: translateY(-2px);
}

/* ── Legal bottom bar ── */
.pg-footer-legal-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: 20px 0;
  border-top: 1px solid rgba(135,197,220,.10);
  margin-top: 0;
}
/* Copyright takes its own full-width, centred row beneath the payment
   icons and legal links, rather than competing with them for the left
   edge of a space-between row. */
/* Scoped to .pg-footer so the colour actually applies: a generic
   `.pg-footer p` rule (0,1,1) already sets this element's colour and
   outranks a bare `.pg-footer-copy` (0,1,0), so the plain class selector
   set a colour that was silently discarded. */
.pg-footer .pg-footer-copy {
  flex: 0 0 100%;
  order: 2;
  text-align: center;
  font-size: 11px;
  /* Was rgba(250,248,243,.35) — #616E78 over the navy footer, a 2.96:1
     contrast that fails AA for 11px text. .58 gives 5.95:1 while staying
     clearly secondary to the links above it. */
  color: rgba(250,248,243,.58);
  letter-spacing: 0.5px;
  margin: 6px 0 0;
  line-height: 1.6;
}

/* ── Payment icons ── */
.pg-footer-payments {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pg-pay-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .75;
  transition: opacity .2s;
}
.pg-pay-icon:hover { opacity: 1; }

/* ── Legal links ── */
.pg-footer-legal-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.pg-footer-legal-links a {
  font-size: 11px;
  color: rgba(250,248,243,.35);
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: color .2s;
}
.pg-footer-legal-links a:hover { color: var(--gold-light, #DFC06A); }

/* ── Responsive ── */
@media (max-width: 768px) {
  .pg-footer-trust-inner { justify-content: center; gap: 16px; }
  .pg-footer-trust-item { font-size: 10px; }
  /* Centre the whole stack on mobile so the copyright's centred alignment
     doesn't read as an accident next to left-aligned siblings. */
  .pg-footer-legal-bar { flex-direction: column; align-items: center; gap: 16px; text-align: center; }
  .pg-footer-payments { order: -1; justify-content: center; flex-wrap: wrap; }
  .pg-footer-legal-links { justify-content: center; flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .pg-footer-trust-item span { display: none; }
  .pg-footer-trust-item svg { width: 22px; height: 22px; }
  .pg-footer-trust-inner { justify-content: space-around; }
}

/* ── Designed & developed by credit (Phase 1, item 7) ── */
/* display:inline is doing real work here. The footer's column link lists
   set `display:block` on their anchors, and that rule also caught this
   credit link — so "BasilsHub" was forced onto its own line, and the full
   stop after it onto a third. Scoped to .pg-footer to beat that rule. */
.pg-footer .pg-footer-credit {
    display: inline;
    color: var(--gold, #C9A84C);
    text-decoration: none;
    font-weight: 600;
    /* Keeps the name whole if the line ever does wrap. */
    white-space: nowrap;
    transition: opacity .2s;
}
.pg-footer .pg-footer-credit:hover { opacity: .75; text-decoration: underline; }

/* The bracketed "(www.basilshub.com)" that used to follow the name was
   removed at the client's request — the name itself is the link, which is
   how a credit line normally reads. .pg-footer-credit-url and its
   narrow-screen hiding rule went with it. */


/* ---- css/components/product-card.css ---- */
/*
 * FILE: assets/css/components/product-card.css
 * PATTERN — Product card styling
 *
 * The legacy `.pcard` component (~290 lines) was removed: nothing in the
 * theme renders that class any more — every grid uses `.pgc-wrap` from
 * template-parts/product-card.php. `.pcard-grid` is KEPT because
 * template-parts/home-trending.php still uses it as a grid container.
 */

 }

/* ══════════════════════════════════════════════════
   GRID LAYOUT
══════════════════════════════════════════════════ */
.pcard-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  row-gap: 36px;
}
@media (max-width: 1200px) { .pcard-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 860px)  { .pcard-grid { grid-template-columns: repeat(2,1fr); gap: 16px; row-gap: 24px; } }
@media (max-width: 420px)  { .pcard-grid { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════
   UNIFORM CARD RHYTHM  (items 9 & 11)
   ------------------------------------------------------------------
   Loads after global.css, so these win on equal specificity.

   The problem: every row inside .pgc-body was optional. A product with
   no metal meta, or with no reviews, produced a shorter card, so prices
   and CTAs sat at different heights along each row of the grid — and
   the effect differed again between the shop grid, the homepage rails
   and the related-products strip because each uses its own container.

   The fix: reserve a fixed height for each row, clamp the title to two
   lines, and anchor price + CTA to the bottom of the card. Applied to
   every grid that hosts .pgc-wrap so all of them share one rhythm.
   ══════════════════════════════════════════════════════════════════ */

/* Every card container stretches its row.
   All three page types render the SAME .pgc-wrap card, but each wraps it
   in a different container — ul.pgm-4col on shop, div.pcard-grid on the
   homepage trending rail, and inline-styled flex divs inside
   .pg-scrolling-carousel on the product page. Listing them all is what
   makes the rhythm identical everywhere. */
.pgm-4col,
.pg-4col-grid,
.pg-products-grid,
.pgm-trending-grid,
.pcard-grid,
.pg-scrolling-carousel {
    align-items: stretch;
}

/* Card shell fills the stretched row. */
.pgm-4col > .pgc-wrap,
.pg-4col-grid > .pgc-wrap,
.pg-products-grid > .pgc-wrap,
.pg-scroll-grid > .pgc-wrap,
.pcard-grid > .pgc-wrap,
.pg-scrolling-carousel > div > .pgc-wrap {
    height: 100%;
}

/* The product-page carousels use inline-styled flex children; make those
   wrappers full-height too or the card inside has nothing to fill. */
.pg-scrolling-carousel > div {
    display: flex;
    align-items: stretch;
}

.pgc-wrap {
    display: flex;
    flex-direction: column;
}

.pgc-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 6px;
}

/* Row 1 — spec line. Always present (renders &nbsp; when empty) so the
   title below it starts at the same y on every card. */
.pgc-meta {
    /* Two reserved lines rather than one line + ellipsis: at 4-up widths
       "18K WHITE GOLD · 0.28CT · 1.98G" doesn't fit on one line, and
       truncating it silently dropped the gram weight — a spec shoppers
       compare on. Tightened letter-spacing buys back most of the room. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
    min-height: calc(2 * 1.4em);
    letter-spacing: .05em;
}

/* Row 2 — title, clamped to exactly two lines. Reserving two lines is
   what stops a one-line name from lifting the price above its neighbours. */
.pgc-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    overflow: hidden;
    min-height: calc(2 * 1.45em);
}

/* Row 3 — rating. Reserved even with no reviews. */
.pgc-rating {
    min-height: 1.1em;
}

/* Row 4 — price, pushed to the bottom so it is always directly above
   the CTA regardless of how much content sits above it. */
.pgc-price {
    margin-top: auto;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 1.5em;
}

/* Row 5 — CTA. margin-top:auto is already set in global.css; neutralise
   it here so the price (not the button) absorbs the free space. */
.pgc-view-btn {
    margin-top: 0;
    flex-shrink: 0;
}

/* Consistent square imagery in every context. Some rails were letting
   the image box collapse to the intrinsic photo ratio, which made
   portrait and landscape product shots different heights side by side. */
.pgc-image-wrap {
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
    width: 100%;
}
.pgc-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Horizontal rails: fix the card width so the rail scrolls in even steps. */
.pg-scroll-grid > .pgc-wrap {
    width: 260px;
    flex: 0 0 260px;
}

@media (max-width: 767px) {
    .pgc-name { min-height: calc(2 * 1.4em); }
    .pgc-meta { min-height: 1.3em; font-size: 9.5px; }
    .pg-scroll-grid > .pgc-wrap { width: 200px; flex: 0 0 200px; }
}


/* ---- css/components/filter-sidebar.css ---- */
/*
 * FILE: assets/css/components/filter-sidebar.css
 * PATTERN — Shop Filter Sidebar
 * Spec: 280px fixed left sidebar, section gap 24px, checkbox gap 12px
 */

/* ── Layout wrapper ── */
.pg-shop-layout {
  display: grid;
  grid-template-columns: var(--filter-w) 1fr;
  gap: var(--space-32);
  align-items: start;
  padding: var(--space-64) var(--space-96);
}
@media (max-width: 1024px) {
  .pg-shop-layout { grid-template-columns: 1fr; padding: var(--space-32) var(--space-24); }
}

/* ── Sidebar container ── */
.pg-filter-sidebar {
  position: sticky;
  top: calc(var(--nav-h) + 16px);
  background: var(--card);
  border: .5px solid var(--gold-border);
  border-radius: var(--radius-card);
  padding: var(--space-24);
  max-height: calc(100vh - var(--nav-h) - 32px);
  overflow-y: auto;
}
.pg-filter-sidebar::-webkit-scrollbar { width: 4px; }
.pg-filter-sidebar::-webkit-scrollbar-track { background: transparent; }
.pg-filter-sidebar::-webkit-scrollbar-thumb { background: var(--gold-border); border-radius: 2px; }

/* ── Filter header ── */
.pg-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-24);
  padding-bottom: var(--space-16);
  border-bottom: .5px solid var(--gold-border);
}
.pg-filter-head h3 {
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 400;
  color: var(--text-bright);
}
.pg-filter-reset {
  font-size: var(--type-caption);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold);
  background: none;
  border: none;
  cursor: pointer;
  transition: opacity .2s;
}
.pg-filter-reset:hover { opacity: .7; }

/* ── Filter group ── */
.pg-filter-group {
  margin-bottom: var(--space-24);
  border-bottom: .5px solid rgba(201,168,76,.06);
  padding-bottom: var(--space-24);
}
.pg-filter-group:last-child { border-bottom: none; margin-bottom: 0; }

.pg-filter-group-title {
  font-size: var(--type-small);
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: var(--space-12);
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  padding: 0;
}
.pg-filter-group-title svg {
  width: 14px; height: 14px;
  color: var(--text-dim);
  transition: transform .2s var(--ease);
  flex-shrink: 0;
}
.pg-filter-group.is-collapsed .pg-filter-group-title svg { transform: rotate(-90deg); }
.pg-filter-group-body { overflow: hidden; transition: max-height .3s var(--ease); }

/* ── Checkbox list ── */
.pg-filter-list { display: flex; flex-direction: column; gap: var(--space-12); }

.pg-filter-check {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  cursor: pointer;
  font-size: var(--type-small);
  color: var(--text-muted);
  transition: color .15s;
  user-select: none;
}
.pg-filter-check:hover { color: var(--text-mid); }
.pg-filter-check input[type="checkbox"] { display: none; }
.pg-filter-check-box {
  width: 16px; height: 16px;
  border: .5px solid var(--gold-border);
  border-radius: 3px;
  background: transparent;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, border-color .15s;
}
.pg-filter-check input:checked ~ .pg-filter-check-box {
  background: var(--gold-brand);
  border-color: var(--gold);
}
.pg-filter-check-box::after {
  content: '';
  width: 8px; height: 5px;
  border-left: 1.5px solid #1A1814;
  border-bottom: 1.5px solid #1A1814;
  transform: rotate(-45deg) translateY(-1px);
  opacity: 0;
  transition: opacity .1s;
}
.pg-filter-check input:checked ~ .pg-filter-check-box::after { opacity: 1; }

.pg-filter-check-count {
  margin-left: auto;
  font-size: var(--type-caption);
  color: var(--text-dim);
}

/* ── Colour swatches ── */
.pg-filter-swatches { display: flex; flex-wrap: wrap; gap: var(--space-8); }
.pg-filter-swatch {
  width: 28px; height: 28px;
  border-radius: 50%;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color .15s, transform .15s;
  position: relative;
}
.pg-filter-swatch:hover { transform: scale(1.1); }
.pg-filter-swatch.is-active { border-color: var(--gold); }
.pg-filter-swatch[data-color="yellow"] { background: #C9A84C; }
.pg-filter-swatch[data-color="rose"]   { background: #E6B7A9; }
.pg-filter-swatch[data-color="white"]  { background: #E0E0E0; }

/* ── Price slider ── */
.pg-filter-range { padding: var(--space-8) 0; }
.pg-range-track {
  position: relative;
  height: 3px;
  background: rgba(201,168,76,.15);
  border-radius: 2px;
  margin: var(--space-16) 0;
}
.pg-range-fill {
  position: absolute;
  height: 100%;
  background: var(--gold-brand);
  border-radius: 2px;
}
.pg-range-input {
  position: absolute;
  top: -8px;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.pg-range-labels {
  display: flex;
  justify-content: space-between;
  font-size: var(--type-caption);
  color: var(--text-dim);
  margin-top: var(--space-8);
}
.pg-range-thumb {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--gold-brand);
  border: 2px solid #FFFFFF;
  box-shadow: 0 2px 6px rgba(26,24,20,.14);
  cursor: pointer;
  transition: transform .15s;
}
.pg-range-thumb:hover { transform: translate(-50%, -50%) scale(1.2); }

/* ── Sort bar (top of product grid) ── */
.pg-sort-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-32);
  padding-bottom: var(--space-16);
  border-bottom: .5px solid var(--gold-border);
  flex-wrap: wrap;
  gap: var(--space-12);
}
.pg-sort-count {
  font-size: var(--type-small);
  color: var(--text-dim);
}
.pg-sort-select {
  background: #FFFFFF;
  border: 1px solid rgba(26,24,20,.12);
  color: var(--text-mid);
  font-size: var(--type-small);
  padding: 9px 36px 9px 12px;
  border-radius: var(--radius-btn);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A8852E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  transition: border-color 0.2s;
}
.pg-sort-select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,168,76,.12); }

/* ── Mobile filter toggle ── */
.pg-filter-toggle-btn {
  display: none;
  align-items: center;
  gap: var(--space-8);
  background: var(--card);
  border: .5px solid var(--gold-border);
  color: var(--text-mid);
  padding: 10px var(--space-16);
  border-radius: var(--radius-btn);
  font-size: var(--type-small);
  cursor: pointer;
}
@media (max-width: 1024px) {
  .pg-filter-toggle-btn { display: flex; }
  .pg-filter-sidebar {
    position: fixed;
    top: 0; left: -100%;
    max-height: 100vh;
    height: 100vh;
    z-index: 8000;
    border-radius: 0;
    border: none;
    border-right: .5px solid var(--gold-border);
    width: min(320px, 85vw);
    transition: left .35s var(--ease);
  }
  .pg-filter-sidebar.is-open { left: 0; }
  .pg-filter-overlay {
    position: fixed;
    inset: 0;
    background: rgba(26,24,20,.30);
    z-index: 7999;
    opacity: 0;
    pointer-events: none;
    transition: opacity .35s;
  }
  .pg-filter-overlay.is-open { opacity: 1; pointer-events: all; }
}

/* ── Filter option product counts (Phase 1, item 10) ── */
.pgm-check-count {
    margin-left: auto;
    padding-left: 8px;
    font-size: 11px;
    color: var(--text-dim, #A09590);
    font-variant-numeric: tabular-nums;
}
.pgm-check-row { display: flex; align-items: center; gap: 8px; }


/* ---- css/components/nav-fix.css ---- */
/**
 * FILE: assets/css/components/nav-fix.css
 * PATTERN — Navigation Architecture Fix + Premium Styles
 *
 * Fixes: collapsed nav string, z-index stacking, responsive breakpoints
 * Adds:  GSAP full-screen overlay menu, WebGL cursor pointer-events fix
 */

/* ═══════════════════════════════════════════════════
   Z-INDEX MASTER STACK
   bg-canvas(-1) → page(1) → header(9200) → mega(9300)
   → overlay(9400) → cursor(999999)
   ═══════════════════════════════════════════════════ */
#pg-bg-canvas        { z-index: -1 !important; pointer-events: none !important; }
#pg-cursor           { z-index: 999999 !important; pointer-events: none !important; }
#pg-cursor *         { pointer-events: none !important; }
#pg-transition-overlay { z-index: 99998 !important; pointer-events: none; }
#pg-fullscreen-menu  { z-index: 9500 !important; }
.pg-header           { z-index: 9200 !important; position: fixed !important; }
.pg-mega, .pg-nav-links .sub-menu { z-index: 9300 !important; }

/* ═══════════════════════════════════════════════════
   TOPBAR
   ═══════════════════════════════════════════════════ */
.pg-topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 36px;
  background: #FAF8F3;
  border-bottom: .5px solid rgba(201,168,76,.15);
  overflow: hidden;
  z-index: 9100;
  display: flex;
  align-items: center;
}

/* ═══════════════════════════════════════════════════
   HEADER SHELL
   ═══════════════════════════════════════════════════ */
.pg-header {
  top: 36px !important;
  left: 0; right: 0;
  background: rgba(8,8,8,.96) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: .5px solid rgba(201,168,76,.18) !important;
  transition: background .3s ease, box-shadow .3s ease !important;
}
.pg-header.is-scrolled {
  background: rgba(250,248,243,.98) !important;
  box-shadow: 0 2px 24px rgba(26,24,20,.12), 0 1px 0 rgba(201,168,76,.18) !important;
}
/* Nav links go dark when on the ivory header (WP menu links have no class) */
.pg-header.is-scrolled .pg-nav-links a,
.pg-header.is-scrolled .pg-nav-link {
  color: var(--navy, #0F2336) !important;
}
.pg-header.is-scrolled .pg-nav-links a:hover,
.pg-header.is-scrolled .pg-nav-link:hover {
  color: var(--gold, #C9A84C) !important;
}
/* Icons go dark when on ivory */
.pg-header.is-scrolled .pg-nav-icons a,
.pg-header.is-scrolled .pg-nav-icons button,
.pg-header.is-scrolled .pg-currency-btn,
.pg-header.is-scrolled .pg-nav-icons a:hover,
.pg-header.is-scrolled .pg-nav-icons button:hover {
  color: var(--gold, #C9A84C) !important;
}
/* Logo pill bg transparent on ivory */
.pg-header.is-scrolled .pg-logo-img {
  background: transparent !important;
  filter: none !important;
}
/* Mega menu chevron arrows */
.pg-header.is-scrolled .pg-nav-links .pg-chevron,
.pg-header.is-scrolled .pg-nav-links svg {
  color: var(--navy, #0F2336) !important;
  stroke: var(--navy, #0F2336) !important;
}
.admin-bar .pg-header { top: calc(36px + 32px) !important; }
@media (max-width: 782px) {
  .admin-bar .pg-header { top: calc(36px + 46px) !important; }
}

/* ═══════════════════════════════════════════════════
   NAV INNER — THE CORE FLEX CONTAINER
   [ LOGO ]  ←— flex:1 nav links centered —→  [ ICONS ]
   ═══════════════════════════════════════════════════ */
.pg-nav-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 74px !important;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px !important;
  gap: 0 !important;
  position: relative;
}
@media (max-width: 1280px) { .pg-nav-inner { padding: 0 28px !important; } }
@media (max-width: 768px)  { .pg-nav-inner { padding: 0 20px !important; height: 64px !important; } }

/* ═══════════════════════════════════════════════════
   LOGO
   ═══════════════════════════════════════════════════ */
.pg-logo {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: 7px !important;
  color: var(--gold, #C9A84C) !important;
  white-space: nowrap !important;
  margin-right: 0 !important;
}
.pg-logo span { color: #ffffff !important; }
.pg-logo small {
  display: block !important;
  font-size: 0.38rem !important;
  letter-spacing: 4px !important;
  color: rgba(201,168,76,.5) !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  margin-top: 4px !important;
  font-family: 'Montserrat', sans-serif !important;
}

/* ═══════════════════════════════════════════════════
   DESKTOP NAV LINKS  (center slot, flex:1)
   ═══════════════════════════════════════════════════ */
.pg-nav-links {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  height: 100% !important;
  flex: 1 1 auto !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 24px !important;
  gap: 0 !important;
}
@media (max-width: 1023px) {
  .pg-nav-links { display: none !important; }
}

/* Nav Item */
.pg-nav-item {
  position: relative;
  display: flex;
  align-items: center;
}

/* Nav Link */
.pg-nav-link {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 0 16px !important;
  height: 100% !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  letter-spacing: 2.8px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.65) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  position: relative !important;
  transition: color .2s ease !important;
}
.pg-nav-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0; left: 16px; right: 16px !important;
  height: 1.5px !important;
  background: var(--gold, #C9A84C) !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform .3s ease !important;
}
.pg-nav-link:hover,
.pg-nav-item.current-menu-item > .pg-nav-link,
.pg-nav-item.current-menu-ancestor > .pg-nav-link {
  color: var(--gold, #C9A84C) !important;
}
.pg-nav-link:hover::after { transform: scaleX(1) !important; }

/* ═══════════════════════════════════════════════════
   RIGHT ICONS CLUSTER
   ═══════════════════════════════════════════════════ */
.pg-nav-icons {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  flex-shrink: 0 !important;
}

/* Live Gold Rate badge */
.pg-live-gold-rate {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border: 1px solid rgba(201,168,76,.35);
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--gold, #C9A84C);
  white-space: nowrap;
  margin-right: 10px;
  line-height: 1;
  font-family: 'Montserrat', sans-serif;
}
@media (max-width: 1200px) { .pg-live-gold-rate { display: none !important; } }

/* Currency Selector */
.pg-currency-menu.is-open,

/* Icon Buttons */
.pg-nav-icon-btn {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border: none !important;
  background: transparent !important;
  color: rgba(255,255,255,.65) !important;
  cursor: pointer !important;
  border-radius: 50% !important;
  transition: color .2s ease, background .2s ease !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}
.pg-nav-icon-btn svg { width: 20px !important; height: 20px !important; pointer-events: none; }
.pg-nav-icon-btn:hover {
  color: var(--gold, #C9A84C) !important;
  background: rgba(201,168,76,.09) !important;
}

/* Cart / Wishlist count badge */
.pg-cart-count, .pg-wishlist-count {
  position: absolute !important;
  top: 4px; right: 4px !important;
  min-width: 16px; height: 16px !important;
  background: var(--alert) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 3px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* Hide language button (WPML fallback) on mobile */
@media (max-width: 480px) {
  .pg-currency-dropdown,
  .pg-nav-icon-btn[aria-label*="Language"] { display: none !important; }
}

/* ═══════════════════════════════════════════════════
   HAMBURGER (mobile only)
   ═══════════════════════════════════════════════════ */
.pg-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px; height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  margin-left: 8px;
}
.pg-hamburger span {
  display: block;
  width: 24px; height: 1.5px;
  background: rgba(255,255,255,.75);
  border-radius: 2px;
  transition: all .35s cubic-bezier(.4,0,.2,1);
}
.pg-hamburger:hover span { background: var(--gold, #C9A84C); }
.pg-hamburger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.pg-hamburger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.pg-hamburger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
@media (max-width: 1023px) { .pg-hamburger { display: flex !important; } }

/* ═══════════════════════════════════════════════════
   FULL-SCREEN OVERLAY MENU (GSAP controlled)
   ═══════════════════════════════════════════════════ */
#pg-fullscreen-menu {
  position: fixed;
  inset: 0;
  background: rgba(5,5,5,.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 80px 10vw;
  visibility: hidden;
  opacity: 0;
  overflow-y: auto;
}
#pg-fullscreen-menu .pg-fsm-close {
  position: absolute;
  top: 24px; right: 24px;
  width: 48px; height: 48px;
  background: none;
  border: 1px solid rgba(201,168,76,.3);
  border-radius: 50%;
  color: rgba(255,255,255,.7);
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .2s, color .2s;
}
#pg-fullscreen-menu .pg-fsm-close:hover { border-color: var(--gold, #C9A84C); color: var(--gold, #C9A84C); }

/* Menu categories */
.pg-fsm-categories {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 64px;
  width: 100%;
  max-width: 900px;
  margin-top: 48px;
}
@media (max-width: 768px) {
  .pg-fsm-categories { grid-template-columns: 1fr 1fr; gap: 32px 40px; }
  #pg-fullscreen-menu { padding: 80px 7vw; }
}
@media (max-width: 480px) {
  .pg-fsm-categories { grid-template-columns: 1fr; }
}

.pg-fsm-group h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--gold, #C9A84C);
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: .5px solid rgba(201,168,76,.2);
}
.pg-fsm-group a {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 1px;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  padding: 7px 0;
  transition: color .2s ease, transform .2s ease;
}
.pg-fsm-group a:hover { color: var(--text-bright); transform: translateX(6px); }

/* Overlay nav items (GSAP will animate .pg-fsm-item) */
.pg-fsm-item {
  overflow: hidden;
}
.pg-fsm-item-inner {
  display: block;
  font-family: 'Cormorant Garamond', 'Playfair Display', serif;
  font-size: clamp(2rem, 5vw, 4.5rem);
  font-weight: 400;
  letter-spacing: 4px;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  line-height: 1.1;
  transition: color .2s;
  transform: translateY(100%);
}
.pg-fsm-item-inner:hover { color: var(--gold, #C9A84C); }

/* ═══════════════════════════════════════════════════
   MEGA-MENU (desktop dropdown)
   ═══════════════════════════════════════════════════ */
.pg-mega {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: max-content;
  width: 640px;
  background: rgba(8,8,8,.97);
  border: .5px solid rgba(201,168,76,.2);
  border-top: 2px solid var(--gold, #C9A84C);
  border-radius: 0 0 8px 8px;
  padding: 24px 28px;
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 20px;
  box-shadow: 0 24px 48px rgba(26,24,20,.14);
  z-index: 9300;
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.pg-nav-item:hover > .pg-mega,
.pg-nav-item:focus-within > .pg-mega {
  display: grid;
  opacity: 1;
  pointer-events: all;
}
.pg-mega-col > h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold, #C9A84C);
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: .5px solid rgba(201,168,76,.2);
}
.pg-mega-col > a {
  display: block;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.5px;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  padding: 5px 0;
  font-family: 'Montserrat', sans-serif;
  transition: color .2s, padding-left .2s;
}
.pg-mega-col > a:hover { color: var(--gold, #C9A84C); padding-left: 6px; }

/* Standard WP sub-menu */
.pg-nav-links .sub-menu {
  position: absolute;
  top: 100%; left: 0;
  background: rgba(8,8,8,.97);
  border: .5px solid rgba(201,168,76,.2);
  border-top: 2px solid var(--gold, #C9A84C);
  border-radius: 0 0 6px 6px;
  padding: 8px 0;
  min-width: 200px;
  list-style: none; margin: 0;
  opacity: 0; visibility: hidden;
  transform: translateY(6px);
  transition: opacity .25s, transform .25s, visibility .25s;
  z-index: 9300;
  box-shadow: 0 16px 36px rgba(26,24,20,.12);
}
.pg-nav-links > li:hover > .sub-menu,
.pg-nav-links > li:focus-within > .sub-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.pg-nav-links .sub-menu li { display: block; }
.pg-nav-links .sub-menu a {
  display: block;
  padding: 10px 20px;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color .2s, background .2s, padding-left .2s;
  white-space: nowrap;
}
.pg-nav-links .sub-menu a:hover {
  color: var(--gold, #C9A84C);
  background: rgba(201,168,76,.06);
  padding-left: 28px;
}

/* ═══════════════════════════════════════════════════
   PRODUCT CARD WebGL canvas overlay
   ═══════════════════════════════════════════════════ */
.pgc-image-wrap { overflow: hidden; position: relative; }
.pgc-image-wrap canvas { border-radius: inherit; }

/* ═══════════════════════════════════════════════════
   EMERGENCY NAV OVERFLOW FIX
   Prevents bunching; constrains to a clean nav bar
   ═══════════════════════════════════════════════════ */

/* Force nav-inner to proper 3-column layout */
.pg-nav-inner {
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  height: 74px !important;
  padding: 0 36px !important;
  gap: 0 !important;
}

/* Logo — column 1 */
.pg-logo {
  grid-column: 1 !important;
  margin-right: 24px !important;
}

/* Nav links — column 2, centered */
.pg-nav-links {
  grid-column: 2 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  height: 100% !important;
  flex: none !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Limit nav items on crowded menus — show max 7 top-level items */
.pg-nav-links > li:nth-child(n+8) { display: none !important; }

/* Each link — tighter padding for more items */
.pg-nav-link {
  padding: 0 12px !important;
  font-size: 0.58rem !important;
  letter-spacing: 2px !important;
  white-space: nowrap !important;
}

/* Icons cluster — column 3 */
.pg-nav-icons {
  grid-column: 3 !important;
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  flex-shrink: 0 !important;
  flex-wrap: nowrap !important;
}

/* Hamburger — show only on mobile, inside icons */
.pg-hamburger {
  display: none !important;
}
@media (max-width: 1023px) {
  .pg-hamburger { display: flex !important; }
  .pg-nav-links  { display: none !important; }
  .pg-live-gold-rate { display: none !important; }
  .pg-nav-inner { grid-template-columns: auto 1fr auto !important; padding: 0 16px !important; height: 64px !important; }
}
@media (max-width: 480px) {
  .pg-nav-icon-btn[aria-label*="Wishlist"],
  .pg-nav-icon-btn[aria-label*="My Account"],
  .pg-nav-icon-btn[aria-label*="Language"] { display: none !important; }
}

/* Gold rate — hide below 1200px */
@media (max-width: 1200px) {
  .pg-live-gold-rate { display: none !important; }
}

/* Sub-menu z-index must exceed header */
.pg-nav-links .sub-menu { z-index: 9400 !important; }

/* WebGL nav canvas must not block header content */
#pg-nav-canvas { pointer-events: none !important; }
#pg-bg-canvas  { pointer-events: none !important; z-index: -1 !important; }

/* ═══════════════════════════════════════════════════
   CRITICAL DISPLAY FIXES (based on live screenshot)
   ═══════════════════════════════════════════════════ */

/* 1. Logo — single inline row, no column stacking */
.pg-logo {
  flex-direction: row !important;
  align-items: center !important;
  font-size: 1.15rem !important;
  letter-spacing: 6px !important;
  white-space: nowrap !important;
  gap: 0 !important;
  line-height: 1 !important;
}
/* Logo sub-text: absolute position below word, not breaking layout */
.pg-logo small {
  display: none !important; /* hide to prevent line-break; use ::after for sub-label */
}

/* 2. Nav links — explicit gap between items */
.pg-nav-links > li {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
}
.pg-nav-link {
  padding: 0 14px !important;
  font-size: 0.6rem !important;
  letter-spacing: 2.5px !important;
  border: none !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  color: rgba(255,255,255,.65) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  position: relative !important;
}

/* 3. Nav inner vertical alignment */
.pg-nav-inner {
  align-items: center !important;
  height: 70px !important;
}

/* 4. Header must be on top row (below topbar) */
.pg-header {
  top: 36px !important;
}
.admin-bar .pg-header { top: 68px !important; }
@media (max-width: 782px) { .admin-bar .pg-header { top: 82px !important; } }

/* 5. Nav icons: consistent row with no wrapping */
.pg-nav-icons {
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0 !important;
}
.pg-nav-icon-btn {
  min-width: 38px !important;
  width: 38px !important;
  height: 38px !important;
}
.pg-nav-icon-btn svg {
  width: 18px !important;
  height: 18px !important;
}

/* 6. Gold rate — properly sized */
.pg-live-gold-rate {
  font-size: 10px !important;
  padding: 4px 10px !important;
  margin-right: 8px !important;
  letter-spacing: 0 !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
}

/* 7. AED dropdown text */

/* ═══════════════════════════════════════════════════
   WP NAV MENU OUTPUT FIX
   wp_nav_menu outputs: <ul class="pg-nav-links"><li class="pg-nav-item menu-item"><a>...</a>
   The <a> may NOT have pg-nav-link class — target both
   ═══════════════════════════════════════════════════ */
.pg-nav-links > li > a,
.pg-nav-links > .pg-nav-item > a,
.pg-nav-links > .menu-item > a {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  padding: 0 15px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.61rem !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.65) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  position: relative !important;
  transition: color .2s ease !important;
}
.pg-nav-links > li > a:hover,
.pg-nav-links > .current-menu-item > a,
.pg-nav-links > .current-menu-ancestor > a {
  color: var(--gold, #C9A84C) !important;
}

/* Underline hover effect on all nav link variants */
.pg-nav-links > li > a::after,
.pg-nav-links > .menu-item > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 15px; right: 15px !important;
  height: 1.5px !important;
  background: var(--gold, #C9A84C) !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform .3s ease !important;
}
.pg-nav-links > li > a:hover::after,
.pg-nav-links > .current-menu-item > a::after {
  transform: scaleX(1) !important;
}

/* Ensure li stretches full height */
.pg-nav-links > li,
.pg-nav-links > .menu-item {
  display: flex !important;
  align-items: stretch !important;
  height: 100% !important;
  position: relative !important;
}

/* Sub-menus from WP */
.pg-nav-links li ul.sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 200px !important;
  background: rgba(8,8,8,.97) !important;
  border: .5px solid rgba(201,168,76,.2) !important;
  border-top: 2px solid var(--gold,#C9A84C) !important;
  border-radius: 0 0 6px 6px !important;
  padding: 8px 0 !important;
  list-style: none !important;
  margin: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(6px) !important;
  transition: opacity .25s ease, transform .25s ease, visibility .25s !important;
  z-index: 9400 !important;
  box-shadow: 0 16px 36px rgba(26,24,20,.12) !important;
}
.pg-nav-links li:hover > ul.sub-menu,
.pg-nav-links li:focus-within > ul.sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
.pg-nav-links li ul.sub-menu li { display: block !important; }
.pg-nav-links li ul.sub-menu a {
  display: block !important;
  padding: 10px 20px !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.55) !important;
  text-decoration: none !important;
  transition: color .2s, background .2s, padding-left .2s !important;
  white-space: nowrap !important;
}
.pg-nav-links li ul.sub-menu a:hover {
  color: var(--gold, #C9A84C) !important;
  background: rgba(201,168,76,.07) !important;
  padding-left: 28px !important;
}

/* ═══════════════════════════════════════════════════
   LOGO IMAGE STYLES
   ═══════════════════════════════════════════════════ */
.pg-logo {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
}

/* The actual logo image */
.pg-logo-img {
  display: block !important;
  height: 52px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  object-position: left center !important;
  /* Trim white background — the PNG has white bg, mix-blend-mode will help on dark header */
  mix-blend-mode: screen !important;
  filter: drop-shadow(0 0 8px rgba(201,168,76,0.2)) !important;
  transition: filter 0.3s ease !important;
}
.pg-logo:hover .pg-logo-img {
  filter: drop-shadow(0 0 14px rgba(201,168,76,0.55)) brightness(1.08) !important;
}

/* Mobile drawer logo — slightly smaller */
.pg-logo-img--drawer {
  height: 44px !important;
  max-width: 180px !important;
}

/* On scrolled header — keep logo bright */
.pg-header.is-scrolled .pg-logo-img {
  filter: drop-shadow(0 0 6px rgba(201,168,76,0.3)) !important;
}

@media (max-width: 768px) {
  .pg-logo-img { height: 42px !important; max-width: 180px !important; }
}
@media (max-width: 480px) {
  .pg-logo-img { height: 36px !important; max-width: 150px !important; }
}

/* ═══════════════════════════════════════════════════
   LOGO IMAGE — WHITE BG FIX
   The logo PNG has a white background. We handle this
   by giving the .pg-logo a white/transparent bg pill
   or by inverting via CSS filter on dark header.
   ═══════════════════════════════════════════════════ */
.pg-logo-img {
  mix-blend-mode: normal !important;  /* override the broken screen mode */
  filter: none !important;            /* remove drop-shadow conflicting with white bg */
  height: 50px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
  border-radius: 4px !important;
  /* White bg visible on dark header — show as a clean pill badge */
  padding: 4px 10px !important;
  background: rgba(255,255,255,0.06) !important;
  transition: background 0.3s ease !important;
}
.pg-logo:hover .pg-logo-img {
  background: rgba(255,255,255,0.1) !important;
  filter: brightness(1.05) !important;
}
.pg-logo-img--drawer {
  height: 44px !important;
  padding: 3px 8px !important;
  background: rgba(255,255,255,0.08) !important;
}

/* Mobile */
@media (max-width: 768px) {
  .pg-logo-img { height: 42px !important; padding: 3px 8px !important; }
}
@media (max-width: 480px) {
  .pg-logo-img { height: 36px !important; max-width: 160px !important; }
}

/* ═══════════════════════════════════════════════════
   FINAL LOGO FIX — ensure image shows, text hidden
   ═══════════════════════════════════════════════════ */
/* Reset all text-rendering properties on .pg-logo */
.pg-logo,
a.pg-logo,
.pg-header .pg-logo,
.pg-nav-inner .pg-logo,
.pg-drawer-head .pg-logo {
  font-size: 0 !important;          /* hides any stray text nodes */
  letter-spacing: normal !important;
  color: transparent !important;
  background: none !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  flex-direction: row !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
}
/* The image itself — restore normal sizing */
.pg-logo .pg-logo-img,
.pg-logo img {
  font-size: initial !important;
  display: block !important;
  height: 52px !important;
  width: auto !important;
  max-width: 210px !important;
  object-fit: contain !important;
  object-position: left center !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  flex-shrink: 0 !important;
}
/* Remove the old small/span text elements */
.pg-logo small,
.pg-logo span:not(.pg-logo-img) {
  display: none !important;
}
/* Mobile */
@media (max-width: 768px) {
  .pg-logo .pg-logo-img,
  .pg-logo img { height: 40px !important; max-width: 170px !important; }
}
@media (max-width: 480px) {
  .pg-logo .pg-logo-img,
  .pg-logo img { height: 34px !important; max-width: 145px !important; }
}

/* ═══════════════════════════════════════════════════
   FINAL-LOGO.PNG — 500x150 ratio, transparent bg
   ═══════════════════════════════════════════════════ */
.pg-logo .pg-logo-img,
.pg-logo img {
  height: 48px !important;
  width: auto !important;
  max-width: 200px !important; /* 500/150 * 48 = 160px natural width */
  object-fit: contain !important;
  object-position: left center !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  flex-shrink: 0 !important;
}
@media (max-width: 1200px) {
  .pg-logo .pg-logo-img, .pg-logo img { height: 42px !important; }
}
@media (max-width: 768px) {
  .pg-logo .pg-logo-img, .pg-logo img { height: 36px !important; max-width: 160px !important; }
}
@media (max-width: 480px) {
  .pg-logo .pg-logo-img, .pg-logo img { height: 30px !important; max-width: 130px !important; }
}/* MOBILE DRAWER MENU FIX (ALL ITEMS AS BUTTONS) */
.pg-drawer-nav {
  padding: 16px !important;
}
.pg-drawer-menu-list {
  padding: 0 !important;
}
.pg-drawer-menu-list > li {
  background: #FFFFFF !important;
  margin-bottom: 8px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
}
.pg-drawer-menu-list a,
.pg-drawer-link {
  color: #1A1814 !important;
  font-weight: 600 !important;
  padding: 14px 20px !important;
}
.pg-drawer-menu-list .sub-menu {
  background: transparent !important;
  padding: 0 16px 12px 16px !important;
}
.pg-drawer-menu-list .sub-menu li {
  background: transparent !important;
  border: none !important;
  margin-bottom: 0 !important;
  border-top: 1px solid rgba(0,0,0,0.05) !important;
  border-radius: 0 !important;
}


/* ---- css/components/mobile-fixes.css ---- */
/*
 * FILE: assets/css/components/mobile-fixes.css
 * PATTERN Gold — Global Mobile & Responsive Fix Layer
 * Covers: product page, cart, checkout, shop, home sections, header
 * Pearl & Champagne light theme — consistent across breakpoints
 * Updated: comprehensive audit pass
 */

/* =========================================================
   GLOBAL — prevent horizontal overflow on all pages
   ========================================================= */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
img, video, iframe { max-width: 100%; height: auto; }

/* =========================================================
   HEADER — correct sticky position accounting for topbar
   ========================================================= */
/* topbar = 36px, header = ~64-74px. Pills and sticky elements must sit below both */
@media (max-width: 1023px) {
  /* Topbar height is 36px, header height is 64px */
  .pg-header { top: 36px !important; }
  .admin-bar .pg-header { top: calc(36px + 46px) !important; }
}
@media (max-width: 480px) {
  .pg-nav-inner { padding: 0 16px !important; height: 60px !important; }
  .pg-logo-img  { max-height: 38px; }
  .pg-nav-icon-btn { width: 36px !important; height: 36px !important; }
  .pg-nav-icon-btn svg { width: 17px !important; height: 17px !important; }
}

/* =========================================================
   HERO — dark overlay on home hero slides keeps text readable
   ========================================================= */
@media (max-width: 767px) {
  /* Home hero — keep dark overlay so text is visible on image backgrounds */
  .pg-hero { height: 78vh !important; min-height: 420px !important; }
  .pg-hero-overlay {
    /* Dark gradient — NEVER force white here; that washes out text on dark photos */
    background: linear-gradient(135deg, rgba(0,0,0,0.68) 0%, rgba(0,0,0,0.22) 70%, transparent 100%) !important;
  }
  .pg-hero-content { padding: 0 20px !important; }
  .pg-hero-text    { max-width: 100%; }
  .pg-hero-title   { font-size: clamp(26px, 7.5vw, 42px) !important; }
  .pg-hero-sub     { font-size: 14px; max-width: 100%; }
  .pg-hero-ctas    { flex-direction: column; gap: 10px; }
  .pg-hero-btn, .pg-hero-btn-primary, .pg-hero-btn-outline,
  .pg-hero-btn-ghost { width: 100%; justify-content: center; text-align: center; }
  /* Hide left/right arrows on touch devices — user swipes */
  .pg-hero-prev, .pg-hero-next { display: none; }
}
@media (max-width: 479px) {
  .pg-hero { height: 85vh !important; min-height: 380px !important; }
  .pg-hero-title { font-size: clamp(22px, 8vw, 36px) !important; }
}

/* =========================================================
   HOME — category icons, grids, newsletter, social
   ========================================================= */
@media (max-width: 1023px) {
  .pg-cat-icons-grid { grid-template-columns: repeat(5, 1fr) !important; gap: 10px; }
}
@media (max-width: 767px) {
  /* Category icon strip: 5 cols on 767 */
  .pg-cat-icons-grid { grid-template-columns: repeat(5, 1fr) !important; gap: 6px; }
  .pg-cat-icon-circle { width: 52px; height: 52px; }
  .pg-cat-icon-emoji { font-size: 20px; }
  .pg-cat-icon-label { font-size: 9px; letter-spacing: 0; }
  /* Social cards: 2-column on mobile */
  .pg-home-social-grid,
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .pg-section { padding-left: 16px !important; padding-right: 16px !important; }
  /* Newsletter: single column */
  .pg-newsletter-inner { grid-template-columns: 1fr !important; gap: 24px !important; }
  .pg-nl-row { flex-direction: column; }
  .pg-nl-input, .pg-nl-btn { width: 100%; box-sizing: border-box; }
  /* WhatsApp CTA grid */
  .pg-wa-cta-inner { grid-template-columns: 1fr !important; gap: 24px !important; padding: 24px 20px !important; }
  .pg-wa-cta-left { flex-direction: column; }
  /* Budget grid: 2 col */
  .pg-budget-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* Occasions: 2 col */
  .pg-occasions-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* Craftsmanship */
  .pg-craftsmanship-grid { grid-template-columns: 1fr !important; gap: 32px; }
  .pg-craftsmanship-pillars { grid-template-columns: 1fr 1fr; }
  /* Gold ticker */
  .pg-gold-ticker-inner { flex-direction: column; align-items: flex-start; gap: 8px; }
  /* Promo banner */
  .pg-promo-banner-bg { min-height: 300px; }
  .pg-promo-banner-content { min-height: unset; padding: 40px 20px; }
  /* Trust bar */
  .pg-trust-bar-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; }
  /* Bridal split */
  .pg-bridal-split { grid-template-columns: 1fr !important; height: auto !important; }
  .pg-bridal-panels-right { grid-template-columns: 1fr 1fr !important; grid-template-rows: none !important; }
}
@media (max-width: 479px) {
  .pg-cat-icons-grid { grid-template-columns: repeat(4, 1fr) !important; }
  .pg-cat-icon-circle { width: 46px; height: 46px; }
  .pg-trust-bar-grid { grid-template-columns: 1fr 1fr !important; gap: 10px; }
  .pg-budget-grid { grid-template-columns: 1fr 1fr !important; }
  .pg-bridal-panels-right { grid-template-columns: 1fr !important; }
  .pg-occasions-grid { grid-template-columns: 1fr 1fr !important; }
}

/* =========================================================
   SHOP / CATEGORY PAGES — hero, pills, toolbar, grid
   ========================================================= */
@media (max-width: 767px) {
  /* Category hero banner */
  .pgm-cat-hero {
    min-height: 180px;
    padding: 20px 16px 28px;
    align-items: flex-end;
  }
  .pgm-cat-hero-title { font-size: clamp(22px, 6vw, 34px); margin-bottom: 6px; }
  .pgm-cat-hero-desc  { font-size: 13px; display: none; /* hide on mobile for space */ }
  .pgm-cat-hero-meta  { gap: 6px; }
  .pgm-trust-badge    { font-size: 10px; padding: 3px 8px; }
  /* Shop main area */
  .pgm-shop-main { padding: 16px 0 48px; }
  .pgm-toolbar   { padding: 0 16px 10px; flex-wrap: wrap; gap: 8px; }
  /* Filter button full width row */
  .pgm-mob-filter { font-size: 12px; }
  /* Category layout */
  .pgm-layout { grid-template-columns: 1fr !important; gap: 0 !important; }
}
/* Pills strip — must sit below topbar (36px) + header (64px) = 100px total on mobile */
@media (max-width: 1023px) {
  .pgm-pills-wrap { top: 100px !important; }
}
@media (max-width: 479px) {
  .pgm-pills-wrap { top: 96px !important; }
  .pgm-4col { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .pgm-pill  { padding: 5px 12px; font-size: 11px; }
}

/* =========================================================
   PRODUCT PAGE — gallery, summary, actions
   ========================================================= */
@media (max-width: 1023px) {
  .pg-product-layout-malabar {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .pg-zoom-result { display: none !important; }
  .pg-tab-desc-grid   { grid-template-columns: 1fr !important; }
  .pg-specs-full-grid { grid-template-columns: 1fr !important; gap: 20px; }
  .pg-4col-grid       { grid-template-columns: repeat(2, 1fr) !important; }
  .pg-trust-badges    { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 767px) {
  .pg-product-layout-malabar { gap: 20px !important; }
  .pg-gallery-wrap { flex-direction: column-reverse; }
  .pg-thumb-h { width: 58px; height: 58px; }
  .pg-gallery-stage { aspect-ratio: 1 / 1; }
  /* Product summary — remove sticky on mobile */
  .pg-product-summary {
    position: static !important;
    padding: 20px 16px !important;
    margin: 0 !important;
  }
  /* Product details section margin fix */
  .pg-product-details-section {
    margin: 0 0 32px !important;
    padding: 20px 16px !important;
  }
  /* Actions stack */
  .pg-qty-row { flex-wrap: wrap; gap: 8px; }
  .pg-add-to-cart { height: 48px; }
  .pg-buy-now { height: 48px; }
  /* Price */
  .pg-price-current { font-size: 26px; }
  /* Services strip labels hidden on very small screens */
  .pg-service-label { font-size: 9px; }
  /* EMI grid: 3 col stays */
  .pg-emi-options { grid-template-columns: repeat(3, 1fr); }
  /* Delivery grid: single column */
  .pg-delivery-grid { grid-template-columns: 1fr !important; }
  /* Sticky bar simplified */
  .pg-sticky-bar-info { display: none; }
  .pg-sticky-bar-inner { justify-content: center; gap: 8px; padding: 10px 16px; }
  .pg-sticky-whatsapp span { display: none; }
  /* Related product scrollable strip */
  .pg-4col-grid { gap: 12px !important; }
}
@media (max-width: 479px) {
  .pg-price-current   { font-size: 22px; }
  .pg-product-title   { font-size: 19px; }
  .pg-thumb-h         { width: 50px; height: 50px; }
  .pg-metal-dots      { gap: 5px; }
  .pg-metal-dot-btn   { min-width: 50px; padding: 6px 6px; }
  .pg-karat-selector  { flex-wrap: wrap; }
  .pg-karat-btn       { flex: 1 1 calc(33% - 6px); }
  .pg-4col-grid       { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .pg-trust-badges    { grid-template-columns: repeat(2, 1fr) !important; }
  .pg-emi-options     { grid-template-columns: repeat(3, 1fr); }
  /* Sticky bar — text-only icons */
  .pg-sticky-add-to-cart span { display: none; }
  .pg-sticky-add-to-cart { padding: 10px 12px; }
}

/* =========================================================
   CART PAGE — stacked layout, coupon, totals
   ========================================================= */
@media (max-width: 1023px) {
  .pg-cart-layout {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
  .pg-cart-right { position: static !important; }
  .pg-cart-summary-box { position: static !important; }
}
@media (max-width: 600px) {
  .pg-cart-main { padding: 16px 0 40px; }
  .pg-cart-item { flex-direction: row; gap: 12px; }
  .pg-cart-item-img { width: 76px; height: 76px; }
  /* Steps */
  .pg-steps { gap: 0; max-width: 100%; }
  .pg-step-label { display: none; }
  .pg-step-icon  { width: 36px; height: 36px; }
  /* Coupon row: full width inputs */
  .pg-coupon-row { flex-direction: column; gap: 8px; }
  .pg-coupon-input { width: 100% !important; box-sizing: border-box; }
  .pg-coupon-btn   { width: 100%; }
  /* Cart actions row */
  .pg-cart-actions-row { flex-direction: column; align-items: stretch; }
  .pg-update-cart-btn  { width: 100%; justify-content: center; }
  /* WA bar */
  .pg-cart-wa-bar { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 479px) {
  .pg-cart-item-img { width: 64px; height: 64px; }
  .pg-cart-item-name { font-size: 14px; }
}

/* =========================================================
   CHECKOUT PAGE — stacked, field sizes
   ========================================================= */
@media (max-width: 1023px) {
  .pg-checkout-layout {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
}
@media (max-width: 600px) {
  .pg-checkout-main     { padding: 16px 0 40px; }
  .pg-co-section        { padding: 18px 16px; }
  .pg-co-section-title  { font-size: 17px; }
  .pg-place-order-btn   { width: 100%; font-size: 14px; padding: 16px; }
  .pg-wa-btn            { font-size: 13px; padding: 12px 16px; width: 100%; }
  /* Inline address row → stack on mobile */
  .pg-address-row { flex-direction: column !important; }
}

/* =========================================================
   WHATSAPP FAB — avoid phone bottom bar + sticky bar
   ========================================================= */
@media (max-width: 767px) {
  .pg-whatsapp-fab {
    bottom: 72px; /* push up above any sticky bar */
    right: 14px;
    width: 48px;
    height: 48px;
    box-shadow: 0 4px 16px rgba(37,211,102,.35);
  }
  .pg-whatsapp-fab svg { width: 22px; height: 22px; }
}
@media (max-width: 479px) {
  .pg-whatsapp-fab { bottom: 80px; right: 12px; }
}

/* =========================================================
   CART DRAWER — full-width on very small screens
   ========================================================= */
@media (max-width: 479px) {
  .pg-cart-drawer { width: 100% !important; right: -100% !important; }
  .pg-cart-drawer.is-open { right: 0 !important; }
}

/* =========================================================
   ANNOUNCEMENT / TOPBAR — wrap text on tiny screens
   ========================================================= */
@media (max-width: 360px) {
  .pg-announcement-bar { font-size: 10px; }
  .pg-topbar { font-size: 10px; }
}

/* =========================================================
   TABLES — horizontal scroll on mobile
   ========================================================= */
@media (max-width: 600px) {
  .pg-rate-table,
  .woocommerce-order-details table,
  .woocommerce-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* =========================================================
   FOOTER — 2-col then 1-col stack
   ========================================================= */
@media (max-width: 767px) {
  .pg-footer-grid,
  [class*="pg-footer"] [style*="grid-template-columns"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
  .pg-footer-main { padding: 40px 20px 32px !important; }
  .pg-footer-bottom { flex-direction: column; gap: 12px; text-align: center; padding: 16px 20px !important; }
}
@media (max-width: 479px) {
  .pg-footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
}

/* =========================================================
   CONTAINER — horizontal padding on small screens
   ========================================================= */
@media (max-width: 767px) {
  .pg-container    { padding-left: 16px !important; padding-right: 16px !important; }
  .pg-container-md { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 479px) {
  .pg-container    { padding-left: 12px !important; padding-right: 12px !important; }
  .pg-container-md { padding-left: 12px !important; padding-right: 12px !important; }
}

/* =========================================================
   TOAST — prevent overflow on narrow screens
   ========================================================= */
@media (max-width: 479px) {
  .pg-toast {
    white-space: normal;
    width: calc(100% - 32px);
    left: 16px;
    right: 16px;
    transform: translateX(0) translateY(80px);
    text-align: center;
  }
  .pg-toast.is-visible {
    transform: translateX(0) translateY(0);
  }
}

/* =========================================================
   MY ACCOUNT — stack tabs on mobile
   ========================================================= */
@media (max-width: 767px) {
  .pg-account-layout { grid-template-columns: 1fr !important; gap: 20px; }
  .pg-account-nav   { position: static !important; }
}

/* =========================================================
   WC NATIVE OVERRIDES — ensure WC elements are mobile safe
   ========================================================= */
@media (max-width: 767px) {
  /* WC product grid fallback */
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  /* WC order table */
  .woocommerce-account .woocommerce-orders-table { font-size: 12px; }
}
@media (max-width: 479px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* =========================================================
   DRAWER — sub-menu indentation on mobile
   ========================================================= */
.pg-drawer-menu-list .sub-menu { display: none !important; } /* hide sub-menus in drawer — top level only */
.pg-drawer-menu-list > .menu-item-has-children > a::after {
  content: ' →';
  opacity: .4;
  font-size: 12px;
}


/* ---- css/components/header-offset.css ---- */
/*
 * FILE: assets/css/components/header-offset.css
 * PATTERN — reserve space for the fixed announcement strip + header
 * Added 25 Sep 2026.
 *
 * .pg-topbar (36px) and .pg-header (71px desktop, 61px <=480px) are both
 * position:fixed, and the WP admin bar adds 32px (46px <=782px) when logged
 * in. Nothing reserved that space, so the top of most page banners —
 * breadcrumbs, eyebrows, and on some pages the title itself — sat hidden
 * underneath. This pads #main-content by exactly that stack on every page
 * except the home page, whose full-screen hero is designed to sit behind
 * the header.
 *
 * To undo: delete this file and its line in inc/enqueue.php.
 */

:root { --pg-stack: 107px; --pg-admin: 0px; }
@media (max-width: 480px) { :root { --pg-stack: 97px; } }

.admin-bar { --pg-admin: 32px; }
@media screen and (max-width: 782px) { .admin-bar { --pg-admin: 46px; } }

body:not(.home) #main-content {
    padding-top: calc(var(--pg-stack) + var(--pg-admin));
}
/* page-ring-size-guide.php reuses id="main-content" on its own <main>,
   nested inside header.php's — don't pad twice. */
#main-content #main-content { padding-top: 0; }

/* Generic pages (page.php — cart, checkout, account, policies) and search
   carry a 72px partial header clearance from critical.css
   (body:not(.home) #main { padding-top: var(--header-height) }). The banner
   inside has its own 80px, so drop the old spacer to avoid an empty band. */
body:not(.home) #main-content .pg-generic-page,
body:not(.home) #main-content .pg-search-page,
body:not(.home) #main-content #main { padding-top: 0; }

/* These banners already carried their own header-clearing top padding
   (150px / 152px, 126–128px on mobile). Keep only the visual gap. */
#main-content .pg-wl-banner,
#main-content .pg-builder-hero,
#main-content .pg-rsg-hero { padding-top: 44px; }
@media (max-width: 767px) {
    #main-content .pg-wl-banner,
    #main-content .pg-builder-hero,
    #main-content .pg-rsg-hero { padding-top: 30px; }
}

/* Logged-in, 783–1023px: mobile-fixes.css placed the header for the 46px
   admin bar, but the admin bar is 32px at these widths, leaving a 14px gap
   under the announcement strip. */
@media screen and (min-width: 783px) and (max-width: 1023px) {
    .admin-bar .pg-header { top: 68px !important; }
}

/* Mobile/tablet header (<=1023px): .pg-nav-inner is a 3-column grid with the
   logo, nav links and icons pinned to columns 1–3. The hamburger had no
   column, so it wrapped onto a second row, spilling below the header bar
   over the page content. Put the icons in the (empty) middle column,
   right-aligned, and the hamburger in the last column — "right most on
   mobile", as global.css intends. */
@media (max-width: 1023px) {
    .pg-nav-inner > .pg-logo       { grid-column: 1 !important; grid-row: 1 !important; }
    .pg-nav-inner > .pg-nav-icons  { grid-column: 2 !important; grid-row: 1 !important; justify-self: end !important; }
    .pg-nav-inner > .pg-hamburger  { grid-column: 3 !important; grid-row: 1 !important; }
}

/* Sticky positioning, site-wide.
   global.css (with !important) and mobile-fixes.css set
   html, body { overflow-x: hidden } to stop sideways
   scrolling. `hidden` also turns <body> into a scroll container, which
   silently disables every position:sticky on the site (the product details
   panel, the product gallery, the shop filter sidebar). `clip` prevents the
   sideways scroll in exactly the same way without creating a scroll
   container. Browsers without `clip` keep the old behaviour. */
@supports (overflow: clip) {
    html, body { overflow-x: clip !important; }
}


/* ---- css/components/product-images.css ---- */
/*
 * FILE: assets/css/components/product-images.css
 * PATTERN — 4:5 product imagery + single-product gallery layout
 * Added 25 Sep 2026.
 *
 * All product photography is shot 4:5 (portrait). Every product image frame
 * on the site was square, so photos were either letter-boxed (product page)
 * or had their top and bottom cropped away (cards, thumbnails).
 *
 * Selectors are deliberately two classes deep: this sheet loads BEFORE the
 * page sheets (product.css etc.), which use single-class selectors.
 *
 * To undo: delete this file and its line in inc/enqueue.php.
 */

:root { --pg-ratio: 4 / 5; }

/* ═══════════ 1. PRODUCT CARDS (shop, categories, home, wishlist, related) ═══════════ */
.pgc-wrap .pgc-image-wrap { aspect-ratio: var(--pg-ratio); }
.pgc-wrap .pgc-img        { object-fit: cover; object-position: center; }

/* Card loading skeletons match the real cards, so nothing jumps on load. */
.skeleton.skeleton--image { aspect-ratio: var(--pg-ratio); }

/* Search results cards (search.php) */
.pg-search-page .pg-card-img-wrap {
    display: block;
    aspect-ratio: var(--pg-ratio);
    height: auto !important;          /* global.css fixed 240/200px heights */
    overflow: hidden;
    background: var(--soft, #F5F0E8);
}
.pg-search-page .pg-card-img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
}

/* ═══════════ 2. SINGLE PRODUCT — main image ═══════════ */
.pg-gallery-wrap .pg-gallery-main-v { aspect-ratio: var(--pg-ratio); }
.pg-gallery-wrap .pg-gallery-main-v img {
    width: 100%; height: 100%;
    object-fit: contain;              /* 4:5 photos fill exactly; older square
                                         shots sit centred, never cropped */
    object-position: center;
}
.pg-gallery-wrap .pg-gallery-stage { aspect-ratio: auto; }   /* mobile-fixes forced 1:1 */

/* Thumbnails: 4:5 tiles */
.pg-gallery-wrap .pg-thumb-h {
    width: 64px; height: auto;
    aspect-ratio: var(--pg-ratio);
    border-radius: 6px;
    background: var(--soft, #F5F0E8);
}
.pg-gallery-wrap .pg-thumb-h img { object-fit: cover; }

/* Lightbox: let tall 4:5 photos use the full viewport height */
.pg-lightbox .pg-lightbox-img { max-height: 92vh; }

/* .pg-product-main already pads 48px above the layout; the layout added
   another 48px, leaving an empty band under the breadcrumb. */
.pg-product-main .pg-product-layout-malabar { padding-top: 0; }
@media (max-width: 767px) {
    .pg-product-main.pg-product-main { padding-top: 24px; }
}

/* ═══════════ 3. SINGLE PRODUCT — desktop gallery (>=1024px) ═══════════
   Vertical 4:5 thumbnail rail on the left, 4:5 main image beside it.
   A 4:5 image spanning the whole 576px column would be 720px tall — taller
   than a laptop viewport — so the rail takes a slim column instead and the
   whole gallery stays in view, pinned while the details column scrolls.   */
@media (min-width: 1024px) {
    .pg-product-layout-malabar .pg-gallery-wrap {
        --rail: 76px;
        --rail-gap: 14px;
        display: grid;
        grid-template-columns: var(--rail) auto;
        justify-content: center;      /* rail + image sit centred in the column */
        column-gap: var(--rail-gap);
        align-items: start;
        container-type: inline-size;
        position: sticky;
        top: calc(var(--pg-stack, 107px) + var(--pg-admin, 0px) + 24px);
    }
    /* Main image height = the smaller of
         (a) the column width x 5/4, and
         (b) what fits between the header + breadcrumb and the fixed
             add-to-cart bar at the bottom (170px = breadcrumb 44 + gap 48
             + bar 74 + 4),
       so on a laptop the whole photo and its action row are on screen.
       Defined on the children: cq units resolve against the ancestor
       container (.pg-gallery-wrap), not on the container itself. */
    .pg-product-layout-malabar .pg-gallery-stage,
    .pg-product-layout-malabar .pg-thumbs-h {
        --main-h: min(
            calc((100cqw - var(--rail) - var(--rail-gap)) * 1.25),
            calc(100vh - var(--pg-stack, 107px) - var(--pg-admin, 0px) - 170px)
        );
    }
    .pg-product-layout-malabar .pg-gallery-stage {
        grid-column: 2; grid-row: 1;
        margin-bottom: 0;
        width: calc(var(--main-h) * 0.8);
        max-width: 100%;
    }
    .pg-product-layout-malabar .pg-thumbs-h {
        grid-column: 1; grid-row: 1;
        flex-direction: column;
        gap: 8px;
        width: var(--rail);
        height: var(--main-h);        /* rail = exactly the main image height */
    }
    .pg-product-layout-malabar .pg-thumbs-h-track {
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        gap: 10px;
        padding: 2px;                 /* room for the active ring */
    }
    .pg-product-layout-malabar .pg-thumb-h { width: 100%; }
    .pg-product-layout-malabar .pg-thumbs-h-arrow {
        width: 100%; height: 26px;
        flex-shrink: 0;
    }
    .pg-product-layout-malabar .pg-thumbs-h-arrow svg { transform: rotate(90deg); }
    /* hover lift reads oddly in a vertical rail — use the ring only */
    .pg-product-layout-malabar .pg-thumb-h.is-active,
    .pg-product-layout-malabar .pg-thumb-h:hover { transform: none; }

    /* Hover zoom. .pg-gallery-wrap and .pg-product-summary are both sticky,
       so each is its own stacking context; the summary comes later in the
       DOM and was painting over the zoom panel. Lift the gallery above it
       (still well below the header, drawers and modals). */
    .pg-product-layout-malabar .pg-gallery-wrap { z-index: 30; }
    .pg-gallery-stage .pg-zoom-result {
        left: calc(100% + 24px);
        top: 0;
        /* width/height are set by JS to match the main frame exactly */
        border-radius: 16px;
        border: 1px solid rgba(201,168,76,.28);
        background-color: #FFFFFF;
        box-shadow: 0 24px 60px rgba(26,24,20,.18), 0 2px 8px rgba(26,24,20,.06);
    }
    .pg-gallery-main-v .pg-zoom-lens {
        border: 1px solid rgba(201,168,76,.85);
        background: rgba(201,168,76,.10);     /* was a pink tint */
        border-radius: 6px;
        box-shadow: 0 0 0 9999px rgba(255,255,255,.18);  /* soft focus on the lensed area */
    }

    /* The details column was sticky at top:90px — under the 107px header. */
    .pg-product-layout-malabar .pg-product-summary {
        top: calc(var(--pg-stack, 107px) + var(--pg-admin, 0px) + 24px);
    }
}

/* ═══════════ 4. SINGLE PRODUCT — tablet & phone (<=1023px) ═══════════
   Main image first, 4:5 thumbnail strip underneath (was above on phones). */
@media (max-width: 1023px) {
    /* `1fr` = minmax(auto, 1fr): the column refused to shrink below its
       widest child and pushed the page ~25px past a 390px phone screen. */
    .pg-product-layout.pg-product-layout-malabar { grid-template-columns: minmax(0, 1fr) !important; }
    .pg-product-layout-malabar .pg-gallery-wrap {
        flex-direction: column;
        width: 100%;
        max-width: 540px;             /* full-width 4:5 on a tablet is ~960px tall */
        margin-inline: auto;
    }
    .pg-product-layout-malabar .pg-gallery-stage { order: 0; margin-bottom: 12px; }
    .pg-product-layout-malabar .pg-thumbs-h      { order: 1; }
    .pg-product-layout-malabar .pg-thumb-h       { width: 60px; }
    .pg-product-layout-malabar .pg-thumbs-h-arrow { height: auto; align-self: stretch; }
}
@media (max-width: 479px) {
    .pg-product-layout-malabar .pg-thumb-h { width: 54px; }
    .pg-product-layout-malabar .pg-gallery-main-v { border-radius: 12px; }
}


/* ---- css/components/motion.css ---- */
/*
 * FILE: assets/css/components/motion.css
 * PATTERN — site-wide motion layer (pairs with assets/js/motion.js)
 * Added 25 Sep 2026.
 *
 * Principles (ui-ux-pro-max, "Standard" motion tier for luxury/editorial):
 *   • opacity + translate/scale/clip only — no layout properties animated
 *   • ease-out on enter, small offsets (≤24px), short stagger (70ms, capped)
 *   • `translate`/`scale` properties rather than `transform`, so reveals never
 *     fight the existing hover lifts that use `transform`
 *   • nothing is hidden unless JS is running AND the element starts below
 *     the fold; the page-hero entrance is pure CSS and always ends visible
 *   • everything is disabled under prefers-reduced-motion
 *
 * To undo: delete this file + assets/js/motion.js and their lines in
 * inc/enqueue.php.
 */

:root {
    --pg-m-ease: cubic-bezier(.22, 1, .36, 1);   /* expo-like ease-out */
    --pg-m-dur:  .85s;
}

@keyframes pg-m-rise   { from { opacity: 0; translate: 0 22px; } to { opacity: 1; translate: 0 0; } }
@keyframes pg-m-fade   { from { opacity: 0; } to { opacity: 1; } }
@keyframes pg-m-unveil { from { clip-path: inset(10% 6% 10% 6% round 4px); opacity: 0; } to { clip-path: inset(0 0 0 0 round 4px); opacity: 1; } }
@keyframes pg-m-settle { from { scale: 1.12; } to { scale: 1; } }
@keyframes pg-m-drift  { from { scale: 1.08; } to { scale: 1; } }
@keyframes pg-m-sheen  { from { translate: -130% 0; } to { translate: 130% 0; } }

@media (prefers-reduced-motion: no-preference) {

    /* ── 1. Page-hero entrance (CSS only; the home slider has its own) ── */
    body:not(.home) #main-content h1 {
        animation: pg-m-rise 1s var(--pg-m-ease) both .08s;
    }
    body:not(.home) #main-content :where([class*="-hero"]) :where(.pg-eyebrow, .pg-maison-kicker, [class*="-eyebrow"], [class*="-kicker"]) {
        animation: pg-m-fade .9s var(--pg-m-ease) both 0s;
    }
    body:not(.home) #main-content :where([class*="-hero"]) :where(.pg-lead, .pg-maison-lead, [class*="-hero-desc"], [class*="-hero-sub"], [class*="-hero-text"] > p) {
        animation: pg-m-rise 1s var(--pg-m-ease) both .22s;
    }
    body:not(.home) #main-content :where([class*="-hero"]) :where([class*="-hero-actions"], [class*="-hero-ctas"], [class*="-hero-stats"]) {
        animation: pg-m-rise 1s var(--pg-m-ease) both .36s;
    }
    /* Slow settle on photographic hero backgrounds */
    :where(.pg-maison-hero-media) { animation: pg-m-drift 2.4s var(--pg-m-ease) both; }

    /* ── 2. Scroll reveal (classes set by motion.js) ── */
    html.pg-m .pg-m-hide { opacity: 0; }
    html.pg-m .pg-m-in {
        animation: pg-m-rise var(--pg-m-dur) var(--pg-m-ease) both;
        animation-delay: var(--pg-m-delay, 0ms);
    }
    html.pg-m .pg-m-in[data-motion="image"] { animation-name: pg-m-unveil; animation-duration: 1.2s; }
    html.pg-m .pg-m-in[data-motion="image"] img { animation: pg-m-settle 1.6s var(--pg-m-ease) both; animation-delay: var(--pg-m-delay, 0ms); }

    /* ── 3. Micro-interactions ── */
    .pg-btn { touch-action: manipulation; }
    .pg-btn:active { scale: .97; transition: scale .12s ease; }
    .pg-btn-gold { position: relative; overflow: hidden; isolation: isolate; }
    .pg-btn-gold::after {
        content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
        background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%);
        translate: -130% 0;
    }
    .pg-btn-gold:hover::after,
    .pg-btn-gold:focus-visible::after { animation: pg-m-sheen .9s var(--pg-m-ease) both; }

    /* Smooth in-page anchors (e.g. "Discover Our Story") */
    html { scroll-behavior: smooth; }
}

@media (prefers-reduced-motion: reduce) {
    html.pg-m .pg-m-hide { opacity: 1 !important; }
}
@media print {
    .pg-m-hide { opacity: 1 !important; }
}


/* ---- css/pages/product.css ---- */
/* =============================================================
   PATTERN — product.css  (Malabar-style single product page)
   Last updated: April 2026
   ============================================================= */

/* ── Layout ── */
.pg-product-layout-malabar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

/* ── Gallery wrapper ── */
.pg-gallery-wrap {
    display: flex;
    flex-direction: column;
    min-width: 0; /* Prevents thumbnails from breaking the grid container width */
}

/* ── Horizontal thumbnail strip ── */
.pg-thumbs-h {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0; /* Prevents breaking the flex column width */
}

.pg-thumbs-h-arrow {
    width: 32px; height: 68px;
    border: .5px solid rgba(201,168,76,.2);
    background: rgba(201,168,76,.05);
    border-radius: 4px;
    cursor: pointer;
    color: var(--gold);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .2s;
}
.pg-thumbs-h-arrow:hover { background: rgba(201,168,76,.12); }

.pg-thumbs-h-track {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none; /* Firefox */
    min-width: 0; /* Ensures the scrolling track itself yields to parent width */
}
.pg-thumbs-h-track::-webkit-scrollbar { display: none; }

.pg-thumb-h {
    width: 72px; height: 72px;
    border: 1.5px solid rgba(26,24,20,.10);
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color .22s, box-shadow .22s, transform .18s;
    background: #FFFFFF;
    box-shadow: 0 2px 8px rgba(26,24,20,.06);
}
.pg-thumb-h img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
}
.pg-thumb-h.is-active,
.pg-thumb-h:hover {
    border-color: var(--gold, #C9A84C);
    box-shadow: 0 0 0 2px rgba(201,168,76,.20);
    transform: translateY(-2px);
}

/* ── Main gallery stage ── */
.pg-gallery-stage {
    width: 100%;
    position: relative;
    margin-bottom: 12px;
}

.pg-gallery-main-v {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: linear-gradient(145deg, #FFFFFF 0%, #FAF8F3 100%);
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    cursor: zoom-in;
    border: 1px solid rgba(201,168,76,.18);
    box-shadow: 0 8px 40px rgba(26,24,20,.09), 0 2px 8px rgba(26,24,20,.05);
    transition: box-shadow 0.3s;
}
.pg-gallery-main-v:hover {
    box-shadow: 0 12px 48px rgba(26,24,20,.13), 0 0 0 2px rgba(201,168,76,.15);
}
.pg-gallery-main-v img {
    width: 100%; height: 100%;
    object-fit: contain; display: block;
}

/* Zoom lens overlay */
.pg-zoom-lens {
    display: none;
    position: absolute;
    width: 120px; height: 120px;
    border: 1.5px solid var(--gold);
    background: rgba(186,18,100,.1);
    border-radius: 4px;
    pointer-events: none;
    z-index: 10;
}

/* Zoom result panel */
.pg-zoom-result {
    display: none;
    position: absolute;
    left: calc(100% + 14px);
    top: 0;
    width: 380px;
    height: 380px;
    background-repeat: no-repeat;
    background-color: #FAF8F3;
    border: 1px solid #eaeaea;
    border-radius: 10px;
    z-index: 100;
    pointer-events: none;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

/* Gallery action row */
.pg-gallery-actions-v {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    flex-wrap: wrap;
}
.pg-gallery-counter-v {
    font-size: 11px;
    color: var(--text-muted, #7A6F64);
    margin-left: auto;
}
.pg-gallery-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    letter-spacing: .06em;
    color: var(--text-muted, #7A6F64);
    background: none;
    border: .5px solid rgba(201,168,76,.15);
    border-radius: 4px;
    padding: 5px 10px;
    cursor: pointer;
    transition: color .2s, border-color .2s;
    text-decoration: none;
}
.pg-gallery-action-btn:hover {
    color: var(--gold);
    border-color: rgba(201,168,76,.4);
}

/* Cert strip */
.pg-cert-strip {
    position: absolute;
    top: 12px; left: 12px;
    z-index: 5;
    display: flex; gap: 6px;
}
.pg-cert-badge {
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 20px;
    background: rgba(250,248,243,.90);
    color: var(--gold-dark, #A8852E);
    border: 1px solid rgba(201,168,76,.40);
    font-weight: 700;
    backdrop-filter: blur(4px);
}

/* ─────────────────────────────────────────────────────
   PRODUCT SUMMARY
───────────────────────────────────────────────────── */
.pg-product-main {
    background: linear-gradient(180deg, #FAF8F3 0%, #FFFFFF 100%);
    padding: 48px 0 64px;
}
.pg-product-summary {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: sticky;
    top: 90px;
    background: #FFFFFF;
    border-radius: 12px;
    border: 1px solid rgba(26,24,20,.07);
    border-left: 3px solid var(--gold, #C9A84C);
    padding: 32px 28px;
    box-shadow: 0 4px 32px rgba(26,24,20,.07);
}
.pg-product-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.pg-product-badge {
    font-size: 10px;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
}
.pg-badge-new  { background: rgba(201,168,76,.12); color: var(--gold); border: .5px solid rgba(201,168,76,.25); }
.pg-badge-cert { background: rgba(100,200,100,.08); color: #2a7a2a; border: .5px solid rgba(100,200,100,.2); }
.pg-product-sku { font-size: 11px; color: var(--text-muted, #7A6F64); }
.pg-product-title {
    font-family: var(--font-serif);
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 500;
    line-height: 1.25;
    color: var(--text-bright, #1A1814);
    margin: 0 0 12px;
}
.pg-product-rating-row {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 8px; margin-bottom: 16px; font-size: 13px;
}
.pg-stars-display { color: var(--gold); }
.pg-reviews-link { color: var(--text-muted, #7A6F64); text-decoration: underline; text-underline-offset: 2px; }
.pg-reviews-link:hover { color: var(--gold); }
.pg-rating-sep { color: var(--text-muted, #7A6F64); }
.pg-in-stock { color: #5a9a5a; font-size: 12px; letter-spacing: .04em; }
.pg-out-of-stock { color: #c0392b; }

/* ─────────────────────────────────────────────────────
   PRICE BLOCK
───────────────────────────────────────────────────── */
.pg-price-block { margin-bottom: 20px; }
.pg-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 4px;
}
.pg-price-current {
    font-family: var(--font-serif, 'Playfair Display', serif);
    font-size: 32px;
    font-weight: 600;
    color: var(--text-bright, #1A1814);
    letter-spacing: -0.02em;
}
.pg-price-original {
    font-size: 16px;
    color: var(--text-dim, #A09590);
    text-decoration: line-through;
}
.pg-price-save {
    font-size: 11px;
    font-weight: 700;
    color: #2a7a3a;
    letter-spacing: .06em;
    background: rgba(42,122,58,.08);
    padding: 2px 8px;
    border-radius: 20px;
}
.pg-price-incl-vat {
    font-size: 11px;
    color: var(--text-muted, #7A6F64);
    letter-spacing: .04em;
    margin-bottom: 10px;
}

/* Price breakdown */
.pg-price-breakdown {
    border: .5px solid rgba(201,168,76,.15);
    border-radius: 8px;
    overflow: hidden;
}
.pg-breakdown-toggle {
    width: 100%;
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px;
    background: rgba(201,168,76,.05);
    border: none; cursor: pointer;
    color: var(--gold); font-size: 12px; letter-spacing: .06em;
    text-transform: uppercase; font-weight: 600;
    transition: background .2s;
}
.pg-breakdown-toggle:hover { background: rgba(201,168,76,.08); }
.pg-breakdown-chevron { transition: transform .25s; }
.pg-breakdown-chevron.is-open { transform: rotate(180deg); }

.pg-breakdown-table-wrap {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}
.pg-breakdown-table-wrap.is-open { max-height: 400px; }

.pg-breakdown-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}
.pg-breakdown-table td {
    padding: 8px 14px;
    border-bottom: .5px solid rgba(26,24,20,.07);
    color: var(--text-muted, #7A6F64);
}
.pg-breakdown-table td:last-child { text-align: right; }
.pg-bd-val { color: var(--text-bright, #1A1814); font-weight: 500; }
.pg-bd-vat td { color: var(--text-muted); font-style: italic; }
.pg-bd-total td {
    color: var(--gold) !important;
    font-weight: 700;
    font-size: 13px;
    border-top: .5px solid rgba(201,168,76,.2);
    border-bottom: none;
}
.pg-breakdown-note {
    font-size: 10px;
    color: var(--text-muted, #7A6F64);
    padding: 8px 14px 10px;
    margin: 0;
    border-top: .5px solid rgba(26,24,20,.06);
}

/* ─────────────────────────────────────────────────────
   OPTION GROUPS
───────────────────────────────────────────────────── */
.pg-option-group { margin-bottom: 18px; }
.pg-option-label-row {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 8px;
}
.pg-option-label {
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-bright, #1A1814);
    font-weight: 600;
}
.pg-option-selected { font-size: 12px; color: var(--gold); }
.pg-size-guide-link {
    font-size: 11px; color: var(--gold); background: none; border: none;
    cursor: pointer; letter-spacing: .04em; text-decoration: underline;
    text-underline-offset: 2px;
}

/* Metal colour dots */
.pg-metal-dots {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.pg-metal-dot-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: none;
    border: 1.5px solid rgba(26,24,20,.08);
    border-radius: 8px;
    padding: 8px 10px;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    min-width: 62px;
}
.pg-metal-dot-btn:hover:not(.is-unavailable) { border-color: rgba(201,168,76,.4); background: rgba(201,168,76,.05); }
.pg-metal-dot-btn.is-active { border-color: var(--gold); background: rgba(201,168,76,.07); }
.pg-metal-dot-btn.is-unavailable { opacity: .35; cursor: not-allowed; }
.pg-metal-dot-circle {
    width: 24px; height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(26,24,20,.10);
    display: block;
}
.pg-metal-dot-label { font-size: 10px; color: var(--text-muted, #7A6F64); letter-spacing: .04em; white-space: nowrap; }
.pg-metal-dot-btn.is-active .pg-metal-dot-label { color: var(--gold); }

/* Karat selector */
.pg-karat-selector { display: flex; gap: 8px; }
.pg-karat-btn {
    flex: 1;
    padding: 8px 12px;
    border: 1.5px solid rgba(201,168,76,.2);
    border-radius: 6px;
    background: #FFFFFF;
    color: var(--text-muted, #7A6F64);
    font-size: 12px;
    letter-spacing: .08em;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
    text-align: center;
}
.pg-karat-btn:hover { border-color: rgba(201,168,76,.4); color: var(--text-bright, #1A1814); }
.pg-karat-btn.is-active { border-color: var(--gold); background: rgba(201,168,76,.1); color: var(--gold); }

/* Size options */
.pg-size-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.pg-size-opt {
    width: 46px; height: 40px;
    border: 1px solid rgba(201,168,76,.2);
    border-radius: 6px;
    background: transparent;
    color: var(--text-muted, #7A6F64);
    font-size: 12px;
    cursor: pointer;
    transition: all .2s;
}
.pg-size-opt:hover { border-color: rgba(201,168,76,.5); color: var(--text-bright, #1A1814); }
.pg-size-opt.is-active { border-color: var(--gold); background: rgba(201,168,76,.1); color: var(--gold); }

/* Engraving input */
.pg-engraving-input {
    width: 100%;
    padding: 10px 14px;
    background: #FFFFFF;
    border: .5px solid rgba(201,168,76,.2);
    border-radius: 6px;
    color: var(--text-bright, #1A1814);
    font-family: var(--font-body);
    font-size: 13px;
    box-sizing: border-box;
    transition: border-color .2s;
}
.pg-engraving-input:focus {
    outline: none;
    border-color: rgba(201,168,76,.5);
    background: rgba(201,168,76,.05);
}
.pg-char-count { font-size: 11px; color: var(--text-muted, #7A6F64); }

/* Divider */
.pg-divider { border: none; border-top: .5px solid rgba(201,168,76,.1); margin: 18px 0; }

/* ─────────────────────────────────────────────────────
   EMIRATES DELIVERY CHECKER
───────────────────────────────────────────────────── */
.pg-delivery-checker {
    background: #FFFFFF;
    border: .5px solid rgba(201,168,76,.12);
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 16px;
}
.pg-delivery-checker-head {
    display: flex; align-items: center; gap: 8px;
    font-size: 12px; color: var(--text-bright, #1A1814);
    font-weight: 600; letter-spacing: .04em;
    margin-bottom: 10px;
}
.pg-delivery-checker-row { display: flex; gap: 8px; }
.pg-emirate-select {
    flex: 1;
    padding: 8px 12px;
    background: #FFFFFF;
    border: .5px solid rgba(201,168,76,.2);
    border-radius: 6px;
    color: var(--text-bright, #1A1814);
    font-family: var(--font-body);
    font-size: 13px;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23D4AF37' stroke-width='1.5'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px;
}
.pg-emirate-select option { background: #FFFFFF; color: var(--text-bright, #1A1814); }
.pg-delivery-check-btn {
    padding: 8px 18px;
    background: var(--gold-brand);
    border: none; border-radius: 6px;
    color: #000; font-size: 12px; font-weight: 700;
    letter-spacing: .06em; cursor: pointer;
    transition: opacity .2s;
    white-space: nowrap;
}
.pg-delivery-check-btn:hover { opacity: .88; }
.pg-delivery-result {
    margin-top: 10px;
    display: flex; align-items: center; gap: 8px;
    font-size: 12px; color: var(--text-bright, #1A1814);
    padding: 8px 10px;
    background: rgba(100,180,100,.06);
    border: .5px solid rgba(100,180,100,.2);
    border-radius: 6px;
}

/* ─────────────────────────────────────────────────────
   EMI PANEL
───────────────────────────────────────────────────── */
.pg-emi-panel {
    border: .5px solid rgba(201,168,76,.12);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 18px;
}
.pg-emi-toggle {
    width: 100%;
    display: flex; align-items: center; gap: 8px;
    padding: 12px 14px;
    background: rgba(201,168,76,.05);
    border: none; cursor: pointer;
    color: var(--text-bright, #1A1814); font-size: 12px; font-weight: 600;
    letter-spacing: .04em; text-align: left;
    transition: background .2s;
}
.pg-emi-toggle:hover { background: rgba(201,168,76,.08); }
.pg-emi-chevron { margin-left: auto; transition: transform .25s; color: var(--text-muted, #7A6F64); }
.pg-emi-chevron.is-open { transform: rotate(180deg); }
.pg-emi-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
}
.pg-emi-content.is-open { max-height: 300px; }
.pg-emi-subtitle { font-size: 11px; color: var(--text-muted, #7A6F64); padding: 10px 14px 0; margin: 0; }
.pg-emi-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 10px 14px;
}
.pg-emi-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    border: .5px solid rgba(201,168,76,.15);
    border-radius: 6px;
    padding: 10px 8px;
    background: #FFFFFF;
}
.pg-emi-months { font-size: 11px; color: var(--text-muted, #7A6F64); }
.pg-emi-amount { font-size: 13px; font-weight: 700; color: var(--gold); }
.pg-emi-note { font-size: 10px; color: var(--text-muted, #7A6F64); padding: 0 14px 12px; margin: 0; line-height: 1.5; }

/* ─────────────────────────────────────────────────────
   QTY ROW + CART BUTTONS
───────────────────────────────────────────────────── */
.pg-qty-row {
    display: flex; gap: 10px; align-items: stretch;
    margin-bottom: 10px;
}
.pg-qty-stepper,
.pg-qty-stepper input[type="number"] {
    height: 50px !important;
}
.pg-add-to-cart {
    flex: 1;
    height: 52px;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: #FFFFFF;
    border: 1.5px solid var(--gold, #C9A84C);
    border-radius: 6px;
    color: var(--gold-dark, #A8852E);
    font-family: var(--font-body);
    font-size: 0.68rem; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all .25s;
    box-shadow: 0 2px 8px rgba(201,168,76,.12);
}
.pg-add-to-cart:hover {
    background: var(--gold, #C9A84C);
    color: #1A1814;
    box-shadow: 0 6px 20px rgba(201,168,76,.28);
    transform: translateY(-1px);
}
.pg-buy-now {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; height: 52px;
    background: linear-gradient(135deg, var(--gold, #C9A84C) 0%, var(--gold-dark, #A8852E) 100%);
    border: none; border-radius: 6px;
    color: #1A1814;
    font-family: var(--font-body);
    font-size: 0.68rem; font-weight: 800; letter-spacing: .14em;
    text-transform: uppercase;
    cursor: pointer; text-decoration: none;
    transition: all .25s;
    margin-bottom: 14px;
    box-shadow: 0 4px 20px rgba(201,168,76,.30);
}
.pg-buy-now:hover {
    box-shadow: 0 8px 28px rgba(201,168,76,.42);
    transform: translateY(-2px);
    color: #1A1814;
}

/* ─────────────────────────────────────────────────────
   WHATSAPP SERVICES STRIP
───────────────────────────────────────────────────── */
.pg-services-strip {
    display: flex;
    justify-content: space-between;
    gap: 4px;
    border: .5px solid rgba(201,168,76,.1);
    border-radius: 8px;
    padding: 12px 8px;
    background: rgba(201,168,76,.05);
    margin-bottom: 18px;
}
.pg-service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    flex: 1;
    text-decoration: none;
    padding: 6px 4px;
    border-radius: 6px;
    transition: background .2s;
    cursor: pointer;
    background: none; border: none;
}
.pg-service-item:hover { background: rgba(201,168,76,.06); }
.pg-service-icon { color: var(--gold); display: flex; }
.pg-service-label { font-size: 10px; color: var(--text-muted, #7A6F64); letter-spacing: .03em; text-align: center; }
.pg-service-item:hover .pg-service-label { color: var(--text-bright, #1A1814); }

/* ─────────────────────────────────────────────────────
   TRUST BADGES
───────────────────────────────────────────────────── */
.pg-trust-badges {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 20px;
}
.pg-trust-badge {
    display: flex; flex-direction: column; align-items: center;
    gap: 6px; text-align: center;
    padding: 14px 8px;
    border: 1px solid rgba(201,168,76,.15);
    border-radius: 8px;
    background: linear-gradient(145deg, #FFFFFF 0%, #FAF8F3 100%);
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.pg-trust-badge:hover {
    border-color: rgba(201,168,76,.35);
    box-shadow: 0 4px 16px rgba(201,168,76,.12);
    transform: translateY(-2px);
}
.pg-trust-icon {
    font-size: 20px;
    width: 40px; height: 40px;
    background: var(--gold-xlight, #F5ECD5);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.pg-trust-badge span:last-child { font-size: 9.5px; color: var(--text-muted, #7A6F64); line-height: 1.3; font-weight: 500; }

/* ─────────────────────────────────────────────────────
   OUT OF STOCK
───────────────────────────────────────────────────── */
.pg-out-of-stock-notice {
    background: rgba(192,57,43,.06);
    border: .5px solid rgba(192,57,43,.2);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 18px;
}
.pg-out-of-stock-notice p { font-size: 13px; color: #c0392b; margin: 0; }

/* ─────────────────────────────────────────────────────
   LIGHTBOX
───────────────────────────────────────────────────── */
.pg-lightbox {
    position: fixed; inset: 0;
    background: rgba(26,24,20,.88);
    z-index: 9999;
    display: flex !important;
    align-items: center; justify-content: center;
}
.pg-lightbox[style*="display:none"] { display: none !important; }
.pg-lightbox-close {
    position: absolute; top: 30px; right: 30px;
    font-size: 32px; color: var(--text-muted, #7A6F64);
    background: rgba(0,0,0,0.4); border: .5px solid rgba(255,255,255,0.15); border-radius: 50%;
    cursor: pointer;
    line-height: 1; transition: all .2s; z-index: 999;
    width: 48px; height: 48px;
    display: flex; align-items: center; justify-content: center;
}
.pg-lightbox-close:hover { color: var(--text-bright); background: rgba(0,0,0,0.8); border-color: rgba(201,168,76,0.5); transform: scale(1.05); }
.pg-lightbox-img-wrap {
    max-width: 90vw; max-height: 90vh;
    display: flex; align-items: center; justify-content: center;
}
.pg-lightbox-img {
    max-width: 100%; max-height: 90vh;
    object-fit: contain; border-radius: 4px;
}
.pg-lightbox-prev,
.pg-lightbox-next {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(26,24,20,.07);
    border: .5px solid rgba(26,24,20,.10);
    border-radius: 50%;
    width: 48px; height: 48px;
    display: flex; align-items: center; justify-content: center;
    color: var(--text-bright); cursor: pointer; transition: background .2s;
    z-index: 10;
}
.pg-lightbox-prev { left: 24px; }
.pg-lightbox-next { right: 24px; }
.pg-lightbox-prev:hover, .pg-lightbox-next:hover { background: rgba(255,255,255,.18); }
.pg-lightbox-counter {
    position: absolute; bottom: 20px;
    font-size: 13px; color: var(--text-muted); letter-spacing: .06em;
}

/* ─────────────────────────────────────────────────────
   TABS SECTION
───────────────────────────────────────────────────── */
.pg-tabs-section { padding: 60px 0; background: #FAF8F3; border-top: 1px solid rgba(26,24,20,.06); }
.pg-tabs-nav {
    display: flex; gap: 0;
    border-bottom: .5px solid rgba(201,168,76,.15);
    margin-bottom: 32px;
    overflow-x: auto;
    scrollbar-width: none;
}
.pg-tabs-nav::-webkit-scrollbar { display: none; }
.pg-tab-btn {
    padding: 14px 24px;
    background: none; border: none;
    border-bottom: 2px solid transparent;
    color: var(--text-muted, #7A6F64);
    font-family: var(--font-body);
    font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
    cursor: pointer; transition: color .2s, border-color .2s;
    white-space: nowrap;
    margin-bottom: -1px;
}
.pg-tab-btn:hover { color: var(--text-bright, #1A1814); }
.pg-tab-btn.is-active { color: var(--gold); border-bottom-color: var(--gold); }
.pg-tab-panel { display: none; }
.pg-tab-panel.is-active { display: block; }

/* Description tab */
.pg-tab-desc-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 48px;
}
.pg-tab-desc-text { font-size: 14px; color: var(--text-muted, #7A6F64); line-height: 1.8; }
.pg-tab-desc-text h3 { font-family: var(--font-serif); font-size: 22px; color: var(--text-bright, #1A1814); margin-bottom: 12px; }
.pg-tab-desc-features { display: flex; flex-direction: column; gap: 20px; }
.pg-desc-feature { display: grid; grid-template-columns: 36px 1fr; gap: 0 12px; }
.pg-desc-feature-icon { font-size: 20px; grid-row: span 2; padding-top: 2px; }
.pg-desc-feature h5 { font-size: 13px; font-weight: 600; color: var(--text-bright, #1A1814); margin: 0 0 4px; }
.pg-desc-feature p { font-size: 12px; color: var(--text-muted, #7A6F64); margin: 0; line-height: 1.5; }

/* Specs tab */
.pg-specs-full-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.pg-specs-group h4 { font-family: var(--font-serif); font-size: 16px; color: var(--gold-dark, #A8852E); margin-bottom: 14px; letter-spacing: 0.04em; }
.pg-specs-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pg-specs-table td { padding: 10px 12px; border-bottom: 1px solid rgba(26,24,20,.06); color: var(--text-mid, #3D3730); background: #FFFFFF; }
.pg-specs-table tr:hover td { background: var(--gold-xlight, #F5ECD5); }
.pg-specs-table td:first-child { color: var(--text-muted, #7A6F64); font-weight: 600; width: 45%; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.pg-cert-download { margin-top: 32px; }
.pg-cert-card {
    display: flex; align-items: center; gap: 16px;
    padding: 16px 20px;
    border: .5px solid rgba(201,168,76,.2);
    border-radius: 8px; background: #FFFFFF;
}
.pg-cert-card-icon { font-size: 28px; }
.pg-cert-card-info h5 { font-size: 13px; font-weight: 600; color: var(--text-bright, #1A1814); margin: 0 0 3px; }
.pg-cert-card-info p { font-size: 12px; color: var(--text-muted, #7A6F64); margin: 0; }

/* Delivery tab */
.pg-delivery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.pg-delivery-card { padding: 20px; border: .5px solid rgba(26,24,20,.06); border-radius: 8px; }
.pg-delivery-icon { font-size: 24px; margin-bottom: 10px; }
.pg-delivery-card h4 { font-size: 14px; font-weight: 600; color: var(--text-bright, #1A1814); margin: 0 0 8px; }
.pg-delivery-card p { font-size: 13px; color: var(--text-muted, #7A6F64); margin: 0; line-height: 1.6; }

/* ─────────────────────────────────────────────────────
   STICKY BAR
───────────────────────────────────────────────────── */
.pg-sticky-bar {
    position: fixed; bottom: 0; left: 0; right: 0;
    background: rgba(250,248,243,.97);
    border-top: 2px solid var(--gold, #C9A84C);
    z-index: 1000;
    transform: translateY(100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    backdrop-filter: blur(16px);
    box-shadow: 0 -4px 24px rgba(26,24,20,.10);
}
.pg-sticky-bar.is-visible { transform: translateY(0); }
.pg-sticky-bar-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; padding: 12px 24px; max-width: 1440px; margin: 0 auto;
}
.pg-sticky-bar-info { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; }
.pg-sticky-bar-img { width: 44px; height: 44px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
.pg-sticky-bar-name { font-size: 13px; font-weight: 600; color: var(--text-bright, #1A1814); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; }
.pg-sticky-bar-price { font-size: 15px; font-weight: 700; color: var(--text-bright, #1A1814); font-family: var(--font-serif); margin: 0; }
.pg-sticky-bar-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.pg-sticky-add-to-cart {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 10px 18px;
    border: 1.5px solid var(--gold);
    border-radius: 6px; background: transparent;
    color: var(--gold); font-size: 12px; font-weight: 600;
    letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
    transition: background .2s;
}
.pg-sticky-add-to-cart:hover { background: rgba(201,168,76,.1); }
.pg-sticky-buy-now {
    display: inline-flex; align-items: center;
    padding: 10px 20px;
    background: var(--gold-brand); border-radius: 6px;
    color: #000; font-size: 12px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    text-decoration: none; cursor: pointer;
    transition: opacity .2s;
}
.pg-sticky-buy-now:hover { opacity: .88; }
.pg-sticky-whatsapp {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(37,211,102,.4);
    border-radius: 6px; background: rgba(37,211,102,.08);
    color: #1a9e4a; text-decoration: none;
    font-size: 11px; font-weight: 700; letter-spacing: .06em;
    transition: all .2s;
    white-space: nowrap;
}
.pg-sticky-whatsapp span { display: inline; }
.pg-sticky-whatsapp:hover { background: rgba(37,211,102,.15); }

/* Related product rows */
.pg-row-products { padding: 60px 0; }
.pg-row-products-head {
    display: flex; align-items: flex-end; justify-content: space-between;
    margin-bottom: 28px;
}
.pg-row-products-titles { display: flex; flex-direction: column; gap: 4px; }
.pg-row-products-title {
    font-family: var(--font-serif);
    font-size: clamp(20px, 2.5vw, 26px);
    font-weight: 500; color: var(--text-bright, #1A1814); margin: 0;
}
.pg-row-view-all {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
    color: var(--gold); text-decoration: none;
    border-bottom: .5px solid transparent;
    transition: border-color .2s;
}
.pg-row-view-all:hover { border-bottom-color: var(--gold); }
.pg-4col-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none; margin: 0; padding: 0;
}

/* =============================================================
   ACCORDIONS & CAROUSELS (NEW MALABAR STYLE)
   ============================================================= */
.pg-details-accordion details summary::-webkit-details-marker,
.pg-faq-accordion details summary::-webkit-details-marker {
    display: none;
}
.pg-details-accordion details[open] summary,
.pg-faq-accordion details[open] summary {
    margin-bottom: 16px;
}
.pg-scrolling-carousel::-webkit-scrollbar {
    display: none;
}
.pg-scrolling-carousel {
    -ms-overflow-style: none;
}

/* =============================================================
   MOBILE RESPONSIVE  (≤ 1023px)
   ============================================================= */
@media (max-width: 1023px) {
    .pg-product-layout-malabar { grid-template-columns: 1fr; gap: 32px; }
    .pg-gallery-wrap { position: static; }
    .pg-zoom-result { display: none !important; } /* no zoom on tablet */
    .pg-tab-desc-grid { grid-template-columns: 1fr; }
    .pg-specs-full-grid { grid-template-columns: 1fr; gap: 24px; }
    .pg-4col-grid { grid-template-columns: repeat(2, 1fr); }
    .pg-trust-badges { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 767px) {
    .pg-gallery-wrap { flex-direction: column-reverse; }
    .pg-thumbs-v {
        flex-direction: row;
        width: 100%; overflow-x: auto;
        scrollbar-width: none;
    }
    .pg-thumbs-v::-webkit-scrollbar { display: none; }
    .pg-thumbs-v-track { flex-direction: row; max-height: none; overflow-x: auto; }
    .pg-thumbs-v-up, .pg-thumbs-v-down { display: none; }
    .pg-thumb-v { width: 56px; height: 56px; }
    .pg-emi-options { grid-template-columns: repeat(3,1fr); }
    .pg-delivery-grid { grid-template-columns: 1fr; }
    .pg-sticky-bar-info { display: none; }
    .pg-sticky-bar-inner { justify-content: center; }
    .pg-services-strip { gap: 0; }
    .pg-service-label { display: none; }
    .pg-service-item { padding: 8px; min-width: 40px; }
}

@media (max-width: 479px) {
    .pg-price-current { font-size: 24px; }
    .pg-product-title { font-size: 20px; }
    .pg-metal-dots { gap: 6px; }
    .pg-metal-dot-btn { min-width: 52px; padding: 6px 7px; }
    .pg-karat-selector { flex-wrap: wrap; }
    .pg-4col-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
    .pg-trust-badges { grid-template-columns: repeat(2,1fr); }
    .pg-emi-options { grid-template-columns: 1fr 1fr 1fr; }
    .pg-sticky-add-to-cart span { display: none; }
}

/* ══════════════════════════════════════════════════
   WHATSAPP ENQUIRE BUTTON — Product Page
   ══════════════════════════════════════════════════ */
.pg-wa-enquire-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 400px;
  padding: 13px 20px;
  background: #25D366;
  color: #FFFFFF;
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 4px;
  margin-bottom: 16px;
  transition: background 0.22s, box-shadow 0.22s, transform 0.15s;
  box-shadow: 0 2px 12px rgba(37,211,102,.22);
}
.pg-wa-enquire-btn:hover {
  background: #1ebe5d;
  color: #FFFFFF;
  box-shadow: 0 6px 20px rgba(37,211,102,.32);
  transform: translateY(-1px);
}
.pg-wa-enquire-btn svg {
  flex-shrink: 0;
}

/* Fix global.css var(--black) on product badges */
.pg-prod-badge.sale { background: var(--gold, #C9A84C); color: #1A1814; }
.pg-prod-badge.new  { background: #1A1814; color: rgba(255,255,255,.9); }

/* ══════════════════════════════════════════════════
   PREMIUM PRODUCT DETAILS — Light Theme Enhancement
   ══════════════════════════════════════════════════ */

/* Breadcrumb */
.pg-breadcrumb {
  background: #FAF8F3;
  border-bottom: 1px solid rgba(26,24,20,.07);
  padding: 14px 0;
}
.pg-breadcrumb a { color: var(--text-muted,#7A6F64); font-size: 12px; letter-spacing: .04em; transition: color .2s; }
.pg-breadcrumb a:hover { color: var(--gold-dark,#A8852E); }
.pg-bc-sep { color: var(--text-dim,#A09590); margin: 0 6px; font-size: 11px; }
.pg-breadcrumb-current { font-size: 12px; color: var(--text-bright,#1A1814); font-weight: 600; }

/* Product title */
.pg-product-title {
  font-family: var(--font-serif,'Playfair Display',serif);
  font-size: clamp(22px,3vw,30px);
  font-weight: 500;
  line-height: 1.25;
  color: var(--text-bright,#1A1814);
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}

/* Product code / SKU */
.pg-product-sku {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--text-muted,#7A6F64);
  font-weight: 500;
  letter-spacing: .06em;
  background: var(--gold-xlight,#F5ECD5);
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 14px;
}

/* Product info icon grid */
.pg-product-details-section {
  background: #FAF8F3;
  border-radius: 12px;
  padding: 32px;
  margin: 0 24px 48px !important;
}

/* Accordion premium style */
.pg-malabar-accordion {
  border: 1px solid rgba(26,24,20,.08) !important;
  border-radius: 8px !important;
  overflow: hidden;
  transition: box-shadow .2s;
}
.pg-malabar-accordion[open] {
  box-shadow: 0 4px 20px rgba(26,24,20,.07);
}
.pg-malabar-accordion summary {
  background: linear-gradient(135deg,#FFFFFF 0%,#FAF8F3 100%) !important;
  border-bottom: 1px solid rgba(201,168,76,.12) !important;
  padding: 16px 20px !important;
  transition: background .2s;
}
.pg-malabar-accordion summary:hover { background: var(--gold-xlight,#F5ECD5) !important; }
.pg-malabar-accordion > div { padding: 16px 20px !important; background: #FFFFFF; }

/* Promise section */
.pg-product-banners div[style*="fdfbf7"] {
  background: linear-gradient(135deg,#FAF8F3 0%,#F5ECD5 100%) !important;
}

/* FAQ section */
.pg-faq-section {
  background: linear-gradient(135deg,#FAF8F3 0%,#FFFFFF 100%) !important;
  border: 1px solid rgba(26,24,20,.06) !important;
}

/* Related / Recently Viewed carousels */
.pg-scrolling-carousel > div {
  transition: transform .22s, box-shadow .22s;
}
.pg-scrolling-carousel > div:hover {
  transform: translateY(-4px);
}

/* Carousel section headings */
.pg-carousel-section h2 {
  color: var(--text-bright,#1A1814) !important;
  font-weight: 400 !important;
}

/* Highlights section */
div[style*="background:#fcfcfc"] {
  background: linear-gradient(135deg,#FAF8F3 0%,#FFFFFF 100%) !important;
  border: 1px solid rgba(201,168,76,.14) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 16px rgba(26,24,20,.06) !important;
}

/* Product information section */
.pg-product-details-section h2 { color: var(--text-bright,#1A1814); }
.pg-product-details-section p { color: var(--text-muted,#7A6F64); }

/* Price breakup dropdown */
.pg-product-summary details > div {
  background: #FFFFFF !important;
  border-color: rgba(26,24,20,.08) !important;
  box-shadow: 0 8px 32px rgba(26,24,20,.10) !important;
}

/* Services strip */
.pg-services-strip {
  background: linear-gradient(135deg,#FAF8F3 0%,#FFFFFF 100%) !important;
  border: 1px solid rgba(201,168,76,.14) !important;
}
.pg-service-item:hover { background: var(--gold-xlight,#F5ECD5) !important; }
.pg-service-label { color: var(--text-muted,#7A6F64) !important; }

/* Delivery checker */
.pg-delivery-checker {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,24,20,.08) !important;
  box-shadow: 0 2px 12px rgba(26,24,20,.05);
}
.pg-emirate-select {
  background-color: #FFFFFF !important;
  color: var(--text-bright,#1A1814) !important;
  border: 1px solid rgba(26,24,20,.12) !important;
}

/* EMI panel */
.pg-emi-panel {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,24,20,.08) !important;
}
.pg-emi-toggle { background: linear-gradient(135deg,#FAF8F3 0%,#FFFFFF 100%) !important; }
.pg-emi-option { background: #FFFFFF !important; border: 1px solid rgba(201,168,76,.18) !important; }

/* Delivery cards */
.pg-delivery-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(26,24,20,.08) !important;
  transition: box-shadow .2s, transform .2s;
}
.pg-delivery-card:hover {
  box-shadow: 0 4px 16px rgba(26,24,20,.08);
  transform: translateY(-2px);
}

/* ── BNPL Widget (Tabby + Tamara) ─────────────────────────────── */
.pg-bnpl-widget {
    margin: 0 0 24px;
    border: 1px solid rgba(201,168,76,.22);
    border-radius: 10px;
    overflow: hidden;
    background: #FFFFFF;
}
.pg-bnpl-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(201,168,76,.06) 0%, rgba(201,168,76,.03) 100%);
    border-bottom: 1px solid rgba(201,168,76,.14);
}
.pg-bnpl-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--navy, #0F2336);
    flex: 1;
}
.pg-bnpl-badge {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #FFFFFF;
    background: var(--gold, #C9A84C);
    padding: 3px 10px;
    border-radius: 20px;
}
.pg-bnpl-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}
.pg-bnpl-option {
    padding: 14px 12px;
    border: none;
    border-right: 1px solid rgba(201,168,76,.12);
    background: transparent;
    cursor: pointer;
    text-align: left;
    transition: background .18s ease;
    display: flex;
    flex-direction: column;
    gap: 5px;
    position: relative;
}
.pg-bnpl-option:last-child { border-right: none; }
.pg-bnpl-option:hover { background: rgba(201,168,76,.04); }
.pg-bnpl-option.is-active {
    background: rgba(201,168,76,.07);
}
.pg-bnpl-option.is-active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    right: 10%;
    height: 2px;
    background: var(--gold, #C9A84C);
    border-radius: 2px 2px 0 0;
}
.pg-bnpl-provider-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}
.pg-bnpl-logo {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1;
}
.pg-bnpl-logo--tabby { color: #3DBEB2; }
.pg-bnpl-logo--tamara { color: #0E2B48; }
.pg-bnpl-freq {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text-dim, #6B6456);
    background: rgba(0,0,0,.04);
    padding: 2px 6px;
    border-radius: 4px;
}
.pg-bnpl-amount {
    display: flex;
    align-items: baseline;
    gap: 3px;
}
.pg-bnpl-aed {
    font-family: var(--font-serif, 'Playfair Display', serif);
    font-size: 17px;
    font-weight: 700;
    color: var(--text-bright, #1A1814);
    line-height: 1;
}
.pg-bnpl-per {
    font-size: 11px;
    color: var(--text-dim, #6B6456);
}
.pg-bnpl-meta {
    font-size: 10px;
    color: var(--text-dim, #6B6456);
    line-height: 1.3;
}
.pg-bnpl-footnote {
    font-size: 10px;
    color: var(--text-dim, #6B6456);
    padding: 8px 16px;
    border-top: 1px solid rgba(201,168,76,.1);
    margin: 0;
    background: rgba(0,0,0,.015);
    line-height: 1.5;
}
.pg-bnpl-footnote a { color: var(--gold-dark, #A8852E); text-decoration: none; }
.pg-bnpl-footnote a:hover { text-decoration: underline; }

@media (max-width: 480px) {
    .pg-bnpl-options { grid-template-columns: 1fr 1fr; }
    .pg-bnpl-option:nth-child(2) { border-right: none; }
    .pg-bnpl-option:nth-child(3) { border-right: none; border-top: 1px solid rgba(201,168,76,.12); grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 12px; }
}

/* ══════════════════════════════════════════════════════════════════════
   SPECIFICATIONS  (item 14)
   Replaces the pipe-separated prose line. Grouped, scannable, and built
   from design tokens rather than the raw hex the old markup used.
   ══════════════════════════════════════════════════════════════════════ */
.pg-spec {
    margin: 28px 0 32px;
    padding: 22px 24px;
    background: var(--soft, #F9F4EE);
    border: 1px solid var(--gold-border, rgba(201,168,76,.22));
    border-radius: 10px;
}

.pg-spec-heading {
    font-family: var(--font-serif, 'Playfair Display', Georgia, serif);
    font-size: 17px;
    font-weight: 500;
    color: var(--text-bright, #1A1814);
    margin: 0 0 18px;
    letter-spacing: .01em;
}

.pg-spec-group + .pg-spec-group { margin-top: 20px; }

.pg-spec-group-title {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 10px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--gold);           /* accessible gold — see global.css remap */
}

/* Two-column rows that collapse to stacked pairs on narrow screens.
   Tabular figures keep the values in a straight optical column. */
.pg-spec-list {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--gold-border, rgba(201,168,76,.18));
    border: 1px solid var(--gold-border, rgba(201,168,76,.18));
    border-radius: 6px;
    overflow: hidden;
}

.pg-spec-row {
    background: var(--surface, #fff);
    padding: 10px 14px;
    min-width: 0;
}

/* An odd number of rows left the final grid cell empty, showing the
   gold-border backdrop as a stray beige block. Span the last row across
   both columns when the count is odd. */
.pg-spec-row:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.pg-spec-row dt {
    font-size: 10.5px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--text-muted, #7A6F64);
    margin: 0 0 3px;
}

.pg-spec-row dd {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-bright, #1A1814);
    font-variant-numeric: tabular-nums;
    overflow-wrap: break-word;
}

.pg-spec-cert {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px solid var(--gold-border, rgba(201,168,76,.18));
    font-size: 12px;
    color: var(--text-muted, #7A6F64);
}
.pg-spec-cert .pg-icon { color: var(--gold); }

/* ── Size note ──
   Was a magenta (#ba1264) <a href="#"> with an inline onclick — off-palette,
   and an anchor pretending to be a button (no keyboard semantics). */
.pg-size-note {
    width: 100%;
    margin: 0 0 20px;
    font-size: 12px;
    color: var(--text-muted, #7A6F64);
}

.pg-size-guide-link {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: var(--gold);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}
.pg-size-guide-link:hover { color: var(--gold-dark); }
.pg-size-guide-link:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
    border-radius: 2px;
}

@media (max-width: 600px) {
    .pg-spec { padding: 18px 16px; }
    .pg-spec-list { grid-template-columns: 1fr; }
}

/* ── Ring sizing statement (replaces the size dropdown) ── */
.pg-sizing {
    margin: 20px 0 24px;
    padding: 16px 18px;
    background: var(--surface, #fff);
    border: 1px solid var(--gold-border, rgba(201,168,76,.22));
    border-radius: 8px;
}
.pg-sizing-head {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 8px;
}
.pg-sizing-head .pg-icon { color: var(--gold); }
.pg-sizing-label {
    font-size: 10.5px; font-weight: 700;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--gold);
}
.pg-sizing-value { margin: 0 0 10px; }
.pg-sizing-value strong {
    font-size: 15px; color: var(--text-bright, #1A1814); font-weight: 600;
}
.pg-sizing-alt {
    display: block; margin-top: 3px;
    font-size: 12px; color: var(--text-muted, #7A6F64);
    font-variant-numeric: tabular-nums;
}
.pg-sizing-actions {
    margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    font-size: 12.5px; color: var(--text-dim);
}
.pg-sizing-link {
    color: var(--gold); font-weight: 600; text-decoration: underline;
    text-underline-offset: 2px;
}
.pg-sizing-link:hover { color: var(--gold-dark); }
.pg-sizing-link:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }

