
:root{
    --bg:#f6efe6;
    --bg-soft:#fffaf3;

    --panel:#ffffff;
    --panel-warm:#fbf3e8;

    --text:#241914;
    --muted:#6f5b4e;

    --brick:#9a5b3f;
    --brick-dark:#6f3928;

    --wine:#7a1f2f;
    --wine-dark:#2b1116;

    --steel:#151515;
    --cream:#fff7eb;

    --gold:#b8945f;
    --gold-light:#f0d8a8;

    --border:rgba(36,25,20,.12);
    --shadow:rgba(45,28,18,.16);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    background:
        radial-gradient(circle at top left, rgba(154,91,63,.10), transparent 28%),
        linear-gradient(180deg, var(--bg-soft), var(--bg));
    color:var(--text);
    font-family:Georgia, "Times New Roman", serif;
}

a{
    color:inherit;
    text-decoration:none;
}

.container{
    width:min(1120px, calc(100% - 40px));
    margin:0 auto;
}

.site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:100;
    background:rgba(255,250,243,.88);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border);
    box-shadow:0 10px 35px rgba(0,0,0,.05);
}

.header-inner{
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.site-brand{
    display:flex;
    flex-direction:column;
}

.brand-main{
    font-size:25px;
    font-weight:900;
    color:var(--wine-dark);
}

.brand-sub{
    color:var(--muted);
    font-size:13px;
}

.site-nav{
    display:flex;
    gap:22px;
    font-family:Arial, sans-serif;
    font-size:14px;
    font-weight:800;
}

.site-nav a{
    color:var(--steel);
    opacity:.78;
}

.site-nav a:hover{
    color:var(--wine);
    opacity:1;
}

.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
}

.hero-restaurant{
    background:
        linear-gradient(90deg, rgba(255,250,243,.94) 0%, rgba(255,250,243,.72) 42%, rgba(255,250,243,.16) 100%),
        linear-gradient(180deg, rgba(36,25,20,.04), rgba(36,25,20,.10)),
        url('../img/hero-restaurant.webp');
    background-size:cover;
    background-position:center;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 78% 24%, rgba(139,36,64,.16), transparent 28%),
        linear-gradient(to bottom, transparent 65%, var(--bg-soft));
}

.hero-content{
    position:relative;
    z-index:2;
    padding-top:120px;
    max-width:760px;
}

.eyebrow{
    margin:0 0 14px;
    color:var(--wine);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:13px;
    font-weight:900;
    font-family:Arial, sans-serif;
}

h1,h2,h3,p{margin-top:0}

h1{
    font-size:clamp(56px, 9vw, 108px);
    line-height:.9;
    margin:18px 0 24px;
    color:var(--wine-dark);
    text-shadow:0 2px 0 rgba(255,255,255,.55);
}

h2{
    font-size:clamp(34px, 5vw, 62px);
    line-height:1;
    margin-bottom:22px;
    color:var(--steel);
}

h3{
    color:var(--wine-dark);
}

p{
    color:var(--muted);
    line-height:1.72;
    font-size:18px;
}

.hero-subtitle{
    font-size:23px;
    max-width:660px;
    color:#4f3a30;
}

.hero-actions,
.contact-actions,
.menu-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-top:32px;
}

.btn{
    min-height:50px;
    padding:0 24px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    font-family:Arial, sans-serif;
    border:1px solid var(--border);
}

.btn.primary{
    background:linear-gradient(135deg, var(--wine), var(--wine-dark));
    color:#fff;
    box-shadow:0 16px 34px rgba(139,36,64,.22);
}

.btn.ghost{
    background:rgba(255,255,255,.72);
    color:var(--steel);
}

.section{
    padding:115px 0;
}

.center{text-align:center}

.section-heading p{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}

.split{
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:56px;
    align-items:center;
}

.intro{
    background:
        linear-gradient(180deg, var(--bg-soft), var(--bg));
}

.story-card,
.dish-card,
.menu-box,
.contact-box,
.opening-placeholder{
    background:rgba(255,255,255,.82);
    border:1px solid var(--border);
    border-radius:32px;
    padding:38px;
    box-shadow:0 24px 70px var(--shadow);
}

.story-card{
    background:
        linear-gradient(145deg, rgba(255,255,255,.92), rgba(251,243,232,.92)),
        radial-gradient(circle at top right, rgba(154,91,63,.15), transparent 34%);
}

.story-card span,
.dish-card span{
    color:var(--wine);
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:13px;
    font-weight:900;
    font-family:Arial, sans-serif;
}

.story-card h3{
    font-size:38px;
    line-height:1.05;
    margin:18px 0;
}

.specialties{
    background:
        linear-gradient(180deg, #fffaf3, #f3e7d9);
}

.cards-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-top:40px;
}

.dish-card{
    transition:transform .22s ease, box-shadow .22s ease;
}

.dish-card:hover{
    transform:translateY(-5px);
    box-shadow:0 30px 90px rgba(45,28,18,.22);
}

.dish-icon{
    width:58px;
    height:58px;
    border-radius:20px;
    display:grid;
    place-items:center;
    background:rgba(139,36,64,.10);
    font-size:28px;
    margin-bottom:22px;
}

.dish-card h3{
    font-size:28px;
    margin-bottom:10px;
}

.menu-section{
    background:
        linear-gradient(90deg, rgba(139,36,64,.08), transparent 42%),
        #fffaf3;
}

.menu-box,
.contact-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
}

.atmosphere{
    background:
        linear-gradient(180deg, #f3e7d9, #fffaf3);
}

.photo-grid{
    display:grid;
    grid-template-columns:1.25fr .85fr .85fr;
    grid-auto-rows:230px;
    gap:18px;
    margin-top:40px;
}

.photo-tile{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.34);
    background:#ddd;
    display:grid;
    place-items:end start;
    box-shadow:0 24px 70px rgba(45,28,18,.18);
}

.photo-tile::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(to top, rgba(0,0,0,.50), transparent 55%),
        linear-gradient(135deg, rgba(139,36,64,.10), transparent 36%);
    z-index:1;
}

.photo-tile span{
    position:relative;
    z-index:2;
    margin:18px;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(255,250,243,.90);
    color:var(--wine-dark);
    font-family:Arial, sans-serif;
    font-weight:900;
}

.photo-tile.large{
    grid-row:span 2;
}

.opening-hours{
    background:#fffaf3;
}

.opening-placeholder{
    max-width:700px;
    margin:34px auto 0;
}

.opening-placeholder:empty::before{
    content:"Openingsuren worden binnenkort toegevoegd.";
    color:var(--muted);
}

.contact{
    background:
        linear-gradient(135deg, rgba(139,36,64,.08), transparent 40%),
        linear-gradient(180deg, #fffaf3, #f6efe6);
}

.site-footer{
    border-top:1px solid var(--border);
    padding:30px 0;
    background:#241914;
    color:#fff;
}

.footer-inner{
    display:flex;
    justify-content:space-between;
    gap:20px;
}

.footer-inner p{
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:14px;
}

@media(max-width:860px){
    .site-nav{display:none}

    .split,
    .cards-grid,
    .photo-grid{
        grid-template-columns:1fr;
    }

    .photo-grid{
        grid-auto-rows:230px;
    }

    .photo-tile.large{
        grid-row:auto;
    }

    .menu-box,
    .contact-box,
    .footer-inner{
        flex-direction:column;
        align-items:flex-start;
    }

    .section{
        padding:82px 0;
    }

    .hero-content{
        padding-top:120px;
    }

    h1{
        font-size:clamp(48px, 14vw, 76px);
    }
}


/* Luxury fine dining refinement */
h1{
    color:#251719;
    letter-spacing:-.055em;
    font-weight:500;
}

h2{
    color:#211817;
    letter-spacing:-.035em;
    font-weight:500;
}

h3{
    color:#2b1116;
    font-weight:500;
}

.eyebrow{
    color:#9d7a42;
    letter-spacing:.24em;
    font-size:12px;
    font-weight:800;
}

.hero-subtitle{
    color:#3f302b;
    font-size:24px;
}

.brand-main{
    color:#2b1116;
    font-weight:600;
    letter-spacing:-.02em;
}

.brand-sub{
    color:#7b6659;
}

.site-nav a{
    color:#251719;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:12px;
}

.site-nav a:hover{
    color:#9d7a42;
}

.btn{
    min-height:52px;
    padding:0 28px;
    border-radius:0;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-size:12px;
    font-weight:900;
    position:relative;
    overflow:hidden;
}

.btn.primary{
    background:
        linear-gradient(135deg, #1e1615, #4b2026 55%, #8d6a38);
    color:#fff8ef;
    border:1px solid rgba(240,216,168,.45);
    box-shadow:
        0 18px 45px rgba(43,17,22,.22),
        inset 0 0 0 1px rgba(255,255,255,.08);
}

.btn.primary:hover{
    transform:translateY(-2px);
    box-shadow:
        0 24px 65px rgba(43,17,22,.30),
        inset 0 0 0 1px rgba(255,255,255,.12);
}

.btn.ghost{
    background:rgba(255,250,243,.62);
    color:#251719;
    border:1px solid rgba(43,17,22,.22);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}

.btn.ghost:hover{
    background:#251719;
    color:#fff8ef;
    border-color:#251719;
}

.story-card,
.dish-card,
.menu-box,
.contact-box,
.opening-placeholder{
    border:1px solid rgba(184,148,95,.22);
}

.photo-tile span{
    color:#251719;
    background:rgba(255,248,239,.92);
    border:1px solid rgba(184,148,95,.30);
    border-radius:0;
    letter-spacing:.10em;
    text-transform:uppercase;
    font-size:12px;
}



/* TPoT modular homepage sections */
.events-section,
.flyers-section{
    background:
        radial-gradient(circle at 20% 10%, rgba(184,148,95,.14), transparent 28%),
        linear-gradient(180deg, var(--bg), var(--bg-soft));
}

.module-card{
    margin-top:34px;
    background:rgba(255,255,255,.84);
    border:1px solid var(--border);
    border-radius:32px;
    padding:34px;
    box-shadow:0 24px 70px var(--shadow);
    overflow:hidden;
}

.module-card:empty{
    display:none;
}

.gallery-module{
    padding:24px;
}

.inline-contact-icons{
    margin-top:24px;
}

.inline-contact-icons:empty{
    display:none;
}

/* Make plugin output fit luxury restaurant theme */
.module-card,
.opening-placeholder,
.inline-contact-icons{
    font-family:Arial, sans-serif;
}

.module-card h1,
.module-card h2,
.module-card h3,
.opening-placeholder h1,
.opening-placeholder h2,
.opening-placeholder h3{
    font-family:Georgia, "Times New Roman", serif;
    color:var(--wine-dark);
}

.module-card a,
.opening-placeholder a,
.inline-contact-icons a{
    transition:transform .2s ease, box-shadow .2s ease, color .2s ease;
}

.module-card a:hover,
.opening-placeholder a:hover,
.inline-contact-icons a:hover{
    color:var(--wine);
}

@media(max-width:760px){
    .module-card{
        padding:22px;
        border-radius:24px;
    }

    .events-section,
    .flyers-section{
        padding-top:78px;
        padding-bottom:78px;
    }
}



/* Footer links */
.site-footer a{
    color:var(--wine);
    text-decoration:none;
    font-weight:900;
    transition:all .22s ease;
}

.site-footer a:hover{
    color:var(--wine-dark);
    text-shadow:0 0 18px rgba(122,31,47,.18);
}

.footer-admin-link{
    margin:.35rem 0;
    font-size:14px;
    letter-spacing:.08em;
}

.footer-admin-link a{
    color:var(--wine);
}

.footer-admin-link a:hover{
    color:var(--wine-dark);
}


.site-footer a{
    color:var(--gold);
    text-decoration:none;
    font-weight:900;
    transition:all .22s ease;
}

.site-footer a:hover{
    color:var(--wine);
    text-shadow:0 0 18px rgba(184,148,95,.35);
}

.footer-admin-link{
    margin:.35rem 0;
    font-size:14px;
    letter-spacing:.08em;
}

.footer-admin-link a{
    display:inline-block;
    padding:8px 18px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--wine),var(--wine-dark));
    color:#fff;
    box-shadow:0 10px 26px rgba(122,31,47,.24);
}

.footer-admin-link a:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 16px 36px rgba(122,31,47,.34);
}


.site-footer a{
    color:inherit;
    text-decoration:none;
    font-weight:900;
}

.site-footer a:hover{
    color:var(--wine);
}

.footer-admin-link{
    margin:.35rem 0;
    font-size:14px;
    letter-spacing:.08em;
}

/* Footer links final override */
.site-footer a,
.site-footer a:visited,
.site-footer .footer-admin-link a,
.site-footer .footer-admin-link a:visited{
    color:var(--brick) !important;
    background:transparent !important;
    box-shadow:none !important;
    border:none !important;
    border-radius:0 !important;
    padding:0 !important;
    display:inline !important;
    text-decoration:none !important;
    font-weight:900 !important;
}

.site-footer a:hover,
.site-footer .footer-admin-link a:hover{
    color:var(--brick-dark) !important;
    background:transparent !important;
    box-shadow:none !important;
    transform:none !important;
    text-shadow:0 0 14px rgba(154,91,63,.18) !important;
}

/* Luxury intro video */
.intro-video-section{
    padding:70px 0 30px;
    background:linear-gradient(180deg,var(--bg-soft),var(--bg));
}

.video-luxury-card{
    position:relative;
    overflow:hidden;
    border-radius:34px;
    padding:10px;
    background:
        linear-gradient(135deg, rgba(184,148,95,.85), rgba(122,31,47,.45)),
        rgba(255,255,255,.72);
    box-shadow:0 28px 80px var(--shadow);
}

.video-luxury-card::before{
    content:"";
    position:absolute;
    inset:10px;
    border:1px solid rgba(255,255,255,.45);
    border-radius:26px;
    pointer-events:none;
    z-index:2;
}

.intro-video{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:26px;
    background:#000;
}

@media(max-width:760px){
    .intro-video-section{
        padding:45px 0 10px;
    }

    .video-luxury-card{
        border-radius:24px;
        padding:7px;
    }

    .intro-video{
        border-radius:18px;
    }
}

