.snijpret-public-maker{--sp-green:#687c5e;--sp-cream:#f7f5ef;--sp-ink:#242824;color:var(--sp-ink);font-family:inherit;max-width:1040px;margin:0 auto}.snijpret-public-maker *{box-sizing:border-box}.sp-maker-intro{text-align:center;padding:22px 12px 32px}.sp-eyebrow{color:var(--sp-green);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.sp-maker-intro h2{font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.2;margin:14px 0}.sp-maker-intro p{max-width:580px;margin:0 auto}.sp-maker-form{padding:clamp(20px,4vw,40px);background:var(--sp-cream);border:1px solid #e1e6dc;border-radius:16px}.sp-maker-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sp-maker-form label{display:block;font-weight:600;margin:0 0 20px}.sp-maker-form input,.sp-maker-form select,.sp-maker-form textarea{display:block;width:100%;margin-top:8px;padding:13px 15px;background:white;border:1px solid #bfc9b9;border-radius:8px;font:inherit;color:var(--sp-ink)}.sp-maker-form textarea{resize:vertical}.sp-privacy{font-size:.83rem;color:#596158}.sp-maker-submit,.sp-copy-poem{background:var(--sp-green)!important;color:white!important;border:0!important;border-radius:40px!important;padding:13px 26px!important;cursor:pointer}.sp-maker-submit:disabled{opacity:.55}.sp-maker-status{min-height:1.4em;margin:10px 0 0}.sp-maker-result{background:#fff;border:1px solid #d9e2d5;border-radius:16px;margin-top:24px;padding:clamp(20px,4vw,40px)}.sp-maker-result[hidden]{display:none}.sp-poem-output{width:100%;min-height:185px;padding:20px;border:1px solid #d6dcd3;border-radius:8px;line-height:1.8;font:inherit}.sp-poem-meter{font-size:.85rem;color:#647063}.sp-new-poem{margin:10px;background:transparent;border:1px solid var(--sp-green);border-radius:30px;padding:12px 20px;cursor:pointer}.sp-maker-next{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.sp-maker-next>div{padding:28px;border-radius:14px;background:#f7f5ef}.sp-maker-next h3{font-size:1.3rem}.sp-secondary{display:inline-block;border:1px solid var(--sp-green);color:var(--sp-green);border-radius:30px;padding:10px 18px;text-decoration:none}.sp-maker-form :focus-visible,.snijpret-public-maker button:focus-visible{outline:3px solid #283b26;outline-offset:3px}@media(max-width:650px){.sp-maker-grid,.sp-maker-next{grid-template-columns:1fr}.sp-new-poem{margin:10px 0}}

/* 2.1.1: accessible contrast for secondary action */
.snijpret-public-maker .sp-new-poem{background:#ffffff!important;color:#2c432d!important;border:2px solid #536d4d!important;font-weight:700!important;box-shadow:0 2px 0 rgba(0,0,0,.04)}
.snijpret-public-maker .sp-new-poem:hover{background:#e6eee2!important;color:#233d24!important}
.snijpret-public-maker .sp-new-poem:focus-visible{outline:3px solid #203b23;outline-offset:3px}

/* 2.4.2: spacious, progressive form on desktop, tablet and mobile */
.snijpret-public-maker .sp-maker-form{display:flex;flex-direction:column;gap:20px;padding:clamp(22px,4vw,44px)}
.snijpret-public-maker .sp-maker-form label{display:flex;flex-direction:column;gap:9px;min-width:0;margin:0;font-size:clamp(14px,1.5vw,16px);line-height:1.5}
.snijpret-public-maker .sp-maker-form input,.snijpret-public-maker .sp-maker-form select,.snijpret-public-maker .sp-maker-form textarea{display:block;min-width:0;width:100%;max-width:100%;margin:0;padding:14px 16px;min-height:48px;line-height:1.45;font-size:16px}
.snijpret-public-maker .sp-maker-form textarea{min-height:145px}
.snijpret-public-maker .sp-maker-grid{gap:20px;align-items:start}
.snijpret-public-maker .sp-advanced-field{display:none!important}
.snijpret-public-maker.sp-options-open .sp-advanced-field{display:flex!important}
.snijpret-public-maker.sp-options-open .sp-maker-grid.sp-advanced-field{display:grid!important}
.snijpret-public-maker .sp-toggle-options{align-self:flex-start;background:none;border:0;color:#435d41;padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.snijpret-public-maker .sp-privacy{line-height:1.65;margin:0}
.snijpret-public-maker .sp-maker-submit{align-self:flex-start;margin:0;min-height:48px}
.snijpret-public-maker .sp-maker-status{margin:0;line-height:1.6}
.snijpret-public-maker .sp-maker-result{display:flex;flex-direction:column;gap:18px;scroll-margin-top:30px}
.snijpret-public-maker .sp-maker-result[hidden]{display:none}
.snijpret-public-maker .sp-maker-result h3{margin:0}
.snijpret-public-maker .sp-poem-output{display:block;font-size:16px;line-height:1.7}
.snijpret-public-maker .sp-gift-choice{background:#f7f5ef;border-radius:12px;padding:clamp(16px,3vw,26px);display:flex;flex-direction:column;gap:12px}
.snijpret-public-maker .sp-gift-choice label{display:flex;flex-direction:column;gap:10px;font-weight:600}
.snijpret-public-maker .sp-result-product{width:100%;min-height:48px;max-width:100%;padding:12px 14px;border:1px solid #bfc9b9;border-radius:8px;background:#fff;color:#242824;font:inherit}
.snijpret-public-maker .sp-gift-feedback{margin:0;line-height:1.6;color:#365d39}
.snijpret-public-maker .sp-gift-feedback.sp-fit-error{color:#9c342d}
.snijpret-public-maker .sp-fit-gift{align-self:flex-start;border:0;border-radius:30px;padding:12px 20px;background:#687c5e;color:#fff;cursor:pointer;min-height:48px}
.snijpret-public-maker .sp-fit-gift[hidden]{display:none}
.snijpret-public-maker .sp-result-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.snijpret-public-maker .sp-result-actions button{margin:0;min-height:46px}
.snijpret-public-maker .sp-poem-meter{margin:0;line-height:1.6}
@media(max-width:900px){.snijpret-public-maker .sp-maker-grid{gap:16px}.snijpret-public-maker .sp-maker-intro{padding:18px 10px 24px}}
@media(max-width:650px){.snijpret-public-maker .sp-maker-grid,.snijpret-public-maker.sp-options-open .sp-maker-grid.sp-advanced-field{grid-template-columns:minmax(0,1fr)}.snijpret-public-maker .sp-maker-form{gap:18px;padding:20px 16px}.snijpret-public-maker .sp-maker-submit,.snijpret-public-maker .sp-fit-gift{width:100%;align-self:stretch}.snijpret-public-maker .sp-result-actions{flex-direction:column;align-items:stretch}.snijpret-public-maker .sp-result-actions button{width:100%}.snijpret-public-maker .sp-maker-result{padding:20px 16px}}

/* 2.4.3: Elementor owns the header; generator contains only the form. */
.snijpret-public-maker .sp-maker-intro{display:none!important}
.snijpret-public-maker .sp-maker-form{padding:clamp(18px,3vw,32px);gap:17px}
.snijpret-public-maker .sp-maker-form .sp-theme-main{display:flex;flex-direction:column;gap:9px}
.snijpret-public-maker .sp-maker-grid.sp-advanced-model{display:block}
.snijpret-public-maker .sp-maker-grid.sp-advanced-model .sp-advanced-field{display:none!important}
.snijpret-public-maker.sp-options-open .sp-maker-grid.sp-advanced-model .sp-advanced-field{display:flex!important}
.snijpret-public-maker .sp-maker-form .sp-maker-status:empty{display:none}
.snijpret-public-maker .sp-maker-form .sp-maker-status{min-height:0}
.snijpret-public-maker .sp-maker-form .sp-maker-submit{margin-top:0}
.snijpret-public-maker .sp-maker-form .sp-privacy{font-size:13px}
.snijpret-public-maker .sp-maker-form .sp-maker-grid.sp-recipient-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:650px){.snijpret-public-maker .sp-maker-form{padding:18px 14px;gap:15px}.snijpret-public-maker .sp-maker-form .sp-maker-grid.sp-recipient-grid{grid-template-columns:minmax(0,1fr)}}

/* 2.4.4: gift validation is only visible after a gift is chosen. */
.snijpret-public-maker .sp-poem-meter:empty{display:none}
.snijpret-public-maker .sp-go-product{display:inline-block;align-self:flex-start;background:#687c5e;color:#fff;border:0;border-radius:30px;padding:13px 22px;min-height:48px;cursor:pointer;font:inherit;font-weight:600}
.snijpret-public-maker .sp-go-product[hidden]{display:none}
.snijpret-public-maker .sp-studio-progress{position:relative;background:#e9efe5;border-radius:12px;padding:18px 52px 18px 18px;line-height:1.5}
.snijpret-public-maker .sp-studio-progress[hidden]{display:none}
.snijpret-public-maker .sp-studio-progress strong{display:block;margin-bottom:6px}
.snijpret-public-maker .sp-studio-progress p{margin:0 0 6px}
.snijpret-public-maker .sp-studio-progress small{color:#5b6858}
.snijpret-public-maker .sp-studio-spinner{position:absolute;right:17px;top:18px;width:23px;height:23px;border:3px solid #c7d5bf;border-top-color:#687c5e;border-radius:50%;animation:sp-studio-spin 1s linear infinite}
@keyframes sp-studio-spin{to{transform:rotate(360deg)}}
@media(max-width:650px){.snijpret-public-maker .sp-go-product{width:100%}}

/* 2.4.6: vriendelijk themaverschil, responsive */
.snijpret-studio .sp-theme-notice{margin:14px 0;padding:16px 18px;border:1px solid #b8c6af;border-radius:12px;background:#f5f7f1;color:#293a2b;line-height:1.55}
.snijpret-studio .sp-theme-notice[hidden]{display:none!important}
.snijpret-studio .sp-theme-notice p{margin:8px 0 12px}
.snijpret-studio .sp-theme-notice button{margin:3px 8px 3px 0;white-space:normal;max-width:100%}
@media(max-width:650px){.snijpret-studio .sp-theme-notice{padding:14px}.snijpret-studio .sp-theme-notice button{width:100%;margin:5px 0}}

/* Tekststudio 2.5.0 – responsive three-variant selector */
.sp-text-variants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.sp-variant-card{display:flex;flex-direction:column;gap:12px;min-height:175px;text-align:left;background:#fff;border:1px solid #d6ded1;border-radius:13px;padding:16px;cursor:pointer;color:#28342a;white-space:normal}.sp-variant-card strong{font-size:14px}.sp-variant-card span{white-space:pre-wrap;flex:1;font-size:17px;line-height:1.55}.sp-variant-card small{color:#687f62}.sp-variant-card.is-selected{border:2px solid #687f62;background:#f3f6f0}.sp-variant-card:focus-visible{outline:3px solid #687f62;outline-offset:2px}@media(max-width:720px){.sp-text-variants{grid-template-columns:1fr}.sp-variant-card{min-height:110px}}

.sp-tekst-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.sp-tekst-product{padding:18px;background:#fff;border:1px solid #e1e5de;border-radius:16px}.sp-tekst-product img{width:100%;height:auto;border-radius:10px}.sp-tekst-product a{color:#486248}.sp-tekst-product h3{font-family:Georgia,serif;margin:12px 0}

/* 2.5.4: preserve the capitalization of generated engraving text */
.sp-studio-variant,.sp-studio-variant *, .sp-compact-variant,.sp-compact-variant *{text-transform:none!important;letter-spacing:normal!important;white-space:pre-line}

/* 2.5.5: preserve original text case, only headings/labels may be uppercase. */
.snijpret-studio .sp-text-variants .sp-variant-card span,
.snijpret-studio .sp-text-variants .sp-variant-card span *,
.snijpret-studio .sp-text-variants .sp-variant-card,
.snijpret-public-maker .sp-text-variants .sp-variant-card span{ text-transform:none!important; font-variant:normal!important; letter-spacing:normal!important; white-space:pre-wrap!important; }
.snijpret-studio .sp-text-variants .sp-variant-card strong,
.snijpret-studio .sp-text-variants .sp-variant-card small{letter-spacing:.035em}

/* 2.6.0: Show text type directly. */
.snijpret-public-maker .sp-maker-grid.sp-advanced-model .sp-advanced-field{display:flex!important}

.sp-quality-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:12px 0;color:#536b51;font-size:13px}.sp-quality-feedback button{background:#f1f5ee;border:1px solid #d3dfcf;border-radius:10px;cursor:pointer;font-size:17px;padding:7px 11px}.sp-quality-feedback button:hover{background:#dce5d8}.sp-feedback-status{font-size:12px}

.sp-input-counter{display:block;text-align:right;margin-top:5px;font-size:12px;color:#687d61}.sp-input-counter-max{color:#a12b2b}
