/* Profielzoeker v2 in followgrow-stijl (smm-profielzoeker.php). Los bestand: LiteSpeed-combine eet inline style.
   Alles onder .smm-pz-stap, met !important waar thema's (Hello/Elementor, trusted) knoppen en velden overschrijven. */
.smm-pz-stap{width:100% !important;max-width:100% !important;flex:0 0 100% !important;align-self:stretch !important;--pz:#57009B;--pz-zacht:rgba(87,0,155,.12);margin:0 0 18px !important;font-size:15px;line-height:1.45;color:#0f0f12}
.smm-pz-stap *{box-sizing:border-box}
.smm-pz-kop{display:flex !important;align-items:center;gap:12px;margin:0 0 12px !important;font-size:17px !important;font-weight:700 !important;line-height:1.25 !important;color:#0f0f12 !important}
.smm-pz-nr{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--pz-zacht);color:var(--pz);font-size:14px;font-weight:700;transition:background .2s,border-color .2s,color .2s}
.smm-pz-stap.is-actief .smm-pz-nr{background:var(--pz);border-color:var(--pz);color:#fff;box-shadow:0 0 0 4px var(--pz-zacht)}
.smm-pz-stap.is-klaar .smm-pz-nr{background:#12a150;border-color:#12a150;color:#fff;box-shadow:none}
.smm-pz-stap.is-dicht .smm-pz-kop{color:#8a8a99 !important}
.smm-pz-veld{position:relative}
.smm-pz-veld svg.smm-pz-ico{position:absolute;left:13px;top:50%;width:19px;height:19px;transform:translateY(-50%);color:#5f5f6b;pointer-events:none}
html body .smm-pz-stap input.smm-pz-naam{display:block !important;width:100% !important;height:50px !important;margin:0 !important;padding:0 52px 0 42px !important;border:1px solid #c4c4d2 !important;border-radius:12px !important;background:#fff !important;box-shadow:inset 0 1px 2px rgba(15,15,18,.04) !important;font-size:16px !important;font-weight:400 !important;color:#0f0f12 !important;outline:0 !important;transition:border-color .15s,box-shadow .15s}
html body .smm-pz-stap input.smm-pz-naam:focus{border-color:var(--pz) !important;box-shadow:0 0 0 4px var(--pz-zacht) !important}
html body .smm-pz-stap input.smm-pz-naam::placeholder{color:#9a9aa8}
.smm-pz-stap .smm-pz-ga{user-select:none;position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pz);color:#fff;cursor:pointer;box-shadow:0 4px 10px -4px var(--pz)}
.smm-pz-stap .smm-pz-ga svg{width:18px;height:18px}
.smm-pz-stap .smm-pz-ga.is-bezig{background:transparent;box-shadow:none;cursor:wait}
.smm-pz-stap .smm-pz-ga.is-bezig::after{content:"";width:22px;height:22px;border-radius:50%;border:2.5px solid var(--pz-zacht);border-top-color:var(--pz);animation:smm-pz-draai .7s linear infinite}
.smm-pz-stap .smm-pz-ga.is-bezig svg{display:none}
.smm-pz-stap .smm-pz-ga.is-ok{background:#12a150;box-shadow:none}
@keyframes smm-pz-draai{to{transform:rotate(360deg)}}
.smm-pz-gerust{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12.5px;color:#0a7a41}
.smm-pz-gerust svg{width:15px;height:15px;flex:none}
.smm-pz-fout{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#fdecef;color:#a3203b;font-size:14px}
.smm-pz-profiel{display:flex;align-items:center;gap:12px;margin:12px 0 0;padding:10px 12px;border-radius:14px;background:#f8f8fb;border:1px solid #ececf3}
.smm-pz-profiel img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;background:#e6e6ee}
.smm-pz-profiel div{flex:1;min-width:0}
.smm-pz-profiel b{display:block;font-size:15px;font-weight:700;color:#0f0f12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smm-pz-profiel small{display:block;font-size:13px;color:#5f5f6b}
.smm-pz-stap .smm-pz-wissel{flex:none;font-size:13px;font-weight:600;color:var(--pz);text-decoration:underline;cursor:pointer}
.smm-pz-leeg{padding:14px;border-radius:12px;background:#f8f8fb;color:#5f5f6b;font-size:14px}
.smm-pz-raster{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px;width:100%}
@media (min-width:700px){.smm-pz-raster{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
.smm-pz-stap .smm-pz-post{width:100%;position:relative;display:block;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#f2f2f7 center/cover no-repeat;cursor:pointer;border:2px solid transparent;transition:border-color .12s,box-shadow .12s,transform .12s}
.smm-pz-stap .smm-pz-post.is-yt{aspect-ratio:16/10}
.smm-pz-stap .smm-pz-post:active{transform:scale(.98)}
.smm-pz-stap .smm-pz-post.is-aan{border-color:var(--pz);box-shadow:0 0 0 3px var(--pz-zacht)}
.smm-pz-tellers{position:absolute;right:6px;bottom:6px;display:flex;gap:4px}
.smm-pz-tellers i{white-space:nowrap;font-style:normal;padding:3px 7px;border-radius:7px;background:rgba(40,40,48,.62);color:#fff;font-size:11.5px;font-weight:700;line-height:1.2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.smm-pz-vink{position:absolute;top:7px;left:7px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.85);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.smm-pz-post.is-aan .smm-pz-vink{background:var(--pz);border-color:#fff}
.smm-pz-post.is-aan .smm-pz-vink::after{content:"";width:9px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.smm-pz-stap .smm-pz-meer{display:block;width:100%;background:#fff;user-select:none;margin:10px 0 0;padding:12px;border-radius:12px;border:1px solid #c4c4d2;text-align:center;font-weight:600;font-size:14px;color:#0f0f12;cursor:pointer;box-sizing:border-box}
.smm-pz-zelf{margin:10px 0 0;font-size:13px;color:#5f5f6b}
.smm-pz-stap .smm-pz-zelfknop{color:var(--pz);text-decoration:underline;cursor:pointer;font-weight:600}
.smm-pz-verborgen{display:none !important}

/* v3: rust in het pakketblok (followgrow-stijl) */
.smm-pz-stap .wapf .wapf-field-description,.smm-pz-form .single_variation_wrap .woocommerce-variation-description{display:none !important}
.smm-pz-stap .wapf .wapf-field-label,.smm-pz-stap .wapf .wapf-field-label label,.smm-pz-form table.variations th label{font-size:14px !important;font-weight:600 !important;color:#3b3b45 !important;margin:0 0 6px !important;background:none !important;padding:0 !important}
.smm-pz-stap .wapf .wapf-field-container{margin:0 0 14px !important;padding:0 !important}
html body .smm-pz-stap .wapf select,html body .smm-pz-form table.variations select{height:50px !important;padding:0 40px 0 14px !important;border:1px solid #c4c4d2 !important;border-radius:12px !important;background-color:#f6f6fa !important;font-size:16px !important;color:#0f0f12 !important;box-shadow:inset 0 1px 2px rgba(15,15,18,.04) !important;width:100% !important}
html body .smm-pz-stap .wapf select:focus,html body .smm-pz-form table.variations select:focus{border-color:var(--pz,#57009B) !important;outline:0 !important}
/* stap 1 rustiger */
.smm-pz-zelf{margin:8px 0 0 !important;font-size:12.5px !important;color:#8a8a99 !important}
.smm-pz-profiel{background:#fff !important;border:1px solid #ececf3 !important;padding:9px 12px !important}
.smm-pz-gerust{margin:7px 0 0 !important}
.smm-pz-stap + .smm-pz-stap{padding-top:4px}
/* samenvatting bij meerdere berichten */
.smm-pz-samen{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#f6f6fa;color:#3b3b45;font-size:14px;font-weight:600}
.smm-pz-samen.is-ok{background:#ecf8f1;color:#0a7a41}
.smm-pz-samen.is-te{background:#fdecef;color:#a3203b}
/* v3b: minder kaders en witruimte */
.smm-pz-stap .wapf .wapf-field-group{background:none !important;border:0 !important;padding:0 !important;box-shadow:none !important;margin:0 !important}
.smm-pz-stap .wapf{margin:0 0 6px !important}
.smm-pz-form .price-banner.woocommerce-message{margin:-4px 0 12px !important;padding:8px 12px !important;border:0 !important;border-radius:10px !important;background:#fff7e6 !important;color:#7a4a00 !important;font-size:13px !important;line-height:1.4 !important;box-shadow:none !important}
.smm-pz-form .price-banner.woocommerce-message::before{display:none !important}
.smm-pz-form .price-banner.woocommerce-message *{font-size:13px !important;line-height:1.4 !important}
.smm-pz-form h3,.smm-pz-form h2{font-size:18px !important;line-height:1.3 !important;margin:18px 0 10px !important}
.smm-pz-stap{margin-bottom:14px !important}
.smm-pz-kop{margin-bottom:10px !important}
/* compacter fotoraster: 3 kolommen, ook op de telefoon */
.smm-pz-raster{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:6px !important}
.smm-pz-stap .smm-pz-post{border-radius:10px}
.smm-pz-stap .smm-pz-post.is-yt{aspect-ratio:9/12}
.smm-pz-tellers{right:4px;bottom:4px}
.smm-pz-tellers i{padding:2px 5px;font-size:10.5px;border-radius:6px}
.smm-pz-tellers i + i{display:none}
.smm-pz-vink{top:5px;left:5px;width:20px;height:20px}

/* ===== v4: bestelkaart in followgrow-stijl ===== */
/* stappen met inspringen en verbindingslijn */
.smm-pz-stap{position:relative !important;margin:0 !important;padding:0 0 18px !important}
.smm-pz-stap .smm-pz-body{margin-left:42px}
.smm-pz-stap:has(~ .smm-pz-stap)::before{content:"";position:absolute;left:14px;top:34px;bottom:2px;width:2px;border-radius:2px;background:#ececf3;transition:background .3s}
.smm-pz-stap.is-klaar::before{background:#12a150}
.smm-pz-kop{margin:0 0 10px !important;min-height:30px}
.smm-pz-stap.is-actief .smm-pz-nr{animation:smm-pz-puls 1.8s ease-out infinite}
@keyframes smm-pz-puls{0%{box-shadow:0 0 0 0 var(--pz-zacht)}70%{box-shadow:0 0 0 9px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
.smm-pz-stap.is-dicht .smm-pz-body{display:none}
.smm-pz-stap .smm-pz-body{animation:smm-pz-in .35s ease-out both}
@keyframes smm-pz-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.smm-pz-profiel,.smm-pz-raster,.smm-pz-samen,.smm-pz-fout{animation:smm-pz-in .3s ease-out both}
.smm-pz-stap .wapf{margin:0 !important}
.smm-pz-stap .wapf .wapf-field-container:last-child{margin-bottom:0 !important}
.smm-pz-stap .wapf-product-totals{margin:8px 0 0 !important}
/* extra's met korting: eigen kaartje, pas zichtbaar na pakketkeuze */
.smm-pz-extra{display:none;margin:4px 0 16px;padding:14px;border-radius:16px;background:#fbfaf6;border:1px dashed #e6dcc0}
.smm-pz-extra.is-zichtbaar{display:block;animation:smm-pz-in .35s ease-out both}
.smm-pz-extra .smm-pz-extrakop{margin:0 0 10px !important;font-size:15px !important;font-weight:700 !important;color:#0f0f12 !important}
.smm-pz-extra table{margin:0 !important;border:0 !important;width:100% !important;background:none !important}
.smm-pz-extra td,.smm-pz-extra th{border:0 !important;padding:8px !important;vertical-align:top;background:none !important}
.smm-pz-extra tr + tr td{border-top:1px solid #efe8d4 !important}
.smm-pz-extra .wapf-field-group{background:none !important;border:0 !important;padding:0 !important}
.smm-pz-extra .wapf-field-description{font-size:12px !important;line-height:1.35 !important;color:#8a8a99 !important;margin-top:4px !important}
.smm-pz-extra img{max-width:56px !important;height:auto !important;border-radius:10px}
.smm-pz-extra textarea{min-height:64px !important;border-radius:10px !important;border:1px solid #d8d8e2 !important;font-size:14px !important}
.smm-pz-extra select{height:42px !important;border-radius:10px !important;border:1px solid #d8d8e2 !important;background:#fff !important;font-size:14px !important;width:100% !important}
/* bestelknop grijs tot alles klopt */
.smm-pz-form .smm-pz-nog{opacity:.45 !important;filter:grayscale(1) !important;box-shadow:none !important;transform:none !important}
.smm-pz-form.smm-pz-alles .single_add_to_cart_button{animation:smm-pz-in .3s ease-out both}
/* ===== pagina ===== */
.smm-pz-pagina h1.product_title{font-size:clamp(28px,2.6vw,40px) !important;line-height:1.1 !important;letter-spacing:-.02em !important;margin:4px 0 12px !important}
.smm-pz-pagina .smm-pz-foto{display:flex !important;justify-content:center;align-items:center;padding:34px !important;border-radius:22px;background:linear-gradient(160deg,#f7f6fb,#eef0f7);border:1px solid #ececf3;box-shadow:0 14px 34px -24px rgba(20,20,40,.35)}
.smm-pz-pagina .smm-pz-foto img{max-width:240px !important;max-height:240px !important;width:auto !important;height:auto !important;border-radius:16px !important;box-shadow:0 10px 26px -14px rgba(0,0,0,.35) !important;object-fit:contain}
.smm-pz-pagina .smm-pz-foto .woocommerce-product-gallery__wrapper{max-width:280px;margin:0 auto}
.smm-pz-kort{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:2px !important;color:#5f5f6b !important;font-size:15px !important;line-height:1.55 !important}
.smm-pz-kort p{margin:0 !important}
.smm-pz-kort.is-open{display:block;-webkit-line-clamp:unset}
.smm-pz-lees{display:inline-block;margin:0 0 16px;font-size:13.5px;font-weight:600;color:var(--e-global-color-primary,#57009B);text-decoration:underline;cursor:pointer}
@media (max-width:767px){.smm-pz-stap .smm-pz-body{margin-left:0}.smm-pz-stap:has(~ .smm-pz-stap)::before{display:none}}
@media (prefers-reduced-motion:reduce){.smm-pz-stap *,.smm-pz-stap .smm-pz-nr{animation:none !important}}

@media (min-width:768px){.smm-pz-pagina .smm-pz-foto{position:sticky;top:110px}}

/* bestelknoppen over de volle breedte van de kaart */
html body .smm-pz-form .single_add_to_cart_button,html body .smm-pz-form .single_direct_checkout_button{display:flex !important;align-items:center;justify-content:center;width:100% !important;max-width:none !important;min-height:52px !important;margin:0 0 10px !important;border-radius:14px !important;font-size:16px !important;font-weight:700 !important;float:none !important}

.smm-pz-pagina form.cart.smm-pz-kaart{padding:22px 20px 12px !important;border:1px solid #ececf3 !important;border-radius:20px !important;background:#fff !important;box-shadow:0 16px 36px -24px rgba(20,20,40,.3) !important}
@media (max-width:767px){.smm-pz-pagina form.cart.smm-pz-kaart{padding:18px 14px 8px !important}}
/* kolommen: bestelkaart breder, foto-kolom smaller (Elementor 50/50 met extra marge rechts) */
@media (min-width:768px){
	.smm-pz-pagina .elementor-top-section:has(form.cart.smm-pz-form) > .elementor-container > .elementor-top-column:not(:has(form.cart)){width:38% !important}
	.smm-pz-pagina .elementor-top-section:has(form.cart.smm-pz-form) > .elementor-container > .elementor-top-column:has(form.cart){width:62% !important}
	.smm-pz-pagina .elementor-top-column:has(form.cart.smm-pz-form) > .elementor-widget-wrap{margin-right:0 !important}
}
@media (min-width:768px) and (max-width:1024px){
	.smm-pz-pagina .elementor-top-section:has(form.cart.smm-pz-form) > .elementor-container > .elementor-top-column:not(:has(form.cart)){width:40% !important}
	.smm-pz-pagina .elementor-top-section:has(form.cart.smm-pz-form) > .elementor-container > .elementor-top-column:has(form.cart){width:60% !important}
}
@media (min-width:1025px){.smm-pz-raster{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:8px !important}}
