.one-poo-invite-event{max-width:100%;width:100%}
.one-poo-invite-event *{box-sizing:border-box}
.one-poo-invite-event .poo-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.one-poo-invite-event .poo-field{flex:1;min-width:240px}
.one-poo-invite-event input[type=text],
.one-poo-invite-event input[type=email],
.one-poo-invite-event input[type=tel],
.one-poo-invite-event input[type=number],
.one-poo-invite-event input[type=date],
.one-poo-invite-event input[type=file],
.one-poo-invite-event select,
.one-poo-invite-event textarea{width:100%!important;max-width:100%!important;padding:12px;border:1px solid #d1d5db;border-radius:10px;background:#fff}
.one-poo-invite-event textarea{resize:vertical}
.one-poo-invite-event .poo-actions{margin-top:14px}
.one-poo-invite-event .poo-btn{padding:12px 18px;border-radius:10px;border:0;background:#111;color:#fff;font-weight:700;cursor:pointer}
.one-poo-invite-event .poo-success{margin:10px 0;padding:12px;border-radius:10px;border:1px solid #86efac;background:#f0fdf4}
.one-poo-invite-event .poo-error{margin:10px 0;padding:12px;border-radius:10px;border:1px solid #fca5a5;background:#fef2f2}
.one-poo-invite-event .poo-muted{font-size:12px;opacity:.75;margin-top:6px}
.poo-turnstile-wrap{display:flex;justify-content:center;margin:14px 0}
.poo-turnstile-missing{display:flex;justify-content:center;margin:14px 0;padding:10px;border:1px dashed #999;border-radius:10px}

.one-poo-invite-event .poo-row.poo-row-4 .poo-field{min-width:170px;}

.one-poo-invite-event .poo-row.poo-row-date-address .poo-field{min-width:220px;}
.one-poo-invite-event .poo-row.poo-row-city-prov-postal .poo-field{min-width:180px;}

/* Strong select styling (match inputs) */
.one-poo-invite-event select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-color:#fff !important;
  background-image:linear-gradient(45deg, transparent 50%, #666 50%),linear-gradient(135deg, #666 50%, transparent 50%);
  background-position:calc(100% - 18px) calc(1em + 2px),calc(100% - 13px) calc(1em + 2px);
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  padding-right:36px !important;
  height:44px;
  line-height:44px;
}
.one-poo-invite-event .poo-field select{
  width:100% !important;
  max-width:100% !important;
  border:1px solid #d1d5db !important;
  border-radius:10px !important;
  padding:12px !important;
}
.one-poo-invite-event select{font:inherit;}

.one-poo-invite-event select.poo-control{background-color:#fff!important;border:1px solid #d1d5db!important;border-radius:10px!important;}

/* Flyer Wall */
.one-poo-flyer-wall{max-width:1100px}
.one-poo-flyer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(var(--poo-flyer-thumb,260px),1fr));
  gap:14px;
}
.one-poo-flyer-card{
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
}
.one-poo-flyer-card img{
  width:100%;
  aspect-ratio: var(--poo-flyer-aspect, 3/4);
  object-fit:cover;
  border-radius:14px;
  border:1px solid #e5e7eb;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.one-poo-flyer-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.one-poo-page{display:inline-block;padding:8px 12px;border-radius:12px;border:1px solid #e5e7eb;text-decoration:none}
.one-poo-page.is-active{background:#111;color:#fff;border-color:#111}

/* Flyer Modal */
.one-poo-flyer-modal{position:fixed;inset:0;display:none;z-index:99999}
.one-poo-flyer-modal[aria-hidden="false"]{display:block}
.one-poo-flyer-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.one-poo-flyer-modal__dialog{position:relative;max-width:980px;margin:4vh auto;background:#fff;border-radius:16px;overflow:hidden}
.one-poo-flyer-modal__close{position:absolute;top:10px;right:14px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer}
.one-poo-flyer-modal__body{display:flex;gap:16px;padding:16px;flex-wrap:wrap}
.one-poo-flyer-modal__left{flex:0 0 360px}
.one-poo-flyer-modal__img{width:360px;max-width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:1px solid #e5e7eb}
.one-poo-flyer-modal__right{flex:1;min-width:260px}
.one-poo-flyer-modal__title{margin:0 0 8px;font-size:24px;font-weight:900}
.one-poo-flyer-modal__meta{line-height:1.5;opacity:.92}
.one-poo-flyer-modal__notes{margin-top:10px;opacity:.95;white-space:pre-wrap}
.one-poo-flyer-modal__actions{margin-top:12px}
.one-poo-flyer-btn{display:inline-block;padding:10px 14px;border-radius:12px;background:#111;color:#fff;text-decoration:none;font-weight:800}

/* Field normalize */
.one-poo-invite-event-form input[type="text"],
.one-poo-invite-event-form input[type="email"],
.one-poo-invite-event-form input[type="tel"],
.one-poo-invite-event-form input[type="number"],
.one-poo-invite-event-form input[type="url"],
.one-poo-invite-event-form input[type="date"],
.one-poo-invite-event-form input[type="file"],
.one-poo-invite-event-form select,
.one-poo-invite-event-form textarea{
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #cbd5e1;
  background:#fff;
  font-size:16px;
  line-height:1.2;
  height:48px;
}

.one-poo-invite-event-form textarea{
  height:auto;
  min-height:140px;
  padding:14px;
}

.one-poo-invite-event-form select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  padding-right:40px; /* space for arrow */
  background-image:
    linear-gradient(45deg, transparent 50%, #111 50%),
    linear-gradient(135deg, #111 50%, transparent 50%);
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50%;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}

/* Prevent theme overrides adding extra padding on email fields */
.one-poo-invite-event-form input[type="email"]{
  padding:12px 14px !important;
}

/* Field normalize v2 (prevents theme overrides / select transformers) */
.one-poo-invite-event input[type="text"],
.one-poo-invite-event input[type="email"],
.one-poo-invite-event input[type="tel"],
.one-poo-invite-event input[type="number"],
.one-poo-invite-event input[type="url"],
.one-poo-invite-event input[type="date"],
.one-poo-invite-event input[type="file"],
.one-poo-invite-event select,
.one-poo-invite-event textarea{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  padding:12px 14px !important;
  border-radius:12px !important;
  border:1px solid #cbd5e1 !important;
  background:#fff !important;
  font-size:16px !important;
  line-height:1.2 !important;
  height:48px !important;
}
.one-poo-invite-event textarea{
  height:auto !important;
  min-height:140px !important;
  padding:14px !important;
}
.one-poo-invite-event select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  padding-right:40px !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #111 50%),
    linear-gradient(135deg, #111 50%, transparent 50%) !important;
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50% !important;
  background-size:6px 6px, 6px 6px !important;
  background-repeat:no-repeat !important;
}
/* If theme transforms selects into nice-select */
.one-poo-invite-event .nice-select{
  width:100% !important;
  height:48px !important;
  line-height:46px !important;
  padding-left:14px !important;
  padding-right:40px !important;
  border-radius:12px !important;
  border:1px solid #cbd5e1 !important;
}
.one-poo-invite-event .nice-select:after{ right:16px !important; }

/* Submit centering */
.one-poo-invite-event .poo-actions{
  display:flex;
  justify-content:center;
  align-items:center;
}
.one-poo-invite-event .poo-actions button{
  margin:0 auto;
}

/* Uniform font size */
.one-poo-invite-event,
.one-poo-invite-event input,
.one-poo-invite-event select,
.one-poo-invite-event textarea,
.one-poo-invite-event button{
  font-size:16px !important;
}
.one-poo-invite-event input::placeholder,
.one-poo-invite-event textarea::placeholder{
  font-size:16px !important;
}

/* Contact Email lock */
.one-poo-invite-event input[type="email"]{
  padding:12px 14px !important;
  height:48px !important;
  line-height:1.2 !important;
}

/* Checkbox styling (Group Create + other forms) */
.one-poo-invite-event .poo-check{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #cbd5e1;
  background:#fff;
  font-size:16px;
  line-height:1.2;
}
.one-poo-invite-event .poo-check input[type="checkbox"]{
  width:22px;
  height:22px;
  flex:0 0 22px;
  margin:0;
  accent-color:#111;
}
@media (max-width: 520px){
  .one-poo-invite-event .poo-check{padding:12px}
  .one-poo-invite-event .poo-check input[type="checkbox"]{width:24px;height:24px;flex-basis:24px}
}

/* ---- POO Strong Overrides (prevents theme/page-builder from overriding/transforming controls) ---- */
.one-poo-invite-event form.poo-form input[type=text],
.one-poo-invite-event form.poo-form input[type=email],
.one-poo-invite-event form.poo-form input[type=tel],
.one-poo-invite-event form.poo-form input[type=number],
.one-poo-invite-event form.poo-form input[type=date],
.one-poo-invite-event form.poo-form select{
  height:44px !important;
  line-height:44px !important;
  font-size:16px !important;
}

.one-poo-invite-event form.poo-form input[type=file]{
  min-height:44px !important;
}

.one-poo-invite-event form.poo-form label.poo-check{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  padding:12px !important;
  border:1px solid #d1d5db !important;
  border-radius:12px !important;
  background:#fff !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}

.one-poo-invite-event form.poo-form input[type=checkbox]{
  -webkit-appearance:checkbox !important;
  appearance:auto !important;
  width:22px !important;
  height:22px !important;
  margin:0 !important;
  flex:0 0 auto !important;
}

/* If a theme tries to hide selects via opacity/display, force them back */
.one-poo-invite-event form.poo-form select{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Select vertical alignment fix (some themes force huge top padding / baseline rendering) */
.one-poo-invite-event select,
.one-poo-invite-event select.poo-control,
.one-poo-invite-event form.poo-form select{
  display:block !important;
  height:48px !important;
  min-height:48px !important;
  /* Use line-height for vertical centering; remove vertical padding that can push text out of view */
  padding:0 40px 0 14px !important;
  line-height:48px !important;
}
