.dhg-wreath {
  --red:#aa212f; --red-dark:#851925; --green:#506d49; --sage:#acbaa7; --ivory:#fdfbf7; --white:#fff; --text:#333; --muted:#69727d;
  max-width:900px; margin-inline:auto; color:var(--text); font:400 16px/1.6 Inter,Arial,sans-serif;
}
.dhg-wreath fieldset { margin:0 0 1.75rem; padding:clamp(1.25rem,3vw,2rem); border:1px solid rgba(80,109,73,.28); border-radius:18px; background:var(--white); box-shadow:0 14px 40px rgba(51,51,51,.08); }
.dhg-wreath h2,.dhg-wreath legend { color:var(--green); font-family:"Playfair Display",Georgia,serif; font-weight:500; line-height:1.25; }
.dhg-wreath h2 { font-size:clamp(2rem,4vw,2.6rem); }
.dhg-wreath legend { padding:0 .6rem; font-size:clamp(1.35rem,2.5vw,1.65rem); }
.dhg-wreath label { display:grid; gap:.45rem; margin-bottom:1rem; font-weight:600; }
.dhg-wreath input:not([type="radio"]):not([type="checkbox"]),.dhg-wreath select { width:100%; min-height:50px; padding:.75rem .9rem; border:1px solid var(--sage); border-radius:8px; background:var(--ivory); color:var(--text); font:400 1rem/1.4 Inter,Arial,sans-serif; }
.dhg-wreath input:focus,.dhg-wreath select:focus { border-color:var(--red); outline:0; box-shadow:0 0 0 3px rgba(170,33,47,.14); }
.dhg-wreath-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.dhg-wreath-sessions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.dhg-wreath-session { display:flex!important; align-items:flex-start; gap:.8rem!important; margin:0!important; padding:1rem; border:1px solid rgba(80,109,73,.25); border-radius:12px; background:var(--ivory); cursor:pointer; }
.dhg-wreath-session input { margin-top:.35rem; accent-color:var(--red); }
.dhg-wreath-session span { display:grid; gap:.15rem; }
.dhg-wreath-session strong { color:var(--green); }
.dhg-wreath-session small { color:var(--muted); }
.dhg-wreath-session.is-full,.dhg-wreath-session.cannot-fit { opacity:.48; cursor:not-allowed; }
.dhg-wreath-attendees { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; margin-top:1.25rem; }
.dhg-wreath-check { display:flex!important; align-items:center; gap:.65rem!important; margin-top:.75rem; }
.dhg-wreath-check input { width:20px; height:20px; accent-color:var(--red); }
.dhg-wreath-total,.dhg-wreath-summary { margin:1.5rem 0; padding:1.15rem 1.4rem; border-radius:14px; background:var(--green); color:#fff; font-size:1.1rem; }
.dhg-wreath .button { min-height:46px; padding:.8rem 1.6rem; border:1px solid var(--red); border-radius:30px; background:var(--red); color:#fff; font:600 1rem/1 Inter,Arial,sans-serif; cursor:pointer; text-decoration:none; }
.dhg-wreath .button:hover,.dhg-wreath .button:focus { background:var(--red-dark); border-color:var(--red-dark); color:#fff; }
.dhg-wreath-submit { width:100%; }
.dhg-wreath-danger { margin-top:1rem; background:#fff!important; color:var(--red)!important; }
.dhg-wreath__messages:not(:empty) { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; padding:1rem 1.15rem; border:1px solid rgba(170,33,47,.25); border-left:4px solid var(--red); border-radius:8px; background:#fff4f5; color:var(--red-dark); }
.dhg-wreath__messages a { color:var(--red-dark); font-weight:700; }
.dhg-wreath-help { color:var(--muted); }
.dhg-wreath-manage .woocommerce-message,.dhg-wreath-manage .woocommerce-error { position:relative; padding:1rem 1.15rem 1rem 3.4rem!important; }
.dhg-wreath-manage .woocommerce-message::before,.dhg-wreath-manage .woocommerce-error::before { top:50%!important; left:1.2rem!important; transform:translateY(-50%); }
@media(max-width:640px){.dhg-wreath-grid,.dhg-wreath-sessions,.dhg-wreath-attendees{grid-template-columns:1fr}.dhg-wreath fieldset{border-radius:14px}}

