/* Forms from Potter's House Church Tools. Uses the theme's colours when it has them. */
.ph-form-wrap{max-width:640px;margin:1.5em 0}
.ph-form-paused{padding:24px;border:1px solid var(--line-strong,#b9b3a6);border-radius:14px;background:var(--stone,#f7f5f1)}
.ph-form__row{margin:0 0 18px}
.ph-form__row label{display:block;margin:0 0 6px;font-weight:600;font-size:.95em}
.ph-form__req{color:#b3261e}
.ph-form input[type=text],.ph-form input[type=email],.ph-form input[type=tel],.ph-form input[type=date],.ph-form select,.ph-form textarea{
	display:block;width:100%;box-sizing:border-box;padding:12px 18px;font:inherit;line-height:1.4;color:var(--ink,#1c1d35);
	background:#fff;border:1.5px solid var(--line-strong,#b9b3a6);border-radius:10px}
.ph-form textarea{resize:vertical;min-height:130px}
.ph-form input:focus,.ph-form select:focus,.ph-form textarea:focus{outline:3px solid var(--gold,#e8b230);outline-offset:1px;border-color:var(--ink,#1c1d35)}
.ph-form__small{font-size:.9em;color:var(--ink-muted,#55566a)}
.ph-form__submit{cursor:pointer}
.ph-form__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ph-form__notice{padding:16px 18px;border-radius:10px;margin:0 0 20px}
.ph-form__notice p{margin:0 0 6px}
.ph-form__notice ul{margin:0;padding-left:20px}
.ph-form__notice--ok{background:#e7f4ea;border:1px solid #9ccfa8;color:#14461f}
.ph-form__notice--error{background:#fdecea;border:1px solid #e6a8a2;color:#7a1c14}

/* QR code */
.ph-qr{margin:0;display:inline-block;text-align:center}
.ph-qr__code{background:#fff;border-radius:12px;padding:8px;width:176px;height:176px;box-sizing:border-box}
.ph-qr__code svg{display:block;width:100%;height:100%}
.ph-qr figcaption{margin-top:10px;font-size:.9em}

/* Albums */
.ph-album-photos{list-style:none;margin:2em 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px}
.ph-album-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#ddd}

/* Dropdowns: room on both sides, and a chevron that does not touch the border */
.ph-form .ph-form__row select{-webkit-appearance:none;appearance:none;padding-left:18px;padding-right:48px;cursor:pointer;
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5 7 7.5 13 1.5' stroke='%231c1d35' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center}
.ph-form .ph-form__row select:invalid,.ph-form .ph-form__row select option[value=""]{color:#6b6c80}
.ph-form input::placeholder,.ph-form textarea::placeholder{color:#8a8b9a}

/* Choice buttons (Male / Female, Yes / No) */
.ph-form fieldset.ph-form__row{border:0;padding:0;margin:0 0 18px;min-width:0}
.ph-form fieldset.ph-form__row legend{display:block;padding:0;margin:0 0 8px;font-weight:600;font-size:.95em}
.ph-form__choices{display:flex;flex-wrap:wrap;gap:10px}
.ph-form__choice{position:relative;display:block;margin:0 !important;font-weight:500 !important;cursor:pointer}
.ph-form__choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.ph-form__choice span{display:flex;align-items:center;justify-content:center;min-width:92px;min-height:48px;padding:0 22px;box-sizing:border-box;background:#fff;border:1.5px solid var(--line-strong,#b9b3a6);border-radius:999px;color:var(--ink,#1c1d35);font-size:1rem;transition:background-color .15s,border-color .15s}
.ph-form__choice:hover span{border-color:var(--ink,#1c1d35)}
.ph-form__choice input:checked + span{background:var(--ink,#1c1d35);border-color:var(--ink,#1c1d35);color:#fff}
.ph-form__choice input:focus-visible + span{outline:3px solid var(--gold,#e8b230);outline-offset:2px}
