/*
Theme Name: Vers & Vorm
Theme URI: https://wanderdebode.nl
Author: Wander de Bode
Author URI: https://wanderdebode.nl
Description: Een poëtisch, verfijnd en compleet WordPress thema in klassieke perkamentstijl voor schrijvers, dichters en verhalenvertellers. Inclusief drop-down navigatie, 2x5 bloggrid, studiostijl submenu, auteurs-profielpagina's, single post CTA's, custom widgets en naadloze Mollie iDEAL koppeling.
Version: 2.0.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: vers-en-vorm
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
    --vv-font-serif: 'Cormorant Garamond', Georgia, serif;
    --vv-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    
    /* Studio Brand Palette */
    --vv-color-primary: #305D9E;
    --vv-color-primary-dark: #234575;
    --vv-color-sub: #1792E1;
    --vv-color-accent: #FD6721;
    --vv-color-accent-hover: #D44E0D; /* Donkerder oranje bij hover */
    
    /* Perkament & Achtergronden */
    --vv-color-bg: #F8F9FA;
    --vv-color-card: #FFFFFF;
    --vv-color-paper: #FAF8F5;
    --vv-color-paper-border: #E8E2D5;
    --vv-color-border: #E2E8F0;
    
    /* Typografie */
    --vv-color-heading: #1A202C;
    --vv-color-text: #2D3748;
    --vv-color-text-muted: #718096;
    --vv-color-subtle: #A0AEC0;
    
    /* Schaduwen */
    --vv-shadow-card: 0 4px 15px rgba(0, 0, 0, 0.03);
    --vv-shadow-hover: 0 12px 28px rgba(48, 93, 158, 0.10);
    --vv-shadow-paper: inset 0 0 50px rgba(0, 0, 0, 0.02), 0 10px 25px rgba(0, 0, 0, 0.05);
}

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

body {
    margin: 0;
    padding: 0;
    font-family: var(--vv-font-sans);
    background-color: var(--vv-color-bg);
    color: var(--vv-color-text);
    line-height: 1.8;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--vv-color-primary);
    text-decoration: none;
    transition: all 0.2s ease;
}

a:hover {
    color: var(--vv-color-accent);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--vv-font-serif);
    color: var(--vv-color-heading);
    line-height: 1.3;
    margin-top: 0;
    font-weight: 700;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.site-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-content {
    flex: 1;
    padding: 2.25rem 0 4rem 0 !important;
    width: 100%;
}

.container-studio {
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}

.container-narrow {
    max-width: 880px;
    margin: 0 auto;
}

/* ========================================================== */
/* DROP-DOWN WEBSITE HOOFDMENU                                */
/* ========================================================== */
.site-header {
    background: #FFFFFF;
    border-bottom: 1px solid var(--vv-color-border);
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.header-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 1.1rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-branding .site-title {
    margin: 0;
    font-size: 1.875rem; /* Precies 2px kleiner (30px i.p.v. 32px) */
    font-family: var(--vv-font-serif);
    font-weight: 700;
}

.site-branding .site-title a {
    color: var(--vv-color-heading);
}

.site-description {
    margin: 0;
    font-size: 0.85rem;
    color: var(--vv-color-text-muted);
}

/* Drop-Down Menu Structuur */
.primary-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.primary-navigation li {
    position: relative;
}

.primary-navigation li a {
    font-weight: 600;
    font-size: 0.95rem;
    color: #4A5568;
    padding: 0.65rem 1rem;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.primary-navigation li a:hover,
.primary-navigation li.current-menu-item > a,
.primary-navigation li.current-menu-ancestor > a {
    color: var(--vv-color-primary);
    background: #F7FAFC;
}

/* Dropdown Sub-menu */
.primary-navigation ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #FFFFFF;
    min-width: 230px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.10);
    border: 1px solid var(--vv-color-border);
    border-radius: 10px;
    padding: 0.5rem 0;
    z-index: 9999;
    flex-direction: column;
    gap: 0;
}

.primary-navigation ul ul li {
    width: 100%;
}

.primary-navigation ul ul a {
    width: 100%;
    padding: 0.65rem 1.25rem;
    font-size: 0.9rem;
    border-radius: 0;
    color: #2D3748;
}

.primary-navigation ul ul a:hover {
    background: #FAF8F5;
    color: var(--vv-color-primary);
    padding-left: 1.5rem;
}

/* Drop-down tonen bij hover */
.primary-navigation li:hover > ul {
    display: flex;
}

.menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #2D3748;
}

/* ========================================================== */
/* HET SUBMENU IN EXACTE STUDIOBUILDER-STIJL                   */
/* ========================================================== */
.studio-subnav-bar {
    background: #FAF8F5;
    border-top: 1px solid var(--vv-color-paper-border);
    border-bottom: 1px solid var(--vv-color-paper-border);
    padding: 0.6rem 0;
}

.studio-subnav-items {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0 1.5rem;
}

.studio-subnav-items a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #4A5568;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}

.studio-subnav-items a i {
    color: var(--vv-color-primary);
}

.studio-subnav-items a:hover,
.studio-subnav-items a.active {
    background: #FFFFFF;
    border-color: var(--vv-color-primary);
    color: var(--vv-color-primary);
    box-shadow: 0 4px 10px rgba(48, 93, 158, 0.12);
}

.studio-subnav-items a.subnav-highlight {
    background: #FFF5F0;
    border-color: #FD6721;
    color: var(--vv-color-accent);
}

.studio-subnav-items a.subnav-highlight:hover {
    background: #FD6721;
    color: #FFFFFF !important;
}

.studio-subnav-items a.subnav-highlight:hover i {
    color: #FFFFFF !important;
}

/* ========================================================== */
/* ORANJE BUTTONS: ALTIJD WITTE LETTERS & DONKERDER ORANJE HOVER */
/* ========================================================== */
.btn-ai-generate,
.btn-cta-generate,
.btn-sidebar-cta,
.btn-cta-upgrade,
.vv-btn-submit-checkout,
.btn-social-share {
    color: #FFFFFF !important; /* Altijd witte letters */
}

.btn-ai-generate:hover,
.btn-cta-generate:hover,
.btn-sidebar-cta:hover,
.btn-cta-upgrade:hover,
.vv-btn-submit-checkout:hover {
    background: linear-gradient(135deg, #E55613 0%, #C84507 100%) !important; /* Donkerder oranje bij hover */
    color: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(212, 78, 13, 0.45) !important;
}

/* ========================================================== */
/* BLOG STUDIO HERO HEADER                                    */
/* ========================================================== */
.studio-blog-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFFFFF;
    padding: 1.75rem 2.25rem;
    border-radius: 14px;
    box-shadow: var(--vv-shadow-card);
    margin-bottom: 2.25rem;
    border: 1.5px solid #EDF2F7;
}

.studio-blog-header .brand h1 {
    font-family: var(--vv-font-serif);
    font-size: 2.3rem;
    margin: 0;
    color: #1A202C;
}

.studio-blog-header .brand p {
    margin: 0.35rem 0 0;
    color: var(--vv-color-text-muted);
    font-size: 1rem;
}

.studio-blog-header .studio-badge {
    background: #F7FAFC;
    padding: 0.65rem 1.35rem;
    border-radius: 999px;
    border: 1px solid #E2E8F0;
    font-size: 0.95rem;
    color: #2D3748;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 600;
}

.studio-blog-header .studio-badge i {
    color: var(--vv-color-primary);
}

/* ========================================================== */
/* 2-KOLOMS GRID (2X5 BERICHTEN NAAS ELKAAR) + ZIJBALK        */
/* ========================================================== */
.blog-studio-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 2.5rem;
    align-items: start;
}

.blog-content-area {
    min-width: 0;
}

.posts-grid-2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-bottom: 3rem;
}

.post-card-poetic {
    background: #FFFFFF;
    border: 1.5px solid var(--vv-color-border);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--vv-shadow-card);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.post-card-poetic:hover {
    transform: translateY(-5px);
    box-shadow: var(--vv-shadow-hover);
    border-color: var(--vv-color-primary);
}

.post-card-thumb {
    position: relative;
    height: 220px;
    overflow: hidden;
    background-color: var(--vv-color-paper);
}

.post-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.post-card-poetic:hover .post-card-thumb img {
    transform: scale(1.04);
}

.post-card-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #FAF8F5 0%, #EBF8FF 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--vv-color-subtle);
    font-size: 2.5rem;
}

.post-card-category {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(4px);
    color: var(--vv-color-primary);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.post-card-body {
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.post-card-meta {
    font-size: 0.8rem;
    color: var(--vv-color-text-muted);
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.post-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.post-card-title {
    font-family: var(--vv-font-serif);
    font-size: 1.6rem;
    line-height: 1.35;
    margin: 0 0 0.85rem;
}

.post-card-title a {
    color: var(--vv-color-heading);
}

.post-card-title a:hover {
    color: var(--vv-color-accent);
}

.post-card-excerpt {
    font-size: 0.95rem;
    color: #4A5568;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    flex: 1;
}

.post-card-footer {
    border-top: 1px solid #EDF2F7;
    padding-top: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
}

.post-card-readmore {
    font-weight: 700;
    color: var(--vv-color-primary);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.post-card-readmore:hover {
    color: var(--vv-color-accent);
}

/* ========================================================== */
/* SINGLE POST & ARTIKELEN IN VOLLEDIGE STUDIOSTIJL           */
/* ========================================================== */
.single-post-card {
    background: #FFFFFF;
    border: 1.5px solid var(--vv-color-border);
    border-radius: 16px;
    padding: 3.5rem 3rem;
    box-shadow: var(--vv-shadow-card);
    margin-bottom: 2.5rem;
}

.single-post-header {
    text-align: center;
    margin-bottom: 2.5rem;
    border-bottom: 1.5px solid #EDF2F7;
    padding-bottom: 2rem;
}

.single-post-header h1 {
    font-size: 2.8rem;
    margin: 0 0 1rem;
    line-height: 1.25;
}

.single-post-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    color: var(--vv-color-text-muted);
    font-size: 0.9rem;
    flex-wrap: wrap;
}

.single-post-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.single-post-featured-image {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 2.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.single-post-content {
    font-size: 1.15rem;
    line-height: 1.9;
    color: var(--vv-color-text);
}

.single-post-content p {
    margin-bottom: 1.75rem;
}

.single-post-content blockquote {
    background: var(--vv-color-paper);
    border-left: 4px solid var(--vv-color-primary);
    margin: 2.5rem 0;
    padding: 2rem 2.5rem;
    border-radius: 0 10px 10px 0;
    font-family: var(--vv-font-serif);
    font-size: 1.45rem;
    font-style: italic;
    color: #2D3748;
    box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.02);
}

.single-post-footer {
    margin-top: 3rem;
    border-top: 1px solid #EDF2F7;
    padding-top: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.post-tags-list {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.post-tags-list a {
    background: #EDF2F7;
    color: #4A5568;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 600;
}

.post-tags-list a:hover {
    background: var(--vv-color-primary);
    color: #FFFFFF;
}

/* PROMINENTE CTA ONDER BLOG ARTIKELEN: ZELF EEN GEDICHT MAKEN */
.post-bottom-studio-cta {
    background: linear-gradient(135deg, #FFFFFF 0%, #FFF5F0 100%);
    border: 2px solid #FD6721;
    border-radius: 16px;
    padding: 3rem 2.5rem;
    margin-bottom: 3rem;
    box-shadow: 0 8px 24px rgba(253, 103, 33, 0.12);
    text-align: center;
}

.post-bottom-studio-cta .cta-badge {
    background: #FD6721;
    color: #FFFFFF;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.35rem 0.95rem;
    border-radius: 999px;
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.85rem;
}

.post-bottom-studio-cta h2 {
    font-size: 2.2rem;
    margin: 0 0 0.75rem;
    color: #1A202C;
}

.post-bottom-studio-cta p {
    font-size: 1.05rem;
    color: #4A5568;
    line-height: 1.7;
    max-width: 680px;
    margin: 0 auto 1.75rem;
}

.post-bottom-studio-cta .cta-actions {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.btn-cta-generate {
    background: linear-gradient(135deg, #FD6721 0%, #E55613 100%);
    color: #FFFFFF !important;
    text-decoration: none;
    padding: 0.95rem 2rem;
    border-radius: 10px;
    font-weight: 700;
    font-size: 1.05rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(253, 103, 33, 0.35);
    transition: transform 0.2s, box-shadow 0.2s;
}

.btn-cta-sub {
    background: #FFFFFF;
    border: 2px solid #305D9E;
    color: #305D9E !important;
    text-decoration: none;
    padding: 0.9rem 1.75rem;
    border-radius: 10px;
    font-weight: 700;
    font-size: 1.05rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
}

.btn-cta-sub:hover {
    background: #305D9E;
    color: #FFFFFF !important;
}

/* ========================================================== */
/* AUTEUR HERO KAART                                          */
/* ========================================================== */
.author-studio-hero {
    background: #FFFFFF;
    border: 1.5px solid var(--vv-color-border);
    border-radius: 16px;
    padding: 2.5rem;
    margin-bottom: 2.5rem;
    box-shadow: var(--vv-shadow-card);
}

.author-hero-inner {
    display: flex;
    align-items: center;
    gap: 2rem;
}

.author-hero-avatar img {
    border-radius: 50%;
    border: 4px solid #FFFFFF;
    box-shadow: 0 4px 15px rgba(0,0,0,0.12);
}

.author-hero-info {
    flex: 1;
}

.author-hero-bio {
    font-size: 1.05rem;
    color: #4A5568;
    line-height: 1.7;
    margin: 0 0 1rem;
}

.author-hero-stats {
    display: flex;
    gap: 1.5rem;
    font-size: 0.9rem;
    color: #718096;
    flex-wrap: wrap;
}

.author-hero-stats span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ========================================================== */
/* ZIJBALK STYLING                                            */
/* ========================================================== */
.sidebar-studio {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.sidebar-widget-card {
    background: #FFFFFF;
    border: 1.5px solid #E2E8F0;
    border-radius: 14px;
    padding: 1.75rem;
    box-shadow: var(--vv-shadow-card);
}

.sidebar-widget-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1.5px solid #EDF2F7;
}

.sidebar-widget-header h3 {
    margin: 0;
    font-family: var(--vv-font-serif);
    font-size: 1.4rem;
    color: var(--vv-color-heading);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.sidebar-widget-header h3 i {
    color: var(--vv-color-primary);
    font-size: 1.1rem;
}

.sidebar-pill {
    font-size: 0.75rem;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    font-weight: 700;
    background: #DEF7EC;
    color: #03543F;
}

.author-profile-block {
    text-align: center;
}

.author-avatar-badge {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #305D9E 0%, #1792E1 100%);
    color: #FFFFFF;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    box-shadow: 0 4px 14px rgba(48, 93, 158, 0.25);
}

.author-name {
    font-family: var(--vv-font-serif);
    font-size: 1.5rem;
    margin: 0 0 0.35rem;
    color: #1A202C;
}

.author-subtitle {
    color: var(--vv-color-accent);
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: 0.85rem;
}

.author-bio-text {
    font-size: 0.95rem;
    color: #4A5568;
    line-height: 1.7;
    margin: 0 0 1.25rem;
}

.studio-cta-box {
    background: linear-gradient(135deg, #FFF5F0 0%, #FFFFFF 100%);
    border: 2px solid #FD6721;
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
}

.studio-cta-box h4 {
    font-family: var(--vv-font-serif);
    font-size: 1.4rem;
    margin: 0 0 0.5rem;
    color: #1A202C;
}

.studio-cta-box p {
    font-size: 0.9rem;
    color: #4A5568;
    line-height: 1.6;
    margin: 0 0 1.25rem;
}

.btn-sidebar-cta {
    display: block;
    width: 100%;
    background: linear-gradient(135deg, #FD6721 0%, #E55613 100%);
    color: #FFFFFF !important;
    text-decoration: none;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.95rem;
    box-shadow: 0 4px 14px rgba(253, 103, 33, 0.3);
    transition: transform 0.2s, box-shadow 0.2s;
    text-align: center;
}

.sidebar-categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-categories-list li {
    border-bottom: 1px solid #EDF2F7;
}

.sidebar-categories-list li:last-child {
    border-bottom: none;
}

.sidebar-categories-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 0.25rem;
    color: #2D3748;
    font-weight: 600;
    font-size: 0.95rem;
}

.sidebar-categories-list a:hover {
    color: var(--vv-color-primary);
    padding-left: 0.5rem;
}

.cat-count {
    background: #EDF2F7;
    color: #718096;
    font-size: 0.75rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-weight: 700;
}

.sidebar-poem-parchment {
    background: var(--vv-color-paper);
    border: 1px solid var(--vv-color-paper-border);
    border-radius: 10px;
    padding: 1.5rem;
    text-align: center;
    box-shadow: var(--vv-shadow-paper);
}

.sidebar-poem-parchment h4 {
    font-family: var(--vv-font-serif);
    font-size: 1.35rem;
    margin: 0 0 0.25rem;
}

.sidebar-poem-stanza {
    font-family: var(--vv-font-serif);
    font-size: 1.15rem;
    font-style: italic;
    line-height: 1.75;
    color: #2D3748;
    margin: 0.85rem 0;
}

.pagination {
    margin: 2.5rem 0 1rem;
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

.pagination .page-numbers {
    padding: 0.7rem 1.25rem;
    border: 1.5px solid var(--vv-color-border);
    border-radius: 8px;
    background: #FFFFFF;
    font-weight: 700;
    font-size: 0.95rem;
    color: #4A5568;
    transition: all 0.2s;
}

.pagination .page-numbers:hover {
    border-color: var(--vv-color-primary);
    color: var(--vv-color-primary);
}

.pagination .page-numbers.current {
    background: var(--vv-color-primary);
    color: #FFFFFF;
    border-color: var(--vv-color-primary);
}

/* Footer */
.site-footer {
    background: #FFFFFF;
    border-top: 1px solid var(--vv-color-border);
    padding: 3.5rem 1.5rem 2rem;
    margin-top: auto;
}

.footer-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 2.5rem;
    margin-bottom: 2.5rem;
}

.site-info {
    text-align: center;
    border-top: 1px solid #EDF2F7;
    padding-top: 2rem;
    color: var(--vv-color-text-muted);
    font-size: 0.9rem;
}

/* Social Share Button Styling */
.btn-social-share {
    border: none;
    border-radius: 8px;
    padding: 0.55rem 0.95rem;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: transform 0.2s, opacity 0.2s;
}

.btn-social-share:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 1100px) {
    .blog-studio-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .posts-grid-2col {
        grid-template-columns: 1fr;
    }
    .author-hero-inner {
        flex-direction: column;
        text-align: center;
    }
    .author-hero-stats {
        justify-content: center;
    }
    .studio-blog-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        padding: 1.5rem;
    }
    .studio-subnav-items {
        overflow-x: auto;
        white-space: nowrap;
        flex-wrap: nowrap;
    }
    .menu-toggle {
        display: block;
    }
    .primary-navigation {
        display: none;
        width: 100%;
        position: absolute;
        top: 100%;
        left: 0;
        background: #FFFFFF;
        border-bottom: 1px solid var(--vv-color-border);
        padding: 1rem 1.5rem;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    }
    .primary-navigation.is-active {
        display: block;
    }
    .primary-navigation ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.85rem;
    }
    .primary-navigation ul ul {
        position: static;
        box-shadow: none;
        border: none;
        padding-left: 1rem;
    }
    .header-container {
        position: relative;
    }
    .single-post-card {
        padding: 2rem 1.5rem;
    }
    .single-post-header h1 {
        font-size: 2.2rem;
    }
}


/* ========================================================== */
/* MASONRY FOTOALBUM GRID & LIGHTBOX                          */
/* ========================================================== */
.vv-masonry-container {
    margin: 2rem 0;
}

.vv-masonry-grid {
    column-count: 3;
    column-gap: 1.5rem;
}

.vv-masonry-item {
    break-inside: avoid;
    margin-bottom: 1.5rem;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    border: 1.5px solid var(--vv-color-paper-border);
    background: #FFFFFF;
    box-shadow: var(--vv-shadow-card);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.vv-masonry-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--vv-shadow-hover);
}

.vv-masonry-item img {
    width: 100%;
    display: block;
    height: auto;
    transition: transform 0.4s ease;
}

.vv-masonry-item:hover img {
    transform: scale(1.03);
}

.vv-masonry-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(26, 32, 44, 0.45);
    opacity: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: opacity 0.25s ease;
    padding: 1rem;
    text-align: center;
}

.vv-masonry-item:hover .vv-masonry-overlay {
    opacity: 1;
}

.vv-zoom-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #FFFFFF;
    color: var(--vv-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    margin-bottom: 0.5rem;
}

.vv-overlay-caption {
    color: #FFFFFF;
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

/* Lightbox Modal */
.vv-lightbox-modal {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(15, 23, 42, 0.92);
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.vv-lightbox-close {
    position: absolute;
    top: 1.5rem; right: 2rem;
    color: #FFFFFF;
    font-size: 2.5rem;
    font-weight: 700;
    cursor: pointer;
    line-height: 1;
    transition: opacity 0.2s;
}

.vv-lightbox-close:hover {
    opacity: 0.75;
}

.vv-lightbox-content {
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.vv-lightbox-content img {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 8px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.5);
}

.vv-lightbox-caption {
    color: #FAF8F5;
    font-family: var(--vv-font-serif);
    font-size: 1.25rem;
    font-style: italic;
    margin-top: 1rem;
    text-align: center;
}

@media (max-width: 992px) {
    .vv-masonry-grid { column-count: 2; }
}

@media (max-width: 576px) {
    .vv-masonry-grid { column-count: 1; }
}


/* Zorg dat het hoofdmenu altijd goed zichtbaar is op desktop */
.primary-navigation {
    display: block !important;
}

.primary-navigation ul {
    display: flex !important;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.5rem;
    align-items: center;
}

.primary-navigation li {
    position: relative;
}

.primary-navigation li a {
    font-weight: 600;
    font-size: 0.95rem;
    color: #4A5568;
    padding: 0.65rem 1rem;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
}

.primary-navigation li a:hover,
.primary-navigation li.current-menu-item > a {
    color: var(--vv-color-primary);
    background: #F7FAFC;
}

/* Submenu dropdown */
.primary-navigation ul ul.sub-menu {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    background: #FFFFFF;
    min-width: 240px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.10);
    border: 1px solid var(--vv-color-border);
    border-radius: 10px;
    padding: 0.5rem 0;
    z-index: 99999;
    flex-direction: column !important;
    gap: 0;
}

.primary-navigation ul li:hover > ul.sub-menu {
    display: flex !important;
}

.primary-navigation ul ul.sub-menu li {
    width: 100%;
}

.primary-navigation ul ul.sub-menu a {
    width: 100%;
    padding: 0.65rem 1.25rem;
    font-size: 0.9rem;
    border-radius: 0;
    color: #2D3748;
    display: block;
}

.primary-navigation ul ul.sub-menu a:hover {
    background: #FAF8F5;
    color: var(--vv-color-primary);
    padding-left: 1.5rem;
}


/* ========================================================== */
/* VERFIJNDE MOBIELE NAVIGATIE & KNOPPEN (Punt 10)           */
/* ========================================================== */
@media (min-width: 769px) {
    .menu-toggle {
        display: none !important;
    }
    .primary-navigation {
        display: block !important;
    }
    .primary-navigation ul {
        display: flex !important;
        flex-direction: row !important;
        gap: 0.5rem;
        align-items: center;
    }
    .mobile-menu-cta-wrap {
        display: none !important;
    }
    .primary-navigation ul ul.sub-menu {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        background: #FFFFFF;
        min-width: 240px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.10);
        border: 1px solid var(--vv-color-border);
        border-radius: 10px;
        padding: 0.5rem 0;
        z-index: 99999;
        flex-direction: column !important;
    }
    .primary-navigation ul li:hover > ul.sub-menu {
        display: flex !important;
    }
}

@media (max-width: 768px) {
    .menu-toggle {
        display: block !important;
    }
    .primary-navigation {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #FFFFFF;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
        border-bottom: 1.5px solid var(--vv-color-border);
        padding: 1.25rem 1.5rem;
        z-index: 99999;
    }
    .primary-navigation.is-active {
        display: block !important;
    }
    .primary-navigation ul {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.85rem !important;
        width: 100%;
    }
    .primary-navigation ul li {
        width: 100%;
    }
    .primary-navigation ul li a {
        display: block;
        padding: 0.65rem 0.5rem;
        width: 100%;
    }
    .primary-navigation ul ul.sub-menu {
        display: block !important;
        position: static !important;
        box-shadow: none !important;
        border: none !important;
        padding-left: 1rem !important;
        background: #F8FAFC !important;
        border-radius: 8px !important;
        margin-top: 0.35rem;
    }
    .mobile-menu-cta-wrap {
        display: block !important;
        margin-top: 1.25rem;
        padding-top: 1rem;
        border-top: 1px dashed #CBD5E0;
    }
    .mobile-cta-btn {
        width: 100% !important;
        text-align: center;
        background: linear-gradient(135deg, #FD6721 0%, #E55613 100%) !important;
        color: #FFFFFF !important;
        padding: 0.85rem 1rem;
        border-radius: 8px;
        font-weight: 700;
        text-decoration: none;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }
}

/* ========================================================== */
/* FOTOALBUM 2-KOLOMS MASONRY GRID (Punt 4)                   */
/* ========================================================== */
.vv-masonry-grid {
    column-count: 2 !important;
    column-gap: 1.5rem !important;
}

@media (max-width: 640px) {
    .vv-masonry-grid {
        column-count: 1 !important;
    }
}

/* Builder Wrapper max-width exact gelijk aan header (1280px) */
.builder-wrapper {
    max-width: 1280px !important;
    margin: 2rem auto 4rem !important;
    padding: 0 1.5rem !important;
}

/* Custom Logo in Header Styling */
.custom-logo-link img {
    max-height: 65px;
    width: auto;
    height: auto;
    display: block;
    transition: opacity 0.2s ease;
}
.custom-logo-link img:hover {
    opacity: 0.9;
}


/* ========================================================== */
/* SIDEBAR: DICHTBUNDELS & BOEKEN VAN WANDER STYLING          */
/* ========================================================== */
.sidebar-books-card {
    border-color: #E8E2D5 !important;
}

.sidebar-book-item {
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.sidebar-book-item:hover {
    transform: translateY(-2px);
    border-color: #305D9E !important;
    box-shadow: 0 6px 18px rgba(48, 93, 158, 0.09) !important;
}

.sidebar-book-item:hover .sidebar-book-btn {
    background: #FD6721 !important;
}

.sidebar-book-btn:hover {
    background: #E55613 !important;
}


/* ========================================================== */
/* LUXE DICHTBUNDELS OVERZICHTSKAARTEN                         */
/* ========================================================== */
.vv-book-luxury-card {
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease !important;
}

.vv-book-luxury-card:hover {
    transform: translateY(-5px) !important;
    border-color: #305D9E !important;
    box-shadow: 0 12px 30px rgba(48, 93, 158, 0.12) !important;
}

.vv-book-luxury-card .book-card-display img {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.vv-book-luxury-card:hover .book-card-display img {
    transform: scale(1.03);
}

.btn-order-bundle {
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.btn-order-bundle:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(253, 103, 33, 0.42) !important;
}


/* ========================================================================== */
/* VERS & VORM v1.5 - ALLES DEZELFDE BREEDTE ALS HET MENU & MODERNE ANIMATIES */
/* ========================================================================== */

:root {
    --vv-site-max-width: 1280px;
    --vv-ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
    --vv-ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}

/* 1. Strikte breedte-standaardisatie (voorkomt elke vorm van verspringing) */
.header-container,
.container-studio,
.site-main.container-studio,
.site-main.single-page-container,
.single-page-container,
.builder-wrapper,
.vv-theme-landing-page,
.vv-landing-builder-container,
.themas-hero-section,
.vv-contact-container {
    max-width: var(--vv-site-max-width) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* 2. Header Navigatie Wrapper & Rechter Auth Knop */
.header-navigation-wrapper {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.header-auth-action {
    display: flex;
    align-items: center;
}

.btn-header-auth {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.15rem;
    background: #FFFFFF;
    border: 1.5px solid #E2E8F0;
    border-radius: 9999px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #2D3748;
    text-decoration: none;
    transition: all 0.22s var(--vv-ease-spring);
    box-shadow: 0 1px 4px rgba(0,0,0,0.03);
    white-space: nowrap;
}

.btn-header-auth:hover {
    background: #FD6721;
    color: #FFFFFF !important;
    border-color: #FD6721;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(253, 103, 33, 0.25);
}

.btn-header-auth .auth-icon {
    transition: transform 0.22s var(--vv-ease-spring);
}

.btn-header-auth:hover .auth-icon {
    transform: scale(1.12);
}

/* 3. Moderne Snelle Animaties & Vloeiende Micro-interacties */
@keyframes vvFadeInUp {
    0% {
        opacity: 0;
        transform: translateY(16px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.vv-fade-in-up,
.single-post-card,
.post-card-poetic,
.author-studio-hero,
.sidebar-widget-card,
.book-preview-card,
.vv-theme-card {
    animation: vvFadeInUp 0.35s var(--vv-ease-spring) both;
}

/* Knoppen & Cards verfijnde hover-states */
.btn-primary,
.btn-sidebar-cta,
.btn-ai-generate,
.btn-cta-generate,
.btn-cta-sub,
.btn-header-auth,
.btn-theme-submit,
.btn-order-bundle {
    transition: all 0.22s var(--vv-ease-spring) !important;
}

.btn-primary:hover,
.btn-cta-generate:hover,
.btn-sidebar-cta:hover {
    transform: translateY(-2px);
}

.post-card-poetic {
    transition: transform 0.28s var(--vv-ease-spring), box-shadow 0.28s var(--vv-ease-spring), border-color 0.25s ease !important;
}

.post-card-poetic:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 30px rgba(48, 93, 158, 0.10) !important;
    border-color: var(--vv-color-primary) !important;
}

/* 4. Styling Contactpagina */
.vv-contact-container {
    padding: 2.5rem 1.5rem 5rem;
}

.vv-contact-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 3rem auto;
}

.vv-contact-badge {
    display: inline-block;
    padding: 4px 14px;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: #FFF5F0;
    color: #FD6721;
    border-radius: 999px;
    margin-bottom: 1rem;
    border: 1px solid #FED7D7;
}

.vv-contact-title {
    font-size: 2.75rem;
    margin: 0 0 0.5rem 0;
    color: #1A202C;
}

.vv-contact-intro {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #4A5568;
    margin-top: 1rem;
}

.vv-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.45fr;
    gap: 2.5rem;
    align-items: start;
}

.vv-contact-info-card,
.vv-contact-form-card {
    background: #FFFFFF;
    border: 1.5px solid #E8E2D5;
    border-radius: 14px;
    padding: 2.5rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
    transition: transform 0.25s var(--vv-ease-spring), box-shadow 0.25s ease;
}

.vv-contact-info-card:hover,
.vv-contact-form-card:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.vv-contact-info-card h3 {
    font-size: 1.7rem;
    margin-top: 0;
    margin-bottom: 0.75rem;
    color: #1A202C;
}

.vv-contact-details {
    list-style: none;
    padding: 0;
    margin: 1.75rem 0;
}

.vv-contact-details li {
    display: flex;
    justify-content: space-between;
    padding: 0.85rem 0;
    border-bottom: 1px dashed #E2E8F0;
    font-size: 0.95rem;
}

.vv-contact-details li strong {
    color: #2D3748;
}

.vv-contact-quote {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid #F1ECE1;
    color: #718096;
    font-size: 0.95rem;
    line-height: 1.7;
    font-family: var(--vv-font-serif);
}

.vv-form-group {
    margin-bottom: 1.25rem;
}

.vv-form-group label {
    display: block;
    margin-bottom: 0.45rem;
    font-weight: 700;
    font-size: 0.9rem;
    color: #4A5568;
}

.vv-form-control {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1.5px solid #CBD5E0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.95rem;
    background: #FAFAFA;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.vv-form-control:focus {
    outline: none;
    border-color: #FD6721;
    background: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(253, 103, 33, 0.12);
}

.btn-theme-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #FD6721 0%, #E55613 100%) !important;
    color: #FFFFFF !important;
    border: none;
    border-radius: 8px;
    padding: 0.9rem 2rem;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(253, 103, 33, 0.3);
}

.btn-theme-submit:hover {
    background: linear-gradient(135deg, #E55613 0%, #C84507 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(200, 69, 7, 0.4);
}

/* Responsiveness voor header en contact */
@media (max-width: 860px) {
    .header-navigation-wrapper {
        display: none; /* Mobiel menu regelt uitklappen */
    }
    .header-navigation-wrapper.is-active,
    .primary-navigation.is-active + .header-auth-action {
        display: flex;
    }
    .vv-contact-grid {
        grid-template-columns: 1fr;
    }
}


/* ========================================================================== */
/* VERS & VORM v1.5 - UNIFORM 1280PX GRID & PIXEL-PERFECT ALIGNMENT           */
/* ========================================================================== */

:root {
    --vv-site-max-width: 1280px;
    --vv-gutter: 1.5rem;
    --vv-ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
}

.site-content {
    flex: 1;
    padding: 2.25rem 0 4rem 0 !important;
    width: 100%;
}

.header-container,
.studio-subnav-bar .container-studio,
.container-studio,
.site-main.container-studio,
.site-main.single-page-container,
.single-page-container,
.builder-wrapper,
.vv-theme-landing-page,
.vv-landing-builder-container,
.themas-hero-section,
.vv-contact-container {
    max-width: var(--vv-site-max-width) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--vv-gutter) !important;
    padding-right: var(--vv-gutter) !important;
    box-sizing: border-box !important;
}

.studio-subnav-items {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100%;
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-navigation-wrapper {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.btn-header-auth {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.15rem;
    background: #FFFFFF;
    border: 1.5px solid #E2E8F0;
    border-radius: 9999px;
    font-size: 0.88rem;
    font-weight: 700;
    color: #2D3748;
    text-decoration: none;
    transition: all 0.22s var(--vv-ease-spring);
    box-shadow: 0 1px 4px rgba(0,0,0,0.03);
    white-space: nowrap;
}

.btn-header-auth:hover {
    background: #FD6721;
    color: #FFFFFF !important;
    border-color: #FD6721;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(253, 103, 33, 0.25);
}

/* ==========================================================================
   VERS & VORM - VOLLEDIGE MOBIELE STYLING & PERFECTIONERING (max-width: 768px)
   100% Onveranderd voor desktop gebruikers
   ========================================================================== */

@media screen and (max-width: 768px) {
    /* 1. Iets donkerdere achtergrondkleur voor mobiel voor optimaal contrast */
    body {
        background-color: #EDE8E1 !important;
        color: #2D3748 !important;
        font-size: 15px !important;
        line-height: 1.7 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        width: 100% !important;
    }

    html {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    /* 2. Compacte, elegante mobiele header: Naam boven het menu */
    .site-header {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    }

    .header-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0.85rem 1rem 0.65rem !important;
        position: relative !important;
        gap: 0.35rem !important;
    }

    /* Verberg de losse auth-knop in de smalle bovenbalk */
    .header-navigation-wrapper .header-auth-action {
        display: none !important;
    }

    /* Titel gecentreerd boven het menu, 2px kleiner */
    .site-branding {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .site-branding .site-title {
        font-size: clamp(1.1rem, 4.2vw, 1.42rem) !important;
        line-height: 1.25 !important;
        text-align: center !important;
        margin: 0 !important;
        white-space: normal !important;
    }

    .site-branding .site-title a {
        display: inline-block !important;
    }

    .site-branding .site-description {
        font-size: 0.75rem !important;
        text-align: center !important;
        margin-top: 2px !important;
    }

    .custom-logo-link img {
        max-height: 44px !important;
        width: auto !important;
        margin: 0 auto !important;
    }

    /* Menu-knop direct onder de titel */
    .menu-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        background: #FAF8F5 !important;
        border: 1.5px solid #CBD5E0 !important;
        border-radius: 999px !important;
        padding: 6px 20px !important;
        min-height: 38px !important;
        min-width: 110px !important;
        font-size: 0.88rem !important;
        font-weight: 700 !important;
        color: #2D3748 !important;
        cursor: pointer !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
        margin: 0.25rem auto 0 !important;
    }

    /* 3. Vernieuwde soepele touch-schuifbalk (Submenu) */
    .studio-subnav-bar {
        background: #F4EFEB !important;
        padding: 0.5rem 0 !important;
        border-bottom: 1.5px solid #DCD5CB !important;
        position: relative !important;
    }

    .studio-subnav-bar .container-studio {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .studio-subnav-items {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important; /* Firefox */
        gap: 0.5rem !important;
        padding: 0.25rem 0.25rem !important;
    }

    .studio-subnav-items::-webkit-scrollbar {
        display: none !important; /* Chrome / Safari */
    }

    .studio-subnav-items a {
        flex: 0 0 auto !important;
        padding: 0.45rem 0.85rem !important;
        font-size: 0.82rem !important;
        border-radius: 999px !important;
        background: #FFFFFF !important;
        border: 1px solid #D8D1C7 !important;
        box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    }

    /* 4. Onderkant van het mobiele menu (Studio + Aanmelden/Inloggen & Mijn Profiel) */
    .mobile-menu-header-branding {
        padding: 0.5rem 0.25rem 1rem !important;
        margin-bottom: 0.75rem !important;
        border-bottom: 1.5px solid #EDF2F7 !important;
        text-align: center !important;
    }

    .mobile-menu-brand-title {
        font-family: var(--vv-font-serif) !important;
        font-size: 1.35rem !important;
        font-weight: 700 !important;
        color: #1A202C !important;
        display: block !important;
    }

    .mobile-menu-brand-desc {
        font-size: 0.8rem !important;
        color: #718096 !important;
        display: block !important;
        margin-top: 2px !important;
    }

    .mobile-menu-cta-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin-top: 1.25rem !important;
        padding-top: 1.25rem !important;
        border-top: 1px dashed #CBD5E0 !important;
    }

    .mobile-menu-auth-wrap {
        width: 100% !important;
    }

    .mobile-auth-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100% !important;
        padding: 0.85rem 1rem !important;
        border-radius: 8px !important;
        font-weight: 700 !important;
        font-size: 0.95rem !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        transition: all 0.2s ease !important;
    }

    .mobile-auth-btn.is-logged-out {
        background: #FFFFFF !important;
        border: 1.5px solid #CBD5E0 !important;
        color: #305D9E !important;
    }

    .mobile-auth-btn.is-logged-in {
        background: #F0F4F8 !important;
        border: 1.5px solid #305D9E !important;
        color: #1A202C !important;
    }

    /* 5. Universele stapeling van grids */
    main[style*="grid"],
    div[style*="grid-template-columns"],
    .vv-contact-grid,
    .blog-studio-layout,
    .posts-grid-2col {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.25rem !important;
    }

    .single-post-card,
    .vv-contact-info-card,
    .vv-contact-form-card,
    .author-studio-hero,
    .sidebar-widget-card,
    .book-preview-card {
        padding: 1.5rem 1.15rem !important;
        border-radius: 12px !important;
        box-shadow: 0 3px 14px rgba(0,0,0,0.04) !important;
    }

    .single-post-header h1 {
        font-size: 1.85rem !important;
        line-height: 1.3 !important;
    }

    .single-post-content {
        font-size: 1.05rem !important;
        line-height: 1.8 !important;
    }

    /* 6. Duimvriendelijke acties en deelknoppen onder gedichten */
    .poem-actions-bar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    .poem-actions-bar > div:first-child {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .btn-bookmark-poem,
    .btn-report-poem {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        min-height: 44px !important;
    }

    .social-share-buttons {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .social-share-buttons a[href*="wa.me"] {
        grid-column: 1 / -1 !important; /* WhatsApp bovenaan over volle breedte */
    }

    /* 7. Invoervelden: Touch target & iOS zoom-block */
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="search"],
    input[type="url"],
    input[type="tel"],
    select,
    textarea {
        font-size: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px !important;
        border-radius: 8px !important;
    }

    /* 8. Knoppen over de volle breedte met tactiele touch feedback */
    button,
    .btn-primary,
    .btn-sidebar-cta,
    .btn-cta-generate,
    .btn-cta-sub,
    .btn-theme-submit,
    .mobile-cta-btn {
        min-height: 46px !important;
        padding: 12px 18px !important;
        font-size: 15px !important;
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
        transition: transform 0.1s ease, background 0.2s ease !important;
    }

    button:active,
    .btn-primary:active,
    .btn-sidebar-cta:active,
    .btn-cta-generate:active,
    .mobile-cta-btn:active,
    .mobile-auth-btn:active {
        transform: scale(0.98) !important;
    }

    /* 9. Dichtbundels & Thema kaarten */
    .vv-books-showcase-grid,
    .vv-themes-overview-grid {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    .book-card-display {
        min-height: 200px !important;
        padding: 1rem !important;
    }

    /* 10. Paginering mobiel */
    .pagination {
        gap: 4px !important;
        flex-wrap: wrap !important;
    }

    .pagination .page-numbers {
        padding: 0.5rem 0.85rem !important;
        font-size: 0.85rem !important;
    }

    /* 11. Mobiele menu drawer */
    .primary-navigation {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        width: 100% !important;
        background: #FFFFFF !important;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12) !important;
        border-bottom: 1.5px solid var(--vv-color-border) !important;
        padding: 1.25rem 1.5rem !important;
        z-index: 99999 !important;
    }

    .primary-navigation.is-active {
        display: block !important;
    }

    .primary-navigation ul {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.85rem !important;
        width: 100% !important;
    }

    /* 12. Touch-vriendelijke Lightbox modal met pinch/zoom ondersteuning */
    .vv-lightbox-modal {
        padding: 1rem !important;
        touch-action: pan-y pinch-zoom !important;
    }

    .vv-lightbox-content img {
        max-width: 95vw !important;
        max-height: 75vh !important;
        touch-action: pan-y pinch-zoom !important;
    }
}

@media screen and (min-width: 769px) {
    .menu-toggle {
        display: none !important;
    }
    .mobile-menu-cta-wrap {
        display: none !important;
    }
    .mobile-menu-header-branding {
        display: none !important;
    }
}
