.opr-wrap { --opr-dark:#323333; --opr-paper:#fcfaf6; --opr-line:#d9d0c6; --opr-red:#aa6463; --opr-apricot:#e89561; --opr-yellow:#e2b44b; --opr-blue:#9caeb8; width:100%; color:var(--opr-dark); font-family:"Montserrat",Arial,sans-serif; }
.opr-form { padding:34px 38px 38px; border:1px solid rgba(255,255,255,.4); background:var(--opr-paper); box-shadow:0 20px 60px rgba(0,0,0,.14); }
.opr-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; }
.opr-heading p { margin:0 0 7px; color:var(--opr-red); font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.opr-heading h3 { margin:0 0 25px; color:var(--opr-dark); font-size:clamp(1.65rem,3vw,2.35rem); font-weight:500; letter-spacing:-.035em; line-height:1.1; text-transform:uppercase; }
.opr-types { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:0 0 18px; padding:24px 0 0; border:0; border-top:1px solid var(--opr-line); }
.opr-label { grid-column:1/-1; margin-bottom:5px; font-size:.62rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.opr-type-card { min-height:92px; display:flex; align-items:center; gap:11px; position:relative; padding:12px; border:1px solid var(--opr-line); cursor:pointer; }
.opr-type-card:has(input:checked) { border-color:var(--opr-red); background:#f7e9e7; }
.opr-type-card input { position:absolute; opacity:0; }
.opr-type-card > span:last-child { display:flex; flex-direction:column; min-width:0; }
.opr-type-card strong { font-size:.67rem; letter-spacing:.04em; text-transform:uppercase; }
.opr-type-card small { margin-top:3px; color:#74706b; font-size:.58rem; line-height:1.35; }
.opr-color { width:32px; height:32px; flex:0 0 auto; }.opr-cake{background:var(--opr-apricot)}.opr-vitrine{background:var(--opr-yellow)}.opr-pralines{background:var(--opr-blue)}
.opr-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.opr-field { display:flex; flex-direction:column; gap:6px; margin:0 0 15px; color:var(--opr-dark); font-size:.61rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.opr-field input,.opr-field select,.opr-field textarea { width:100%; min-height:49px; padding:11px 12px; border:1px solid var(--opr-line); border-radius:0; outline:0; background:#fff; color:var(--opr-dark); font:500 .78rem/1.4 "Montserrat",Arial,sans-serif; letter-spacing:0; text-transform:none; }
.opr-field textarea { min-height:92px; resize:vertical; }.opr-field input:focus,.opr-field select:focus,.opr-field textarea:focus { border-color:var(--opr-red); }
.opr-field small,.opr-info { color:#74706b; font-size:.57rem; font-weight:500; letter-spacing:0; line-height:1.5; text-transform:none; }
.opr-info { margin:0 0 16px; padding:10px 12px; border-left:3px solid var(--opr-blue); background:#e9eef0; }
.opr-availability { min-height:0; margin:0 0 15px; padding:0; font-size:.68rem; }
.opr-availability:not(:empty) { padding:10px 12px; border:1px solid var(--opr-line); }.opr-availability.is-available{border-color:#8da991;background:#edf4ee}.opr-availability.is-unavailable{border-color:#bd8b8b;background:#f8e9e9}.opr-availability.is-checking{background:#f5f1e8}
.opr-consent { display:flex; align-items:flex-start; gap:9px; margin:6px 0 20px; color:#74706b; font-size:.62rem; line-height:1.5; cursor:pointer; }.opr-consent input{width:17px;height:17px;flex:0 0 auto;margin-top:2px;accent-color:var(--opr-red)}
.opr-submit { width:100%; min-height:52px; display:flex; justify-content:space-between; align-items:center; padding:0 17px; border:1px solid var(--opr-dark); border-radius:0; background:var(--opr-dark); color:#fff; font:.7rem "Montserrat",Arial,sans-serif; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }.opr-submit:hover{background:transparent;color:var(--opr-dark)}.opr-submit:disabled{opacity:.55;cursor:not-allowed}
.opr-payment { margin:10px 0 0; color:#74706b; font-size:.57rem; text-align:center; text-transform:uppercase; }
.opr-alert { margin:0 0 14px; padding:14px; border:1px solid }.opr-success{border-color:#8da991;background:#edf4ee}.opr-error{border-color:#bd8b8b;background:#f8e9e9}
@media(max-width:680px){.opr-form{padding:26px 18px}.opr-types,.opr-grid{grid-template-columns:1fr}.opr-type-card{min-height:74px}.opr-label{grid-column:auto}}

