/* =========================================================================
   «Амбра» — a night-time perfume boutique (child of Default)

   ART DIRECTION
   Deep midnight navy (#0b1630 → #070f22), never black; text in cool
   platinum; ONE accent: a champagne hairline (#d9c28f) that draws every
   line, price and active filter. Surfaces are glass: a slightly lighter
   navy, a 1px hairline, a faint diagonal reflection that slides across on
   hover. Flacons stand in arches (the window of a perfume boutique) on a
   navy gradient with a glow behind the glass.

   Type: Playfair Display, regular weight, for headlines and prices; Manrope
   in light-to-regular for text; small spaced capitals for labels. Air over
   density: wide sections, narrow measure, slow transitions (600–1200 ms).

   Loaded after the parent's theme/blocks/chrome CSS and the modules'
   styles; everything is scoped under html.ambra so it wins over the
   defaults without !important.
   ========================================================================= */

@font-face {
    font-family: 'Ambra Playfair';
    font-style: normal;
    font-display: swap;
    font-weight: 400 900;
    src: url(../fonts/playfair-display-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Ambra Playfair';
    font-style: normal;
    font-display: swap;
    font-weight: 400 900;
    src: url(../fonts/playfair-display-latin-wght-normal.woff2) format('woff2-variations');
    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+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Ambra Manrope';
    font-style: normal;
    font-display: swap;
    font-weight: 200 800;
    src: url(/themes/default/assets/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Ambra Manrope';
    font-style: normal;
    font-display: swap;
    font-weight: 200 800;
    src: url(/themes/default/assets/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations');
    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+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Alternatives offered in the design settings; downloaded only when chosen. */
@font-face {
    font-family: 'Ambra Lora';
    font-style: normal;
    font-display: swap;
    font-weight: 400 700;
    src: url(/themes/default/assets/fonts/lora-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Ambra Lora';
    font-style: normal;
    font-display: swap;
    font-weight: 400 700;
    src: url(/themes/default/assets/fonts/lora-latin-wght-normal.woff2) format('woff2-variations');
    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+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Ambra Onest';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url(/themes/default/assets/fonts/onest-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Ambra Onest';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url(/themes/default/assets/fonts/onest-latin-wght-normal.woff2) format('woff2-variations');
    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+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Ambra Inter';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url(/themes/default/assets/fonts/inter-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'Ambra Inter';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url(/themes/default/assets/fonts/inter-latin-wght-normal.woff2) format('woff2-variations');
    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+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* The owner's design settings (theme.json → design.controls). Core prints
   the chosen values as :root{--ambra-…} after this file, so these are only
   the defaults; the tokens below derive from them. The select/toggle
   variants are at the end of this file. */
:root {
    --ambra-accent: #d9c28f;
    --ambra-silver: #d5deee;
    --ambra-font-display: 'Ambra Playfair', 'Times New Roman', Georgia, serif;
    --ambra-font-text: 'Ambra Manrope', 'Segoe UI', system-ui, sans-serif;
    --ambra-radius: 2px;
}

/* -------------------------------------------------------------------------
   1. Tokens
   ------------------------------------------------------------------------- */

html.ambra,
html.ambra .cms-tone-dark,
html.ambra .cms-on-dark,
html.ambra .cms-tone-soft {
    --am-0: #070f22;
    --am-1: #0b1630;
    --am-2: #101d3d;
    --am-3: #16264b;
    --am-4: #1f3262;
    --am-gold: var(--ambra-accent);
    --am-gold-2: color-mix(in srgb, var(--ambra-accent) 70%, #fff);
    --am-gold-a: color-mix(in srgb, var(--ambra-accent) 14%, transparent);
    --am-silver: var(--ambra-silver);
    --am-line: rgba(188, 204, 236, 0.14);
    --am-line-2: rgba(188, 204, 236, 0.28);
    --am-hair: color-mix(in srgb, var(--ambra-accent) 55%, transparent);
    --am-glass: color-mix(in srgb, var(--am-2) 62%, transparent);
    --am-r: var(--ambra-radius);

    --c-bg: var(--am-1);
    --c-surface: var(--am-2);
    --c-surface-sunk: var(--am-0);
    --c-text: #c3cde2;
    --c-text-strong: #eef2fa;
    --c-text-muted: #9aa9c6;
    --c-text-faint: #7487aa;
    --c-border: var(--am-line);
    --c-border-strong: var(--am-line-2);
    --c-accent: var(--am-gold);
    --c-accent-hover: var(--am-gold-2);
    --c-accent-soft: var(--am-gold-a);
    --c-accent-contrast: #0b1630;
    --c-link: var(--am-gold);
    --c-link-hover: var(--am-gold-2);
    --c-mark: var(--am-gold);
    --c-mark-text: var(--am-gold);
    --c-mark-soft: var(--am-gold-a);
    --c-slab: var(--am-0);
    --c-slab-text: #eef2fa;
    --c-slab-muted: #9aa9c6;
    --c-danger: #ff8aa0;
    --c-success: #7fe0b4;

    --font-ui: var(--ambra-font-text);
    --font-display: var(--ambra-font-display);
    --font-prose: var(--ambra-font-text);
    --fw-heading: 400;
    --tr-tight: -0.02em;
    --tr-snug: -0.01em;

    --r-xs: var(--ambra-radius);
    --r-sm: var(--ambra-radius);
    --r-md: var(--ambra-radius);
    --r-lg: calc(var(--ambra-radius) * 2);
    --r-btn: var(--ambra-radius);
    --w-container: 74rem;
    --w-wide: 86rem;
    --gutter: clamp(1.25rem, 4vw, 3rem);

    --shadow-sm: none;
    --shadow-md: 0 18px 40px -22px rgba(0, 0, 0, 0.8);
    --shadow-lg: 0 30px 70px -30px rgba(0, 0, 0, 0.9);
    --shadow-lift: 0 30px 70px -30px rgba(0, 0, 0, 0.9);
    --card-bg: transparent;
    --card-border: 1px solid var(--am-line);
    --card-shadow: none;
    --card-radius: var(--ambra-radius);
    --sp-sm: clamp(2rem, 1.5rem + 2vw, 3rem);
    --sp-md: clamp(3rem, 2.25rem + 3vw, 5rem);
    --sp-lg: clamp(4rem, 3rem + 4vw, 7rem);
    --shop-star: var(--am-gold);

    color-scheme: dark;
}

html.ambra { background: var(--am-0); }

html.ambra body {
    background:
        radial-gradient(60rem 36rem at 88% -8%, rgba(120, 160, 230, 0.13), transparent 62%),
        radial-gradient(46rem 30rem at -8% 28%, rgba(217, 194, 143, 0.05), transparent 62%),
        linear-gradient(180deg, var(--am-1) 0%, var(--am-0) 100%);
    background-attachment: fixed;
    color: var(--c-text);
    font-weight: 350;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

html.ambra ::selection { background: var(--am-gold); color: #0b1630; }
html.ambra :focus-visible { outline: 1px solid var(--am-gold); outline-offset: 3px; }

html.ambra h1, html.ambra h2, html.ambra h3, html.ambra h4 {
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--c-text-strong);
}

html.ambra a { text-underline-offset: 0.25em; text-decoration-thickness: 1px; }

.am-wrap {
    width: 100%;
    max-width: var(--w-wide);
    margin-inline: auto;
    padding-inline: var(--gutter);
}

.am-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    margin: 0 0 1.25rem;
    font-family: var(--font-ui);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--am-gold);
}
.am-eyebrow::before {
    content: '';
    width: 2.25rem;
    height: 1px;
    background: var(--am-gold);
    opacity: 0.8;
}

.am-mark { width: 1.1em; height: 1.55em; flex: none; }

/* -------------------------------------------------------------------------
   2. Buttons and section heads
   ------------------------------------------------------------------------- */

html.ambra .cms-btn,
.am-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 3rem;
    padding: 0.8rem 1.9rem;
    border: 1px solid transparent;
    border-radius: var(--am-r);
    font-family: var(--font-ui);
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.7s ease, color 0.7s ease, border-color 0.7s ease, box-shadow 0.9s ease;
}

html.ambra .cms-btn--primary,
.am-btn:not(.am-btn--ghost) {
    background: linear-gradient(135deg, var(--am-gold-2), var(--am-gold) 55%, color-mix(in srgb, var(--am-gold) 80%, #7a6a3a));
    color: #0b1630;
    box-shadow: 0 10px 30px -14px color-mix(in srgb, var(--am-gold) 80%, transparent);
}
html.ambra .cms-btn--primary:hover,
.am-btn:not(.am-btn--ghost):hover {
    background: linear-gradient(135deg, #fff2cf, var(--am-gold-2));
    color: #0b1630;
    box-shadow: 0 14px 40px -12px color-mix(in srgb, var(--am-gold) 90%, transparent);
}

html.ambra .cms-btn--ghost,
.am-btn--ghost {
    background: transparent;
    border-color: var(--am-line-2);
    color: var(--c-text-strong);
}
html.ambra .cms-btn--ghost:hover,
.am-btn--ghost:hover {
    border-color: var(--am-gold);
    color: var(--am-gold);
    background: var(--am-gold-a);
}

html.ambra .cms-section__head { margin-block-end: clamp(1.75rem, 3vw, 2.75rem); }
html.ambra .cms-section__head--left { max-width: none; }
html.ambra .cms-section__title {
    position: relative;
    font-size: clamp(2rem, 1.4rem + 2.4vw, 3.4rem);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -0.015em;
    padding-top: 1.5rem;
}
html.ambra .cms-section__title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 2.75rem;
    height: 1px;
    background: var(--am-gold);
}
html.ambra .cms-section__head--center .cms-section__title::before { left: 50%; transform: translateX(-50%); }
html.ambra .cms-section__subtitle {
    margin-top: 0.9rem;
    max-width: 40rem;
    font-size: 1.05rem;
    font-weight: 300;
    color: var(--c-text-muted);
}
html.ambra .cms-section__head--center .cms-section__subtitle { margin-inline: auto; }

/* -------------------------------------------------------------------------
   3. Header
   ------------------------------------------------------------------------- */

html.ambra .site-header { background: transparent; border: 0; box-shadow: none; position: relative; z-index: 30; }
html.ambra .site-header--sticky { position: sticky; top: 0; }

.am-bar {
    background: var(--am-0);
    border-bottom: 1px solid var(--am-line);
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--c-text-muted);
}
.am-bar__inner { display: flex; justify-content: space-between; gap: 1.5rem; min-height: 2.25rem; align-items: center; }
.am-bar__zone { display: flex; align-items: center; gap: 1.75rem; min-width: 0; }
.am-bar__zone--right { margin-left: auto; }
.am-bar a { color: inherit; text-decoration: none; }
.am-bar a:hover { color: var(--am-gold); }
.am-bar .hdr-el, .am-bar .hdr-text, .am-bar .hdr-links, .am-bar .hdr-phone { color: inherit; font: inherit; }
.am-bar .hdr-links { display: flex; gap: 1.5rem; }
.am-bar .cms-icon { width: 0.9rem; height: 0.9rem; color: var(--am-gold); }

.am-masthead {
    position: relative;
    background: color-mix(in srgb, var(--am-1) 82%, transparent);
    -webkit-backdrop-filter: blur(16px) saturate(1.2);
    backdrop-filter: blur(16px) saturate(1.2);
}
.am-masthead::after {
    content: '';
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--am-hair) 18%, var(--am-hair) 82%, transparent);
}
.am-masthead__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
    min-height: 5.5rem;
}
.am-side { display: flex; align-items: center; min-width: 0; }
.am-side--r { justify-content: flex-end; }
.am-side--l .hdr-el, .am-side--l form { width: 100%; max-width: 20rem; }

.am-logo {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    color: var(--c-text-strong);
    text-decoration: none;
    line-height: 1;
}
.am-logo__mark { display: inline-flex; color: var(--am-gold); }
.am-logo__mark .am-mark { width: 0.95rem; height: 1.3rem; }
.am-logo__name {
    font-family: var(--font-display);
    font-size: 1.7rem;
    font-weight: 400;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    padding-left: 0.32em;
}
.am-logo__img { height: var(--logo-h, 34px); width: auto; display: block; }
.am-logo--lg .am-logo__name { font-size: 2rem; }
.am-logo--sm { flex-direction: row; gap: 0.6rem; }
.am-logo--sm .am-logo__name { font-size: 1.15rem; padding: 0; }

.am-nav { border-top: 1px solid var(--am-line); }
.am-nav__list { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 clamp(1.5rem, 3.2vw, 3.5rem); list-style: none; margin: 0 auto; padding-block: 0.15rem; }
.am-nav__item { position: relative; }
.am-nav__link {
    position: relative;
    display: block;
    padding: 0.5rem 0;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--c-text);
    white-space: nowrap;
    transition: color 0.6s ease;
}
.am-nav__link::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.1rem;
    height: 1px;
    background: var(--am-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.8s cubic-bezier(.2, .7, .2, 1);
}
.am-nav__link:hover, .am-nav__link.is-active, .am-nav__item:focus-within > .am-nav__link { color: var(--am-gold); }
.am-nav__link:hover::after, .am-nav__link.is-active::after, .am-nav__item:focus-within > .am-nav__link::after { transform: scaleX(1); }
.am-nav__link.is-hot { color: var(--am-gold); }

.am-nav__sub {
    position: absolute;
    top: calc(100% + 0.6rem);
    left: -1.25rem;
    min-width: 13rem;
    margin: 0;
    padding: 0.9rem 1.25rem;
    list-style: none;
    background: color-mix(in srgb, var(--am-2) 92%, transparent);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    border: 1px solid var(--am-line-2);
    border-top-color: var(--am-hair);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.6s ease, transform 0.6s ease, visibility 0s linear 0.6s;
}
.am-nav__item:hover > .am-nav__sub,
.am-nav__item:focus-within > .am-nav__sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.am-nav__sub a {
    display: block;
    padding: 0.45rem 0;
    font-size: 0.9rem;
    color: var(--c-text);
    text-decoration: none;
    transition: color 0.4s ease, padding 0.6s ease;
}
.am-nav__sub a:hover { color: var(--am-gold); padding-left: 0.6rem; }

.am-tools { display: flex; align-items: center; gap: 0.35rem; }
.am-tools .hdr-el { color: var(--c-text); }
.am-burger { display: none; }

@media (max-width: 900px) {
    .am-nav { display: none; }
    .am-side--l { display: none; }
    .am-masthead__inner { grid-template-columns: 3rem 1fr auto; gap: 0.75rem; min-height: 4.25rem; }
    .am-burger { display: inline-flex; grid-column: 1; grid-row: 1; justify-self: start; }
    .am-logo { grid-column: 2; grid-row: 1; justify-self: center; }
    .am-side--r { grid-column: 3; grid-row: 1; }
    .am-logo__name { font-size: 1.3rem; letter-spacing: 0.26em; }
    .am-bar__zone--left .hdr-el:not(:first-child) { display: none; }
    .am-bar__zone--right .hdr-links { display: none; }
}
@media (max-width: 560px) {
    .am-bar__inner { justify-content: center; }
    .am-bar__zone--right { display: none; }
}

html.ambra .hdr-burger { color: var(--c-text-strong); }
html.ambra .hdr-drawer {
    background: var(--am-1);
    color: var(--c-text);
    border-right: 1px solid var(--am-hair);
}
html.ambra .hdr-drawer__nav a, html.ambra .hdr-drawer__nav button { font-family: var(--font-display); font-size: 1.35rem; color: var(--c-text-strong); }
html.ambra .hdr-drawer__head { border-bottom: 1px solid var(--am-line); }
html.ambra .hdr-drawer__close { color: var(--c-text-strong); }
html.ambra .hdr-drawer::backdrop { background: rgba(3, 8, 20, 0.7); }

/* -------------------------------------------------------------------------
   4. Footer
   ------------------------------------------------------------------------- */

.am-ftr { position: relative; margin-top: clamp(3rem, 6vw, 6rem); background: var(--am-0); color: var(--c-text-muted); border: 0; }
.am-ftr::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--am-hair) 25%, var(--am-hair) 75%, transparent);
}
.am-ftr__invite { text-align: center; padding-block: clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--am-line); background: radial-gradient(40rem 16rem at 50% 0, rgba(120, 160, 230, 0.1), transparent 70%); }
.am-ftr__invite .am-eyebrow::after { content: ''; width: 2.25rem; height: 1px; background: var(--am-gold); opacity: 0.8; }
.am-ftr__invite-title { margin: 0 auto; max-width: 36rem; font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem); line-height: 1.2; }
.am-ftr__invite-lead { max-width: 32rem; margin: 1rem auto 0; font-weight: 300; }
.am-ftr__invite-form { max-width: 30rem; margin: 2rem auto 0; text-align: left; }

.am-ftr__main { padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(2rem, 4vw, 3rem); }
.am-ftr__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.3fr 1fr; gap: clamp(1.75rem, 3vw, 3.5rem); }
.am-ftr__title {
    margin: 0 0 1.25rem;
    font-family: var(--font-ui);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--am-gold);
}
.am-ftr__about { margin: 1.25rem 0 0; max-width: 24rem; font-weight: 300; font-size: 0.95rem; }
.am-ftr__col--about .am-logo { align-items: flex-start; }
.am-ftr__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.am-ftr a { color: var(--c-text); text-decoration: none; transition: color 0.5s ease; }
.am-ftr a:hover { color: var(--am-gold); }
.am-ftr__contacts { font-style: normal; display: grid; gap: 0.7rem; font-size: 0.95rem; }
.am-ftr__phone { margin: 0; font-family: var(--font-display); font-size: 1.45rem; }
.am-ftr__phone a { color: var(--c-text-strong); }
.am-ftr__phone span { display: block; font-family: var(--font-ui); font-size: 0.78rem; color: var(--c-text-muted); }
.am-ftr__line { margin: 0; display: flex; gap: 0.7rem; align-items: flex-start; }
.am-ftr__line .cms-icon { width: 1rem; height: 1rem; margin-top: 0.3rem; color: var(--am-gold); flex: none; }
.am-ftr__pay { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.am-ftr__pay-item { padding: 0.3rem 0.7rem; border: 1px solid var(--am-line-2); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; }
.am-ftr__socials { margin-top: 1.5rem; }
.am-ftr__bottom { border-top: 1px solid var(--am-line); font-size: 0.8rem; }
.am-ftr__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 2rem; padding-block: 1.4rem; }
.am-ftr__copy, .am-ftr__company { margin: 0; }
.am-ftr__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; list-style: none; margin: 0; padding: 0; }
.am-ftr__links a { color: var(--c-text-muted); }
@media (max-width: 1000px) { .am-ftr__grid { grid-template-columns: 1fr 1fr; } .am-ftr__col--about { grid-column: 1 / -1; } }
@media (max-width: 560px) { .am-ftr__grid { grid-template-columns: 1fr; } }

/* -------------------------------------------------------------------------
   5. Blocks
   ------------------------------------------------------------------------- */

/* --- Night cover --- */
.am-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
    padding-block: clamp(1.5rem, 4vw, 3.5rem);
}
.am-hero--left .am-hero__pic { order: -1; }
.am-hero__title {
    margin: 0;
    font-size: clamp(2.5rem, 1.4rem + 4vw, 4.7rem);
    line-height: 1.04;
    letter-spacing: -0.025em;
    font-weight: 400;
}
.am-hero__lead { max-width: 30rem; margin: 1.75rem 0 0; font-size: 1.1rem; font-weight: 300; color: var(--c-text); }
.am-hero__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin: 2.5rem 0 0; }
.am-hero__facts {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: start;
    gap: 0;
    margin: 3.25rem 0 0;
    padding: 0;
    list-style: none;
}
.am-hero__facts li { padding: 0 clamp(1rem, 2.5vw, 2.25rem); border-left: 1px solid var(--am-line-2); }
.am-hero__facts li:first-child { padding-left: 0; border-left: 0; }
.am-hero__facts strong { display: block; font-family: var(--font-display); font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); font-weight: 400; color: var(--am-gold); line-height: 1.1; }
.am-hero__facts span { display: block; margin-top: 0.4rem; font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-text-muted); }

.am-hero__pic { position: relative; margin: 0; justify-self: center; width: 100%; max-width: 31rem; }
.am-hero__arch {
    position: relative;
    display: block;
    aspect-ratio: 3 / 4.1;
    border-radius: 999px 999px var(--am-r) var(--am-r);
    overflow: hidden;
    background: radial-gradient(70% 55% at 50% 30%, #27498b, #0d1a3a 70%);
    box-shadow: 0 50px 90px -40px rgba(0, 0, 0, 0.9), 0 0 120px -30px rgba(110, 150, 230, 0.35);
}
.am-hero__pic::before {
    content: '';
    position: absolute;
    inset: -14px -14px 24px;
    border: 1px solid var(--am-hair);
    border-radius: 999px 999px 0 0;
    border-bottom: 0;
    pointer-events: none;
}
.am-hero__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.am-hero__arch::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, 0.13) 48%, transparent 58%);
    transform: translateX(-120%);
    animation: am-sheen 9s ease-in-out 1.2s infinite;
    pointer-events: none;
}
@keyframes am-sheen { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
.am-hero__caption { margin-top: 1.1rem; text-align: center; font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--c-text-muted); }

@media (max-width: 860px) {
    .am-hero { grid-template-columns: 1fr; gap: 2.5rem; }
    .am-hero__pic { max-width: 22rem; order: -1; }
    .am-hero--left .am-hero__pic { order: -1; }
    .am-hero__facts { grid-template-columns: repeat(3, 1fr); width: 100%; }
    .am-hero__facts li { padding-inline: 0.75rem; }
}

/* --- Olfactory families --- */
.am-fams__list {
    display: grid;
    grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr));
    gap: clamp(0.75rem, 1.6vw, 1.5rem);
    list-style: none;
    margin: 0;
    padding: 0;
}
.am-fam__tile {
    position: relative;
    display: block;
    aspect-ratio: 2 / 3.4;
    overflow: hidden;
    border-radius: 999px 999px var(--am-r) var(--am-r);
    background: var(--am-2);
    border: 1px solid var(--am-line);
    color: var(--c-text-strong);
    text-decoration: none;
    isolation: isolate;
    transition: border-color 0.9s ease, transform 1.1s cubic-bezier(.2, .7, .2, 1);
}
.am-fam__pic { position: absolute; inset: 0; z-index: -2; }
.am-fam__img { width: 100%; height: 100%; object-fit: cover; opacity: 0.78; transform: scale(1.02); transition: transform 1.6s cubic-bezier(.2, .7, .2, 1), opacity 1.2s ease; }
.am-fam__tile::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(7, 15, 34, 0.05) 18%, rgba(7, 15, 34, 0.55) 52%, rgba(7, 15, 34, 0.94) 100%);
}
.am-fam__no { position: absolute; top: 1.6rem; left: 50%; transform: translateX(-50%); font-size: 0.7rem; letter-spacing: 0.26em; color: var(--am-gold); }
.am-fam__body { position: absolute; inset: auto 0 0; display: grid; gap: 0.55rem; padding: 1.5rem 1.25rem 1.75rem; text-align: center; }
.am-fam__title { font-family: var(--font-display); font-size: clamp(1.35rem, 1rem + 0.9vw, 1.85rem); line-height: 1.1; }
.am-fam__notes { font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--am-gold); }
.am-fam__text { font-size: 0.86rem; font-weight: 300; color: var(--c-text); max-height: 0; opacity: 0; overflow: hidden; transition: max-height 1s ease, opacity 1s ease; }
.am-fam__go { display: inline-flex; justify-content: center; align-items: center; gap: 0.5rem; font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--am-gold); max-height: 0; opacity: 0; overflow: hidden; transition: max-height 1s ease 0.1s, opacity 1s ease 0.1s; }
.am-fam__go .cms-icon { width: 0.9rem; height: 0.9rem; }
a.am-fam__tile:hover, a.am-fam__tile:focus-visible { border-color: var(--am-hair); transform: translateY(-6px); }
a.am-fam__tile:hover .am-fam__img, a.am-fam__tile:focus-visible .am-fam__img { transform: scale(1.09); opacity: 1; }
a.am-fam__tile:hover .am-fam__text, a.am-fam__tile:focus-visible .am-fam__text,
a.am-fam__tile:hover .am-fam__go, a.am-fam__tile:focus-visible .am-fam__go { max-height: 6rem; opacity: 1; }
@media (hover: none) { .am-fam__text, .am-fam__go { max-height: none; opacity: 1; } }
@media (max-width: 960px) { .am-fams__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .am-fams__list { display: flex; overflow-x: auto; gap: 0.9rem; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scroll-snap-type: x mandatory; scrollbar-width: none; }
    .am-fam { flex: 0 0 62%; scroll-snap-align: start; }
}

/* --- Scent finder --- */
.am-quiz { padding-block: 0.5rem; }
.am-quiz__head { text-align: center; max-width: 44rem; margin-inline: auto; }
.am-quiz__head .am-eyebrow::after { content: ''; width: 2.25rem; height: 1px; background: var(--am-gold); opacity: 0.8; }
.am-quiz__title { margin: 0; font-size: clamp(2rem, 1.4rem + 2.4vw, 3.4rem); line-height: 1.12; }
.am-quiz__lead { margin: 1rem 0 0; font-weight: 300; color: var(--c-text-muted); font-size: 1.05rem; }
.am-quiz__list {
    list-style: none;
    margin: clamp(2rem, 4vw, 3.25rem) 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--am-line-2);
    border-bottom: 1px solid var(--am-line-2);
}
.am-quiz__item + .am-quiz__item { border-left: 1px solid var(--am-line-2); }
.am-quiz__choice {
    position: relative;
    display: grid;
    gap: 0.6rem;
    align-content: start;
    height: 100%;
    padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 2.2vw, 2rem) clamp(3rem, 4vw, 3.75rem);
    color: var(--c-text-strong);
    text-decoration: none;
    overflow: hidden;
    transition: background-color 1s ease;
}
.am-quiz__choice::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(18rem 14rem at 50% 120%, var(--am-gold-a), transparent 70%);
    opacity: 0;
    transition: opacity 1.1s ease;
}
.am-quiz__no { font-family: var(--font-display); font-size: 3.2rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--am-hair); transition: color 0.9s ease; }
.am-quiz__label { position: relative; font-family: var(--font-display); font-size: clamp(1.3rem, 1rem + 0.9vw, 1.75rem); line-height: 1.2; }
.am-quiz__hint { position: relative; font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-text-muted); }
.am-quiz__arrow { position: absolute; left: clamp(1.25rem, 2.2vw, 2rem); bottom: 1.25rem; color: var(--am-gold); transform: translateX(-0.6rem); opacity: 0; transition: transform 0.9s ease, opacity 0.9s ease; }
.am-quiz__arrow .cms-icon { width: 1.4rem; height: 1.4rem; }
a.am-quiz__choice:hover::before, a.am-quiz__choice:focus-visible::before { opacity: 1; }
a.am-quiz__choice:hover .am-quiz__no, a.am-quiz__choice:focus-visible .am-quiz__no { color: var(--am-gold); }
a.am-quiz__choice:hover .am-quiz__arrow, a.am-quiz__choice:focus-visible .am-quiz__arrow { transform: none; opacity: 1; }
@media (hover: none) { .am-quiz__arrow { opacity: 1; transform: none; } }
.am-quiz__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem 2rem; margin: 2.25rem 0 0; color: var(--c-text-muted); }
@media (max-width: 900px) {
    .am-quiz__list { grid-template-columns: 1fr 1fr; }
    .am-quiz__item:nth-child(odd) { border-left: 0; }
    .am-quiz__item:nth-child(n + 3) { border-top: 1px solid var(--am-line-2); }
}
@media (max-width: 520px) {
    .am-quiz__list { grid-template-columns: 1fr; }
    .am-quiz__item + .am-quiz__item { border-left: 0; border-top: 1px solid var(--am-line-2); }
}

/* --- Perfume houses --- */
.am-houses__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--am-line-2); }
.am-house { border-bottom: 1px solid var(--am-line-2); }
.am-house__row {
    position: relative;
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1.1fr) minmax(0, 1.3fr) 6.5rem 2rem;
    align-items: center;
    gap: 1.5rem;
    padding: clamp(1.1rem, 2vw, 1.75rem) 0.5rem;
    color: var(--c-text-strong);
    text-decoration: none;
    overflow: hidden;
}
.am-house__row::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--am-gold-a), transparent 70%);
    transform: translateX(-101%);
    transition: transform 1.1s cubic-bezier(.2, .7, .2, 1);
}
.am-house__row > * { position: relative; }
.am-house__no { font-size: 0.78rem; letter-spacing: 0.2em; color: var(--am-gold); }
.am-house__name { font-family: var(--font-display); font-size: clamp(1.45rem, 1rem + 1.6vw, 2.5rem); line-height: 1.1; transition: transform 0.9s cubic-bezier(.2, .7, .2, 1), color 0.6s ease; }
.am-house__meta { display: grid; gap: 0.3rem; }
.am-house__country { font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--am-gold); }
.am-house__lead { font-size: 0.92rem; font-weight: 300; color: var(--c-text-muted); max-width: 34rem; }
.am-house__count { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-text-muted); white-space: nowrap; }
.am-house__arrow { color: var(--am-gold); opacity: 0.5; transition: transform 0.9s ease, opacity 0.9s ease; }
.am-house__arrow .cms-icon { width: 1.3rem; height: 1.3rem; }
.am-house__row:hover::before, .am-house__row:focus-visible::before { transform: none; }
.am-house__row:hover .am-house__name, .am-house__row:focus-visible .am-house__name { transform: translateX(0.6rem); color: var(--am-gold-2); }
.am-house__row:hover .am-house__arrow { transform: translateX(0.4rem); opacity: 1; }
@media (max-width: 760px) {
    .am-house__row { grid-template-columns: 2.25rem minmax(0, 1fr) 1.5rem; gap: 0.5rem 1rem; }
    .am-house__meta { grid-column: 2; grid-row: 2; }
    .am-house__count { grid-column: 2; grid-row: 3; }
    .am-house__arrow { grid-column: 3; grid-row: 1; }
}

/* --- Story with photograph --- */
.am-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.am-split--left .am-split__pic { order: -1; }
.am-split--left { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); }
.am-split__title { margin: 0; font-size: clamp(2rem, 1.4rem + 2.4vw, 3.4rem); line-height: 1.12; }
.am-split__lead, .am-split__body { margin: 1.25rem 0 0; max-width: 32rem; font-size: 1.05rem; font-weight: 300; color: var(--c-text); }
.am-split__points { list-style: none; margin: 2rem 0 0; padding: 0; max-width: 34rem; border-top: 1px solid var(--am-line-2); }
.am-split__points li { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid var(--am-line-2); }
.am-split__ptitle { font-family: var(--font-display); font-size: 1.2rem; color: var(--c-text-strong); }
.am-split__ptitle small { display: block; margin-top: 0.2rem; font-family: var(--font-ui); font-size: 0.82rem; font-weight: 300; color: var(--c-text-muted); }
.am-split__pvalue { font-family: var(--font-display); font-size: 1.15rem; color: var(--am-gold); white-space: nowrap; }
.am-split__actions { margin: 2rem 0 0; }
.am-split__pic { position: relative; margin: 0; width: 100%; max-width: 28rem; justify-self: center; }
.am-split--left .am-split__pic { justify-self: start; }
.am-split__pic::before { content: ''; position: absolute; inset: -12px -12px 20px; border: 1px solid var(--am-hair); border-bottom: 0; border-radius: 999px 999px 0 0; pointer-events: none; }
.am-split__img { display: block; width: 100%; aspect-ratio: 4 / 5.2; object-fit: cover; border-radius: 999px 999px var(--am-r) var(--am-r); background: var(--am-3); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.9); }
.am-split--wide .am-split__pic::before { display: none; }
.am-split--wide .am-split__img { border-radius: var(--am-r); aspect-ratio: 4 / 3; }
@media (max-width: 860px) {
    .am-split, .am-split--left { grid-template-columns: 1fr; gap: 2.5rem; }
    .am-split__pic, .am-split--left .am-split__pic { order: -1; max-width: 20rem; justify-self: center; }
}

/* --- Fragrance pyramid --- */
.am-pyr { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.am-pyr__title { margin: 0; font-size: clamp(1.9rem, 1.4rem + 1.8vw, 3rem); line-height: 1.12; }
.am-pyr__story { margin: 1.25rem 0 0; font-family: var(--font-display); font-size: 1.2rem; line-height: 1.6; color: var(--c-text); font-style: italic; }
.am-pyr__facts { display: grid; gap: 0; margin: 2rem 0 0; border-top: 1px solid var(--am-line-2); }
.am-pyr__facts > div { display: flex; justify-content: space-between; gap: 1.5rem; padding: 0.8rem 0; border-bottom: 1px solid var(--am-line); }
.am-pyr__facts dt { font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-text-muted); }
.am-pyr__facts dd { margin: 0; text-align: right; color: var(--c-text-strong); }
.am-pyr__tiers { display: grid; gap: 0.9rem; justify-items: center; }
.am-tier {
    position: relative;
    width: var(--w, 100%);
    padding: 1.25rem 1.5rem 1.4rem;
    text-align: center;
    background: linear-gradient(180deg, color-mix(in srgb, var(--am-3) 75%, transparent), color-mix(in srgb, var(--am-2) 75%, transparent));
    border: 1px solid var(--am-line-2);
    border-top-color: var(--am-hair);
}
.am-tier--top { --w: 62%; }
.am-tier--heart { --w: 81%; }
.am-tier--base { --w: 100%; }
.am-tier__name { margin: 0 0 0.8rem; font-family: var(--font-ui); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.26em; text-transform: uppercase; color: var(--am-gold); }
.am-tier__no { display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; margin-right: 0.7rem; border: 1px solid var(--am-hair); border-radius: 50%; font-size: 0.66rem; letter-spacing: 0; }
.am-tier__notes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.35rem 0.9rem; }
.am-tier__notes li { font-family: var(--font-display); font-size: 1.15rem; color: var(--c-text-strong); }
.am-tier__notes li + li::before { content: '·'; margin-right: 0.9rem; color: var(--am-gold); }
.am-pyr__meters { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 5vw, 5rem); padding-top: 1.5rem; border-top: 1px solid var(--am-line); }
.am-meter__label { margin: 0 0 0.8rem; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--c-text-strong); }
.am-meter__label span { font-size: 0.82rem; letter-spacing: 0; text-transform: none; font-weight: 300; color: var(--c-text-muted); }
.am-meter__scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.am-meter__scale i { height: 5px; background: var(--am-3); border-radius: 0; }
.am-meter__scale i.is-on { background: linear-gradient(90deg, var(--am-gold), var(--am-gold-2)); box-shadow: 0 0 14px -2px color-mix(in srgb, var(--am-gold) 70%, transparent); }
@media (max-width: 860px) {
    .am-pyr { grid-template-columns: 1fr; }
    .am-pyr__meters { grid-template-columns: 1fr; }
    .am-tier--top { --w: 76%; }
    .am-tier--heart { --w: 88%; }
}

/* --- Journal --- */
.am-jrn__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); }
.am-note { display: grid; gap: 1.1rem; align-content: start; }
.am-note--lead { grid-row: span 2; }
.am-note__pic { margin: 0; overflow: hidden; background: var(--am-3); aspect-ratio: 4 / 3; border-radius: var(--am-r); }
.am-note--lead .am-note__pic { aspect-ratio: 4 / 4.2; border-radius: 999px 999px var(--am-r) var(--am-r); }
.am-note__img { width: 100%; height: 100%; object-fit: cover; opacity: 0.88; transition: transform 1.6s cubic-bezier(.2, .7, .2, 1), opacity 1s ease; }
.am-note:hover .am-note__img { transform: scale(1.06); opacity: 1; }
.am-note:not(.am-note--lead) { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); gap: 1.25rem; align-items: center; }
.am-note__meta { margin: 0 0 0.5rem; font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--am-gold); }
.am-note__title { margin: 0; font-size: clamp(1.25rem, 1rem + 0.8vw, 1.75rem); line-height: 1.25; }
.am-note--lead .am-note__title { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); }
.am-note__link { color: var(--c-text-strong); text-decoration: none; background: linear-gradient(var(--am-gold), var(--am-gold)) 0 100% / 0 1px no-repeat; transition: background-size 0.9s ease, color 0.5s ease; }
.am-note__link:hover { background-size: 100% 1px; color: var(--am-gold-2); }
.am-note__excerpt { margin: 0.7rem 0 0; font-size: 0.95rem; font-weight: 300; color: var(--c-text-muted); }
.am-jrn__more { margin: 2.25rem 0 0; }
@media (max-width: 860px) {
    .am-jrn__grid { grid-template-columns: 1fr; }
    .am-note--lead { grid-row: auto; }
}
@media (max-width: 520px) { .am-note:not(.am-note--lead) { grid-template-columns: 1fr; } }

/* -------------------------------------------------------------------------
   6. Shop: product cards (bottle on a navy arch)
   ------------------------------------------------------------------------- */

html.ambra .shop-items { gap: clamp(1.25rem, 2.5vw, 2.5rem) clamp(0.9rem, 2vw, 1.75rem); }

html.ambra .shop-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
}
html.ambra .shop-card__media {
    position: relative;
    aspect-ratio: 4 / 5.1;
    margin: 0;
    overflow: hidden;
    border-radius: 999px 999px var(--am-r) var(--am-r);
    background:
        radial-gradient(62% 48% at 50% 38%, #284a8c 0%, rgba(40, 74, 140, 0) 70%),
        linear-gradient(180deg, #14275a 0%, #0c1733 100%);
    border: 1px solid var(--am-line);
    transition: border-color 0.9s ease, box-shadow 1.2s ease;
}
html.ambra .shop-card__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(112deg, transparent 36%, rgba(255, 255, 255, 0.12) 47%, transparent 58%);
    transform: translateX(-130%);
    transition: transform 1.6s cubic-bezier(.2, .7, .2, 1);
    pointer-events: none;
}
html.ambra .shop-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s cubic-bezier(.2, .7, .2, 1); }
html.ambra .shop-card:hover .shop-card__media,
html.ambra .shop-card:focus-within .shop-card__media { border-color: var(--am-hair); box-shadow: 0 30px 70px -34px rgba(110, 150, 230, 0.45); }
html.ambra .shop-card:hover .shop-card__media::after { transform: translateX(130%); }
html.ambra .shop-card:hover .shop-card__img { transform: scale(1.05); }
html.ambra .shop-card__placeholder { color: var(--am-gold); opacity: 0.6; }

html.ambra .shop-card__body { display: grid; gap: 0.4rem; padding: 1.15rem 0.25rem 0; text-align: center; }
html.ambra .shop-card__brand { margin: 0; font-size: 0.66rem; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: var(--am-gold); }
html.ambra .shop-card__title { margin: 0; font-family: var(--font-display); font-size: clamp(1.15rem, 1rem + 0.5vw, 1.45rem); font-weight: 400; line-height: 1.2; }
html.ambra .shop-card__link { color: var(--c-text-strong); text-decoration: none; }
html.ambra .shop-card__link:hover { color: var(--am-gold-2); }
html.ambra .shop-card__sku { display: none; }
html.ambra .shop-card__foot { display: grid; gap: 0.75rem; justify-items: center; margin-top: 0.35rem; }
html.ambra .shop-card .shop-price { justify-content: center; font-family: var(--font-display); }
html.ambra .shop-price__now, html.ambra .shop-price__value { font-family: var(--font-display); font-size: 1.15rem; font-weight: 400; color: var(--c-text-strong); }
html.ambra .shop-price__from { font-family: var(--font-ui); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-text-muted); }
html.ambra .shop-price__old, html.ambra .shop-price__was { color: var(--c-text-faint); }
html.ambra .shop-price__off { color: var(--am-gold); }
html.ambra .shop-card .shop-stock { justify-content: center; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; }

/* The buy row reveals slowly on hover, but stays reachable by keyboard and touch. */
html.ambra .shop-card__actions { width: 100%; }
html.ambra .shop-card__btn { width: 100%; }
@media (hover: hover) {
    html.ambra[data-ambra-sheen="on"] .shop-card__actions,
    html.ambra:not([data-ambra-sheen]) .shop-card__actions { max-height: 0; opacity: 0; overflow: hidden; transform: translateY(6px); transition: max-height 1s ease, opacity 1s ease, transform 1s ease; }
    html.ambra[data-ambra-sheen="on"] .shop-card:hover .shop-card__actions,
    html.ambra[data-ambra-sheen="on"] .shop-card:focus-within .shop-card__actions,
    html.ambra:not([data-ambra-sheen]) .shop-card:hover .shop-card__actions,
    html.ambra:not([data-ambra-sheen]) .shop-card:focus-within .shop-card__actions { max-height: 14rem; opacity: 1; transform: none; }
}
html.ambra .shop-card--out .shop-card__img { opacity: 0.45; }
html.ambra .shop-pick__chip { border-radius: var(--am-r); border-color: var(--am-line-2); background: transparent; color: var(--c-text); font-size: 0.78rem; }
html.ambra .shop-pick__input:checked + .shop-pick__label { color: var(--am-gold); }
html.ambra .shop-pick__legend { font-size: 0.66rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--c-text-muted); }

html.ambra .shop-sticker { border-radius: 0; font-size: 0.64rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600; background: rgba(7, 15, 34, 0.72); color: var(--am-gold); border: 1px solid var(--am-hair); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
html.ambra .shop-toggle { background: rgba(7, 15, 34, 0.55); border: 1px solid var(--am-line-2); color: var(--c-text-strong); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

/* Stickers and toggles sit at the foot of the arch: its top corners are cut away. */
html.ambra .shop-card__media .shop-stickers { top: auto; bottom: 0.9rem; left: 0.9rem; flex-direction: row; flex-wrap: wrap; max-width: 60%; }
html.ambra .shop-card__media .shop-toggles { top: auto; bottom: 0.9rem; right: 0.9rem; }
html.ambra .shop-card .shop-rating, html.ambra .shop-card .shop-rate, html.ambra .shop-card .shop-stars { justify-content: center; }
html.ambra .shop-card__body > * { justify-self: center; }
html.ambra .cms-items--grid.shop-items { --col-min: 13rem; }
html[data-ambra-cards="plate"] .shop-card__media .shop-stickers, html[data-ambra-cards="bare"] .shop-card__media .shop-stickers { top: 0.75rem; bottom: auto; }

/* -------------------------------------------------------------------------
   7. Shop: lists, filters, product page, forms (mostly tokens; the touches)
   ------------------------------------------------------------------------- */

html.ambra .shop-crumbs { font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-text-muted); }
html.ambra .shop-head__title, html.ambra .shop-page h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(2.2rem, 1.5rem + 3vw, 4rem); line-height: 1.08; }
html.ambra .shop-head__lead { max-width: 40rem; font-weight: 300; color: var(--c-text-muted); font-size: 1.05rem; }

html.ambra .shop-filter { border-color: var(--am-line); }
html.ambra .shop-filter__title, html.ambra .shop-filter summary { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--c-text-strong); }
html.ambra .shop-filter__count { color: var(--c-text-faint); }
html.ambra .shop-tree__link:hover { color: var(--am-gold); }

html.ambra input[type="text"], html.ambra input[type="email"], html.ambra input[type="tel"], html.ambra input[type="search"],
html.ambra input[type="number"], html.ambra input[type="password"], html.ambra select, html.ambra textarea, html.ambra .cms-form__input {
    background: color-mix(in srgb, var(--am-2) 70%, transparent);
    border: 1px solid var(--am-line-2);
    border-radius: var(--am-r);
    color: var(--c-text-strong);
}
html.ambra input:focus, html.ambra select:focus, html.ambra textarea:focus { border-color: var(--am-gold); outline: none; box-shadow: 0 0 0 3px var(--am-gold-a); }

html.ambra .shop-product__title, html.ambra .shop-buybox__title { font-family: var(--font-display); font-weight: 400; }
html.ambra .shop-gallery__main, html.ambra .shop-gallery__stage {
    background: radial-gradient(62% 48% at 50% 40%, #284a8c 0%, rgba(40, 74, 140, 0) 70%), linear-gradient(180deg, #14275a, #0c1733);
    border: 1px solid var(--am-line);
}
html.ambra .shop-blocks { margin-top: clamp(2rem, 5vw, 4rem); }
html.ambra .shop-specs th, html.ambra .shop-specs td { border-color: var(--am-line); }
html.ambra .shop-specs__group th { color: var(--am-gold); font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; }

html.ambra .cms-card, html.ambra .cms-feature--card, html.ambra .cms-review--card, html.ambra .cms-faq__item {
    background: color-mix(in srgb, var(--am-2) 55%, transparent);
    border: 1px solid var(--am-line);
    border-radius: var(--am-r);
}
html.ambra .cms-feature--card .cms-icon, html.ambra .cms-badge-icon { color: var(--am-gold); }

/* -------------------------------------------------------------------------
   8. Design settings (theme.json → design.controls)
   ------------------------------------------------------------------------- */

html[data-ambra-tone="ink"],
html[data-ambra-tone="ink"] .cms-tone-dark,
html[data-ambra-tone="ink"] .cms-on-dark,
html[data-ambra-tone="ink"] .cms-tone-soft {
    --am-0: #050b19;
    --am-1: #08122a;
    --am-2: #0c1a3a;
    --am-3: #12244c;
    --am-4: #1a3060;
}
html[data-ambra-tone="dusk"],
html[data-ambra-tone="dusk"] .cms-tone-dark,
html[data-ambra-tone="dusk"] .cms-on-dark,
html[data-ambra-tone="dusk"] .cms-tone-soft {
    --am-0: #0d1030;
    --am-1: #131a44;
    --am-2: #1a2358;
    --am-3: #232e6c;
    --am-4: #2e3b82;
}

html[data-ambra-announce="off"] .am-bar { display: none; }

html[data-ambra-header="left"] .am-masthead__inner { grid-template-columns: auto minmax(0, 1fr) auto; }
html[data-ambra-header="left"] .am-logo { order: -1; align-items: flex-start; }
html[data-ambra-header="left"] .am-side--l { justify-content: flex-end; }
@media (max-width: 900px) {
    html[data-ambra-header="left"] .am-masthead__inner { grid-template-columns: 3rem 1fr auto; }
    html[data-ambra-header="left"] .am-logo { align-items: center; order: 0; }
}

html[data-ambra-cards="plate"] .shop-card__media { border-radius: var(--am-r); aspect-ratio: 1 / 1.1; }
html[data-ambra-cards="plate"] .am-fam__tile,
html[data-ambra-cards="plate"] .am-note--lead .am-note__pic { border-radius: var(--am-r); }
html[data-ambra-cards="bare"] .shop-card__media { background: transparent; border-color: transparent; border-radius: var(--am-r); aspect-ratio: 1 / 1.1; }

html[data-ambra-sheen="off"] .am-hero__arch::after,
html[data-ambra-sheen="off"] .shop-card__media::after { display: none; }
html[data-ambra-sheen="off"] .shop-card__img,
html[data-ambra-sheen="off"] .am-fam__img,
html[data-ambra-sheen="off"] .am-note__img { transition: none; }

@media (prefers-reduced-motion: reduce) {
    .am-hero__arch::after { animation: none; }
    html.ambra * { transition-duration: 0.01ms !important; }
}

html.ambra .shop-gallery__stage { border-radius: 999px 999px var(--am-r) var(--am-r); overflow: hidden; }
html.ambra .shop-gallery__img { object-fit: cover; }

@media (max-width: 640px) {
    html.ambra .shop-card__btn { padding-inline: 0.5rem; letter-spacing: 0.1em; }
    html.ambra .shop-card__body { padding-inline: 0; }
}

@media (max-width: 560px) {
    .am-tier--top, .am-tier--heart, .am-tier--base { --w: 100%; }
    .am-tier__notes li + li::before { display: none; }
    .am-tier__notes { gap: 0.3rem 1.1rem; }
}
