@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap');

.kva-order-page { margin:0; }
.kva-order-embed { --cream:#f5f0e8; --dark:#1a1612; --brown:#6b4f3a; --gold:#c9a96e; --gold-light:#e8d5a3; --mid:#8a7b6e; --white:#fdfaf5; --danger:#9d3f35; min-width:320px; min-height:100vh; background:var(--cream); color:var(--dark); font-family:"Jost",sans-serif; font-weight:400; }
.kva-order-embed *, .kva-order-embed *::before, .kva-order-embed *::after { box-sizing:border-box; }
.kva-order-embed .page-shell { max-width:1200px; margin:0 auto; padding:28px 60px 80px; }
.kva-order-embed .masthead { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(201,169,110,.3); padding-bottom:22px; }
.kva-order-embed .brand { display:flex; flex-direction:column; text-decoration:none; color:var(--dark); }
.kva-order-embed .brand-mark { font-family:"Cormorant Garamond",serif; font-size:1.65rem; font-weight:600; letter-spacing:3px; line-height:1; text-transform:uppercase; }
.kva-order-embed .brand-note, .kva-order-embed .step-counter, .kva-order-embed .back-link { color:var(--mid); font-size:.68rem; letter-spacing:1.7px; line-height:1.3; text-transform:uppercase; }
.kva-order-embed .brand-note { margin-top:7px; }
.kva-order-embed .masthead-right { display:flex; align-items:center; gap:28px; }
.kva-order-embed .back-link { color:var(--dark); text-decoration:none; transition:color .25s; }
.kva-order-embed .back-link:hover { color:var(--gold); }
.kva-order-embed .step-counter { margin:0; }
.kva-order-embed .step-counter b { color:var(--gold); font-weight:600; }
.kva-order-embed .hero { margin:94px 0 44px; max-width:620px; animation:kva-order-rise .65s ease both; }
.kva-order-embed .eyebrow, .kva-order-embed .chapter { color:var(--gold); font-size:.68rem; letter-spacing:3px; text-transform:uppercase; font-weight:500; }
.kva-order-embed .eyebrow { display:flex; align-items:center; gap:13px; margin:0 0 24px; }
.kva-order-embed .eyebrow::before { content:""; width:32px; height:1px; background:var(--gold); }
.kva-order-embed h1, .kva-order-embed h2 { font-family:"Cormorant Garamond",serif; margin:0; font-weight:300; letter-spacing:-.03em; }
.kva-order-embed h1 { font-size:clamp(4.25rem,9vw,7.5rem); line-height:.8; }
.kva-order-embed h1 em, .kva-order-embed .section-title em { color:var(--brown); font-style:italic; }
.kva-order-embed .hero-copy { color:var(--mid); font-size:1rem; max-width:420px; margin:28px 0 0; line-height:1.8; font-weight:300; }
.kva-order-embed .brand-strip { display:flex; align-items:center; gap:18px; flex-wrap:wrap; background:var(--dark); color:var(--gold-light); padding:15px 22px; margin-bottom:3px; font-size:.66rem; letter-spacing:2px; line-height:1.3; text-transform:uppercase; }
.kva-order-embed .brand-strip b { color:var(--gold); font-size:.8rem; }
.kva-order-embed .form-card { background:var(--white); border:1px solid rgba(201,169,110,.4); box-shadow:0 24px 60px rgba(26,22,18,.08); padding:clamp(25px,5vw,56px); animation:kva-order-rise .75s .12s ease both; }
.kva-order-embed .form-heading { display:grid; grid-template-columns:38px 1fr; gap:16px; margin-bottom:35px; }
.kva-order-embed .form-heading h2 { font-size:clamp(2rem,4vw,2.8rem); line-height:.9; }
.kva-order-embed .form-heading p { color:var(--mid); margin:10px 0 0; font-size:.9rem; line-height:1.5; font-weight:300; }
.kva-order-embed .field-label, .kva-order-embed .field span, .kva-order-embed fieldset legend { display:block; color:var(--mid); font-size:.68rem; font-weight:500; letter-spacing:1.4px; margin-bottom:9px; text-transform:uppercase; }
.kva-order-embed input:not([type="checkbox"]):not([type="radio"]) { width:100%; border:1px solid rgba(107,79,58,.33); border-radius:0; background:#fffefa; color:var(--dark); font:400 1rem "Jost",sans-serif; padding:14px 15px; outline:none; transition:border-color .2s,box-shadow .2s; }
.kva-order-embed input:not([type="checkbox"]):not([type="radio"])::placeholder { color:#b9afa3; }
.kva-order-embed input:not([type="checkbox"]):not([type="radio"]):focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,169,110,.18); }
.kva-order-embed .phone-row { display:flex; gap:10px; }
.kva-order-embed .phone-row input { min-width:0; }
.kva-order-embed .primary-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; border:0; background:var(--dark); color:var(--cream); cursor:pointer; min-height:52px; padding:0 24px; font:500 .7rem "Jost",sans-serif; letter-spacing:1.8px; text-transform:uppercase; transition:background .25s,transform .25s; white-space:nowrap; }
.kva-order-embed .primary-button:hover { background:var(--brown); transform:translateY(-1px); }
.kva-order-embed .primary-button:disabled { cursor:wait; opacity:.55; transform:none; }
.kva-order-embed .primary-button i { color:var(--gold); font-size:1.2rem; font-style:normal; }
.kva-order-embed .field-hint, .kva-order-embed .footnote { color:var(--mid); font-size:.76rem; font-weight:300; line-height:1.55; }
.kva-order-embed .field-hint { margin:10px 0 0; }
.kva-order-embed .delivery-choice, .kva-order-embed .pickup-choice { border:0; margin:0 0 30px; padding:0; }
.kva-order-embed .choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; background:rgba(201,169,110,.22); }
.kva-order-embed .choice-card { background:var(--white); cursor:pointer; min-height:108px; padding:19px 17px; position:relative; transition:background .2s; }
.kva-order-embed .choice-card input { cursor:pointer; inset:0; opacity:0; position:absolute; }
.kva-order-embed .choice-card:has(input:checked) { background:#f0e5cf; }
.kva-order-embed .choice-card:has(input:checked)::after { color:var(--gold); content:"✦"; font-size:.8rem; position:absolute; right:14px; top:12px; }
.kva-order-embed .choice-card span { display:block; font-family:"Cormorant Garamond",serif; font-size:1.55rem; font-weight:400; }
.kva-order-embed .choice-card small { color:var(--mid); display:block; font-size:.75rem; margin-top:7px; }
.kva-order-embed .fields-grid { display:grid; gap:17px; grid-template-columns:repeat(2,1fr); }
.kva-order-embed .field { display:block; margin-bottom:17px; }
.kva-order-embed .field.wide { max-width:100%; }
.kva-order-embed .conditional-fields { border-left:1px solid var(--gold); margin:8px 0 10px; padding:20px 0 1px 20px; }
.kva-order-embed .pickup-choice { display:flex; flex-wrap:wrap; gap:10px; }
.kva-order-embed .pickup-choice legend { width:100%; }
.kva-order-embed .pickup-choice label { cursor:pointer; }
.kva-order-embed .pickup-choice input { opacity:0; position:absolute; }
.kva-order-embed .pickup-choice span { border:1px solid rgba(107,79,58,.33); display:block; padding:11px 14px; transition:background .2s; }
.kva-order-embed .pickup-choice label:has(input:checked) span { background:#f0e5cf; border-color:var(--gold); }
.kva-order-embed .consents { border:0; margin:22px 0 28px; padding:0; }
.kva-order-embed .consents legend { color:var(--mid); font-size:.78rem; letter-spacing:1.5px; margin-bottom:12px; text-transform:uppercase; }
.kva-order-embed .consent { align-items:start; cursor:pointer; display:grid; gap:10px; grid-template-columns:18px minmax(0,1fr); margin:12px 0; }
.kva-order-embed .consent input[type="checkbox"] { accent-color:var(--brown); height:18px; margin:3px 0 0; padding:0; width:18px; }
.kva-order-embed .consent span { color:var(--mid); font-size:.82rem; line-height:1.5; min-width:0; }
.kva-order-embed .consent a { color:var(--dark); text-decoration:underline; text-underline-offset:3px; }
.kva-order-embed .submit-row { align-items:center; display:flex; gap:16px; justify-content:space-between; margin-top:30px; }
.kva-order-embed .text-button { background:none; border:0; border-bottom:1px solid var(--brown); color:var(--brown); cursor:pointer; font:500 .68rem "Jost",sans-serif; letter-spacing:1.4px; padding:0 0 4px; text-transform:uppercase; }
.kva-order-embed .text-button:hover { border-color:var(--gold); color:var(--gold); }
.kva-order-embed .success { border-top:1px solid var(--gold); padding-top:25px; }
.kva-order-embed .success-stamp { color:var(--gold); font-size:.68rem; font-weight:500; letter-spacing:2px; text-transform:uppercase; }
.kva-order-embed .success h2 { font-size:clamp(3rem,7vw,4.8rem); line-height:.9; margin:12px 0; }
.kva-order-embed .success p { color:var(--mid); font-weight:300; line-height:1.65; margin-bottom:28px; max-width:430px; }
.kva-order-embed .hidden { display:none !important; }
.kva-order-embed.kva-order-modal-open { overflow:hidden; }
.kva-order-embed .debt-modal { align-items:flex-start; background:rgba(26,22,18,.68); display:flex; inset:0; justify-content:center; overflow-y:auto; padding:20px; position:fixed; z-index:10; }
.kva-order-embed .debt-modal-card { background:var(--white); border:1px solid var(--gold); box-shadow:0 24px 80px rgba(26,22,18,.24); margin:auto 0; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); max-width:500px; overflow-y:auto; padding:42px 48px 39px; position:relative; text-align:center; width:100%; }
.kva-order-embed .modal-close { background:none; border:0; color:var(--mid); cursor:pointer; font:300 2rem/1 "Jost",sans-serif; padding:4px 8px; position:absolute; right:12px; top:10px; }
.kva-order-embed .modal-close:hover { color:var(--dark); }
.kva-order-embed .modal-close:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.kva-order-embed .debt-modal-mark { align-items:center; background:var(--gold-light); border-radius:50%; color:var(--brown); display:flex; font:600 1.25rem/1 "Cormorant Garamond",serif; height:42px; justify-content:center; margin:0 auto 20px; width:42px; }
.kva-order-embed .debt-modal .eyebrow { justify-content:center; margin-bottom:15px; }
.kva-order-embed .debt-modal .eyebrow::before { display:none; }
.kva-order-embed .debt-modal h2 { font-size:clamp(2rem,6vw,3.2rem); line-height:.95; }
.kva-order-embed .debt-modal-copy, .kva-order-embed .debt-modal-contact { color:var(--mid); font-weight:300; line-height:1.65; }
.kva-order-embed .debt-modal-copy { margin:17px auto 25px; max-width:350px; }
.kva-order-embed .debt-modal-action { text-decoration:none; width:100%; }
.kva-order-embed .debt-modal-contact { font-size:.82rem; margin:27px 0 10px; }
.kva-order-embed .debt-modal-links { display:flex; gap:20px; justify-content:center; }
.kva-order-embed .debt-modal-links a { border-bottom:1px solid var(--gold); color:var(--brown); font-size:.75rem; letter-spacing:1px; padding-bottom:3px; text-decoration:none; text-transform:uppercase; }
.kva-order-embed .debt-modal-links a:hover { color:var(--gold); }
.kva-order-embed .debt-modal-title { color:var(--danger); }
.kva-order-embed .order-error-modal .debt-modal-card { max-width:460px; }
.kva-order-embed .order-error-modal h2 { max-width:320px; margin:0 auto; }
.kva-order-embed .order-error-modal .debt-modal-copy { color:var(--danger); font-size:1rem; margin-bottom:5px; }
.kva-order-embed .order-error-mark { background:#f2d8d4; color:var(--danger); }
.kva-order-embed .footnote { margin:36px 0 0; text-align:center; }
@keyframes kva-order-rise { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:640px) {
  .kva-order-embed .page-shell { padding:21px 18px 50px; }
  .kva-order-embed .masthead-right { gap:15px; }
  .kva-order-embed .back-link { display:none; }
  .kva-order-embed .brand-note { font-size:.58rem; letter-spacing:1.3px; }
  .kva-order-embed .step-counter { font-size:.6rem; letter-spacing:1.2px; }
  .kva-order-embed .hero { margin:65px 0 35px; }
  .kva-order-embed .brand-strip { align-items:flex-start; flex-direction:column; gap:7px; margin-bottom:2px; padding:14px 17px; }
  .kva-order-embed .brand-strip b { display:none; }
  .kva-order-embed .form-card { padding:28px 20px; }
  .kva-order-embed .phone-row { display:block; }
  .kva-order-embed .phone-row .primary-button { margin-top:10px; width:100%; }
  .kva-order-embed .choice-grid { grid-template-columns:1fr; }
  .kva-order-embed .choice-card { min-height:78px; }
  .kva-order-embed .fields-grid { gap:0; grid-template-columns:1fr; }
  .kva-order-embed .submit-row { align-items:stretch; flex-direction:column-reverse; }
  .kva-order-embed .submit-row .primary-button { width:100%; }
  .kva-order-embed .conditional-fields { padding-left:14px; }
  .kva-order-embed .debt-modal-card { padding:36px 24px 30px; }
}
