.form-trap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

#formError {
  min-height: 1.5em;
  margin: 0;
  color: #8a2d25;
  font-size: 13px;
  text-align: right;
}

#submit:disabled {
  cursor: wait;
  opacity: .55;
}

.form-head { position: relative; }
.inquiry-selection { position:absolute; right:0; top:0; margin:0; padding:8px 11px; border:1px solid #c9c6bd; border-radius:999px; color:#776238; background:#f6f3ea; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.inquiry-selection[hidden] { display:none !important; }
.collection-note { display:block; max-width:32ch; margin-top:7px; color:#74716a; font-size:12px; line-height:1.45; font-weight:400; letter-spacing:0; text-transform:none; }

/* A compact collection list expands as it is explored. Selecting remains a click. */
.form-step[data-step="1"] { padding-top:30px; }
.collection-guidance { margin:0 0 20px; color:#66645f; font-size:14px; }
.collection-choice { display:grid; grid-template-columns:1fr; gap:9px; max-width:760px; }
.collection-choice label { position:relative; display:block; min-height:0; padding:14px 20px; background:#fff; border:1px solid #d5d3cd; border-radius:14px; transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease; }
.collection-choice label[hidden] { display:none !important; }
.collection-choice label b { display:block; font:400 21px/1.3 "Shree Yanagi","Shree Devanagari 4944",Georgia,serif; }
.collection-choice label input { position:absolute; width:1px; height:1px; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.collection-choice .collection-extra { display:block; max-height:0; min-height:0; overflow:hidden; opacity:0; color:var(--ink); transition:max-height .3s ease,opacity .24s ease; }
.collection-choice .collection-extra .collection-price { display:block; margin:7px 0 3px; color:#b88b29; font-size:15px; }
.collection-choice .collection-extra small { display:block; color:#62615b; font-size:13px; line-height:1.5; }
.collection-choice .collection-more { display:inline-flex; align-items:center; width:max-content; max-width:100%; margin-top:11px; padding:8px 12px; border:1px solid #9a9992; border-radius:999px; color:var(--ink); font-size:10px; line-height:1.25; letter-spacing:.07em; text-transform:uppercase; }
.collection-choice .collection-more:hover,.collection-choice .collection-more:focus-visible { background:#fff; border-color:var(--ink); outline:none; }
.collection-choice label:hover,.collection-choice label:focus-within,.collection-choice label.is-selected { background:#f8f7f2; border-color:#9a9992; }
.collection-choice label:hover .collection-extra,.collection-choice label:focus-within .collection-extra,.collection-choice label.is-selected .collection-extra { max-height:180px; opacity:1; }
.collection-choice label.is-referred,.collection-choice label.is-referred:hover,.collection-choice label.is-referred:focus-within { border-color:#bd922f; box-shadow:0 0 0 1px rgba(189,146,47,.4); }
.collection-choice label.is-referred.is-selected { background:#fffaf0; }
.collection-choice label:focus-within { outline:2px solid #5c675e; outline-offset:2px; }
.role-choice { gap:16px; margin:22px 0 38px; }
.role-choice label { position:relative; display:grid; place-items:center; min-width:170px; min-height:86px; padding:16px 28px; border:1px solid var(--line); border-radius:18px; background:#fff; font:400 25px/1.2 "Shree Yanagi","Shree Devanagari 4944",Georgia,serif; transition:transform .28s cubic-bezier(.22,.61,.36,1),background-color .25s ease,border-color .25s ease,box-shadow .25s ease; }
.role-choice input { position:absolute; width:1px; height:1px; margin:0; opacity:0; }
.role-choice .role-bride:hover,.role-choice .role-bride:has(input:checked) { transform:translateY(-4px) scale(1.045); background:#fff0f0; border-color:#bd737a; color:#872f3b; box-shadow:0 12px 28px rgba(169,74,85,.17); }
.role-choice .role-groom:hover,.role-choice .role-groom:has(input:checked) { transform:translateY(-4px) scale(1.045); background:#edf4ff; border-color:#658cbe; color:#295481; box-shadow:0 12px 28px rgba(73,112,168,.17); }
.role-choice label:focus-within { outline:2px solid currentColor; outline-offset:3px; }
.form-step.active.is-leaving-forward { opacity:0; transform:translateX(-20px); transition:opacity .2s ease,transform .2s ease; }
.form-step.active.is-leaving-back { opacity:0; transform:translateX(20px); transition:opacity .2s ease,transform .2s ease; }
.form-step.active.is-entering-forward { animation:inquiry-enter-forward .35s cubic-bezier(.22,.61,.36,1) both; }
.form-step.active.is-entering-back { animation:inquiry-enter-back .35s cubic-bezier(.22,.61,.36,1) both; }
@keyframes inquiry-enter-forward { from { opacity:0; transform:translateX(22px); } to { opacity:1; transform:translateX(0); } }
@keyframes inquiry-enter-back { from { opacity:0; transform:translateX(-22px); } to { opacity:1; transform:translateX(0); } }
@media(prefers-reduced-motion:reduce){.collection-choice label,.collection-choice .collection-extra,.role-choice label,.form-step.active{transition:none!important;animation:none!important;transform:none!important}}

@media (max-width: 560px) {
  #formError { text-align: left; }
  .form-head { padding-bottom:18px; }
  .form-head h2 { font-size:22px; line-height:1.15; margin-bottom:18px; }
  .form-head .eyebrow { font-size:10px; }
  .steps { gap:8px; font-size:10px; letter-spacing:.05em; }
  .inquiry-selection { position:static; display:table; margin-top:12px; padding:6px 9px; font-size:10px; }
  .form-step { padding:26px 0; }
  .form-step[data-step="1"] { padding-top:24px; }
  .form-step h3 { margin:0 0 15px; font-size:23px; line-height:1.2; }
  .collection-guidance { margin-bottom:16px; font-size:13px; line-height:1.45; }
  .collection-choice { gap:7px; }
  .collection-choice label { padding:10px 14px; }
  .collection-choice label b { font-size:17px; }
  .collection-choice .collection-extra .collection-price { font-size:13px; }
  .collection-choice .collection-extra small { font-size:12px; }
  .collection-choice .collection-more { width:100%; justify-content:center; margin-top:9px; padding:8px 10px; font-size:9px; }
  .role-choice { gap:12px; margin:18px 0 26px; }
  .role-choice label { min-width:0; min-height:62px; flex:1; padding:12px; font-size:19px; }
}

.form-step .fields label[hidden]{display:none!important}
