:root{--ink:#1d2028;--muted:#66707d;--line:#e2e5ea;--red:#b51220;--red-dark:#8e0e19;--bg:#f4f6f9}
*{box-sizing:border-box}
body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}

/* ---- Cabecera ---- */
.top{background:linear-gradient(120deg,#14181f,#1d2028);color:#fff;padding:16px 20px}
.top .in{max-width:920px;margin:0 auto;display:flex;align-items:baseline;gap:14px}
.logo{color:#fff;text-decoration:none;font-weight:800;font-size:19px}
.logo span{color:#ff8f8f}
.top small{color:#a9b2bd;font-size:13px}

main{max-width:920px;margin:0 auto;padding:28px 20px 70px}
h1{margin:22px 0 6px;font-size:1.9rem;letter-spacing:-.02em}
.lead{color:var(--muted);margin:0 0 22px;font-size:15px}

/* ---- Tarjetas ---- */
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:18px;box-shadow:0 1px 3px rgba(20,24,32,.04)}
.card h2{margin:0 0 16px;font-size:1.05rem;display:flex;align-items:center;gap:10px}
.card h2::before{content:'';width:5px;height:18px;border-radius:3px;background:var(--red)}

/* ---- Formulario ---- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.full{grid-column:1/-1}
label{display:block;font-weight:700;font-size:13.5px;margin-bottom:7px;color:#2c333c}
input[type=text],input[type=number],input[type=date],input[type=tel],input[type=email],select,textarea{
  width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;font:inherit;font-size:15px;
  background:#fbfbfc;transition:border-color .15s,box-shadow .15s,background .15s;
}
textarea{resize:vertical;min-height:72px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red);background:#fff;box-shadow:0 0 0 4px rgba(181,18,32,.10)}
input:required:invalid{box-shadow:none}   /* no marcar en rojo antes de que el usuario interactue */
::placeholder{color:#9aa3ad}

/* ---- Botones ---- */
.btn{background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;border:0;border-radius:11px;padding:13px 22px;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 6px 16px rgba(181,18,32,.25);transition:transform .12s,filter .12s}
.btn:hover{filter:brightness(1.06)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn.ghost:hover{background:#f5f6f8}

.hint{color:var(--muted);font-size:13.5px;line-height:1.5}

/* ---- Avisos ---- */
.banner-draft{background:linear-gradient(120deg,#fff8e8,#fff3d9);border:1px solid #f0d79a;color:#674800;padding:16px 18px;border-radius:14px;margin-bottom:22px;font-size:14.5px;line-height:1.5}
.pending-block{background:#f6f7f9;border:1px dashed #ccd2da;border-radius:12px;padding:14px 16px;margin:16px 0;font-size:13.5px;color:#51586a}
.pending-block p{margin:5px 0}
.banner.bad{background:#fff0f1;border:1px solid #efc4cd;color:#921a2e;padding:13px 16px;border-radius:12px;font-size:14px}
.box h3{margin-top:0;font-size:1.05rem}

/* ---- Enlace a GDC 360 ---- */
#gdc360Link{color:var(--red);font-weight:700;text-decoration:none}
#gdc360Link:hover{text-decoration:underline}

@media(max-width:640px){
  .form{grid-template-columns:1fr}
  .card{padding:18px}
  h1{font-size:1.55rem}
}

/* ---- Valor BOE y tarjetas de enlace a GDC 360 ---- */
.boe-valor{background:linear-gradient(120deg,#f7f9fc,#eef4ee);border:1px solid #d6e4d9;border-radius:12px;padding:14px 16px;font-size:14px;color:#1d2028}
.boe-valor b{color:#15452d}
.gdc-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gdc-link-card{display:flex;flex-direction:column;gap:3px;background:#fff;border:1.5px solid var(--line);border-radius:13px;padding:14px 16px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.gdc-link-card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 18px rgba(181,18,32,.12)}
.gdc-link-card strong{font-size:15px}
.gdc-link-card span:not(.gdc-link-tag){font-size:12.5px;color:var(--muted)}
.gdc-link-tag{align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px}
.gdc-link-tag.free{background:#e8f7ec;color:#15452d}
.gdc-link-tag.paid{background:#fdeceb;color:#8a1c17}
@media(max-width:600px){.gdc-links{grid-template-columns:1fr}}
