.sap-public-card,.sap-profile{max-width:900px;margin:30px auto;padding:28px;border:1px solid #e4e4e4;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.04)}.sap-public-card h2,.sap-profile h2{margin-top:0}.sap-public-form .sap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sap-public-form label,.sap-public-card>form label{display:block;font-weight:600}.sap-public-form input,.sap-public-form select,.sap-public-form textarea,.sap-public-card>form input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:11px;border:1px solid #cfcfcf;border-radius:7px}.sap-public-form .sap-full{grid-column:1/-1}.sap-checks{display:flex;flex-wrap:wrap;gap:12px}.sap-checks label{font-weight:400}.sap-checks input{display:inline;width:auto;margin:0}.sap-submit,.sap-button{display:inline-block;margin-top:20px;padding:11px 18px;border:0;border-radius:8px;background:#006f72;color:#fff;text-decoration:none;cursor:pointer}.sap-button-secondary{background:#f1f4f4;color:#17494b}.sap-success{border-color:#9bd2ac}.sap-error{border-color:#e2a3a3}.sap-notice{padding:12px;background:#edf7f7;border-radius:7px;margin-bottom:16px}.sap-profile-head{display:flex;justify-content:space-between;align-items:flex-start}.sap-profile-list{display:grid;gap:15px}.sap-profile-item{border:1px solid #e5e5e5;border-radius:10px;padding:18px}.sap-profile-item h4{margin-top:0}.sap-profile-actions{display:flex;gap:10px;flex-wrap:wrap}.sap-profile-actions .sap-button{margin-top:5px}@media(max-width:700px){.sap-public-form .sap-grid{grid-template-columns:1fr}.sap-public-form .sap-full{grid-column:auto}.sap-public-card,.sap-profile{padding:20px}.sap-profile-head{display:block}}

.sap-date-dmy{max-width:220px;letter-spacing:.02em}

.sap-field-help{display:block;margin-top:6px;font-size:.9em;line-height:1.4;font-weight:400;color:#5f6769}.sap-money-input{display:flex;align-items:stretch;margin-top:7px}.sap-money-input input{margin-top:0!important;border-radius:0 7px 7px 0!important}.sap-money-prefix{display:flex;align-items:center;padding:0 12px;border:1px solid #cfcfcf;border-right:0;border-radius:7px 0 0 7px;background:#f4f6f6;font-weight:700}.sap-inline-check{font-weight:400!important}.sap-inline-check input{display:inline!important;width:auto!important;margin:0 8px 0 0!important}.sap-inline-check a{text-decoration:underline}.sap-terms-content{line-height:1.65}.sap-terms-content h2:first-child{margin-top:0}

.sap-public-form [hidden]{display:none!important}

.sap-draft-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 2px;padding:11px 13px;border:1px solid #cfe4e4;border-radius:8px;background:#f1f8f8;color:#355b5d;font-size:.92em;line-height:1.4}.sap-draft-clear{flex:0 0 auto;padding:7px 10px;border:1px solid #89aeb0;border-radius:6px;background:#fff;color:#17494b;cursor:pointer}.sap-email-help{animation:sap-help-in .18s ease-out}@keyframes sap-help-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.sap-draft-status{display:block}.sap-draft-clear{margin-top:9px}}


.sap-certificate-offer{padding:14px 16px;border-left:4px solid #c27a00;border-radius:7px;background:#fff8e8;color:#8a4f00;font-weight:600;line-height:1.5;animation:sap-help-in .18s ease-out}.sap-certificate-offer p{margin:0}.sap-certificate-example-link{display:inline-block;margin-top:10px;padding:8px 12px;border:1px solid currentColor;border-radius:6px;color:#7a4300;text-decoration:none;font-weight:700}.sap-certificate-example-link:hover,.sap-certificate-example-link:focus{background:#fff1c9;color:#613600}

/* Version 0.3.15: date weekday and age preview */
.sap-date-weekday,
.sap-age-preview{
	display:block;
	margin-top:5px;
	color:#355b5d;
	font-size:.9em;
	font-weight:600;
	line-height:1.35;
}
.sap-age-preview{
	color:#006f72;
}

/* Version 0.3.17: WhatsApp country prefix selector */
.sap-country-selector{
	position:relative;
	margin-top:7px;
}
.sap-country-trigger{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	width:100%;
	box-sizing:border-box;
	padding:11px;
	border:1px solid #cfcfcf;
	border-radius:7px;
	background:#fff;
	color:#222;
	font:inherit;
	text-align:left;
	cursor:pointer;
}
.sap-country-trigger:focus{
	outline:2px solid #006f72;
	outline-offset:2px;
}
.sap-country-current{
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.sap-country-caret{
	flex:0 0 auto;
	font-weight:700;
}
.sap-country-panel{
	position:absolute;
	z-index:40;
	left:0;
	right:0;
	top:calc(100% + 4px);
	padding:10px;
	border:1px solid #cfcfcf;
	border-radius:8px;
	background:#fff;
	box-shadow:0 14px 30px rgba(0,0,0,.14);
}
.sap-country-panel[hidden]{display:none!important}
.sap-country-search{
	margin:0 0 8px!important;
}
.sap-country-options{
	max-height:260px;
	overflow-y:auto;
	display:grid;
	gap:2px;
}
.sap-country-option{
	width:100%;
	padding:9px 10px;
	border:0;
	border-radius:6px;
	background:#fff;
	text-align:left;
	font:inherit;
	cursor:pointer;
}
.sap-country-option:hover,
.sap-country-option:focus{
	background:#edf7f7;
	outline:0;
}


.sap-participant-data-notice,
.sap-conditional-panel {
	margin: 1rem 0;
	padding: 1rem;
	border: 1px solid #15919a;
	border-radius: 8px;
	background: #f4fbfb;
}
.sap-conditional-panel h3 { margin-top: 0; }
.sap-choice-cards { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .5rem; }
.sap-choice-cards label { display: flex; align-items: center; gap: .45rem; padding: .75rem 1rem; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; }
.sap-optional-consent { background: #f8fafc; border: 1px solid #e2e8f0; padding: .85rem; border-radius: 8px; }
.sap-legal-acceptance { background: #ecfeff; border: 1px solid #15919a; padding: .9rem; border-radius: 8px; }

/* Version 0.4.8: representative details and billing reuse */
.sap-use-representative-billing{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.75rem;
	margin:0 0 1rem;
	padding:.8rem;
	border:1px dashed #15919a;
	border-radius:8px;
	background:#fff;
}
.sap-secondary-button{
	display:inline-block;
	padding:9px 14px;
	border:1px solid #006f72;
	border-radius:7px;
	background:#fff;
	color:#006f72;
	font:inherit;
	font-weight:700;
	cursor:pointer;
}
.sap-secondary-button:hover,.sap-secondary-button:focus{background:#edf7f7;}

/* Version 0.4.9: adult participant data can be reused for billing. */


/* Version 0.4.10: explicit yes/no decision for optional image and voice use. */
.sap-media-consent {
	margin: .75rem 0;
	padding: 1rem;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #f8fafc;
}
.sap-media-consent legend {
	font-weight: 700;
	padding: 0 .25rem;
}
.sap-media-consent p:first-of-type {
	margin-top: .25rem;
}
