/* Shared request sheet: ink header, paper form, square controls. */
.ask-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ask-actions .btn { white-space:normal; line-height:1.25; text-align:center; padding:18px 20px; }
.ask-disclosure { font-size:12px; color:var(--ink-2); margin:16px 0; }
.ask-direct { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:13px; }
.ask-direct a { text-underline-offset:4px; text-decoration-color:var(--weathered-metal); }
.ask-dialog { margin:auto; padding:0; width:min(640px,calc(100% - 40px)); max-width:100%; max-height:calc(100dvh - 48px); border:1px solid var(--border-strong); border-radius:0; color:var(--ink); background:var(--bone); overscroll-behavior:contain; box-shadow:var(--shadow-lift); }
.ask-dialog[open] { animation:ask-enter .3s var(--ease); }
.ask-dialog::backdrop { background:rgb(19 19 18 / .48); }
.ask-panel { padding:0 32px 32px; }
.ask-sheet-mast { margin:0 -32px 28px; padding:20px 32px 24px; background:var(--ink); color:var(--bone); }
.ask-sheet-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ask-sheet-head .eyebrow { font-size:10px; color:var(--co-silver); }
.ask-close { flex:none; width:40px; height:40px; border:1px solid var(--ink-3); background:transparent; border-radius:0; color:var(--bone); font-size:25px; font-weight:300; cursor:pointer; }
.ask-close:hover { background:var(--bone); color:var(--ink); border-color:var(--bone); }
.ask-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--ink-3); border:1px solid var(--ink-3); margin-top:20px; }
.ask-tabs button { min-width:0; padding:15px 8px; border:0; background:var(--ink); color:var(--bone); font-family:var(--mono); font-size:11px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; border-radius:0; transition:background .25s var(--ease),color .25s var(--ease); }
.ask-tabs button:hover { background:var(--co-black); }
.ask-tabs [aria-selected="true"] { background:var(--bone); color:var(--ink); }
.ask-tabs [aria-selected="true"]:hover { background:var(--warm-surface); }
.ask-tabs .mono { font-size:10px; margin-right:6px; }
.ask-sheet-mast :focus-visible { outline-color:var(--bone); outline-offset:3px; }
.ask-dialog h2 { font-size:clamp(30px,3vw,38px); font-weight:300; margin:16px 0 12px; letter-spacing:-.04em; }
.ask-car { font-family:var(--mono); font-size:11px; margin-bottom:14px; color:var(--deep-sand); overflow-wrap:anywhere; }
#ask-copy, .ask-dialog p { font-size:14px; line-height:1.55; }
.ask-dialog .ask-car { font-size:11px; }
.ask-fields { display:grid; gap:18px; margin-top:28px; }
.ask-field-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ask-dialog .field { min-width:0; }
.ask-dialog .field label { font-size:10px; letter-spacing:.14em; }
.ask-dialog .field select { appearance:auto; padding-right:8px; }
.ask-dialog .field input,.ask-dialog .field select { min-width:0; min-height:48px; padding:12px; }
.ask-dialog .field textarea { min-height:88px; }
.ask-dialog .ask-hint { font-size:11.5px; color:var(--ink-2); }
.ask-fields > .ask-hint { margin-top:-8px; }
.ask-honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.ask-sunday { margin-top:20px; }
.ask-error { border:1px solid var(--ink); padding:12px; font-weight:500; }
.ask-receipt { margin-top:28px; }
.ask-receipt .r-v { flex:0 1 auto; max-width:70%; overflow-wrap:anywhere; }
.ask-submit { width:100%; min-height:56px; }
.ask-dialog [hidden] { display:none !important; }
@keyframes ask-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:600px) {
  .ask-dialog { width:100%; max-height:calc(100dvh - 16px); margin:auto 0 0; border-bottom:0; }
  .ask-panel { padding:0 20px max(24px,env(safe-area-inset-bottom)); }
  .ask-sheet-mast { margin:0 -20px 24px; padding:16px 20px 20px; }
  .ask-dialog h2 { font-size:30px; }
  .ask-field-pair { gap:12px; }
  .ask-purchase-pair { grid-template-columns:1fr; }
  .ask-bar-vdp .ask-actions .btn:first-child { flex:1 0 100%; }
  .ask-bar-vdp .ask-actions .btn:not(:first-child) { flex:1; }
  .ask-receipt { padding:16px 12px; font-size:11px; }
}
