/* Geschreven Gedichten 3.0.2 — Centrale ontwerpafwerking.  
   This single theme layer owns presentation; plugin code and user content remain intact. */
:root {
  --gg30-page: var(--gg85-bg,var(--ggw-cream,#fbf7f2));
  --gg30-paper: var(--gg85-card,var(--ggw-paper,#fffdf9));
  --gg30-ink: var(--gg85-heading,var(--ggw-ink,#403832));
  --gg30-body: var(--gg85-ink,#534841);
  --gg30-accent: var(--gg85-primary,var(--ggw-accent,#b46957));
  --gg30-sage: var(--ggw-olive,#687662);
  --gg30-line: var(--gg85-border,var(--ggw-line,#e9dfd6));
  --gg30-r: var(--gg85-radius,var(--ggw-card-radius,20px));
  --gg30-hero-r: var(--ggw-hero-radius,26px);
  --gg30-max: min(1280px, var(--ggw-layout-max,1280px));
  --gg30-edge: clamp(10px,2.1vw,20px);
  --gg30-track: min(var(--gg30-max),calc(100% - 2 * var(--gg30-edge)));
  --gg30-gap: clamp(18px,2.4vw,30px);
  --gg30-pad: clamp(22px,3vw,42px);
  --gg30-shadow: 0 12px 32px rgba(70,46,37,.065);
}
html {scroll-padding-top:86px;}
html body.ggw-theme {background:var(--gg30-page);color:var(--gg30-body);}
html body.ggw-theme :where(main,article,section,aside,form,.ggw-archive-primary,.gg-profile-main,.ggdc-page-content){min-width:0;}
html body.ggw-theme :where(img,video,iframe){max-width:100%;height:auto;}
/* The track sets width only, and is never another card. */
html body.ggw-theme :is(.ggw-container,.ggw-with-sidebar,.ggw-archive-body,.container-studio,.vv-profile-shell,.ggw-page-content){max-width:var(--gg30-max);}
html body.ggw-theme :is(.ggw-container,.ggw-with-sidebar,.ggw-archive-body,.container-studio,.vv-profile-shell){width:var(--gg30-track);margin-inline:auto;box-sizing:border-box;}
html body.ggw-theme :is(.ggw-with-sidebar,.ggw-archive-body) > :is(.ggw-container,.ggw-with-sidebar,.container-studio),
html body.ggw-theme .vv-profile-shell :is(.container-studio,.ggw-container),
html body.ggw-theme .ggw-system-page__content > :is(.ggw-container,.container-studio,.builder-wrapper){width:100%;max-width:100%;margin-inline:0;}
/* Nesting exception: a content track is already established by the parent. */
html body.ggw-theme :is(.ggw-container,.container-studio,.vv-profile-shell,.ggw-page-main .ggw-content-shell) > :is(.ggw-with-sidebar,.ggw-archive-body,.ggw-container,.ggw-hero,.container-studio){width:100%;max-width:100%;margin-inline:0;}
html body.ggw-theme .ggw-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(238px,292px);gap:var(--gg30-gap);align-items:start;}
html body.ggw-theme .ggw-with-sidebar > .ggw-archive-primary{min-width:0;width:100%;}
/* Same hero art, four rounded corners, proportions and typographic rules on every page. */
html body.ggw-theme :is(.ggw-hero,.gg-profile-banner,.ggdc-context-banner,.gg-rhyme-hero,.gg44-theme-landing-hero .ggw-hero){box-sizing:border-box;border-radius:var(--gg30-hero-r)!important;overflow:hidden;background:linear-gradient(116deg,#f9efe7,#f2e4d9 68%,#ede9dd);border:1px solid #e9d7c9;}
html body.ggw-theme .ggw-hero{width:var(--gg30-track);max-width:var(--gg30-max);margin:clamp(14px,2.5vw,30px) auto 0;}
html body.ggw-theme .ggw-hero :is(h1,.ggw-hero__copy h1){font-size:clamp(34px,4vw,58px);line-height:1.13;letter-spacing:-.035em;color:var(--gg30-ink);}
html body.ggw-theme .ggw-hero__copy{padding:clamp(28px,4vw,56px) clamp(24px,4.5vw,66px);}
html body.ggw-theme .ggw-hero__copy p{max-width:61ch;line-height:1.75;}
html body.ggw-theme .ggw-hero__visual img{object-fit:contain;}
/* Unify editorial hierarchy. */
html body.ggw-theme :is(.ggw-section-header h2,.ggw-entry-content h2,.ggw-article h2,.ggw-archive-primary h2,.ggw-side-card h2,.ggw-generator-advice h2,.ggte-card h2,.gg-atelier h2,.gg-profile-main h2,.ggdc-page-content h2){font-family:var(--gg85-font-head,'Cormorant Garamond',Georgia,serif);font-size:clamp(27px,3vw,40px);font-weight:600;line-height:1.18;letter-spacing:-.025em;color:var(--gg30-ink);}
html body.ggw-theme :is(.ggw-eyebrow,.vv-section-kicker,.ggte-eyebrow,.gg45-overline,.vv-profile-eyebrow){color:var(--gg30-accent);font-size:11px;letter-spacing:.14em;text-transform:uppercase;}
html body.ggw-theme :where(.ggw-entry-content,.ggw-article,.ggw-page-article,.ggw-prose) p{line-height:1.78;}
/* No double borders: only actual cards have visual surfaces. */
html body.ggw-theme :is(.ggw-content-shell,.ggw-layout--editorial,.ggw-plugin-page,.vv-theme-landing-page,.ggw-generator-information,.ggw-system-page__content,.gg-profile-layout,.ggw-poem-actions-wrap,.ggw-side-widgets){background:transparent!important;border:0!important;box-shadow:none!important;}
html body.ggw-theme :is(.ggw-page-article,.ggw-article,.ggw-poem-paper,.ggw-poem-card,.ggw-blog-card,.ggw-topic,.ggw-side-card,.ggw-author-strip,.ggw-collection-cta,.ggw-overview-explore,.ggw-quick-generator,.ggw-quick-result,.ggw-generator-advice,.ggte-card,.ggte-join,.ggdc-panel,.ggdc-card,.gg3-poem-interactions,.gg3-poem-tools){box-sizing:border-box;min-width:0;border:1px solid var(--gg30-line);border-radius:var(--gg30-r);background:var(--gg30-paper);box-shadow:var(--gg30-shadow);}
html body.ggw-theme :is(.ggw-poem-card,.ggw-blog-card,.ggw-topic,.ggw-studio-topic){transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
@media (hover:hover){html body.ggw-theme :is(.ggw-poem-card,.ggw-blog-card,.ggw-topic,.ggw-studio-topic):hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(70,46,37,.11);border-color:#d6beb1;}}
html body.ggw-theme :is(.ggw-quick-generator,.ggw-generator-advice,.ggw-quick-result,.ggte-card,.ggte-join){padding:var(--gg30-pad);}
html body.ggw-theme .ggw-v21-studio-theme :is(.ggw-generator-information,.ggte-wrap,.gg45-theme-brief){border:0!important;background:transparent!important;box-shadow:none!important;}
html body.ggw-theme .ggw-v21-studio-theme .ggte-wrap>.ggte-card,
html body.ggw-theme .ggw-v21-studio-theme .ggte-wrap>.ggte-join{border:1px solid var(--gg30-line)!important;border-radius:var(--gg30-r)!important;background:var(--gg30-paper)!important;box-shadow:var(--gg30-shadow)!important;}
html body.ggw-theme .ggw-v21-studio-theme > .vv-theme-landing-page > :is(.gg44-theme-landing-hero,.ggw-quick-generator,.ggw-quick-result,.ggw-generator-advice,.ggw-generator-information){width:var(--gg30-track)!important;max-width:var(--gg30-max)!important;margin-inline:auto!important;}
html body.ggw-theme .ggw-v21-studio-theme .ggte-about-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);align-items:start;gap:var(--gg30-gap);}
html body.ggw-theme .ggw-v21-studio-theme .ggte-about-media{height:clamp(265px,32vw,430px)!important;max-height:430px!important;overflow:hidden;border-radius:16px;}
html body.ggw-theme .ggw-v21-studio-theme .ggte-about-media img{height:100%!important;width:100%;object-fit:cover;}
/* Poem page: the poem is the hero of the content; interactive controls become one elegant region. */
html body.ggw-theme .ggw-poem-paper{padding:clamp(30px,5vw,70px);}
html body.ggw-theme .ggw-poem-content{line-height:1.7;font-size:clamp(18px,1.65vw,21px);}
html body.ggw-theme .ggw-poem-content p{margin:0 0 .9em;}
html body.ggw-theme .gg3-poem-interactions{padding:clamp(22px,2.9vw,36px);margin:var(--gg30-gap) 0;}
html body.ggw-theme .gg3-poem-interactions__heading{margin-bottom:16px;}
html body.ggw-theme .gg3-poem-interactions__heading h2{font-size:clamp(26px,2.5vw,35px);margin:.2em 0;}
html body.ggw-theme .gg3-poem-interactions__heading p{margin:0;color:var(--gg3-muted,#756d65);}
html body.ggw-theme .gg3-poem-interactions .ggw-poem-actions-wrap{padding:0;margin:0;display:grid;gap:20px;}
html body.ggw-theme .gg3-poem-interactions :is(.gg-poem-actions,.ggw-v19-poem-share){padding:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;width:100%;max-width:100%;}
html body.ggw-theme .gg3-poem-interactions .gg-poem-actions{padding-bottom:16px!important;border-bottom:1px solid var(--gg30-line)!important;}
html body.ggw-theme .gg3-poem-interactions .gg-poem-actions__header h3{font-size:clamp(22px,2.3vw,29px);}
html body.ggw-theme .gg3-poem-interactions .ggw-v19-poem-share__heading{display:none;}
html body.ggw-theme .gg3-poem-interactions .ggw-v19-poem-share__links{display:flex;flex-wrap:wrap;gap:10px;}
html body.ggw-theme .gg3-poem-interactions :is(.gg-poem-action,.ggw-v19-poem-share__button){min-height:44px;border-radius:12px;}
html body.ggw-theme .gg3-poem-tools{margin:var(--gg30-gap) 0;padding:0;overflow:hidden;}
html body.ggw-theme .gg3-poem-tools>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 22px;cursor:pointer;font-weight:600;color:var(--gg30-ink);list-style:none;}
html body.ggw-theme .gg3-poem-tools>summary::-webkit-details-marker{display:none;}
html body.ggw-theme .gg3-poem-tools>summary:focus-visible{outline:3px solid var(--gg30-accent);outline-offset:-3px;}
html body.ggw-theme .gg3-poem-tools__inner{padding:0 22px 22px;border-top:1px solid var(--gg30-line);}
html body.ggw-theme .ggw-author-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px 26px;}
html body.ggw-theme .ggw-poem-single :is(.ggw-archive-primary,.ggw-single-layout){min-width:0;}
html body.ggw-theme .ggw-context-sidebar .ggw-side-widgets:empty{display:none;}
/* Shared profile + community furniture, without creating a wrapper around the sidebar. */
html body.ggw-theme :is(.gg-profile-layout,.ggdc-integrated .gg-profile-layout){display:grid;grid-template-columns:minmax(225px,260px) minmax(0,1fr);align-items:start;gap:var(--gg30-gap);}
html body.ggw-theme :is(.gg-profile-sidebar,.ggdc-page-shell .gg-profile-sidebar){width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--gg30-line);border-radius:var(--gg30-r);background:var(--gg30-paper);box-shadow:var(--gg30-shadow);padding:12px;}
html body.ggw-theme :is(.gg-profile-sidebar,.ggdc-page-shell .gg-profile-sidebar) :is(a,button){font-weight:400;}
html body.ggw-theme :is(.gg-profile-main,.ggdc-page-content,.ggdc-integrated){width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
html body.ggw-theme .ggdc-page-shell.ggdc-integrated{margin-top:var(--gg30-gap);}
html body.ggw-theme .ggdc-page-shell .gg-profile-layout{margin:0;}
html body.ggw-theme .ggdc-page-shell .ggdc-page-content{background:transparent;border:0;box-shadow:none;}
html body.ggw-theme :is(.gg-profile-main,.ggdc-page-content) :is(.ggdc-card,.ggdc-panel,.gg-community-card,.gg-profile-card,.vv-profile-metrics > *){border:1px solid var(--gg30-line);border-radius:var(--gg30-r);background:var(--gg30-paper);box-shadow:var(--gg30-shadow);}
/* Professional form system, hover/focus kept accessible. */
html body.ggw-theme :is(.ggw-page-main,.ggw-article-main,.ggw-poem-single,.ggw-layout-main,.vv-profile-shell,.ggdc-page-shell) :is(input:not([type=checkbox]):not([type=radio]),textarea,select){box-sizing:border-box;max-width:100%;min-width:0;border:1px solid #d9c8ba;border-radius:12px;background:#fffdfa;color:var(--gg30-ink);font-size:16px;}
html body.ggw-theme :is(.ggw-page-main,.ggw-article-main,.ggw-poem-single,.ggw-layout-main,.vv-profile-shell,.ggdc-page-shell) :is(input,textarea,select):focus-visible{outline:3px solid var(--gg30-accent);outline-offset:2px;}
html body.ggw-theme :is(.ggw-btn,.ggw-btn--primary,.ggw-quick-generator__submit,.ggw-rhyme-drop button,.wp-block-button__link){min-height:44px;border-radius:12px;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;}
html body.ggw-theme :is(.ggw-btn--primary,.ggw-quick-generator__submit,.wp-block-button__link){background:var(--gg30-accent);border-color:var(--gg30-accent);color:white;}
html body.ggw-theme :is(.ggw-hero,.ggw-quick-generator,.ggw-poem-paper,.ggw-article,.ggw-side-card) :focus-visible{outline:3px solid var(--gg30-accent);outline-offset:2px;}
html body.ggw-theme .ggw-footer{margin-top:clamp(36px,5vw,66px);}
/* Gutenberg on the frontend: only explicit card style adds a container. */
html body.ggw-theme .entry-content :is(.wp-block-group,.wp-block-columns,.wp-block-query,.wp-block-cover){max-width:100%;min-width:0;box-sizing:border-box;}
html body.ggw-theme .entry-content .wp-block-group:not(.is-style-card){box-shadow:none;}
html body.ggw-theme .entry-content .wp-block-group.is-style-card{padding:var(--gg30-pad);background:var(--gg30-paper);border:1px solid var(--gg30-line);border-radius:var(--gg30-r);box-shadow:var(--gg30-shadow);}
@media(max-width:1050px){html body.ggw-theme .ggw-with-sidebar{grid-template-columns:minmax(0,1fr);}html body.ggw-theme .ggw-context-sidebar{width:100%;}html body.ggw-theme .gg-profile-layout{grid-template-columns:minmax(0,1fr);}html body.ggw-theme .ggw-v21-studio-theme .ggte-about-layout{grid-template-columns:minmax(0,1fr);}}
@media(max-width:767px){:root{--gg30-edge:10px;--gg30-gap:18px;--gg30-pad:22px;}html body.ggw-theme .ggw-hero{min-height:0;}html body.ggw-theme .ggw-hero__copy{padding:28px 22px;}html body.ggw-theme .ggw-hero__copy h1{font-size:clamp(32px,8vw,44px);}html body.ggw-theme .ggw-poem-paper{padding:25px 18px;}html body.ggw-theme .gg3-poem-interactions{padding:22px 18px;}html body.ggw-theme .gg3-poem-interactions .gg-poem-actions__controls{flex-wrap:wrap;}html body.ggw-theme .ggw-author-strip{grid-template-columns:auto minmax(0,1fr);}html body.ggw-theme .ggw-author-strip>.ggw-btn{grid-column:1/-1;justify-content:center;}html body.ggw-theme .ggw-v21-studio-theme > .vv-theme-landing-page > :is(.gg44-theme-landing-hero,.ggw-quick-generator,.ggw-quick-result,.ggw-generator-advice,.ggw-generator-information){width:var(--gg30-track)!important;}html body.ggw-theme .gg-profile-layout{grid-template-columns:minmax(0,1fr);}}
@media(prefers-reduced-motion:reduce){html body.ggw-theme *,html body.ggw-theme *::before,html body.ggw-theme *::after{animation-duration:0s!important;transition-duration:0s!important;scroll-behavior:auto!important;}}
/* Important: the report, copyright and login modals stay HIDDEN until opened by their handlers. */
html body.ggw-theme #vvReportModal[hidden],html body.ggw-theme #ggPoemReportDialog[hidden],html body.ggw-theme .gg-report-dialog[hidden],html body.ggw-theme .ggw-login-modal[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* Legacy page types are visually mapped to the shared hero without duplicating markup. */
html body.ggw-theme :is(.vv-home-hero-wrap,.gg-rhyme-page,.gg-rhyme-wrap,.gg-policy-content){max-width:var(--gg30-max);width:var(--gg30-track);margin-inline:auto;box-sizing:border-box;}
html body.ggw-theme .vv-home-hero-wrap .container-studio{width:100%;max-width:100%;margin:0;padding:0;}
html body.ggw-theme :is(.site-hero-slanted.vv-home-hero,.gg-rhyme-hero,.gg-profile-banner){border-radius:var(--gg30-hero-r)!important;border:1px solid #e9d7c9!important;box-shadow:none;overflow:hidden;background:linear-gradient(116deg,#f9efe7,#f2e4d9 68%,#ede9dd)!important;}
html body.ggw-theme :is(.site-hero-slanted.vv-home-hero,.gg-profile-banner) :is(h1,.hero-main-title){font-family:var(--gg85-font-head,'Cormorant Garamond',Georgia,serif);font-size:clamp(34px,4vw,58px);line-height:1.13;letter-spacing:-.035em;color:var(--gg30-ink);}
html body.ggw-theme :is(.gg30-auth-page,.gg-policy-content){margin-top:var(--gg30-gap);}
html body.ggw-theme .gg-policy-content .ggw-page-article{padding:var(--gg30-pad);}
html body.ggw-theme .gg30-auth-page>.book-preview-card{border-color:var(--gg30-line);}
html body.ggw-theme :is(.gg-auth,.gg30-auth-page) :is(.book-preview-card,.login-card,.register-card,.auth-card){border-radius:var(--gg30-r);box-shadow:var(--gg30-shadow);}
@media(max-width:767px){html body.ggw-theme :is(.gg30-auth-page,.gg-policy-content,.vv-home-hero-wrap){width:var(--gg30-track);}}

/* Carefully spaced independent generator blocks — no visually nested frames. */
html body.ggw-theme .ggw-v21-studio-theme > .vv-theme-landing-page > :is(form.ggw-quick-generator,.ggw-quick-result,.ggw-generator-advice,.ggw-generator-information){margin-top:var(--gg30-gap)!important;}
html body.ggw-theme .ggw-v21-studio-theme .ggte-wrap > :is(.ggte-card,.ggte-join) + :is(.ggte-card,.ggte-join){margin-top:var(--gg30-gap);}
/* Legacy categories widget: remove old blue accents (without changing WordPress data). */
html body.ggw-theme .sidebar-categories-studio-card .sidebar-pill{background:#f5e8df!important;color:#955943!important;}
html body.ggw-theme .sidebar-categories-studio-card .sidebar-widget-header{border-color:var(--gg30-line)!important;}
html body.ggw-theme .sidebar-categories-studio-card .sidebar-categories-list li{border-color:var(--gg30-line)!important;}
html body.ggw-theme .sidebar-categories-studio-card .cat-count{background:#faf3ec!important;border-color:var(--gg30-line)!important;color:#715a4e!important;}
html body.ggw-theme .sidebar-categories-studio-card a{color:var(--gg30-ink)!important;}
