/* ==========================================================================
   Sede Electrónica — Fundació La Fira de Lleida
   Hoja de estilo propia del módulo. Reutiliza la identidad del sitio
   (granate #98170c / verde azulado #036d6f) con un registro más sobrio.
   ========================================================================== */

:root{
  --sd-granate:#98170c; --sd-granate-dark:#6d1109; --sd-granate-soft:#f6e9e7;
  --sd-teal:#036d6f; --sd-teal-soft:#4fb3b5; --sd-teal-pale:#e6f1f1;
  --sd-ink:#16242c; --sd-muted:#5b6b74; --sd-surface:#f4f7f8; --sd-border:#d8e1e4;
  --sd-dark:#0d1f26; --sd-dark-2:#16323b;
  --sd-ok:#0f7a52; --sd-warn:#a35d07; --sd-shell:1180px;
}

.sede-body{
  margin:0;background:#fff;color:var(--sd-ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.sede-body *,.sede-body *::before,.sede-body *::after{box-sizing:border-box}
.sede-shell{max-width:var(--sd-shell);margin:0 auto;padding:0 20px;width:100%}

.sede-skip{
  position:absolute;left:-9999px;top:0;z-index:100001;background:var(--sd-granate);color:#fff;
  padding:12px 20px;border-radius:0 0 4px 0;font-weight:600;
}
.sede-skip:focus{left:0}

/* ── Cabecera propia de la sede ─────────────────────────────────────────── */
.sede-bar{background:var(--sd-dark-2);color:#fff;margin-top:var(--header-height,92px);border-bottom:1px solid rgba(255,255,255,.12)}
.sede-bar__in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.sede-bar__brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.sede-bar__brand i{font-size:20px;color:var(--sd-teal-soft)}
.sede-bar__brand strong{display:block;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.02rem;letter-spacing:.01em;line-height:1.2}
.sede-bar__brand small{display:block;font-size:.78rem;color:rgba(255,255,255,.66)}
.sede-bar__clock{text-align:right;line-height:1.3}
.sede-bar__label{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sd-teal-soft);font-weight:700}
.sede-bar__clock time{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.02rem}
.sede-bar__clock small{display:block;font-size:.72rem;color:rgba(255,255,255,.55)}

/* ── Avisos ─────────────────────────────────────────────────────────────── */
.sede-alert{font-size:.9rem;line-height:1.6;padding:12px 0;border-bottom:1px solid}
.sede-alert .sede-shell{display:block}
.sede-alert small{display:block;opacity:.85;font-size:.82rem;margin-top:3px}
.sede-alert a{color:inherit;text-decoration:underline}
.sede-alert--test{background:#fff6e6;border-color:#f0d6a3;color:#6b4708}
.sede-alert--critico{background:var(--sd-granate-soft);border-color:#e6c3bf;color:#6d1109}
.sede-alert--aviso{background:#fff6e6;border-color:#f0d6a3;color:#6b4708}
.sede-alert--info{background:var(--sd-teal-pale);border-color:#bcdcdc;color:#0a3a3c}

/* ── Contenido ──────────────────────────────────────────────────────────── */
.sede-main{padding:0 0 80px;min-height:52vh}
.sede-crumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.83rem;color:var(--sd-muted);padding:20px 0 0}
.sede-crumbs a{color:var(--sd-muted);text-decoration:none}
.sede-crumbs a:hover{color:var(--sd-granate);text-decoration:underline}
.sede-crumbs [aria-current]{color:var(--sd-ink);font-weight:600}

.sede-hero{padding:34px 0 30px;border-bottom:1px solid var(--sd-border);margin-bottom:38px}
.sede-hero h1{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.022em;
  font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.12;margin:0 0 12px;color:var(--sd-ink);
}
.sede-hero p{margin:0;max-width:74ch;color:var(--sd-muted);font-size:1.06rem}
.sede-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;margin-bottom:10px;
  font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--sd-teal);
}
.sede-eyebrow::before{content:"";width:24px;height:2px;background:var(--sd-granate)}

.sede-section{margin:0 0 44px}
.sede-section h2{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:1.42rem;
  letter-spacing:-.015em;margin:0 0 6px;color:var(--sd-ink);
}
.sede-section h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:1.1rem;margin:26px 0 8px;color:var(--sd-ink)}
.sede-section__lead{color:var(--sd-muted);margin:0 0 22px;max-width:74ch}
.sede-prose{max-width:76ch;color:#3a4a52}
.sede-prose p{margin:0 0 1.05em}
.sede-prose ul,.sede-prose ol{margin:0 0 1.2em;padding-left:1.3rem}
.sede-prose li{margin-bottom:.45em}
.sede-prose strong{color:var(--sd-ink)}
.sede-prose a{color:var(--sd-granate)}
.sede-prose dl{margin:0}

/* ── Rejilla de servicios ───────────────────────────────────────────────── */
.sede-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:18px}
.sede-card{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--sd-border);
  border-radius:8px;padding:24px 22px;text-decoration:none;color:inherit;transition:all .2s ease;
}
a.sede-card:hover{border-color:var(--sd-granate);box-shadow:0 14px 30px rgba(13,31,38,.1);transform:translateY(-3px)}
.sede-card__ico{
  width:44px;height:44px;border-radius:6px;display:flex;align-items:center;justify-content:center;
  background:var(--sd-granate-soft);color:var(--sd-granate);font-size:1.1rem;margin-bottom:14px;flex:none;
}
.sede-card__ico.teal{background:var(--sd-teal-pale);color:var(--sd-teal)}
.sede-card h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.06rem;font-weight:700;margin:0 0 6px;line-height:1.3}
.sede-card p{margin:0;font-size:.9rem;color:var(--sd-muted);line-height:1.6}
.sede-card__go{margin-top:14px;font-size:.84rem;font-weight:700;color:var(--sd-granate)}
a.sede-card:hover .sede-card__go::after{margin-left:6px}
.sede-card__go::after{content:"→";margin-left:4px;transition:margin .2s ease;display:inline-block}

/* ── Fichas de datos ────────────────────────────────────────────────────── */
.sede-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--sd-border);border:1px solid var(--sd-border);border-radius:8px;overflow:hidden}
.sede-facts>div{background:#fff;padding:18px 20px}
.sede-facts dt{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sd-teal);font-weight:700;margin-bottom:5px}
.sede-facts dd{margin:0;font-size:.98rem;color:var(--sd-ink);font-weight:600;line-height:1.5}
.sede-facts dd small{display:block;font-weight:400;color:var(--sd-muted);font-size:.84rem;margin-top:2px}
.sede-facts a{color:var(--sd-granate)}

/* ── Listas de trámites y anuncios ──────────────────────────────────────── */
.sede-list{list-style:none;margin:0;padding:0;border:1px solid var(--sd-border);border-radius:8px;overflow:hidden}
.sede-list li{border-bottom:1px solid var(--sd-border)}
.sede-list li:last-child{border-bottom:none}
.sede-item{display:block;padding:20px 22px;text-decoration:none;color:inherit;transition:background .18s ease}
a.sede-item:hover{background:var(--sd-surface)}
.sede-item__top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px}
.sede-item h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.05rem;font-weight:700;margin:0 0 4px;line-height:1.34;color:var(--sd-ink)}
.sede-item p{margin:0;font-size:.9rem;color:var(--sd-muted);line-height:1.6}
.sede-item__meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:9px;font-size:.82rem;color:var(--sd-muted)}
.sede-item__meta i{color:var(--sd-teal);margin-right:5px}

.sede-tag{
  display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.26rem .6rem;border-radius:3px;background:var(--sd-teal-pale);color:var(--sd-teal);
}
.sede-tag.is-granate{background:var(--sd-granate-soft);color:var(--sd-granate)}
.sede-tag.is-ok{background:#e4f4ec;color:var(--sd-ok)}
.sede-tag.is-warn{background:#fdf1de;color:var(--sd-warn)}
.sede-tag.is-info{background:var(--sd-teal-pale);color:var(--sd-teal)}
.sede-tag.is-mute{background:#eef2f3;color:var(--sd-muted)}

/* ── Formularios ────────────────────────────────────────────────────────── */
.sede-form{max-width:820px}
.sede-fieldset{border:1px solid var(--sd-border);border-radius:8px;padding:24px 24px 8px;margin:0 0 24px}
.sede-fieldset legend{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:.94rem;
  padding:0 10px;color:var(--sd-granate);
}
.sede-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.sede-field{margin-bottom:18px}
.sede-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px;color:var(--sd-ink)}
.sede-field .req{color:var(--sd-granate)}
.sede-field input[type=text],.sede-field input[type=email],.sede-field input[type=tel],
.sede-field input[type=file],.sede-field select,.sede-field textarea{
  width:100%;padding:11px 13px;border:1px solid var(--sd-border);border-radius:5px;
  font:inherit;font-size:.95rem;color:var(--sd-ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease;
}
.sede-field textarea{min-height:130px;resize:vertical}
.sede-field input:focus,.sede-field select:focus,.sede-field textarea:focus{
  outline:none;border-color:var(--sd-teal);box-shadow:0 0 0 3px rgba(3,109,111,.14);
}
.sede-field .hint{display:block;font-size:.8rem;color:var(--sd-muted);margin-top:5px}
.sede-check{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;line-height:1.55;color:#3a4a52}
.sede-check input{margin-top:4px;flex:none;width:17px;height:17px;accent-color:var(--sd-granate)}
.sede-check a{color:var(--sd-granate)}

.sede-btn{
  display:inline-flex;align-items:center;gap:.55rem;padding:.88rem 1.8rem;border-radius:4px;
  background:var(--sd-granate);color:#fff;border:2px solid var(--sd-granate);
  font:inherit;font-weight:650;font-size:.95rem;cursor:pointer;text-decoration:none;transition:all .18s ease;
}
.sede-btn:hover{background:var(--sd-granate-dark);border-color:var(--sd-granate-dark)}
.sede-btn--ghost{background:transparent;color:var(--sd-ink);border-color:var(--sd-border)}
.sede-btn--ghost:hover{background:var(--sd-ink);border-color:var(--sd-ink);color:#fff}
.sede-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

.sede-msg{border-radius:6px;padding:16px 18px;margin:0 0 26px;font-size:.93rem;line-height:1.62;border-left:3px solid}
.sede-msg--error{background:var(--sd-granate-soft);border-color:var(--sd-granate);color:#5c2019}
.sede-msg--ok{background:#e4f4ec;border-color:var(--sd-ok);color:#0d5238}
.sede-msg--info{background:var(--sd-teal-pale);border-color:var(--sd-teal);color:#0a3a3c}
.sede-msg ul{margin:8px 0 0;padding-left:1.2rem}

/* ── Justificante ───────────────────────────────────────────────────────── */
.sede-receipt{border:1px solid var(--sd-border);border-radius:8px;overflow:hidden;max-width:820px}
.sede-receipt__head{background:var(--sd-dark);color:#fff;padding:24px 26px}
.sede-receipt__head h2{margin:0 0 4px;color:#fff;font-size:1.24rem}
.sede-receipt__head p{margin:0;color:rgba(255,255,255,.72);font-size:.9rem}
.sede-receipt__body{padding:26px}
.sede-receipt dl{display:grid;grid-template-columns:200px 1fr;gap:12px 20px;margin:0;font-size:.94rem}
.sede-receipt dt{font-weight:700;color:var(--sd-muted);font-size:.85rem}
.sede-receipt dd{margin:0;color:var(--sd-ink)}
.sede-code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.02rem;font-weight:700;
  letter-spacing:.06em;background:var(--sd-surface);border:1px solid var(--sd-border);
  padding:.3rem .6rem;border-radius:4px;display:inline-block;
}

/* ── Tablas ─────────────────────────────────────────────────────────────── */
.sede-tablewrap{overflow-x:auto;border:1px solid var(--sd-border);border-radius:8px}
.sede-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:520px}
.sede-table th{
  background:var(--sd-surface);text-align:left;padding:.85rem 1.1rem;font-weight:700;color:var(--sd-ink);
  font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--sd-border);
}
.sede-table td{padding:.9rem 1.1rem;border-bottom:1px solid var(--sd-border);color:#3a4a52;vertical-align:top}
.sede-table tr:last-child td{border-bottom:none}
.sede-table td strong{color:var(--sd-ink)}

/* ── Calendario ─────────────────────────────────────────────────────────── */
.sede-cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.sede-month{border:1px solid var(--sd-border);border-radius:8px;overflow:hidden}
.sede-month h3{margin:0;background:var(--sd-surface);padding:.7rem 1rem;font-size:.86rem;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--sd-border)}
.sede-month table{width:100%;border-collapse:collapse;font-size:.82rem}
.sede-month th{padding:.45rem 0;text-align:center;color:var(--sd-muted);font-weight:600;font-size:.72rem}
.sede-month td{padding:.34rem 0;text-align:center;color:#3a4a52}
.sede-month td.off{color:#a9b7bd}
.sede-month td.holiday{background:var(--sd-granate-soft);color:var(--sd-granate);font-weight:700;border-radius:3px}
.sede-legend{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0 0;font-size:.85rem;color:var(--sd-muted)}
.sede-legend span{display:inline-flex;align-items:center;gap:8px}
.sede-legend i{width:14px;height:14px;border-radius:3px;display:inline-block}

/* ── Pie de servicios de la sede ────────────────────────────────────────── */
.sede-mapfoot{background:var(--sd-surface);border-top:1px solid var(--sd-border);padding:52px 0 46px}
.sede-mapfoot__t{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:1.1rem;margin:0 0 26px;color:var(--sd-ink)}
.sede-mapfoot__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px}
.sede-mapfoot h3{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sd-teal);margin:0 0 12px;font-weight:700}
.sede-mapfoot ul{list-style:none;margin:0;padding:0}
.sede-mapfoot li{margin-bottom:8px}
.sede-mapfoot a{color:#3a4a52;text-decoration:none;font-size:.9rem}
.sede-mapfoot a:hover{color:var(--sd-granate);text-decoration:underline}
.sede-mapfoot__owner{margin:32px 0 0;padding-top:20px;border-top:1px solid var(--sd-border);font-size:.83rem;color:var(--sd-muted);line-height:1.65}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width:768px){
  .sede-bar__in{flex-direction:column;align-items:flex-start;gap:12px}
  .sede-bar__clock{text-align:left}
  .sede-receipt dl{grid-template-columns:1fr;gap:4px 0}
  .sede-receipt dt{margin-top:10px}
  .sede-hero{padding:26px 0 22px;margin-bottom:28px}
}

@media print{
  .main-header,.sede-bar,.sede-mapfoot,.main-footer,.sede-crumbs,.sede-actions,.sede-alert,.sede-skip{display:none !important}
  .sede-body{font-size:12pt}
  .sede-receipt{border-color:#999}
  .sede-receipt__head{background:#fff;color:#000;border-bottom:2px solid #000}
  .sede-receipt__head h2,.sede-receipt__head p{color:#000}
}
