.op-seccion{max-width:1100px;margin:2.2rem auto 1.2rem;padding:1.2rem 1rem;border-top:1px solid #e3e8f0}
.op-cab{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.op-cab h2{margin:0 0 .2rem;font-size:1.35rem}
.op-resumen{margin:0;color:#4a5878}
.op-estrellas{color:#f5a300;letter-spacing:2px}
.op-botones{display:flex;gap:.5rem;flex-wrap:wrap}
.op-btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #1d4ed8;color:#1d4ed8;background:#fff;border-radius:999px;padding:.55rem 1.1rem;font-weight:700;text-decoration:none;min-height:42px;cursor:pointer;font:inherit;font-weight:700}
.op-seccion .op-btn{color:#1d4ed8!important;background:#fff!important;border:2px solid #1d4ed8}
.op-seccion .op-btn-g{background:#1d4ed8!important;color:#fff!important}
.op-seccion .op-btn-g svg{color:#fff;fill:#fff}
.op-seccion .op-btn-p{background:#15803d!important;border-color:#15803d;color:#fff!important}
.op-btn-p{justify-content:center}
.op-aviso{background:#e8f7ee;border:1px solid #b6e3c6;border-radius:10px;padding:.6rem .9rem;margin:.8rem 0}
.op-error{background:#fdecec;border-color:#f3b9b9}
.op-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.8rem;margin-top:1rem}
.op-card{border:1px solid #e3e8f0;border-radius:14px;padding:.9rem;background:#fff;display:flex;flex-direction:column;gap:.4rem}
.op-card p{margin:0;font-size:.93rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.op-quien{display:flex;gap:.6rem;align-items:center}.op-quien small{display:block;color:#5a6785}
.op-av{width:38px;height:38px;border-radius:50%;background:#dbe7ff;color:#1d4ed8;display:grid;place-items:center;font-weight:800;flex:none}
.op-form-caja{margin-top:1rem;border:1px dashed #b8c4dc;border-radius:12px;padding:.6rem .9rem}
.op-form-caja summary{cursor:pointer;font-weight:700;color:#1d4ed8}
.op-seccion a:not(.op-btn){color:#1d4ed8}
.op-form{display:grid;gap:.7rem;margin-top:.8rem;max-width:520px}
.op-form label{display:grid;gap:.25rem;font-weight:600}
.op-form input:not([type=radio]),.op-form textarea{border:1px solid #c5cfe3;border-radius:10px;padding:.6rem;font:inherit}
.op-trampa{position:absolute;left:-9999px;width:1px;height:1px}
.op-pick{border:0;padding:0;margin:0;display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.1rem}
.op-pick legend{float:left;font-weight:600;margin-right:.6rem;padding:0}
.op-pick input{position:absolute;opacity:0}
.op-pick label{font-size:2rem;line-height:1;color:#c9d1e3;cursor:pointer;display:inline}
.op-pick input:checked~label,.op-pick label:hover,.op-pick label:hover~label{color:#f5a300}
.op-pick input:focus-visible+label{outline:2px solid #1d4ed8}
@media(max-width:760px){.op-seccion{padding-bottom:.4rem}.op-botones{width:100%}.op-botones .op-btn{flex:1;justify-content:center}.op-rejilla{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.7rem}.op-card{flex:0 0 82%;scroll-snap-align:start}}

.op-form-caja{border:0;padding:0;margin-top:.8rem}.op-form-caja summary.op-btn{list-style:none;display:inline-flex}.op-form-caja summary::-webkit-details-marker{display:none}.op-form-caja[open] summary.op-btn{margin-bottom:.4rem}
