/* Villa Valencia / APROVIVA canon: css/styles.css in villa-valencia-portal.
   Confirmed by Claude Design program handoff, 15 August 2026. */
:root {
  --aproviva-blue: #1a6bb8;
  --aproviva-blue-deep: #145694;
  --aproviva-blue-bright: #2080d0;
  --aproviva-sky: #e8f2fc;
  --aproviva-mist: #f0f7ff;
  --aproviva-white: #ffffff;
  --aproviva-cloud: #f7f9fc;
  --aproviva-ink: #1a2340;
  --aproviva-slate: #52657a;
  --aproviva-line: #dde6f0;
  --aproviva-highlight: #f5c842;
  --aproviva-danger: #a92f3a;
}
body { -webkit-font-smoothing: antialiased; }
.vv-header { background:var(--aproviva-white); border-bottom:3px solid var(--aproviva-highlight); padding:16px 20px; }
.vv-brand { max-width:900px; margin:0 auto; display:flex; align-items:center; gap:12px; }
.brand-icon { background:linear-gradient(135deg,var(--aproviva-blue),var(--aproviva-blue-deep)); border-radius:10px; width:46px; height:46px; flex-shrink:0; display:grid; place-items:center; color:var(--aproviva-white); font-size:0.82rem; font-weight:800; letter-spacing:-0.04em; box-shadow:inset 0 0 0 1px rgba(255,255,255,.18); }
.logo-text { display:flex; flex-direction:column; gap:2px; }
.logo-text span:first-child { font-family:'Playfair Display',Georgia,serif; font-size:1.1rem; letter-spacing:.15em; text-transform:uppercase; color:var(--aproviva-blue); font-weight:700; }
.logo-text span:last-child { font-size:.875rem; color:var(--aproviva-slate); }
input:focus-visible, button:focus-visible, a:focus-visible { outline:3px solid var(--aproviva-blue-deep); outline-offset:3px; }
button { min-height:48px; }
main { padding-top:32px; }
.nota, footer { font-size:.875rem; }
#gate { background:var(--aproviva-white); border:1px solid var(--aproviva-line); border-top:3px solid var(--aproviva-highlight); border-radius:10px; padding:24px; }
#gate h1 { margin-bottom:12px; }
#gate label { font-size:.875rem; font-weight:600; }

.ensa-notice { border:1px solid var(--aproviva-line); border-left:4px solid var(--aproviva-highlight); background:#fff; padding:16px; border-radius:8px; margin:0 0 28px; }
.ensa-notice p { margin:8px 0 12px; }
.ensa-notice .nota:last-child { margin-bottom:0; }
.channel-links { display:flex; flex-wrap:wrap; gap:8px 16px; }
.channel-links a { display:inline-flex; min-height:44px; align-items:center; font-weight:600; }
.date-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.date-fields > div { min-width:0; }
input[type=date], input[type=time] { display:block; min-width:0; max-width:100%; width:100%; min-height:48px; padding:10px 8px; font:inherit; color:var(--aproviva-ink); background:#fff; border:1px solid var(--aproviva-line); border-radius:8px; }
@media(max-width:360px) { .date-fields { grid-template-columns:1fr; } }

.vv-header { padding:8px 20px; }
.vv-brand { gap:14px; }
.community-logo { display:block; width:200px; height:96px; object-fit:cover; flex-shrink:0; }
.association-name { color:var(--aproviva-blue-deep); font-size:.95rem; font-weight:700; }
.association-name span { display:block; color:var(--aproviva-slate); font-weight:400; font-size:.75rem; }
@media(max-width:480px) { .community-logo { width:180px; height:88px; } .association-name { font-size:.8rem; } .association-name span { font-size:.65rem; } }
@media(max-width:360px) { .community-logo { width:150px; height:74px; } }
