/* Fynbongs checkout + order-confirmation styles */
.co{width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:28px;background:#F2F0E8;color:#2B300B;font-family:'Bricolage Grotesque','Arial Narrow',sans-serif;box-shadow:0 30px 80px rgba(12,14,3,.45);overflow:auto;overscroll-behavior:contain}
.co::backdrop{background:rgba(20,22,6,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.co[open]{animation:coIn .45s cubic-bezier(.16,1,.3,1)}
@keyframes coIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.co[open]{animation:none}}
@media (max-width:560px){.co{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:24px 24px 0 0}}

.co-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-end;gap:16px;padding:20px 20px 16px 24px;background:#454C13;color:#F2F0E8}
.co-head img{height:92px;width:auto;display:block;flex-shrink:0;margin-bottom:-4px}
.co-head-text{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.co-kicker{margin:0;font-family:'DM Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#C9CBA8}
.co-title{margin:0;font-size:clamp(32px,7vw,44px);font-weight:800;font-stretch:75%;line-height:.9;text-transform:uppercase}
.co-price{margin:0;font-family:'Caveat','Comic Sans MS',cursive;font-size:28px;font-weight:700;line-height:1;color:#EEC523}
.co-close{align-self:flex-start;width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1.5px solid #C9CBA8;background:transparent;color:#F2F0E8;display:flex;align-items:center;justify-content:center;cursor:pointer}
.co-close:hover{background:#F2F0E8;color:#2B300B}

.co-body{padding:24px;display:flex;flex-direction:column;gap:22px}
.co fieldset{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.co legend{padding:0;margin-bottom:12px;font-family:'Caveat','Comic Sans MS',cursive;font-size:28px;font-weight:700;line-height:1;color:#456C19}
.co-field{display:flex;flex-direction:column;gap:6px}
.co-field>span{font-family:'DM Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#5E5D48}
.co input[type=text],.co input[type=email],.co input[type=tel],.co select,.co textarea{box-sizing:border-box;width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #A9A790;border-radius:14px;background:#FBFAF5;color:#2B300B;font:inherit;font-size:17px}
.co textarea{min-height:88px;resize:vertical}
.co input:focus,.co select:focus,.co textarea:focus{outline:none;border-color:#454C13;box-shadow:0 0 0 3px rgba(238,197,35,.55)}
.co input:user-invalid,.co textarea:user-invalid{border-color:#A3401F}
.co-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px}

.co-opt{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1.5px solid #A9A790;border-radius:16px;background:#FBFAF5;cursor:pointer}
.co-opt:has(input:checked){border-color:#454C13;background:#EEC523}
.co-opt:has(input:focus-visible){box-shadow:0 0 0 3px rgba(69,76,19,.35)}
.co-opt input{margin:3px 0 0;width:20px;height:20px;accent-color:#454C13;flex-shrink:0}
.co-opt-text{flex-grow:1;display:flex;flex-direction:column;gap:2px}
.co-opt-label{font-weight:700;font-size:16px}
.co-opt-note{font-size:14px;color:#4E5228}
.co-opt-price{font-family:'DM Mono',ui-monospace,monospace;font-size:13px;white-space:nowrap}

.co-check{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.4;cursor:pointer}
.co-check input{margin:2px 0 0;width:22px;height:22px;accent-color:#454C13;flex-shrink:0}

.co-sum{margin:0;padding:16px 0 0;border-top:1.5px solid #454C13;display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:16px}
.co-sum dt{color:#4E5228}.co-sum dd{margin:0;text-align:right;font-family:'DM Mono',ui-monospace,monospace;font-size:14px}
.co-sum .co-total{font-weight:800;font-size:20px;color:#2B300B}
.co-sum dd.co-total{font-family:'Bricolage Grotesque','Arial Narrow',sans-serif}

.co-how{margin:0;padding:14px 16px;border-radius:16px;background:#E6E3D3;font-size:15px;line-height:1.5}
.co-how strong{font-weight:700}
.co-err{margin:0;font-size:15px;line-height:1.4;color:#8E3216;font-weight:600}
.co-err:empty{display:none}
.co-err a{color:#8E3216}
.co-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border:0;border-radius:999px;background:#EEC523;color:#2B300B;font:inherit;font-weight:700;font-size:18px;cursor:pointer}
.co-submit:hover{filter:brightness(1.05)}
.co-submit[disabled]{opacity:.6;cursor:progress}
.co-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}

.buy-btn[disabled]{background:transparent !important;color:#C9CBA8 !important;border:1.5px dashed #8B8F5A !important;cursor:default !important}
.co select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#454C13 50%),linear-gradient(135deg,#454C13 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}
.co-street{display:flex;flex-direction:column;gap:12px}
.co-street[hidden]{display:none}
.co-sum .co-quote{grid-column:1 / -1;text-align:left;font-family:'Bricolage Grotesque','Arial Narrow',sans-serif;font-size:14px;color:#4E5228}
.co-sum .co-quote:empty{display:none}
