/* ==========================================================================
   AZURA — Fine Dining Design System (licht thema)
   Shared styles for all Azura Elementor widgets
   ========================================================================== */

:root {
    --az-bg: #F8F4EC;
    --az-bg-alt: #F1EADC;
    --az-bg-soft: #FDFBF6;
    --az-ink: #262119;
    --az-ink-soft: #6C665A;
    --az-line: rgba(38, 33, 25, .1);
    --az-line-strong: rgba(38, 33, 25, .22);
    --az-gold: #B08A45;
    --az-gold-light: #C9A25E;
    --az-gold-dim: rgba(176, 138, 69, .4);
    --az-teal: #123D3B;
    --az-teal-deep: #0B2827;
    --az-teal-soft: #1C5A55;
    --az-cream: #F4EDE2;
    --az-serif: 'Cormorant Garamond', Georgia, serif;
    --az-sans: 'Jost', 'DM Sans', sans-serif;
    --az-script: 'Great Vibes', cursive;
    --az-gutter: clamp(1.25rem, 5vw, 6rem);
}

/* ---------- Base / resets inside Azura sections ---------- */
.az-section {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: var(--az-bg);
    color: var(--az-ink);
    font-family: var(--az-sans);
    overflow: hidden;
    box-sizing: border-box;
}

.az-section *,
.az-section *::before,
.az-section *::after {
    box-sizing: border-box;
}

.az-section img {
    max-width: 100%;
    display: block;
}

.az-inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: clamp(4.5rem, 9vw, 8.5rem) var(--az-gutter);
}

.az-inner--wide {
    max-width: 1680px;
}

/* ---------- Typography ---------- */
.az-kicker {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-family: var(--az-sans);
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .42em;
    text-transform: uppercase;
    color: var(--az-gold);
    margin: 0 0 1.2rem;
}

.az-kicker::before,
.az-kicker--lined::after {
    content: "";
    width: 4rem;
    height: 1.125rem;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='18' viewBox='0 0 64 18'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='0' y1='9' x2='42' y2='9'%3E%3Cstop offset='0' stop-color='%23B08A45' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23B08A45' stop-opacity='.9'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cline x1='0' y1='9' x2='42' y2='9' stroke='url(%23g)' stroke-width='1'/%3E%3Ccircle cx='46.5' cy='9' r='.9' fill='%23B08A45' opacity='.7'/%3E%3Cg transform='translate(56 9)'%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='rotate' values='0;360' dur='22s' repeatCount='indefinite'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8' transform='rotate(72)'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8' transform='rotate(144)'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8' transform='rotate(216)'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8' transform='rotate(288)'/%3E%3C/g%3E%3Ccircle r='1.2' fill='%23B08A45'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
    flex: none;
}

.az-kicker--lined::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='18' viewBox='0 0 64 18'%3E%3Cdefs%3E%3ClinearGradient id='g' gradientUnits='userSpaceOnUse' x1='22' y1='9' x2='64' y2='9'%3E%3Cstop offset='0' stop-color='%23B08A45' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23B08A45' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cline x1='22' y1='9' x2='64' y2='9' stroke='url(%23g)' stroke-width='1'/%3E%3Ccircle cx='17.5' cy='9' r='.9' fill='%23B08A45' opacity='.7'/%3E%3Cg transform='translate(8 9)'%3E%3Cg%3E%3CanimateTransform attributeName='transform' type='rotate' values='0;360' dur='22s' repeatCount='indefinite'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8' transform='rotate(72)'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8' transform='rotate(144)'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8' transform='rotate(216)'/%3E%3Cellipse cx='0' cy='-4' rx='2' ry='3.5' fill='%23B08A45' fill-opacity='.14' stroke='%23B08A45' stroke-width='.8' transform='rotate(288)'/%3E%3C/g%3E%3Ccircle r='1.2' fill='%23B08A45'/%3E%3C/g%3E%3C/svg%3E");
}

.az-kicker--center {
    justify-content: center;
}

.az-script {
    font-family: var(--az-script);
    font-size: clamp(1.9rem, 3.2vw, 2.9rem);
    font-weight: 400;
    color: var(--az-gold);
    line-height: 1.1;
    display: block;
    margin-bottom: .4rem;
}

.az-h1,
.az-h2,
.az-h3 {
    font-family: var(--az-serif);
    font-weight: 500;
    color: var(--az-ink);
    line-height: 1.08;
    margin: 0 0 1.4rem;
}

.az-h1 {
    font-size: clamp(2.9rem, 7vw, 6.2rem);
    letter-spacing: .02em;
}

.az-h2 {
    font-size: clamp(2.1rem, 4.2vw, 3.6rem);
}

.az-h3 {
    font-size: clamp(1.4rem, 2.2vw, 1.9rem);
}

.az-h2 em,
.az-h1 em {
    font-style: italic;
    color: var(--az-gold);
}

.az-lead {
    font-size: clamp(1.02rem, 1.4vw, 1.2rem);
    font-weight: 300;
    line-height: 1.85;
    color: var(--az-ink-soft);
    margin: 0 0 1.2rem;
}

.az-text-center {
    text-align: center;
}

/* ---------- Buttons ---------- */
.az-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    font-family: var(--az-sans);
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .28em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 1.15rem 2.6rem;
    border: 1px solid var(--az-gold);
    color: #fff;
    background: linear-gradient(135deg, var(--az-gold-light), var(--az-gold));
    transition: all .45s cubic-bezier(.23, 1, .32, 1);
    position: relative;
    overflow: hidden;
    cursor: pointer;
    white-space: nowrap;
}

.az-btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, .35), transparent 60%);
    transform: translateX(-101%);
    transition: transform .6s cubic-bezier(.23, 1, .32, 1);
}

.az-btn:hover::after {
    transform: translateX(0);
}

.az-btn:hover {
    box-shadow: 0 12px 40px -10px rgba(176, 138, 69, .5);
    transform: translateY(-2px);
    color: #fff;
}

.az-btn--ghost {
    background: transparent;
    color: var(--az-ink);
    border-color: var(--az-line-strong);
}

.az-btn--ghost:hover {
    border-color: var(--az-gold);
    color: var(--az-gold);
    box-shadow: none;
}

.az-btn--ghost::after {
    display: none;
}

.az-link {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: var(--az-gold);
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .3em;
    text-transform: uppercase;
    text-decoration: none;
    padding-bottom: .45rem;
    border-bottom: 1px solid var(--az-gold-dim);
    transition: all .35s ease;
}

.az-link:hover {
    color: var(--az-ink);
    border-color: var(--az-gold);
    letter-spacing: .34em;
}

.az-link svg {
    width: 1rem;
    height: 1rem;
    transition: transform .35s ease;
}

.az-link:hover svg {
    transform: translateX(4px);
}

/* ---------- Decorations ---------- */
.az-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin: 1.6rem 0;
}

.az-divider::before,
.az-divider::after {
    content: "";
    height: 1px;
    width: 4rem;
    background: linear-gradient(90deg, transparent, var(--az-gold-dim));
}

.az-divider::after {
    background: linear-gradient(90deg, var(--az-gold-dim), transparent);
}

.az-divider svg {
    width: 1.3rem;
    height: 1.3rem;
    color: var(--az-gold);
    flex: none;
}

.az-stars {
    display: inline-flex;
    gap: .28rem;
    color: var(--az-gold);
}

.az-stars svg {
    width: 1.05rem;
    height: 1.05rem;
    fill: currentColor;
}

/* Subtle glows */
.az-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    opacity: .5;
    pointer-events: none;
}

.az-glow--teal {
    background: radial-gradient(circle, rgba(28, 90, 85, .18), transparent 70%);
}

.az-glow--gold {
    background: radial-gradient(circle, rgba(176, 138, 69, .16), transparent 70%);
}

/* ---------- Reveal animations ---------- */
[data-az-reveal] {
    opacity: 0;
    transform: translateY(38px);
    transition: opacity 1s cubic-bezier(.23, 1, .32, 1), transform 1s cubic-bezier(.23, 1, .32, 1);
    transition-delay: var(--az-delay, 0s);
    will-change: opacity, transform;
}

[data-az-reveal="left"] {
    transform: translateX(-48px);
}

[data-az-reveal="right"] {
    transform: translateX(48px);
}

[data-az-reveal="scale"] {
    transform: scale(.94);
}

.az-in[data-az-reveal] {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    [data-az-reveal] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ==========================================================================
   TOPBAR — USPs en contact, rechts uitgelijnd
   ========================================================================== */
.az-topbar {
    position: relative;
    z-index: 55;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2.5rem;
    padding: .8rem max(var(--az-gutter), calc((100% - 1560px) / 2 + var(--az-gutter))) .2rem;
    font-size: .72rem;
    font-weight: 400;
    letter-spacing: .16em;
    color: var(--az-ink-soft);
}

.az-topbar__usps {
    display: flex;
    align-items: center;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.az-topbar__usps li {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.az-topbar__usps svg {
    width: .9rem;
    height: .9rem;
    color: var(--az-gold);
    flex: none;
}

.az-topbar__contact {
    display: flex;
    align-items: center;
    gap: 1.8rem;
    justify-content: flex-end;
}

.az-topbar__contact a,
.az-topbar__contact span {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--az-ink);
    text-decoration: none;
    letter-spacing: .12em;
    white-space: nowrap;
    transition: color .3s ease;
}

.az-topbar__contact a:hover {
    color: var(--az-gold);
}

.az-topbar__contact svg {
    width: .9rem;
    height: .9rem;
    color: var(--az-gold);
    flex: none;
}

/* ==========================================================================
   NAV
   ========================================================================== */
.az-nav {
    position: relative;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.1rem max(var(--az-gutter), calc((100% - 1560px) / 2 + var(--az-gutter)));
    transition: all .45s ease;
}

.az-nav__logo img {
    height: 3rem !important;
    width: auto;
}

.az-nav__links {
    display: flex;
    align-items: center;
    gap: 2.4rem;
    list-style: none;
    margin: 0 0 0 auto;
    padding: 0;
}

.az-nav__links a {
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--az-ink);
    text-decoration: none;
    padding: .4rem 0;
    position: relative;
    transition: color .3s ease;
}

.az-nav__links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--az-gold);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .4s cubic-bezier(.23, 1, .32, 1);
}

.az-nav__links a:hover {
    color: var(--az-gold);
}

.az-nav__links a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.az-nav__cta {
    font-size: .72rem;
    padding: .85rem 1.7rem;
}

.az-nav__burger {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 60;
    padding: .5rem;
}

.az-nav__burger span {
    display: block;
    transition: all .45s cubic-bezier(.23, 1, .32, 1);
}

/* Eetstokje boven */
.az-nav__burger span:nth-child(1) {
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--az-ink) 60%, var(--az-gold));
    margin-bottom: 6px;
}

/* Maki-dot */
.az-nav__burger span:nth-child(2) {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, var(--az-gold-light), var(--az-gold));
    box-shadow: 0 0 0 1.5px rgba(176, 138, 69, .35);
    margin-left: auto;
    margin-right: 1px;
}

/* Eetstokje onder (korter) */
.az-nav__burger span:nth-child(3) {
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--az-ink) 50%, var(--az-gold));
    margin-top: 6px;
    margin-left: auto;
}

.az-nav__burger:hover span:nth-child(2) {
    transform: translateX(-9px);
}

.az-nav__burger:hover span:nth-child(3) {
    width: 26px;
}

/* ==========================================================================
   MEGAMENU
   ========================================================================== */
.az-nav__links > li {
    position: static;
}

.az-nav__links a.az-nav__mega-trigger {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.az-nav__links a.az-nav__mega-trigger::before {
    content: "";
    position: absolute;
    left: -1.5rem;
    right: -1.5rem;
    top: 100%;
    height: 2.4rem;
    background: transparent;
}

.az-nav__mega-trigger svg {
    width: .7rem;
    height: .7rem;
    transition: transform .35s ease;
}

.az-nav__item--mega:hover .az-nav__mega-trigger svg,
.az-nav__item--mega:focus-within .az-nav__mega-trigger svg {
    transform: rotate(180deg);
}

.az-mega {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 60;
    background: rgba(253, 251, 246, .97);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    border-top: 1px solid var(--az-line);
    border-bottom: 1px solid var(--az-gold-dim);
    box-shadow: 0 40px 80px -30px rgba(38, 33, 25, .25);
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    transition: opacity .4s cubic-bezier(.23, 1, .32, 1), transform .4s cubic-bezier(.23, 1, .32, 1), visibility 0s linear .4s;
    pointer-events: none;
}

.az-nav__item--mega:hover .az-mega,
.az-nav__item--mega:focus-within .az-mega,
.az-nav__item--mega.is-open .az-mega {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
    pointer-events: auto;
}

.az-mega__inner {
    max-width: 1560px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.15fr 1fr;
    gap: clamp(2rem, 4vw, 4rem);
    padding: 2.8rem var(--az-gutter) 3rem;
}

.az-mega__heading {
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: var(--az-gold);
    margin: 0 0 1.3rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid var(--az-line);
}

.az-mega__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .35rem;
}

.az-nav__links .az-mega a {
    text-transform: none;
    letter-spacing: .06em;
}

.az-nav__links .az-mega a::after {
    display: none;
}

.az-mega__list a {
    display: flex;
    align-items: baseline;
    gap: .8rem;
    padding: .55rem 0;
    color: var(--az-ink);
    text-decoration: none;
    font-size: .95rem;
    font-weight: 300;
    transition: color .3s ease, padding-left .3s ease;
}

.az-mega__list a:hover {
    color: var(--az-gold);
    padding-left: .5rem;
}

.az-mega__list .az-mega__cat-name {
    font-family: var(--az-serif);
    font-size: 1.15rem;
}

.az-mega__list .az-mega__dots {
    flex: 1;
    border-bottom: 1px dotted var(--az-line-strong);
    transform: translateY(-4px);
}

.az-mega__list .az-mega__price {
    font-family: var(--az-serif);
    color: var(--az-gold);
    font-size: 1rem;
}

.az-mega__card {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    min-height: 15rem;
    text-decoration: none;
}

.az-mega__card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(.62);
    transition: transform 1s cubic-bezier(.23, 1, .32, 1), filter .5s ease;
}

.az-mega__card:hover img {
    transform: scale(1.06);
    filter: brightness(.75);
}

.az-nav__links .az-mega a.az-mega__card::after {
    display: block;
    content: "";
    position: absolute;
    inset: .8rem;
    width: auto;
    height: auto;
    background: none;
    border: 1px solid rgba(244, 237, 226, .35);
    transform: none;
}

.az-mega__card-body {
    position: relative;
    z-index: 2;
    padding: 1.6rem;
}

.az-mega__card-script {
    font-family: var(--az-script);
    font-size: 1.7rem;
    color: var(--az-cream);
    display: block;
}

.az-mega__card-title {
    font-family: var(--az-serif);
    font-size: 1.3rem;
    color: #fff;
    margin: .2rem 0 .8rem;
}

.az-mega__card-cta {
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--az-cream);
    border-bottom: 1px solid rgba(244, 237, 226, .5);
    padding-bottom: .35rem;
}

/* ==========================================================================
   HERO — split layout
   ========================================================================== */
.az-hero {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
}

.az-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(ellipse at 82% 18%, rgba(28, 90, 85, .08), transparent 55%),
        radial-gradient(ellipse at 8% 85%, rgba(176, 138, 69, .1), transparent 50%),
        linear-gradient(160deg, #FDFBF6 0%, var(--az-bg) 55%, #F0E9DA 100%);
}

.az-hero__grid {
    position: relative;
    z-index: 2;
    flex: 1;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: clamp(2.5rem, 5vw, 5.5rem);
    width: 100%;
    max-width: 1560px;
    margin: 0 auto;
    padding: clamp(3rem, 6vh, 5rem) var(--az-gutter) clamp(4rem, 8vh, 6rem);
}

.az-hero__left {
    text-align: left;
}

.az-hero__script {
    font-family: var(--az-script);
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    color: var(--az-gold);
    margin-bottom: 1.2rem;
}

.az-hero__title {
    font-family: var(--az-sans);
    font-weight: 300;
    font-size: clamp(2.5rem, 4.6vw, 4.7rem);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--az-ink);
    margin: 0 0 1.5rem;
    line-height: 1.05;
}

.az-hero__title strong {
    font-weight: 500;
    color: var(--az-gold);
}

.az-hero__tagline {
    font-family: var(--az-serif);
    font-style: italic;
    font-size: clamp(1.15rem, 2vw, 1.65rem);
    font-weight: 400;
    color: var(--az-ink-soft);
    max-width: 44ch;
    margin: 0 0 1.8rem;
    line-height: 1.5;
}

.az-hero__rating {
    display: flex;
    align-items: center;
    gap: .9rem;
    justify-content: flex-start;
    margin-bottom: 2.4rem;
    font-size: .86rem;
    letter-spacing: .12em;
    color: var(--az-ink-soft);
}

.az-hero__actions {
    display: flex;
    gap: 1.2rem;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.az-hero__usps-inline {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem 1.8rem;
    margin-top: 2.6rem;
    padding-top: 1.8rem;
    border-top: 1px solid var(--az-line);
    list-style: none;
    padding-left: 0;
}

.az-hero__usps-inline li {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-size: .74rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--az-ink-soft);
}

.az-hero__usps-inline svg {
    width: .95rem;
    height: .95rem;
    color: var(--az-gold);
}

/* Media collage rechts */
.az-hero__showcase {
    position: relative;
    padding: 1.6rem 0 3.2rem 3rem;
}

.az-hero__video-card {
    position: relative;
    width: 82%;
    margin-left: auto;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    box-shadow: 0 40px 90px -35px rgba(38, 33, 25, .45);
}

.az-hero__video-card video,
.az-hero__video-card img.az-hero__video-fallback {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.az-hero__video-card::after {
    content: "";
    position: absolute;
    inset: .9rem;
    border: 1px solid rgba(255, 255, 255, .45);
    pointer-events: none;
}

.az-hero__img-accent {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 46%;
    box-shadow: 0 30px 60px -25px rgba(38, 33, 25, .4);
    overflow: hidden;
    z-index: 3;
}

.az-hero__img-accent img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.23, 1, .32, 1);
}

.az-hero__img-accent:hover img {
    transform: scale(1.06);
}

.az-hero__chip {
    position: absolute;
    top: 3rem;
    left: .4rem;
    z-index: 4;
    display: inline-flex;
    flex-direction: column;
    gap: .15rem;
    padding: 1rem 1.3rem;
    background: rgba(253, 251, 246, .9);
    border: 1px solid var(--az-gold-dim);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: 0 20px 45px -25px rgba(38, 33, 25, .35);
}

.az-hero__chip strong {
    font-family: var(--az-script);
    font-weight: 400;
    font-size: 1.5rem;
    color: var(--az-gold);
    line-height: 1.1;
}

.az-hero__chip span {
    font-size: .62rem;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: var(--az-ink-soft);
}

.az-hero__scroll {
    position: absolute;
    bottom: 2.2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .7rem;
    color: var(--az-ink-soft);
    font-size: .64rem;
    letter-spacing: .4em;
    text-transform: uppercase;
    text-decoration: none;
}

.az-hero__scroll span.az-hero__scroll-line {
    width: 1px;
    height: 3.4rem;
    background: linear-gradient(180deg, var(--az-gold), transparent);
    animation: azScroll 2.2s ease-in-out infinite;
    transform-origin: top;
}

@keyframes azScroll {
    0% { transform: scaleY(0); }
    45% { transform: scaleY(1); }
    100% { transform: scaleY(0); transform-origin: bottom; }
}

/* ==========================================================================
   INTRO / OVER AZURA
   ========================================================================== */
.az-intro .az-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(3rem, 6vw, 6.5rem);
    align-items: center;
}

.az-intro__visual {
    position: relative;
    padding: 0 0 3.4rem 3.4rem;
}

.az-intro__visual::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3.4rem;
    right: 3.4rem;
    bottom: 0;
    border: 1px solid var(--az-gold-dim);
    z-index: 0;
}

.az-intro__img-main {
    position: relative;
    z-index: 1;
    overflow: hidden;
    box-shadow: 0 30px 70px -35px rgba(38, 33, 25, .45);
}

.az-intro__img-main img {
    width: 100%;
    height: clamp(24rem, 42vw, 37rem);
    object-fit: cover;
    transition: transform 1.4s cubic-bezier(.23, 1, .32, 1);
}

.az-intro__img-main:hover img {
    transform: scale(1.05);
}

.az-intro__img-accent {
    position: absolute;
    z-index: 2;
    right: -1rem;
    bottom: 0;
    width: 46%;
    border: 6px solid var(--az-bg);
    box-shadow: 0 30px 60px -25px rgba(38, 33, 25, .4);
    overflow: hidden;
}

.az-intro__img-accent img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.az-intro__stats {
    display: flex;
    gap: clamp(1.5rem, 3vw, 3rem);
    margin-top: 2.6rem;
    padding-top: 2.2rem;
    border-top: 1px solid var(--az-line);
}

.az-intro__stat-num {
    font-family: var(--az-serif);
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    color: var(--az-gold);
    line-height: 1;
}

.az-intro__stat-label {
    display: block;
    margin-top: .5rem;
    font-size: .72rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--az-ink-soft);
}

/* ==========================================================================
   WHY / USPs — interactieve foto-accordion
   ========================================================================== */
.az-why {
    background: #FDFBF6;
}

.az-why__header {
    max-width: 46rem;
}

.az-why__header .az-lead {
    margin-bottom: 0;
}

.az-why__acc {
    display: flex;
    gap: .8rem;
    height: clamp(26rem, 44vw, 34rem);
    margin-top: 3.4rem;
}

.az-why__panel {
    position: relative;
    flex: 1;
    min-width: 0;
    border-radius: 1.25rem;
    overflow: hidden;
    cursor: pointer;
    outline: none;
    transition: flex 0.85s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 0 24px 55px -32px rgba(38, 33, 25, .35);
}

.az-why__panel.is-active {
    flex: 3.4;
    cursor: default;
}

.az-why__panel:focus-visible {
    box-shadow: 0 0 0 3px rgba(176, 138, 69, .5), 0 24px 55px -32px rgba(38, 33, 25, .35);
}

.az-why__panel img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    filter: saturate(.55) brightness(.82);
    transform: scale(1.05);
    transition: filter .85s ease, transform 1.2s cubic-bezier(.23, 1, .32, 1);
}

.az-why__panel.is-active img {
    filter: saturate(1) brightness(.95);
    transform: scale(1);
}

.az-why__panel:not(.is-active):hover img {
    filter: saturate(.85) brightness(.9);
}

.az-why__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(15, 13, 10, .88) 100%);
    opacity: 0;
    transition: opacity .7s ease;
    pointer-events: none;
}

.az-why__panel.is-active .az-why__shade {
    opacity: 1;
}

/* Verticaal label in dichtgeklapte panelen */
.az-why__side {
    position: absolute;
    left: 50%;
    bottom: 1.4rem;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .9rem;
    opacity: 1;
    transition: opacity .45s ease;
    pointer-events: none;
}

.az-why__side i {
    font-style: normal;
    font-family: var(--az-serif);
    font-size: .95rem;
    font-weight: 600;
    color: #E6CB92;
    background: rgba(15, 13, 10, .55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-radius: 999px;
    padding: .4rem .7rem;
}

.az-why__side em {
    font-style: normal;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-family: var(--az-sans);
    font-size: .8rem;
    font-weight: 500;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #F4EDE2;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .6);
    white-space: nowrap;
}

.az-why__panel.is-active .az-why__side {
    opacity: 0;
}

/* Onthulde content in het open paneel */
.az-why__reveal {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 2rem 2.2rem 2.2rem;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity .55s ease .25s, transform .55s cubic-bezier(.23, 1, .32, 1) .25s;
    pointer-events: none;
}

.az-why__panel.is-active .az-why__reveal {
    opacity: 1;
    transform: none;
}

.az-why__num {
    display: inline-block;
    font-family: var(--az-serif);
    font-size: .9rem;
    font-weight: 600;
    letter-spacing: .08em;
    color: #070708;
    background: linear-gradient(135deg, #E6CB92, #C9A25E);
    border-radius: 999px;
    padding: .34rem .85rem;
    margin-bottom: .9rem;
}

.az-why__reveal h3 {
    font-family: var(--az-serif);
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    font-weight: 500;
    color: #fff;
    margin: 0 0 .6rem;
}

.az-why__reveal p {
    font-size: .95rem;
    font-weight: 300;
    line-height: 1.7;
    color: rgba(244, 237, 226, .88);
    margin: 0;
    max-width: 46ch;
}

@media (max-width: 980px) {
    .az-why__acc {
        flex-direction: column;
        height: auto;
    }

    .az-why__panel {
        flex: none;
        height: 4.6rem;
        transition: height .75s cubic-bezier(.4, 0, .2, 1);
    }

    .az-why__panel.is-active {
        height: 22rem;
    }

    .az-why__side {
        left: 1.4rem;
        bottom: 50%;
        transform: translateY(50%);
        flex-direction: row;
        align-items: center;
    }

    .az-why__side em {
        writing-mode: horizontal-tb;
        transform: none;
    }

    .az-why__reveal {
        padding: 1.5rem 1.6rem 1.7rem;
    }
}

/* ==========================================================================
   FUSION STORY
   ========================================================================== */
.az-fusion {
    background: var(--az-bg);
}

.az-fusion__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .1;
    transform: scale(1.06);
}

.az-fusion::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, var(--az-bg) 0%, transparent 18%, transparent 82%, var(--az-bg) 100%);
    pointer-events: none;
}

.az-fusion .az-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.az-fusion__panel {
    padding: clamp(2rem, 4vw, 3.6rem);
    background: rgba(253, 251, 246, .82);
    border: 1px solid var(--az-line);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    box-shadow: 0 30px 70px -40px rgba(38, 33, 25, .35);
}

.az-fusion__list {
    list-style: none;
    margin: 1.8rem 0 2.4rem;
    padding: 0;
    display: grid;
    gap: 1.1rem;
}

.az-fusion__list li {
    display: flex;
    gap: 1rem;
    align-items: baseline;
    font-weight: 300;
    color: var(--az-ink-soft);
    font-size: 1rem;
    line-height: 1.6;
}

.az-fusion__list li::before {
    content: "—";
    color: var(--az-gold);
    flex: none;
}

.az-fusion__visual {
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 70px -35px rgba(38, 33, 25, .45);
}

.az-fusion__visual img {
    width: 100%;
    height: clamp(22rem, 38vw, 34rem);
    object-fit: cover;
    transition: transform 1.4s cubic-bezier(.23, 1, .32, 1);
}

.az-fusion__visual:hover img {
    transform: scale(1.05);
}

.az-fusion__visual::after {
    content: "";
    position: absolute;
    inset: 1.1rem;
    border: 1px solid rgba(255, 255, 255, .4);
    pointer-events: none;
}

/* ==========================================================================
   FEATURED DISHES
   ========================================================================== */
.az-dishes {
    background: var(--az-bg);
}

.az-dishes__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.1rem;
    margin-top: 3.2rem;
}

.az-dish {
    position: relative;
    overflow: hidden;
    min-height: clamp(22rem, 30vw, 29rem);
    display: flex;
    align-items: flex-end;
    text-decoration: none;
    box-shadow: 0 24px 55px -35px rgba(38, 33, 25, .45);
}

.az-dish__img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 1.2s cubic-bezier(.23, 1, .32, 1), filter .6s ease;
    filter: brightness(.82);
}

.az-dish:hover .az-dish__img {
    transform: scale(1.08);
    filter: brightness(.95);
}

.az-dish::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 42%, rgba(15, 13, 10, .88) 100%);
}

.az-dish__body {
    position: relative;
    z-index: 2;
    padding: 1.7rem;
    width: 100%;
}

.az-dish__tag {
    display: inline-block;
    font-size: .62rem;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(135deg, var(--az-gold-light), var(--az-gold));
    padding: .38rem .8rem;
    margin-bottom: .9rem;
}

.az-dish__name {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    font-family: var(--az-serif);
    font-size: 1.45rem;
    font-weight: 500;
    color: #fff;
    margin: 0 0 .45rem;
}

.az-dish__price {
    color: var(--az-gold-light);
    font-size: 1.15rem;
    white-space: nowrap;
}

.az-dish__desc {
    font-size: .86rem;
    font-weight: 300;
    color: rgba(244, 237, 226, .85);
    line-height: 1.6;
    margin: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all .55s cubic-bezier(.23, 1, .32, 1);
}

.az-dish:hover .az-dish__desc {
    max-height: 5rem;
    opacity: 1;
    margin-top: .3rem;
}

/* ==========================================================================
   MENU PREVIEW
   ========================================================================== */
.az-menu {
    background:
        radial-gradient(ellipse at 85% 8%, rgba(28, 90, 85, .07), transparent 55%),
        radial-gradient(ellipse at 8% 92%, rgba(176, 138, 69, .08), transparent 50%),
        var(--az-bg-alt);
}

.az-menu__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    margin: 3rem 0 3.2rem;
}

.az-menu__tab {
    font-family: var(--az-sans);
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--az-ink-soft);
    background: transparent;
    border: 1px solid var(--az-line-strong);
    padding: .85rem 1.7rem;
    cursor: pointer;
    transition: all .35s ease;
}

.az-menu__tab:hover {
    color: var(--az-ink);
    border-color: var(--az-gold);
}

.az-menu__tab.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--az-gold-light), var(--az-gold));
    border-color: var(--az-gold);
}

.az-menu__panel {
    display: none;
    animation: azFade .6s ease;
}

.az-menu__panel.is-active {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 4rem;
    max-width: 1120px;
    margin: 0 auto;
}

@keyframes azFade {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: none; }
}

.az-menu__item {
    padding: 1.3rem 0;
    border-bottom: 1px solid var(--az-line);
}

.az-menu__item-head {
    display: flex;
    align-items: baseline;
    gap: .9rem;
}

.az-menu__item-name {
    font-family: var(--az-serif);
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--az-ink);
    white-space: nowrap;
}

.az-menu__item-dots {
    flex: 1;
    border-bottom: 1px dotted var(--az-line-strong);
    transform: translateY(-4px);
}

.az-menu__item-price {
    font-family: var(--az-serif);
    font-size: 1.2rem;
    color: var(--az-gold);
    white-space: nowrap;
}

.az-menu__item-desc {
    margin: .45rem 0 0;
    font-size: .88rem;
    font-weight: 300;
    color: var(--az-ink-soft);
}

.az-menu__badge {
    display: inline-block;
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--az-gold);
    border: 1px solid var(--az-gold-dim);
    padding: .22rem .6rem;
    margin-left: .7rem;
    vertical-align: middle;
    white-space: nowrap;
}

/* Chef's menu highlight */
.az-menu__chef {
    max-width: 1120px;
    margin: 3.6rem auto 0;
    padding: clamp(2rem, 4vw, 3.2rem);
    border: 1px solid var(--az-gold-dim);
    background: linear-gradient(135deg, rgba(176, 138, 69, .1), rgba(28, 90, 85, .07)), var(--az-bg-soft);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: center;
    box-shadow: 0 24px 55px -40px rgba(38, 33, 25, .35);
}

.az-menu__chef-courses {
    display: flex;
    gap: clamp(1.4rem, 3vw, 3rem);
}

.az-menu__chef-course {
    text-align: center;
}

.az-menu__chef-price {
    font-family: var(--az-serif);
    font-size: clamp(1.7rem, 2.6vw, 2.3rem);
    color: var(--az-gold);
}

.az-menu__chef-label {
    display: block;
    font-size: .7rem;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--az-ink-soft);
    margin-top: .4rem;
}

.az-menu__note {
    text-align: center;
    font-size: .8rem;
    letter-spacing: .16em;
    color: var(--az-ink-soft);
    margin-top: 2.6rem;
}

.az-menu__note svg {
    width: .95rem;
    height: .95rem;
    color: var(--az-gold);
    vertical-align: -2px;
    margin-right: .4rem;
}

.az-menu__actions {
    display: flex;
    gap: 1.1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2.4rem;
}

/* ==========================================================================
   EXPERIENCE (parallax)
   ========================================================================== */
.az-exp {
    min-height: 88vh;
    display: flex;
    align-items: center;
}

.az-exp__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

@supports (-webkit-touch-callout: none) {
    .az-exp__bg {
        background-attachment: scroll;
    }
}

.az-exp__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(248, 244, 236, .92) 0%, rgba(248, 244, 236, .55) 55%, rgba(248, 244, 236, .1) 100%);
}

.az-exp .az-inner {
    position: relative;
    z-index: 2;
}

.az-exp__panel {
    max-width: 560px;
    padding: clamp(2.2rem, 4vw, 3.4rem);
    background: rgba(253, 251, 246, .8);
    border: 1px solid var(--az-line);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    box-shadow: 0 30px 70px -40px rgba(38, 33, 25, .4);
}

.az-exp__features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.4rem 2rem;
    margin: 2rem 0 2.4rem;
}

.az-exp__feature {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-size: .9rem;
    font-weight: 300;
    color: var(--az-ink);
}

.az-exp__feature svg {
    width: 1.15rem;
    height: 1.15rem;
    color: var(--az-gold);
    flex: none;
}

/* ==========================================================================
   GALLERY
   ========================================================================== */
.az-gallery {
    background: var(--az-bg);
}

.az-gallery__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: clamp(9rem, 13vw, 15rem);
    gap: .6rem;
    margin-top: 3.2rem;
}

.az-gallery__item {
    position: relative;
    overflow: hidden;
    grid-column: span var(--c, 1);
    grid-row: span var(--r, 1);
}

.az-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(.23, 1, .32, 1), filter .6s ease;
    filter: saturate(.95);
}

.az-gallery__item:hover img {
    transform: scale(1.07);
    filter: saturate(1.05);
}

.az-gallery__item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(15, 13, 10, .6));
    opacity: 0;
    transition: opacity .5s ease;
}

.az-gallery__item:hover::after {
    opacity: 1;
}

.az-gallery__caption {
    position: absolute;
    left: 1.2rem;
    bottom: 1rem;
    z-index: 2;
    font-family: var(--az-serif);
    font-style: italic;
    font-size: 1.05rem;
    color: var(--az-cream);
    opacity: 0;
    transform: translateY(10px);
    transition: all .5s ease .08s;
}

.az-gallery__item:hover .az-gallery__caption {
    opacity: 1;
    transform: none;
}

/* ==========================================================================
   REVIEWS — design-006: venster-kaarten met accent-chips
   ========================================================================== */
.az-reviews {
    background: #F5F2EC;
}

/* Header: links uitgelijnd met gouden sublijn */
.az-reviews__header {
    position: relative;
    z-index: 2;
    max-width: 46rem;
}

.az-reviews__subline {
    font-family: var(--az-sans);
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
    font-weight: 500;
    letter-spacing: .02em;
    color: var(--az-gold);
    margin: .4rem 0 0;
    line-height: 1.5;
}

/* Stage: chips + slider */
.az-reviews__stage {
    position: relative;
    margin-top: 3.4rem;
}

.az-reviews__chip {
    position: absolute;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .68rem 1.25rem;
    border-radius: .8rem;
    font-family: var(--az-sans);
    font-size: .88rem;
    font-weight: 600;
    letter-spacing: .02em;
    white-space: nowrap;
    pointer-events: none;
}

.az-reviews__chip svg {
    width: 1rem;
    height: 1rem;
    flex: none;
}

.az-reviews__chip--gold {
    top: -1.3rem;
    right: 2.2rem;
    background: linear-gradient(135deg, #D9B975, var(--az-gold));
    color: #fff;
    box-shadow: 0 16px 35px -12px rgba(176, 138, 69, .55);
}

.az-reviews__chip--dark {
    left: 5%;
    bottom: 1.2rem;
    background: #26221C;
    color: #F4EDE2;
    box-shadow: 0 18px 40px -16px rgba(38, 33, 25, .5);
}

.az-reviews__chip--dark::before {
    content: "";
    position: absolute;
    top: -.5rem;
    left: 1.6rem;
    border-left: .55rem solid transparent;
    border-right: .55rem solid transparent;
    border-bottom: .6rem solid #26221C;
}

/* Slider */
.az-reviews__track-wrap {
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding: .6rem 0 3rem;
}

.az-reviews__track {
    display: flex;
    transition: transform .7s cubic-bezier(.23, 1, .32, 1);
}

.az-review {
    flex: 0 0 33.3333%;
    padding: 0 .55rem;
}

/* Venster-kaart (zoals de app-vensters in design-006) */
.az-review__card {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(38, 33, 25, .09);
    border-radius: 1rem;
    overflow: hidden;
    transition: transform .5s cubic-bezier(.23, 1, .32, 1), box-shadow .5s ease;
    box-shadow: 0 22px 50px -30px rgba(38, 33, 25, .35);
}

.az-review:nth-child(even) .az-review__card {
    transform: translateY(1.4rem);
}

.az-review__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 32px 65px -30px rgba(38, 33, 25, .4);
}

.az-review:nth-child(even) .az-review__card:hover {
    transform: translateY(1rem);
}

/* Vensterbalk: Google-icoon links, naam rechts */
.az-review__windowbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1.35rem;
    border-bottom: 1px solid rgba(38, 33, 25, .08);
    flex: none;
}

.az-review__windowbar-icon {
    display: inline-flex;
    flex: none;
}

.az-review__windowbar-icon svg {
    width: 1.15rem;
    height: 1.15rem;
}

.az-review__windowbar-name {
    font-family: var(--az-sans);
    font-size: .85rem;
    font-weight: 500;
    color: var(--az-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.az-review__inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1.5rem 1.7rem 1.6rem;
}

.az-review__text {
    flex: 1;
    font-size: .95rem;
    font-weight: 300;
    line-height: 1.8;
    color: var(--az-ink-soft);
    font-style: italic;
    margin: .95rem 0 1.2rem;
}

.az-review__source {
    font-size: .74rem;
    letter-spacing: .1em;
    color: rgba(108, 102, 90, .8);
}

.az-review .az-stars {
    margin-bottom: 0;
    color: var(--az-gold);
}

.az-review .az-stars svg {
    width: .85rem;
    height: .85rem;
}

/* Navigatie */
.az-reviews__nav {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.4rem;
    margin-top: .4rem;
}

.az-reviews__arrow {
    width: 3.1rem;
    height: 3.1rem;
    border: 1px solid var(--az-line-strong);
    border-radius: 50%;
    background: #fff;
    color: var(--az-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .35s ease;
    box-shadow: 0 12px 28px -14px rgba(38, 33, 25, .3);
}

.az-reviews__arrow:hover {
    border-color: var(--az-gold);
    color: var(--az-gold);
    transform: translateY(-2px);
}

.az-reviews__arrow svg {
    width: 1.1rem;
    height: 1.1rem;
}

.az-reviews__dots {
    display: flex;
    gap: .55rem;
}

.az-reviews__dot {
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    border: 1px solid var(--az-gold-dim);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: all .3s ease;
}

.az-reviews__dot.is-active {
    background: var(--az-gold);
    border-color: var(--az-gold);
}

@media (max-width: 980px) {
    .az-reviews__chip {
        display: none;
    }

    .az-review:nth-child(even) .az-review__card {
        transform: none;
    }

    .az-reviews__track-wrap {
        padding-bottom: 1.2rem;
    }
}

/* ==========================================================================
   RESERVATION CTA
   ========================================================================== */
.az-reserve {
    background:
        radial-gradient(ellipse at 50% -30%, rgba(28, 90, 85, .1), transparent 65%),
        linear-gradient(180deg, var(--az-bg), var(--az-bg-alt) 140%);
}

.az-reserve .az-inner {
    text-align: center;
    position: relative;
    z-index: 2;
}

.az-reserve__frame {
    max-width: 900px;
    margin: 0 auto;
    padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 5vw, 4.5rem);
    border: 1px solid var(--az-gold-dim);
    position: relative;
    background: rgba(253, 251, 246, .55);
}

.az-reserve__frame::before,
.az-reserve__frame::after {
    content: "";
    position: absolute;
    width: 2.4rem;
    height: 2.4rem;
    border-color: var(--az-gold);
    border-style: solid;
}

.az-reserve__frame::before {
    top: -1px;
    left: -1px;
    border-width: 2px 0 0 2px;
}

.az-reserve__frame::after {
    bottom: -1px;
    right: -1px;
    border-width: 0 2px 2px 0;
}

.az-reserve__phone {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    font-family: var(--az-serif);
    font-size: clamp(1.3rem, 2.4vw, 1.8rem);
    color: var(--az-ink);
    text-decoration: none;
    margin-top: 1.8rem;
    transition: color .3s ease;
}

.az-reserve__phone:hover {
    color: var(--az-gold);
}

.az-reserve__phone svg {
    width: 1.3rem;
    height: 1.3rem;
    color: var(--az-gold);
}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.az-contact {
    background: var(--az-bg);
}

.az-contact .az-inner {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: stretch;
}

.az-contact__cards {
    display: grid;
    gap: 1rem;
    margin-top: 2.4rem;
}

.az-contact__card {
    display: flex;
    align-items: flex-start;
    gap: 1.3rem;
    padding: 1.6rem 1.8rem;
    background: var(--az-bg-soft);
    border: 1px solid var(--az-line);
    text-decoration: none;
    transition: all .4s ease;
    box-shadow: 0 16px 40px -32px rgba(38, 33, 25, .3);
}

.az-contact__card:hover {
    border-color: var(--az-gold-dim);
    transform: translateX(6px);
}

.az-contact__icon {
    width: 2.6rem;
    height: 2.6rem;
    flex: none;
    border: 1px solid var(--az-gold-dim);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--az-gold);
}

.az-contact__icon svg {
    width: 1.15rem;
    height: 1.15rem;
}

.az-contact__label {
    font-size: .68rem;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--az-ink-soft);
    display: block;
    margin-bottom: .35rem;
}

.az-contact__value {
    font-family: var(--az-serif);
    font-size: 1.2rem;
    color: var(--az-ink);
    line-height: 1.4;
}

.az-contact__map {
    position: relative;
    min-height: 24rem;
    border: 1px solid var(--az-line);
    overflow: hidden;
    box-shadow: 0 24px 55px -40px rgba(38, 33, 25, .4);
}

.az-contact__map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    filter: grayscale(1) contrast(.95) sepia(.12);
}

/* ==========================================================================
   OPENING HOURS
   ========================================================================== */
.az-hours {
    background:
        radial-gradient(ellipse at 50% 120%, rgba(28, 90, 85, .07), transparent 60%),
        var(--az-bg-alt);
}

.az-hours__card {
    max-width: 680px;
    margin: 3rem auto 0;
    padding: clamp(2.2rem, 4vw, 3.4rem);
    background: var(--az-bg-soft);
    border: 1px solid var(--az-line);
    box-shadow: 0 24px 55px -40px rgba(38, 33, 25, .35);
}

.az-hours__row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    padding: 1.05rem 0;
    border-bottom: 1px solid var(--az-line);
}

.az-hours__row:last-child {
    border-bottom: none;
}

.az-hours__day {
    font-size: .92rem;
    font-weight: 400;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--az-ink);
    white-space: nowrap;
}

.az-hours__dots {
    flex: 1;
    border-bottom: 1px dotted var(--az-line-strong);
    transform: translateY(-4px);
}

.az-hours__time {
    font-family: var(--az-serif);
    font-size: 1.2rem;
    color: var(--az-gold);
    white-space: nowrap;
}

.az-hours__time--closed {
    color: var(--az-ink-soft);
    font-style: italic;
}

.az-hours__note {
    text-align: center;
    margin-top: 2rem;
    font-size: .85rem;
    font-weight: 300;
    color: var(--az-ink-soft);
}

/* ==========================================================================
   FOOTER — Instagram-strip, merkblok, kaart en onderbalk
   ========================================================================== */
.az-footer {
    background:
        radial-gradient(ellipse at 12% 0%, rgba(28, 90, 85, .07), transparent 55%),
        radial-gradient(ellipse at 88% 100%, rgba(176, 138, 69, .09), transparent 55%),
        var(--az-bg-alt);
    border-top: 1px solid var(--az-line);
}

/* ---------- Instagram-strip ---------- */
.az-footer__insta {
    max-width: 1560px;
    margin: 0 auto;
    padding: clamp(3.5rem, 6vw, 5rem) var(--az-gutter) 0;
}

.az-footer__insta-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
    margin-bottom: 1.8rem;
}

.az-footer__insta-title {
    font-family: var(--az-serif);
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 500;
    color: var(--az-ink);
    margin: 0;
    line-height: 1.1;
}

.az-footer__insta-title em {
    font-style: italic;
    color: var(--az-gold);
}

.az-footer__insta-cta {
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    padding: .85rem 1.5rem;
    background: var(--az-bg-soft);
    border: 1px solid var(--az-line);
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 18px 40px -26px rgba(38, 33, 25, .35);
    transition: all .4s cubic-bezier(.23, 1, .32, 1);
}

.az-footer__insta-cta:hover {
    border-color: var(--az-gold-dim);
    transform: translateY(-2px);
    box-shadow: 0 24px 48px -26px rgba(38, 33, 25, .4);
}

.az-footer__insta-cta > svg:first-child {
    width: 1.5rem;
    height: 1.5rem;
    fill: var(--az-gold);
    flex: none;
}

.az-footer__insta-cta span {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.az-footer__insta-cta strong {
    font-size: .95rem;
    font-weight: 500;
    color: var(--az-ink);
}

.az-footer__insta-cta em {
    font-style: normal;
    font-size: .72rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--az-ink-soft);
}

.az-footer__insta-cta > svg:last-child {
    width: 1rem;
    height: 1rem;
    color: var(--az-gold);
    flex: none;
    transition: transform .35s ease;
}

.az-footer__insta-cta:hover > svg:last-child {
    transform: translateX(4px);
}

.az-footer__insta-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .6rem;
}

.az-footer__insta-item {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: .9rem;
    box-shadow: 0 18px 40px -30px rgba(38, 33, 25, .4);
}

.az-footer__insta-item img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    transition: transform 1.1s cubic-bezier(.23, 1, .32, 1), filter .5s ease;
    filter: saturate(.95);
}

.az-footer__insta-item:hover img {
    transform: scale(1.09);
    filter: saturate(1.05);
}

.az-footer__insta-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(7, 7, 8, .55);
    opacity: 0;
    transition: opacity .45s ease;
}

.az-footer__insta-item:hover .az-footer__insta-overlay {
    opacity: 1;
}

.az-footer__insta-overlay svg {
    width: 1.6rem;
    height: 1.6rem;
    fill: var(--az-cream);
    transform: scale(.8);
    transition: transform .45s cubic-bezier(.23, 1, .32, 1);
}

.az-footer__insta-item:hover .az-footer__insta-overlay svg {
    transform: scale(1);
}

/* ---------- Hoofdgrid ---------- */
.az-footer__main {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: clamp(2.5rem, 5vw, 4.5rem);
    padding: clamp(3.5rem, 7vw, 5.5rem) var(--az-gutter) clamp(2.5rem, 5vw, 3.5rem);
    max-width: 1560px;
    margin: 0 auto;
}

.az-footer__logo img {
    height: 2.2rem;
    width: auto;
    margin-bottom: 1.4rem;
}

.az-footer__about {
    font-size: .92rem;
    font-weight: 300;
    line-height: 1.8;
    color: var(--az-ink-soft);
    max-width: 36ch;
}

.az-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.8rem;
}

.az-footer__social {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .7rem 1.2rem;
    border: 1px solid var(--az-line-strong);
    border-radius: 999px;
    background: var(--az-bg-soft);
    color: var(--az-ink);
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .12em;
    text-decoration: none;
    transition: all .35s ease;
}

.az-footer__social:hover {
    border-color: var(--az-gold);
    color: var(--az-gold);
    transform: translateY(-3px);
    box-shadow: 0 16px 32px -20px rgba(38, 33, 25, .45);
}

.az-footer__social svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
    flex: none;
}

.az-footer__title {
    font-family: var(--az-serif);
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--az-ink);
    margin: 0 0 1.5rem;
    position: relative;
    padding-bottom: .9rem;
}

.az-footer__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 2.2rem;
    height: 1px;
    background: var(--az-gold);
}

.az-footer__nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .75rem;
}

.az-footer__nav a {
    font-size: .9rem;
    font-weight: 300;
    color: var(--az-ink-soft);
    text-decoration: none;
    transition: all .3s ease;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.az-footer__nav a::before {
    content: "";
    width: 0;
    height: 1px;
    background: var(--az-gold);
    transition: width .35s ease;
}

.az-footer__nav a:hover {
    color: var(--az-gold);
}

.az-footer__nav a:hover::before {
    width: .9rem;
}

.az-footer__cta {
    margin-top: 1.8rem;
    font-size: .72rem;
    padding: .9rem 1.6rem;
}

.az-footer__contact-item {
    display: block;
    font-size: .9rem;
    font-weight: 300;
    line-height: 1.7;
    color: var(--az-ink-soft);
    text-decoration: none;
    margin-bottom: .9rem;
    transition: color .3s ease;
}

a.az-footer__contact-item:hover {
    color: var(--az-gold);
}

.az-footer__contact-item strong {
    display: block;
    font-weight: 500;
    font-size: .72rem;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--az-ink);
    margin-bottom: .2rem;
}

.az-footer__hours {
    font-size: .88rem;
    font-weight: 300;
    color: var(--az-ink-soft);
    display: grid;
    gap: .2rem;
}

.az-footer__hours-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .4rem .6rem;
    margin: 0 -.6rem;
    border-radius: .5rem;
    transition: background .3s ease;
}

.az-footer__hours-row em {
    font-style: normal;
    color: var(--az-ink);
}

.az-footer__hours-row.is-today {
    background: rgba(176, 138, 69, .1);
    color: var(--az-ink);
}

.az-footer__hours-row.is-today em {
    color: var(--az-gold);
    font-weight: 500;
}

/* ---------- Kaartstrook ---------- */
.az-footer__map {
    position: relative;
    max-width: 1560px;
    margin: 0 auto;
    padding: 0 var(--az-gutter) clamp(2.5rem, 5vw, 3.5rem);
}

.az-footer__map iframe {
    width: 100%;
    height: clamp(15rem, 24vw, 19rem);
    border: 0;
    border-radius: 1.1rem;
    filter: grayscale(1) contrast(.95) sepia(.18);
    display: block;
}

.az-footer__map-card {
    position: absolute;
    right: calc(var(--az-gutter) + 1.6rem);
    top: 1.6rem;
    max-width: 20rem;
    padding: 1.4rem 1.6rem;
    background: var(--az-bg-soft);
    border: 1px solid var(--az-line);
    border-radius: .9rem;
    box-shadow: 0 26px 55px -28px rgba(38, 33, 25, .5);
}

.az-footer__map-label {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--az-gold);
    margin-bottom: .7rem;
}

.az-footer__map-label svg {
    width: 1rem;
    height: 1rem;
    flex: none;
}

.az-footer__map-address {
    display: block;
    font-family: var(--az-serif);
    font-size: 1.2rem;
    line-height: 1.45;
    color: var(--az-ink);
    margin-bottom: 1.1rem;
}

/* ---------- Onderbalk met watermerk ---------- */
.az-footer__bottom {
    position: relative;
    border-top: 1px solid var(--az-line);
    overflow: hidden;
}

.az-footer__watermark {
    position: absolute;
    left: 50%;
    bottom: -.35em;
    transform: translateX(-50%);
    font-family: var(--az-sans);
    font-weight: 300;
    font-size: clamp(5rem, 17vw, 13rem);
    letter-spacing: .3em;
    text-indent: .3em;
    line-height: 1;
    color: rgba(38, 33, 25, .045);
    pointer-events: none;
    white-space: nowrap;
    user-select: none;
}

.az-footer__bottom-inner {
    position: relative;
    z-index: 1;
    max-width: 1560px;
    margin: 0 auto;
    padding: 1.6rem var(--az-gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: .78rem;
    font-weight: 300;
    letter-spacing: .08em;
    color: var(--az-ink-soft);
}

.az-footer__bottom-inner a {
    color: var(--az-ink-soft);
    text-decoration: none;
    transition: color .3s ease;
}

.az-footer__bottom-inner a:hover {
    color: var(--az-gold);
}

@media (max-width: 1180px) {
    .az-footer__insta-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 980px) {
    .az-footer__map-card {
        position: static;
        max-width: none;
        margin-top: -3rem;
        margin-left: 1rem;
        margin-right: 1rem;
    }
}

@media (max-width: 680px) {
    .az-footer__insta-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: .45rem;
    }

    .az-footer__insta-cta {
        width: 100%;
    }

    .az-footer__map iframe {
        height: 13rem;
    }

    .az-footer__map-card {
        margin-left: 0;
        margin-right: 0;
    }
}

/* ==========================================================================
   OVERRIDES — Elementor img-reset (height:auto) neutraliseren
   ========================================================================== */
.az-section .az-gallery__item img,
.az-section .az-intro__img-accent img,
.az-section .az-mega__card img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.az-section .az-intro__img-main img {
    height: clamp(24rem, 42vw, 37rem) !important;
    object-fit: cover;
}

.az-section .az-fusion__visual img {
    height: clamp(22rem, 38vw, 34rem) !important;
    object-fit: cover;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1620px) {
    .az-topbar__contact span.az-topbar__hours {
        display: none;
    }
}

@media (max-width: 1180px) {
    .az-topbar__usps li:nth-child(n+3) {
        display: none;
    }

    .az-why__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .az-dishes__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .az-review {
        flex: 0 0 50%;
    }

    .az-footer__main {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 980px) {
    .az-topbar__usps {
        display: none;
    }

    .az-topbar__contact {
        width: 100%;
        justify-content: space-between;
        gap: 1rem;
    }

    .az-mega {
        display: none;
    }

    .az-nav__links {
        position: fixed;
        inset: 0;
        z-index: 55;
        flex-direction: column;
        justify-content: center;
        gap: 2rem;
        margin: 0;
        background: rgba(248, 244, 236, .97);
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
        opacity: 0;
        pointer-events: none;
        transition: opacity .4s ease;
    }

    .az-nav__links.is-open {
        opacity: 1;
        pointer-events: auto;
    }

    .az-nav__links a {
        font-size: 1.05rem;
    }

    .az-nav__burger {
        display: block;
    }

    .az-nav__burger.is-open span:nth-child(1) {
        transform: translateY(10.5px) rotate(45deg);
    }

    .az-nav__burger.is-open span:nth-child(2) {
        opacity: 0;
        transform: scale(0);
    }

    .az-nav__burger.is-open span:nth-child(3) {
        width: 26px;
        transform: translateY(-10.5px) rotate(-45deg);
    }

    .az-nav__cta {
        display: none;
    }

    .az-hero__grid {
        grid-template-columns: 1fr;
        padding-top: 2.5rem;
    }

    .az-hero__showcase {
        max-width: 30rem;
        margin: 0 auto;
        width: 100%;
    }

    .az-hero__scroll {
        display: none;
    }

    .az-intro .az-inner,
    .az-fusion .az-inner,
    .az-contact .az-inner {
        grid-template-columns: 1fr;
    }

    .az-menu__panel.is-active {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .az-menu__chef {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .az-menu__chef-courses {
        justify-content: center;
    }

    .az-gallery__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: clamp(9rem, 24vw, 13rem);
    }

    .az-exp__bg {
        background-attachment: scroll;
    }
}

@media (max-width: 680px) {
    .az-why__grid,
    .az-dishes__grid {
        grid-template-columns: 1fr;
    }

    .az-review {
        flex: 0 0 100%;
    }

    .az-footer__main {
        grid-template-columns: 1fr;
    }

    .az-intro__visual {
        padding: 0 0 2rem 1.4rem;
    }

    .az-hero__actions .az-btn {
        width: 100%;
    }

    .az-hero__showcase {
        padding-left: 1.6rem;
    }

    .az-exp__features {
        grid-template-columns: 1fr;
    }

    .az-footer__bottom-inner {
        justify-content: center;
        text-align: center;
    }
}

/* ==========================================================================
   HERO — terug naar de originele donkere stijl (rest van de site blijft licht)
   ========================================================================== */
.az-hero {
    background: #070708;
    color: #F4EDE2;
}

.az-hero .az-hero__bg {
    background:
        radial-gradient(ellipse at 82% 18%, rgba(28, 90, 85, .32), transparent 55%),
        radial-gradient(ellipse at 8% 85%, rgba(201, 162, 94, .1), transparent 50%),
        linear-gradient(160deg, #0B0B0D 0%, #070708 55%, #0A1514 100%);
}

/* Topbar op donker */
.az-hero .az-topbar {
    color: #A9A59D;
}

.az-hero .az-topbar__usps svg {
    color: #C9A25E;
}

.az-hero .az-topbar__contact a,
.az-hero .az-topbar__contact span {
    color: #F4EDE2;
}

.az-hero .az-topbar__contact a:hover {
    color: #E6CB92;
}

.az-hero .az-topbar__contact svg {
    color: #C9A25E;
}

/* Nav op donker */
.az-hero .az-nav__links a {
    color: #F4EDE2;
}

.az-hero .az-nav__links a:hover {
    color: #E6CB92;
}

.az-hero .az-nav__burger span:nth-child(1) {
    background: linear-gradient(90deg, #F4EDE2 60%, #C9A25E);
}

.az-hero .az-nav__burger span:nth-child(2) {
    background: radial-gradient(circle at 35% 35%, #E6CB92, #C9A25E);
    box-shadow: 0 0 0 1.5px rgba(201, 162, 94, .4);
}

.az-hero .az-nav__burger span:nth-child(3) {
    background: linear-gradient(90deg, #F4EDE2 50%, #C9A25E);
}

/* Hero content op donker */
.az-hero .az-hero__script {
    color: #E6CB92;
}

.az-hero .az-hero__title {
    color: #F4EDE2;
}

.az-hero .az-hero__title strong {
    color: #E6CB92;
}

.az-hero .az-hero__tagline {
    color: rgba(244, 237, 226, .85);
}

.az-hero .az-hero__rating {
    color: #A9A59D;
}

.az-hero .az-stars {
    color: #C9A25E;
}

.az-hero .az-btn {
    color: #070708;
    border-color: #C9A25E;
    background: linear-gradient(135deg, #E6CB92, #C9A25E);
}

.az-hero .az-btn:hover {
    color: #070708;
    box-shadow: 0 12px 40px -10px rgba(201, 162, 94, .55);
}

.az-hero .az-btn--ghost {
    background: transparent;
    color: #F4EDE2;
    border-color: rgba(244, 237, 226, .16);
}

.az-hero .az-btn--ghost:hover {
    border-color: #C9A25E;
    color: #E6CB92;
    box-shadow: none;
}

.az-hero .az-hero__usps-inline {
    border-top-color: rgba(244, 237, 226, .08);
}

.az-hero .az-hero__usps-inline li {
    color: #A9A59D;
}

.az-hero .az-hero__usps-inline svg {
    color: #C9A25E;
}

/* Showcase op donker */
.az-hero .az-hero__video-card {
    box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .85);
}

.az-hero .az-hero__video-card::after {
    border-color: rgba(244, 237, 226, .35);
}

.az-hero .az-hero__img-accent {
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8);
}

.az-hero .az-hero__chip {
    background: rgba(8, 8, 10, .82);
    border-color: rgba(201, 162, 94, .35);
    box-shadow: none;
}

.az-hero .az-hero__chip strong {
    color: #E6CB92;
}

.az-hero .az-hero__chip span {
    color: #A9A59D;
}

.az-hero .az-hero__scroll {
    color: #A9A59D;
}

.az-hero .az-hero__scroll span.az-hero__scroll-line {
    background: linear-gradient(180deg, #C9A25E, transparent);
}

/* Mobiel nav-overlay op donker */
@media (max-width: 980px) {
    .az-hero .az-nav__links {
        background: rgba(7, 7, 8, .97);
    }
}

/* Megamenu blijft licht, ook binnen de donkere hero-nav */
.az-hero .az-nav__links .az-mega .az-mega__list a {
    color: var(--az-ink);
}

.az-hero .az-nav__links .az-mega .az-mega__list a:hover {
    color: var(--az-gold);
}

/* ==========================================================================
   HERO SCROLL — eetstokjes & nigiri indicator
   ========================================================================== */
.az-hero__scroll-label {
    letter-spacing: .4em;
    text-transform: uppercase;
}

.az-hero__scroll-svg {
    width: 2.5rem;
    height: auto;
    overflow: visible;
    color: #C9A25E;
    transition: color .35s ease;
}

.az-hero__scroll:hover .az-hero__scroll-svg {
    color: #E6CB92;
}

.az-scroll-sticks {
    animation: azChopDip 2.6s cubic-bezier(.45, 0, .55, 1) infinite;
}

.az-scroll-nigiri {
    animation: azNigiriFloat 2.6s cubic-bezier(.45, 0, .55, 1) infinite;
}

@keyframes azChopDip {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    45%, 60% {
        transform: translateY(8px) rotate(.5deg);
    }
}

@keyframes azNigiriFloat {
    0%, 100% {
        transform: translateY(0);
        opacity: .85;
    }
    45%, 60% {
        transform: translateY(2.5px);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .az-scroll-sticks,
    .az-scroll-nigiri {
        animation: none;
    }
}

/* ==========================================================================
   EXPERIENCE — videokaart rechts
   ========================================================================== */
.az-exp__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: center;
}

.az-exp__panel {
    max-width: none;
}

.az-exp__video-card {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    box-shadow: 0 40px 90px -35px rgba(38, 33, 25, .5);
}

.az-exp__video-card video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.az-exp__video-card::after {
    content: "";
    position: absolute;
    inset: .9rem;
    border: 1px solid rgba(255, 255, 255, .45);
    pointer-events: none;
}

.az-exp__video-caption {
    position: absolute;
    left: 1.7rem;
    bottom: 1.5rem;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: .1rem;
    color: #fff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .55);
}

.az-exp__video-script {
    font-family: var(--az-script);
    font-size: 1.7rem;
    color: #E6CB92;
    line-height: 1.1;
}

.az-exp__video-caption span:last-child {
    font-size: .68rem;
    letter-spacing: .3em;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    .az-exp__inner {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   PAGE HERO — compacte donkere pagina-header
   ========================================================================== */
.az-phero {
    min-height: clamp(26rem, 58vh, 34rem);
}

.az-phero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-size: cover;
    background-position: center;
}

.az-phero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(7, 7, 8, .82) 0%, rgba(7, 7, 8, .6) 55%, rgba(7, 7, 8, .78) 100%);
}

.az-phero .az-topbar,
.az-phero .az-nav {
    position: relative;
    z-index: 5;
}

.az-phero__content {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(2.5rem, 6vh, 4.5rem) var(--az-gutter) clamp(3rem, 7vh, 5rem);
}

.az-phero__title {
    font-family: var(--az-serif);
    font-weight: 500;
    font-size: clamp(2.6rem, 5.5vw, 4.6rem);
    color: #F4EDE2;
    line-height: 1.08;
    margin: 0 0 1rem;
}

.az-phero__title em {
    font-style: italic;
    color: #E6CB92;
}

.az-phero__subtitle {
    font-family: var(--az-serif);
    font-style: italic;
    font-size: clamp(1.05rem, 1.8vw, 1.4rem);
    font-weight: 400;
    color: rgba(244, 237, 226, .82);
    max-width: 52ch;
    margin: 0 0 1.4rem;
    line-height: 1.6;
}

.az-phero__breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    font-size: .72rem;
    letter-spacing: .3em;
    text-transform: uppercase;
    color: #A9A59D;
}

.az-phero__breadcrumb a {
    color: #E6CB92;
    text-decoration: none;
    transition: color .3s ease;
}

.az-phero__breadcrumb a:hover {
    color: #F4EDE2;
}

/* ==========================================================================
   STORY — afwisselende beeld/tekst-rijen
   ========================================================================== */
.az-story__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(3rem, 6vw, 6.5rem);
    align-items: center;
}

.az-story__row + .az-story__row {
    margin-top: clamp(4.5rem, 9vw, 8rem);
}

.az-story__row--reverse .az-story__visual {
    order: 2;
}

.az-story__row--reverse .az-story__body {
    order: 1;
}

.az-story__img {
    position: relative;
    overflow: hidden;
    box-shadow: 0 30px 70px -35px rgba(38, 33, 25, .45);
}

.az-story__img::after {
    content: "";
    position: absolute;
    inset: 1.1rem;
    border: 1px solid rgba(255, 255, 255, .4);
    pointer-events: none;
}

.az-story__img img {
    width: 100%;
    height: clamp(22rem, 36vw, 32rem) !important;
    object-fit: cover;
    transition: transform 1.4s cubic-bezier(.23, 1, .32, 1);
}

.az-story__img:hover img {
    transform: scale(1.05);
}

.az-story__quote {
    font-family: var(--az-serif);
    font-style: italic;
    font-size: 1.3rem;
    color: var(--az-gold);
    line-height: 1.5;
    margin: 1.4rem 0 0;
    padding-left: 1.4rem;
    border-left: 2px solid var(--az-gold-dim);
}

@media (max-width: 980px) {
    .az-story__row {
        grid-template-columns: 1fr;
    }

    .az-story__row--reverse .az-story__visual,
    .az-story__row--reverse .az-story__body {
        order: initial;
    }
}

/* ==========================================================================
   MENUCATEGORIE
   ========================================================================== */
.az-mcat--alt {
    background: var(--az-bg-alt);
}

.az-mcat .az-inner {
    padding-top: clamp(3.5rem, 7vw, 6rem);
    padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

.az-mcat__inner--with-image {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: start;
}

.az-mcat__head {
    margin-bottom: 1.4rem;
}

.az-mcat__items {
    columns: 2;
    column-gap: 4rem;
}

.az-mcat__items .az-menu__item {
    break-inside: avoid;
}

.az-mcat__inner--with-image .az-mcat__items {
    columns: 1;
}

.az-mcat__visual {
    position: sticky;
    top: 2rem;
    overflow: hidden;
    box-shadow: 0 30px 70px -35px rgba(38, 33, 25, .45);
}

.az-mcat__visual img {
    width: 100%;
    height: clamp(24rem, 40vw, 34rem) !important;
    object-fit: cover;
}

@media (max-width: 980px) {
    .az-mcat__items {
        columns: 1;
    }

    .az-mcat__inner--with-image {
        grid-template-columns: 1fr;
    }

    .az-mcat__visual {
        position: static;
    }

    .az-mcat__visual img {
        height: clamp(14rem, 45vw, 20rem) !important;
    }
}

/* ==========================================================================
   FOTOBAND
   ========================================================================== */
.az-band {
    min-height: clamp(18rem, 46vh, 26rem);
    display: flex;
    align-items: center;
    justify-content: center;
}

.az-band__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

@supports (-webkit-touch-callout: none) {
    .az-band__bg {
        background-attachment: scroll;
    }
}

@media (max-width: 980px) {
    .az-band__bg {
        background-attachment: scroll;
    }
}

.az-band__overlay {
    position: absolute;
    inset: 0;
    background: rgba(7, 7, 8, .48);
}

.az-band__content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 2rem var(--az-gutter);
}

.az-band__script {
    display: block;
    font-family: var(--az-script);
    font-size: clamp(2.4rem, 5vw, 4rem);
    color: #E6CB92;
    line-height: 1.1;
}

.az-band__caption {
    display: inline-block;
    margin-top: .6rem;
    font-size: .78rem;
    letter-spacing: .42em;
    text-transform: uppercase;
    color: rgba(244, 237, 226, .85);
}

/* ==========================================================================
   BESTELSTAPPEN
   ========================================================================== */
.az-steps {
    background: var(--az-bg-alt);
}

.az-steps__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
    margin-top: 3.2rem;
}

.az-steps__card {
    position: relative;
    padding: 2.6rem 2.2rem 2.4rem;
    background: var(--az-bg-soft);
    border: 1px solid var(--az-line);
    box-shadow: 0 16px 40px -30px rgba(38, 33, 25, .3);
    transition: all .5s cubic-bezier(.23, 1, .32, 1);
}

.az-steps__card:hover {
    transform: translateY(-6px);
    border-color: var(--az-gold-dim);
    box-shadow: 0 26px 55px -30px rgba(38, 33, 25, .4);
}

.az-steps__num {
    display: block;
    font-family: var(--az-serif);
    font-size: 2.6rem;
    color: var(--az-gold);
    opacity: .55;
    line-height: 1;
    margin-bottom: 1.1rem;
}

.az-steps__card h3 {
    font-family: var(--az-serif);
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--az-ink);
    margin: 0 0 .7rem;
}

.az-steps__card p {
    font-size: .92rem;
    font-weight: 300;
    line-height: 1.7;
    color: var(--az-ink-soft);
    margin: 0;
}

.az-steps__actions {
    display: flex;
    gap: 1.1rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2.8rem;
}

.az-steps__note {
    text-align: center;
    font-size: .8rem;
    letter-spacing: .14em;
    color: var(--az-ink-soft);
    margin-top: 1.8rem;
}

@media (max-width: 980px) {
    .az-steps__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   FORMULIER — donker luxe paneel + CF7 styling
   ========================================================================== */
.az-form__inner {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: start;
}

.az-form__panel {
    padding: clamp(2.2rem, 4vw, 3.6rem);
    background:
        radial-gradient(ellipse at 85% 0%, rgba(28, 90, 85, .25), transparent 55%),
        linear-gradient(160deg, #101013, #070708);
    border: 1px solid rgba(201, 162, 94, .3);
    box-shadow: 0 40px 90px -40px rgba(38, 33, 25, .55);
}

.az-form__panel .az-h2 {
    color: #F4EDE2;
}

.az-form__panel .az-h2 em {
    color: #E6CB92;
}

.az-form__subtitle {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.8;
    color: #A9A59D;
    margin: 0 0 2rem;
}

.az-form__cf7 .az-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.az-form__field {
    display: block;
}

.az-form__field--full {
    grid-column: 1 / -1;
}

.az-form__field .wpcf7-form-control-wrap {
    display: block;
}

.az-form__cf7 label {
    display: block;
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: #C9A25E;
    margin-bottom: .5rem;
}

.az-form__cf7 input[type="text"],
.az-form__cf7 input[type="email"],
.az-form__cf7 input[type="tel"],
.az-form__cf7 input[type="number"],
.az-form__cf7 input[type="date"],
.az-form__cf7 select,
.az-form__cf7 textarea {
    width: 100%;
    padding: .95rem 1.3rem;
    background: rgba(244, 237, 226, .06);
    border: 1px solid rgba(244, 237, 226, .16);
    border-radius: .65rem;
    color: #F4EDE2;
    font-family: var(--az-sans);
    font-size: .95rem;
    font-weight: 300;
    letter-spacing: .04em;
    transition: border-color .35s ease, box-shadow .35s ease, background .35s ease;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
}

.az-form__cf7 select {
    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' fill='none' stroke='%23C9A25E' stroke-width='1.6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.2rem center;
    padding-right: 3rem;
}

.az-form__cf7 select option {
    background: #101013;
    color: #F4EDE2;
}

.az-form__cf7 input::placeholder,
.az-form__cf7 textarea::placeholder {
    color: rgba(169, 165, 157, .75);
}

.az-form__cf7 input:focus,
.az-form__cf7 select:focus,
.az-form__cf7 textarea:focus {
    outline: none;
    border-color: #C9A25E;
    background: rgba(244, 237, 226, .09);
    box-shadow: 0 0 0 3px rgba(201, 162, 94, .18);
}

.az-form__cf7 input[type="date"] {
    color-scheme: dark;
}

.az-form__cf7 textarea {
    min-height: 8rem;
    resize: vertical;
}

.az-form__cf7 .wpcf7-submit {
    display: inline-flex;
    margin-top: 1.4rem;
    padding: 1.1rem 2.8rem;
    font-family: var(--az-sans);
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #070708;
    background: linear-gradient(135deg, #E6CB92, #C9A25E);
    border: 1px solid #C9A25E;
    border-radius: .65rem;
    cursor: pointer;
    transition: all .45s cubic-bezier(.23, 1, .32, 1);
}

.az-form__cf7 .wpcf7-submit:hover {
    box-shadow: 0 12px 40px -10px rgba(201, 162, 94, .55);
    transform: translateY(-2px);
}

.az-form__cf7 .wpcf7-spinner {
    filter: invert(1);
}

.az-form__cf7 .wpcf7-not-valid-tip {
    font-size: .75rem;
    color: #E8A2A2;
    margin-top: .4rem;
}

.az-form__cf7 .wpcf7-response-output {
    margin: 1.6rem 0 0;
    padding: .9rem 1.2rem;
    border: 1px solid rgba(201, 162, 94, .4) !important;
    border-radius: .65rem;
    color: #E6CB92;
    font-size: .88rem;
}

.az-form__side {
    padding: clamp(1.8rem, 3vw, 2.6rem);
    background: var(--az-bg-soft);
    border: 1px solid var(--az-line);
    box-shadow: 0 24px 55px -40px rgba(38, 33, 25, .35);
}

.az-form__hours {
    margin: 1.2rem 0 1.8rem;
}

.az-form__contact {
    padding-top: 1.4rem;
    border-top: 1px solid var(--az-line);
}

.az-form__note {
    margin: 1.4rem 0 0;
    padding: 1rem 1.2rem;
    background: rgba(176, 138, 69, .08);
    border-left: 2px solid var(--az-gold);
    font-size: .85rem;
    font-weight: 300;
    line-height: 1.7;
    color: var(--az-ink-soft);
}

@media (max-width: 980px) {
    .az-form__inner {
        grid-template-columns: 1fr;
    }

    .az-form__cf7 .az-form__grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */
.az-gallery__item {
    cursor: zoom-in;
}

.az-lightbox {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(7, 7, 8, .94);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s ease;
}

.az-lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
}

.az-lightbox__img {
    max-width: min(88vw, 1400px);
    max-height: 82vh;
    object-fit: contain;
    box-shadow: 0 40px 120px -30px rgba(0, 0, 0, .9);
}

.az-lightbox__caption {
    position: absolute;
    bottom: 2.2rem;
    left: 50%;
    transform: translateX(-50%);
    font-family: var(--az-serif);
    font-style: italic;
    font-size: 1.15rem;
    color: #F4EDE2;
    text-align: center;
    padding: 0 2rem;
}

.az-lightbox__close,
.az-lightbox__prev,
.az-lightbox__next {
    position: absolute;
    width: 3.2rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(244, 237, 226, .06);
    border: 1px solid rgba(244, 237, 226, .2);
    color: #F4EDE2;
    cursor: pointer;
    transition: all .3s ease;
}

.az-lightbox__close:hover,
.az-lightbox__prev:hover,
.az-lightbox__next:hover {
    border-color: #C9A25E;
    color: #E6CB92;
}

.az-lightbox__close {
    top: 1.6rem;
    right: 1.6rem;
}

.az-lightbox__prev {
    left: 1.6rem;
    top: 50%;
    transform: translateY(-50%);
}

.az-lightbox__next {
    right: 1.6rem;
    top: 50%;
    transform: translateY(-50%);
}

.az-lightbox svg {
    width: 1.1rem;
    height: 1.1rem;
}

/* ==========================================================================
   FAQ — accordion
   ========================================================================== */
.az-faq {
    background: var(--az-bg-alt);
}

.az-faq__list {
    max-width: 820px;
    margin: 3rem auto 0;
    display: grid;
    gap: .8rem;
}

.az-faq__item {
    background: var(--az-bg-soft);
    border: 1px solid var(--az-line);
    border-radius: 1rem;
    box-shadow: 0 16px 40px -32px rgba(38, 33, 25, .3);
    transition: border-color .35s ease;
}

.az-faq__item[open] {
    border-color: var(--az-gold-dim);
}

.az-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    padding: 1.25rem 1.6rem;
    font-family: var(--az-serif);
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--az-ink);
    cursor: pointer;
    list-style: none;
    transition: color .3s ease;
}

.az-faq__question::-webkit-details-marker {
    display: none;
}

.az-faq__question:hover {
    color: var(--az-gold);
}

.az-faq__icon {
    width: 1.1rem;
    height: 1.1rem;
    color: var(--az-gold);
    flex: none;
    transition: transform .4s cubic-bezier(.23, 1, .32, 1);
}

.az-faq__item[open] .az-faq__icon {
    transform: rotate(45deg);
}

.az-faq__answer {
    padding: 0 1.6rem 1.4rem;
    margin: 0;
    font-size: .95rem;
    font-weight: 300;
    line-height: 1.8;
    color: var(--az-ink-soft);
}
