:root{--cream:#f7f2e8;--green:#304b40;--green2:#48665a;--gold:#b99556;--lav:#e9e2f5;--text:#27372f;--white:#fff;--shadow:0 18px 45px rgba(48,75,64,.14)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:linear-gradient(155deg,var(--cream) 0%,#f9f7f1 48%,var(--lav) 100%);min-height:100vh}a{text-decoration:none;color:inherit}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;padding:20px 18px 32px}.brand{text-align:center;margin:8px 0 18px}.brand .moon{display:block;color:var(--gold);font-size:26px}.brand h1{font-family:Georgia,serif;color:var(--green);font-size:34px;margin:0}.brand p{margin:3px 0;color:var(--green2);letter-spacing:.16em;font-size:11px}.hero{position:relative;background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.hero img{width:100%;height:310px;object-fit:cover;display:block}.badge{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.94);border:1px solid #dce6dc;padding:8px 11px;border-radius:999px;font-size:12px;color:#316848}.badge:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#3e9a62;margin-right:6px}.content{text-align:center;padding:24px 8px 8px}.content h2{font-family:Georgia,serif;color:var(--green);font-size:31px;line-height:1.06;margin:0 0 9px}.script{font-family:Georgia,serif;font-style:italic;color:var(--gold);margin:0 0 10px}.muted{color:#66756e;font-size:14px;line-height:1.5}.btn{display:block;width:100%;border:0;border-radius:999px;padding:15px 18px;font-weight:700;font-size:15px;cursor:pointer;text-align:center}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 24px rgba(48,75,64,.22)}.btn-secondary{background:#fff;color:var(--green);border:1px solid #d9d5e5;margin-top:10px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}.quick a{background:rgba(255,255,255,.75);border:1px solid rgba(185,149,86,.24);border-radius:17px;padding:12px 5px;font-size:11px;color:var(--green);box-shadow:0 8px 20px rgba(48,75,64,.07)}.quick span{display:block;font-size:22px;color:var(--gold);margin-bottom:5px}.card{background:#fff;border-radius:22px;padding:18px;box-shadow:var(--shadow);margin-top:16px}.card h2,.card h3{font-family:Georgia,serif;color:var(--green);margin-top:0}.field{margin:13px 0;text-align:left}.field label{display:block;font-size:13px;font-weight:700;margin:0 0 6px;color:var(--green)}input,textarea,select{width:100%;padding:13px 14px;border:1px solid #d9ddd8;border-radius:13px;font:inherit;background:#fff}textarea{min-height:130px;resize:vertical}.message{margin-top:12px;padding:11px 13px;border-radius:12px;background:#f1eee6;font-size:13px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.topbar a{color:var(--green);font-weight:700}.price{font-family:Georgia,serif;font-size:42px;color:var(--green);margin:5px 0}.consult-item{border-bottom:1px solid #eee9de;padding:14px 0}.consult-item:last-child{border-bottom:0}.status{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;background:#eee;color:#555}.status.respondida{background:#e3f2e8;color:#2e6a48}.status.pendiente_pago{background:#fff2d8;color:#8a6528}.status.pagada,.status.en_proceso{background:#e8eef7;color:#3b5d88}.small{font-size:12px;color:#76827c}.hidden{display:none}
.payment-methods {
  display: grid;
  gap: 12px;
  margin: 20px 0;
}

.payment-option {
  display: flex;
  align-items: center;
  gap: 14px;

  padding: 16px;

  border: 1px solid rgba(90, 70, 120, .20);
  border-radius: 16px;

  background: #fff;

  cursor: pointer;

  transition: .2s ease;
}

.payment-option:hover {
  border-color: #7b5ca7;
  transform: translateY(-1px);
}

.payment-option input {
  width: 18px;
  height: 18px;
}

.payment-option:has(input:checked) {
  border-color: #6d4c91;
  background: #f5effb;
}

.payment-icon {
  font-size: 26px;
}

.payment-option span:last-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.payment-option small {
  color: #777;
}

.payment-summary {
  margin: 20px 0;
  padding: 16px;

  border-radius: 16px;

  background: #f8f5fb;
}

.payment-summary p {
  margin: 7px 0;
}

.bizum-box {
  margin-top: 20px;
  padding: 20px;
  border-radius: 18px;
  background: #f7f2fb;
  text-align: center;
}

.bizum-number {
  margin: 15px 0;
  padding: 14px;
  font-size: 1.5rem;
  font-weight: bold;
  border-radius: 14px;
  background: white;
}