.opx-book,.opx-receipt{--opx-red:#ff0000;--opx-yellow:#fff000;max-width:960px;margin:0 auto;padding:48px 24px;color:#242424;font-family:inherit;font-size:16px;line-height:1.7;overflow-wrap:anywhere}
.opx-book *,.opx-receipt *{box-sizing:border-box}
.opx-book h1{font-size:clamp(30px,5vw,46px);line-height:1.2;color:#171717;margin:12px 0 20px}
.opx-book h2,.opx-receipt h2{font-size:24px;line-height:1.35;margin:0 0 14px;color:#222}
.opx-book p{margin:0 0 16px}
.opx-book .opx-kicker{display:inline-block;background:#fff000;color:#171717;padding:5px 12px;border-radius:4px;font-size:13px;font-weight:700}
.opx-book .opx-provider,.opx-book .opx-notice{padding:24px;background:#f7f7f7;border-left:4px solid #ff0000;border-radius:0 10px 10px 0;margin:28px 0}
.opx-book .opx-provider p{margin:0 0 5px}
.opx-book fieldset{min-width:0;margin:28px 0;padding:24px;border:1px solid #dedede;border-radius:12px}
.opx-book legend{padding:0 8px;font-size:21px;font-weight:700;color:#222;max-width:100%;white-space:normal}
.opx-book .opx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.opx-book .opx-wide{grid-column:1/-1}
.opx-book label{display:block;font-weight:600;margin:0 0 16px}
.opx-book .opx-grid label{margin:0}
.opx-book input:not([type=checkbox]):not([type=submit]):not([type=hidden]),.opx-book select,.opx-book textarea{display:block;width:100%;max-width:100%;margin:7px 0 0;padding:12px;border:1px solid #888;border-radius:6px;background:#fff;color:#222;font-family:inherit;font-size:16px;line-height:1.5;box-shadow:none}
.opx-book textarea{resize:vertical;min-height:115px}
.opx-book input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin:0 8px 0 0;accent-color:#d00000;flex-shrink:0}
.opx-book .wpcf7-list-item{margin:0}
.opx-book .wpcf7-list-item label{font-weight:400}
.opx-book .opx-help{font-size:14px;color:#555;margin:12px 0}
.opx-book .opx-privacy{padding:20px;background:#fffde5;border-radius:10px;margin:24px 0;font-size:14px}
.opx-book .opx-privacy a{color:#8c0000;text-decoration:underline}
.opx-book .opx-button,.opx-receipt .opx-button{display:inline-block;border:2px solid #ff0000!important;border-radius:6px;background:#ff0000!important;color:#ffffff!important;font-family:inherit;font-size:20px!important;font-weight:700!important;line-height:1.4;padding:14px 22px;text-align:center;text-decoration:none;white-space:normal;cursor:pointer;box-shadow:none;transition:background-color .15s,color .15s;margin:8px 8px 8px 0}
.opx-book .opx-button:hover,.opx-receipt .opx-button:hover{background:#fff000!important;color:#ff0000!important;border-color:#ff0000!important}
.opx-book :is(input,select,textarea,a,button):focus-visible,.opx-receipt button:focus-visible{outline:3px solid #242424;outline-offset:3px}
.opx-book .wpcf7-not-valid-tip{font-size:14px;color:#a00000}
.opx-book .opx-confirm{margin:24px 0}
.opx-receipt{border:2px solid #333;border-radius:12px;background:#fff;margin:24px auto}
.opx-receipt pre{font-family:inherit;font-size:15px;line-height:1.6;white-space:pre-wrap;background:#fff;color:#222;overflow-wrap:anywhere;padding:0;border:0}
.opx-book [hidden],.opx-receipt[hidden]{display:none!important}
@media(max-width:600px){.opx-book,.opx-receipt{padding:30px 16px}.opx-book .opx-grid{grid-template-columns:1fr}.opx-book fieldset{padding:16px}.opx-book legend{font-size:19px}.opx-book .opx-button,.opx-receipt .opx-button{width:100%;margin-right:0}}
@media(prefers-reduced-motion:reduce){.opx-button{transition:none!important}}
