
/* =========================================================
   DoCar · UI Pro — estilos completos (light/dark + accesibilidade)
   ========================================================= */

/* ---------- Paleta & tokens ---------- */
:root{
  --ca-bg:#f6f7fb; --ca-card:#ffffff; --ca-text:#0f172a; --ca-sub:#475569;
  --ca-border:#e5e7eb; --ca-muted:#f1f5f9; --ca-ring:#2563eb;
  --ca-accent:#2563eb; --ca-accent-2:#0ea5e9;
  --ca-success-bg:#ecfdf5; --ca-success-bd:#a7f3d0; --ca-success-tx:#065f46;
  --ca-warn:#f59e0b; --ca-warn-bg:#fff7ed; --ca-warn-bd:#fed7aa;
  --radius:14px; --radius-sm:12px;
  --shadow-1:0 1px 3px rgba(2,6,23,.08), 0 10px 20px rgba(2,6,23,.04);
  --shadow-2:0 1px 2px rgba(2,6,23,.10), 0 6px 12px rgba(2,6,23,.10);
  --font:Roboto, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  --t-fast:.12s; --t-med:.18s;
}

/* utilidade */
[hidden]{display:none!important}

/* ---------- Base ---------- */
  h1 {
 text-align:center
  }
    
.docar-wrap{
  font-family:var(--font); color:var(--ca-text); max-width:1000px;
  margin:0 auto; padding:22px 10px 28px; background:var(--ca-bg);
}
.docar-hero{
  margin:6px 0 20px; padding:14px 16px; border-radius:calc(var(--radius) - 4px);
  background:
    radial-gradient(1200px 300px at 0% -50%, color-mix(in oklab, var(--ca-accent) 18%, transparent), transparent 55%),
    radial-gradient(1200px 300px at 100% -50%, color-mix(in oklab, var(--ca-accent-2) 18%, transparent), transparent 55%);
}
.docar-title{ font-size:clamp(22px,2.6vw,32px); letter-spacing:-.01em; margin:0 0 6px }
.docar-sub{ margin:0; color:var(--ca-sub); font-size:.98rem }
.docar-sub-mini{ margin:8px 0 0; color:var(--ca-sub); font-size:.9rem }

/* Cards */
.docar-card{
  background:var(--ca-card); border:1px solid var(--ca-border); border-radius:var(--radius);
  box-shadow:var(--shadow-1); padding:10px; margin:18px 0; position:relative;
}
.docar-h2{ margin:0 0 12px; font-size:1.08rem; font-weight:700; letter-spacing:.2px }

/* ---------- Variantes visuais ---------- */
.docar-badge{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px;
  border-radius:999px; font-weight:700; font-size:.85rem; border:1px solid transparent; }
.docar-badge--warn{ background:var(--ca-warn-bg); color:#92400e; border-color:var(--ca-warn-bd) }
.docar-badge--ok  { background:var(--ca-success-bg); color:var(--ca-success-tx); border-color:var(--ca-success-bd) }

.docar-card--cta{
  background:linear-gradient(180deg, color-mix(in oklab, var(--ca-warn-bg) 70%, transparent), var(--ca-card));
  border:1px dashed var(--ca-warn-bd); box-shadow:var(--shadow-1);
}
.docar-card--publish{
  background:linear-gradient(180deg, color-mix(in oklab, var(--ca-success-bg) 65%, transparent), var(--ca-card));
  border:1px solid var(--ca-success-bd);
}

.docar-head-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px }

/* ---------- Grid ---------- */
.docar-grid{ display:grid; gap:14px 12px; grid-template-columns:repeat(12,1fr); align-items:end }
.docar-grid>label{ grid-column:span 4; display:grid; gap:6px; font-size:.92rem; color:var(--ca-sub) }
.docar-grid>label.docar-col-span{ grid-column:1 / -1 }
@media (max-width:960px){ .docar-grid>label{ grid-column:span 6 } }
@media (max-width:640px){ .docar-grid{ grid-template-columns:1fr } .docar-grid>label{ grid-column:1 / -1 } }

/* Grid search */
.docar-grid--search>label:first-child{ grid-column:span 9 }
.docar-grid--search>button{ grid-column:span 3 }
@media (max-width:640px){
  .docar-grid--search>label:first-child, .docar-grid--search>button{ grid-column:1 / -1 }
}

/* ---------- Inputs ---------- */
.docar-input{
  width:100%; appearance:none; background:var(--ca-muted); color:var(--ca-text);
  border:1px solid var(--ca-border); border-radius:var(--radius-sm);
  padding:12px 14px; font-size:14px; line-height:1.2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
  transition:border-color var(--t-med), box-shadow var(--t-med), background var(--t-med), color var(--t-med);
}
.docar-input::placeholder{ color:color-mix(in oklab, var(--ca-sub) 70%, transparent) }
.docar-input:focus{ outline:none }
.docar-input:focus-visible{
  border-color:color-mix(in oklab, var(--ca-ring) 70%, var(--ca-border)); background:#fff0;
  box-shadow:0 0 0 3px color-mix(in oklab, var(--ca-ring) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.3);
}

/* Harmonizar todos os tipos (tamén dentro de modal) */
.docar-card input.docar-input,
.docar-card select.docar-input,
.docar-card textarea.docar-input,
.docar-modal-card input.docar-input,
.docar-modal-card select.docar-input,
.docar-modal-card textarea.docar-input{
  background:var(--ca-muted)!important; color:var(--ca-text)!important; border:1px solid var(--ca-border)!important;
  border-radius:var(--radius-sm)!important; padding:12px 14px!important; line-height:1.2!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4)!important;
}
.docar-card input.docar-input:focus-visible,
.docar-card select.docar-input:focus-visible,
.docar-card textarea.docar-input:focus-visible,
.docar-modal-card input.docar-input:focus-visible,
.docar-modal-card select.docar-input:focus-visible,
.docar-modal-card textarea.docar-input:focus-visible{
  background:#fff0!important;
  border-color:color-mix(in oklab, var(--ca-ring) 70%, var(--ca-border))!important;
  box-shadow:0 0 0 3px color-mix(in oklab, var(--ca-ring) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.3)!important;
}

/* Readonly */
.docar-input-locked{ cursor:not-allowed }
.docar-card .docar-input[readonly]{ opacity:1!important }

/* Autofill */
.docar-input:-webkit-autofill,
.docar-input:-webkit-autofill:hover,
.docar-input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0px 1000px var(--ca-muted) inset!important;
  -webkit-text-fill-color:var(--ca-text)!important;
}

/* ---------- Botóns ---------- */
.docar-wrap .docar-btn, button.docar-btn{
  appearance:none!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:.5rem;
  border:0!important; border-radius:12px!important; padding:11px 16px!important; font:inherit!important;
  font-weight:700!important; font-size:.98rem!important; letter-spacing:.2px!important;
  background:linear-gradient(180deg, color-mix(in oklab, var(--ca-accent) 94%, transparent), var(--ca-accent));
  color:#fff!important; box-shadow:var(--shadow-2)!important; cursor:pointer!important;
  transition:transform var(--t-fast), filter var(--t-med), box-shadow var(--t-med)!important;
}
@media (hover:hover){ .docar-wrap .docar-btn:hover{ filter:brightness(1.06)!important } }
.docar-wrap .docar-btn:active{ transform:translateY(1px)!important }
.docar-wrap .docar-btn:focus-visible{
  outline:none; box-shadow:0 0 0 3px color-mix(in oklab, var(--ca-ring) 25%, transparent), var(--shadow-2)!important;
}
.docar-wrap .docar-btn-primary{ background:var(--ca-accent)!important }
.docar-wrap .docar-btn-ghost{
  background:transparent!important; color:var(--ca-accent)!important;
  border:1px solid color-mix(in oklab, var(--ca-accent) 25%, var(--ca-border))!important;
}
.docar-wrap .docar-btn[disabled]{ opacity:.6!important; cursor:not-allowed!important; box-shadow:none!important }



/* ---------- Listaxe ---------- */
.docar-list{ display:grid; gap:12px; margin-top:12px }
.docar-item{
  position:relative; border:1px solid var(--ca-border);
  background:linear-gradient(180deg, color-mix(in oklab, var(--ca-card) 96%, transparent), var(--ca-card));
  border-radius:var(--radius); padding:14px; padding-bottom:64px; display:grid; gap:10px;
  transition:border-color var(--t-med), box-shadow var(--t-med), transform var(--t-fast);
}
@media (hover:hover){ .docar-item:hover{ border-color:color-mix(in oklab, var(--ca-accent) 22%, var(--ca-border)); box-shadow:var(--shadow-2) } }
.docar-item h3{ margin:0; font-size:1.02rem; letter-spacing:.2px }
.docar-meta{ color:var(--ca-sub); font-size:.92rem; display:flex; flex-wrap:wrap; gap:8px }
.docar-row{ display:flex; justify-content:flex-start; align-items:center; gap:10px }
.docar-pill{
  display:inline-flex; align-items:center; gap:8px; background:var(--ca-muted);
  border:1px solid var(--ca-border); color:var(--ca-sub); border-radius:999px; padding:5px 10px; font-size:.88rem;
}
.docar-pill.is-free{ background:var(--ca-success-bg); border-color:var(--ca-success-bd); color:var(--ca-success-tx) }
.docar-bottom{ position:absolute; left:14px; right:14px; bottom:12px; display:flex; justify-content:space-between; align-items:center }
.docar-date{ color:var(--ca-sub); font-size:.85rem; white-space:nowrap }

/* ---------- Paginación ---------- */
.docar-pager{ display:flex; gap:8px; justify-content:center; margin-top:10px }
.docar-page{
  background:var(--ca-card); border:1px solid var(--ca-border); padding:7px 12px; border-radius:10px; cursor:pointer;
  transition:background var(--t-med), color var(--t-med), border-color var(--t-med), transform var(--t-fast);
}
@media (hover:hover){ .docar-page:hover{ border-color:color-mix(in oklab, var(--ca-accent) 30%, var(--ca-border)); transform:translateY(-1px) } }
.docar-page.active{ background:var(--ca-accent); color:#fff; border-color:var(--ca-accent) }
label>.docar-input{ margin-top:2px }
.docar-card+.docar-card{ margin-top:22px }

/* ---------- Modal contacto ---------- */
.docar-modal-backdrop{ position:fixed; inset:0; background:rgba(2,6,23,.45); backdrop-filter:saturate(140%) blur(2px); z-index:1000 }
@media (prefers-reduced-motion:reduce){ .docar-modal-backdrop{ backdrop-filter:none } }
.docar-modal{ position:fixed; inset:0; display:grid; place-items:center; z-index:1001 }
.docar-modal-card{
  width:min(640px,92vw); background:var(--ca-card); border:1px solid var(--ca-border);
  border-radius:16px; box-shadow:var(--shadow-2); padding:16px;
}
.docar-modal-title{ margin:0 0 4px; font-size:1.1rem }
.docar-modal-sub{ margin:0 0 12px; color:var(--ca-sub); font-size:.95rem }
.docar-modal-field{ display:grid; gap:6px; margin:10px 0 16px; color:var(--ca-sub) }
.docar-modal-actions{ display:flex; justify-content:flex-end; gap:10px }

/* ---------- Autocompletado PRO ---------- */
.docar-ac-wrap{ position:relative }
.docar-ac-list{
  position:absolute; left:0; right:0; top:calc(100% + 6px); background:var(--ca-card);
  border:1px solid var(--ca-border); border-radius:12px; box-shadow:var(--shadow-2);
  max-height:320px; overflow:auto; z-index:1100
}
.docar-ac-item{ padding:10px 12px; cursor:pointer; display:grid; gap:2px }
@media (hover:hover){ .docar-ac-item:hover, .docar-ac-item.active{ background:var(--ca-muted) } }
.docar-ac-main{ font-size:.95rem; color:var(--ca-text) }
.docar-ac-sub{ font-size:.86rem; color:var(--ca-sub) }
.docar-ac-mark{ background:transparent; color:var(--ca-accent); font-weight:700 }
.docar-ac-list::-webkit-scrollbar{ width:10px }
.docar-ac-list::-webkit-scrollbar-track{ background:transparent }
.docar-ac-list::-webkit-scrollbar-thumb{ background:color-mix(in oklab, var(--ca-sub) 25%, transparent); border-radius:999px }

/* ---------- Pequenas melloras ---------- */
.docar-hint{ font-size:.86rem; color:var(--ca-sub) }
@media (prefers-reduced-motion:reduce){ *{ animation:none!important; transition:none!important } }

/* =========================
   Compactar "As miñas viaxes"
   ========================= */
#dc-my-wrap.docar-card--compact{ padding:12px!important; margin:12px 0!important; }
#dc-my.docar-list--compact{ gap:8px!important; }
#dc-my-wrap .docar-item, #dc-my-wrap .docar-item--compact{
  padding:10px 12px!important; padding-bottom:14px!important;
}
#dc-my-wrap .docar-item h3{ font-size:1rem!important; margin:0 0 6px!important; }
#dc-my-wrap .docar-meta{ gap:6px!important; }
#dc-my-wrap .docar-pill{ padding:3px 8px!important; font-size:.84rem!important; }
#dc-my-wrap .docar-btn{ padding:8px 12px!important; font-size:.92rem!important; }
#dc-my-wrap .docar-row{ margin-top:6px!important; }

/* ---------- Buscador inline ---------- */
.docar-inline{ display:flex; gap:12px; align-items:flex-end; }
.docar-inline>label{ flex:1 1 auto; }
.docar-inline>.docar-btn{ white-space:nowrap; }
@media (max-width:640px){ .docar-inline{ flex-direction:column; align-items:stretch } .docar-inline>.docar-btn{ width:100% } }

/* ===== Modal editar · layout en 3 columnas ===== */
#dc-edit-form{
  display:grid; grid-template-columns:minmax(110px,180px) minmax(110px,180px) minmax(280px,1fr);
  column-gap:12px; row-gap:14px; align-items:start;
}
#dc-edit-form>label:has(#dce-seats){ grid-column:1 }
#dc-edit-form>label:has(#dce-price){ grid-column:2 }
#dc-edit-form>label:has(#dce-meet){ grid-column:3 }
#dc-edit-form>label:has(#dce-seats), #dc-edit-form>label:has(#dce-price){ white-space:nowrap }
#dc-edit-form>label:has(#dce-prefs), #dc-edit-form>label:has(#dce-note), #dc-edit-form>.docar-modal-actions{ grid-column:1 / -1 }
#dc-edit-form .docar-modal-actions{ display:flex!important; justify-content:flex-end!important; align-items:center!important; gap:10px!important; flex-wrap:nowrap!important; }
#dc-edit-form .docar-modal-actions .docar-btn{ width:auto!important; white-space:nowrap!important; }
@media (max-width:640px){
  #dc-edit-form{ grid-template-columns:1fr }
  #dc-edit-form>label, #dc-edit-form>.docar-modal-actions{ grid-column:1 / -1!important }
  #dc-edit-form>label:has(#dce-seats), #dc-edit-form>label:has(#dce-price){ white-space:normal }
}

/* --- CTA login responsive --- */
#dc-login-cta.docar-card--cta{
  display:grid; grid-template-columns:1fr auto; grid-auto-rows:auto; column-gap:12px; row-gap:6px; align-items:center;
}
#dc-login-cta .docar-head-row{ margin:0 }
#dc-login-cta .docar-sub{ grid-column:1 }
#dc-login-cta>div:last-child{ grid-column:2; grid-row:1 / span 2; justify-self:end; margin-top:0!important }
#dc-login-cta #dc-login-link{ display:inline-flex }
@media (max-width:640px){
  #dc-login-cta.docar-card--cta{ display:block }
  #dc-login-cta>div:last-child{ margin-top:10px!important }
}

/* “As miñas viaxes” co estilo verde */
#dc-my-wrap.docar-card{
  background:linear-gradient(180deg, color-mix(in oklab, var(--ca-success-bg) 65%, transparent), var(--ca-card));
  border:1px solid var(--ca-success-bd);
}

/* ---------- Acordeón (details/summary) ---------- */
.docar-acc{ padding-top:0!important }
.docar-acc-summary{
  position:relative; list-style:none; display:flex; align-items:center; justify-content:space-between;
  gap:10px; padding:14px 6px; cursor:pointer; user-select:none; border-radius:12px;
}
.docar-acc-summary::-webkit-details-marker{ display:none }
.docar-acc-title{ font-size:1.08rem; font-weight:700; letter-spacing:.2px }

/* Chevron: pechado (abaixo) → aberto (arriba) */
.docar-acc-summary::after{
  content:''; display:inline-block; width:10px; height:10px; margin-left:6px;
  border-right:2px solid color-mix(in oklab, var(--ca-sub) 80%, transparent);
  border-bottom:2px solid color-mix(in oklab, var(--ca-sub) 80%, transparent);
  transform:rotate(45deg); transition:transform .25s ease;
}
.docar-acc[open]>.docar-acc-summary::after{ transform:rotate(-135deg) }

  /* ---- Normalizar acordeóns: o padding vén do summary/contido ---- */
#dc-publish-wrap.docar-card--publish,
#dc-my-wrap.docar-card--compact,
.docar-acc{
  padding:0 !important;                 /* o card non suma altura extra */
}

/* Altura/espazo idénticos nos dous summaries */
.docar-acc-summary{
  padding:16px 18px !important;         /* vertical=16, horizontal=18 */
}

/* Cando se abre: o contido leva o padding do card */
.docar-acc-content{
  padding:0 10px 18px;                  /* sen padding arriba (xa o ten o summary) */
}

/* Liña separadora só ao abrir (visual máis “centrado”) */
.docar-acc[open] .docar-acc-summary{
  border-bottom:1px solid var(--ca-border);
  margin-bottom:12px;
}

  /* ==== Caixa para a nota do usuario ==== */
.docar-note{
  background: var(--ca-muted);
  border: 1px solid var(--ca-border);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: .95rem;
  color: var(--ca-text);
  white-space: pre-wrap;        /* respecta saltos de liña do usuario */
  overflow-wrap: anywhere;      /* evita desbordes en palabras longas */
  margin-top: 6px;
}

/* versión dentro de “As miñas viaxes” (sutilmente máis suave) */
#dc-my-wrap .docar-note{
  background: color-mix(in oklab, var(--ca-success-bg) 35%, transparent);
  border-color: color-mix(in oklab, var(--ca-success-bd) 70%, var(--ca-border));
}

  /* ==== Chips/toggles de preferenzas ==== */
.docar-prefset{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); /* ocupa toda a fila con columnas fluidas */
  gap: 10px 12px;
  margin-top: 6px;
}

.docar-pref{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: .95rem;
  cursor: pointer;
  user-select: none;
  background: var(--ca-muted);
  border: 1px solid var(--ca-border);
  color: var(--ca-sub);
  text-align: center;
  min-height: 40px;                 /* altura consistente */
  transition: filter var(--t-med), transform var(--t-fast), border-color var(--t-med), background var(--t-med);
}

@media (hover:hover){ .docar-pref:hover{ filter: brightness(1.03) } }

.docar-pref-input:checked + .docar-pref{
  background: var(--ca-success-bg);
  border-color: var(--ca-success-bd);
  color: var(--ca-success-tx);
  box-shadow: 0 1px 0 rgba(2,6,23,.04) inset;
}

/* Accesibilidade ó teclado */
.docar-pref-input:focus-visible + .docar-pref{
  outline: 3px solid color-mix(in oklab, var(--ca-ring) 30%, transparent);
  outline-offset: 2px;
}

  /* Fila de peche: botóns á esquerda · info á dereita */
.docar-row-between{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:8px;
}

/* Bloque dereito (contactos + data) */
.docar-foot-right{
  display:flex;
  align-items:center;
  gap:10px;
}
.docar-foot-right .docar-pill{
  padding:4px 10px;
  font-size:.84rem;
}
.docar-foot-date{
  color:var(--ca-sub);
  font-size:.85rem;
  white-space:nowrap;
}

  /* ==== Tipo de viaxe (radios) ==== */
.docar-grid fieldset{                 /* que se comporte coma un label a toda anchura */
  grid-column: 1 / -1;
  border: 0; padding: 0; margin: 0;
}
.docar-grid fieldset legend{
  margin: 0 0 6px; font-weight: 700; color: var(--ca-sub); font-size: .98rem;
}

/* fila coas opcións (habitual / puntual) */
.docar-radio-row{
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}

/* cada opción radio */
.docar-radio{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 12px; border-radius: 999px;
  background: var(--ca-muted); border: 1px solid var(--ca-border);
  color: var(--ca-text); white-space: nowrap; cursor: pointer;
  transition: filter var(--t-med), border-color var(--t-med), background var(--t-med);
}
@media (hover:hover){ .docar-radio:hover{ filter: brightness(1.03); } }

/* bóla do radio — accesible e consistente co tema */
.docar-radio input[type="radio"]{
  appearance: none; width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid color-mix(in oklab, var(--ca-sub) 45%, var(--ca-border));
  background: #fff; display: inline-block; position: relative; flex: 0 0 auto;
  box-shadow: inset 0 1px 0 rgba(2,6,23,.06);
}
.docar-radio input[type="radio"]:focus-visible{
  outline: 3px solid color-mix(in oklab, var(--ca-ring) 30%, transparent);
  outline-offset: 2px;
}
.docar-radio input[type="radio"]::after{
  content: ""; position: absolute; inset: 50% auto auto 50%;
  width: 8px; height: 8px; border-radius: 50%; transform: translate(-50%,-50%) scale(0);
  background: var(--ca-accent); transition: transform var(--t-med);
}
.docar-radio input[type="radio"]:checked{
  border-color: color-mix(in oklab, var(--ca-accent) 55%, var(--ca-border));
}
.docar-radio input[type="radio"]:checked::after{
  transform: translate(-50%,-50%) scale(1);
}

/* que non rompa en móbil */
@media (max-width:640px){
  .docar-radio{ width: 100%; justify-content: flex-start; }
}

  /* ==== FIX solapamentos do botón ==== */

/* O card xa non precisa oco para un pé absoluto */
.docar-item{
  padding-bottom: 14px !important; /* antes 64px */
}

/* O pé (botón + info) entra no fluxo normal en 2 columnas */
.docar-bottom,
.docar-row-between{
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;

  display: grid !important;
  grid-template-columns: auto 1fr; /* botón | info dereita */
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

/* Bloque da dereita (expira/publicada ou contactos/publicada) */
.docar-bottom .docar-foot-right,
.docar-row-between .docar-foot-right{
  justify-self: end;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* En pantallas pequenas: o pé vai sempre nunha liña debaixo do botón */
@media (max-width: 640px){
  .docar-bottom,
  .docar-row-between{
    grid-template-columns: 1fr; /* botón enriba */
  }
  .docar-bottom .docar-foot-right,
  .docar-row-between .docar-foot-right{
    margin-top: 6px; /* pequeno aire entre botón e pé */
  }
}
  
/* =========================
   DÍAS DA SEMANA — tamaño compacto
   ========================= */

/* Selector dos días no formulario (Lu Ma Mé Xo Ve Sá Do) */
#wrap-dcc-weekdays .docar-prefset{
  grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)); /* chips máis estreitos */
  gap: 8px 10px;
}
#wrap-dcc-weekdays .docar-pref{
  padding: 6px 8px;          /* antes 10px 14px */
  min-height: 32px;          /* antes 40px */
  font-size: .85rem;         /* lixeiramente máis pequeno */
  border-radius: 999px;
}

/* Píldora de días nas tarxetas de resultados e "As miñas viaxes".
   (o JS pon title="Días" nesa pill; así baixamos o tamaño só desa) */
.docar-meta .docar-pill[title="Días"]{
  padding: 3px 8px;          /* máis compacta ca pill normal */
  font-size: .80rem;
  line-height: 1.1;
}

/* En móbil, un chisco máis de aire para que se poidan tocar ben */
@media (max-width:640px){
  #wrap-dcc-weekdays .docar-pref{ min-height: 36px; }
}

/* ===== Top pills: tipo + expira (rectangulares e pequenas) ===== */
.docar-top-pills{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin: -2px 0 6px; /* lixeiro aire por enriba do título */
  align-items:center;
}

.docar-pill-top{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 2px 6px;               /* máis pequenas ca .docar-pill */
  border: 1px solid var(--ca-border);
  border-radius: 6px;             /* rectangular (non chip redondo) */
  font-size: .75rem;              /* máis pequena ca pill normal */
  line-height: 1.2;
  background: var(--ca-muted);
  color: var(--ca-sub);
  white-space: nowrap;
}

/* Variantes cromáticas (suaves, consistentes coa paleta) */
.docar-pill-top.is-habitual{
  background: color-mix(in oklab, var(--ca-accent) 12%, var(--ca-muted));
  border-color: color-mix(in oklab, var(--ca-accent) 25%, var(--ca-border));
  color: color-mix(in oklab, var(--ca-accent) 35%, var(--ca-text));
}
.docar-pill-top.is-puntual{
  background: color-mix(in oklab, var(--ca-warn-bg) 70%, var(--ca-card));
  border-color: var(--ca-warn-bd);
  color: color-mix(in oklab, var(--ca-warn) 55%, #7c2d12);
}
.docar-pill-top.is-expira{
  background: var(--ca-muted);
  border-color: var(--ca-border);
  color: var(--ca-sub);
}

/* Asegurar que o título quede separado das pills */
.docar-item > .docar-top-pills + h3{
  margin-top: 2px;
}

/* Botón "Contactar" máis compacto en todas as vistas */
.docar-btn.js-contact{
  padding: 7px 12px !important;   /* antes 11px 16px */
  font-size: .90rem !important;   /* lixeiro menor */
  border-radius: 10px !important; /* algo máis recto */
  line-height: 1.15 !important;
}

/* Se queres aínda máis compacto, descomenta:
.docar-btn.js-contact{
  padding: 6px 10px !important;
  font-size: .86rem !important;
}
*/
/* --- Unificar tamaño das pills circulares --- */
.docar-pill{
  font-size: .88rem !important;
  padding: 4px 9px !important;
  line-height: 1.2 !important;
}

/* axuste opcional para manter a consistencia nas compactas */
#dc-my-wrap .docar-pill,
.docar-foot-right .docar-pill,
.docar-meta .docar-pill[title="Días"]{
  font-size: .88rem !important;
}





/* ====== Buscador (#dc-filter) · 3 liñas fixas ====== */
#dc-filter.docar-inline{
  display:grid !important;
  grid-template-columns:repeat(12, minmax(0,1fr));
  gap:12px;
  align-items:end;
}

/* 1ª liña: Palabras clave a toda a largura */
#dc-filter > label:has(#dc-filter-q){
  grid-column:1 / -1;
}

/* 2ª liña: Provincia · Localidade · Centro (3 columnas iguais) */
#dc-filter > label:has(#dc-filter-prov){ grid-column:span 4; }
#dc-filter > label:has(#dc-filter-loc) { grid-column:span 4; }
#dc-filter > label:has(#dc-filter-to)  { grid-column:span 4; }

/* 3ª liña: Tipo · Días · Limpar (6 + 4 + 2 columnas) */
#dc-filter > label:has(#dc-filter-type){ grid-column:span 6; }
#dc-filter > label:has(#dc-filter-wd)  { grid-column:span 4; }
#dc-filter #dc-filter-clear{
  grid-column:span 2;
  justify-self:end;
  height:44px !important;
  padding:0 16px !important;
  border-radius:12px !important;
  white-space:nowrap;
}

/* — Compacto e consistente — (se xa tes algo similar, non o dupliques) */
#dc-filter > label{
  display:grid;
  gap:6px;
  padding:10px 12px;
  background:var(--ca-card);
  border:1px solid var(--ca-border);
  border-radius:12px;
  box-shadow:var(--shadow-1);
  font-size:.9rem;
  color:var(--ca-sub);
}
#dc-filter .docar-input{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:12px !important;
  height:44px;
  font-size:14px !important;
}
#dc-filter select.docar-input{
  appearance:none;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:16px;
  padding-right:34px !important;
}

/* Iconas suaves en texto (opcional) */
#dc-filter #dc-filter-q{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
  background-repeat:no-repeat; background-position:10px 50%; background-size:16px;
  padding-left:36px !important;
}
#dc-filter #dc-filter-to{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 22h18'/><path d='M6 18V8l6-3 6 3v10'/></svg>");
  background-repeat:no-repeat; background-position:10px 50%; background-size:16px;
  padding-left:36px !important;
}

/* Foco accesible na “tarxeta” completa */
#dc-filter > label:has(.docar-input:focus-visible){
  border-color:color-mix(in oklab, var(--ca-ring) 55%, var(--ca-border));
  box-shadow:0 0 0 3px color-mix(in oklab, var(--ca-ring) 18%, transparent), var(--shadow-1);
}

/* —— Responsivo —— */
/* Tablet: 6 columnas →  q (full), prov+loc (3+3), centro (full), tipo+días (3+3), botón (full) */
@media (max-width:960px){
  #dc-filter.docar-inline{ grid-template-columns:repeat(6, minmax(0,1fr)); }
  #dc-filter > label:has(#dc-filter-prov){ grid-column:span 3; }
  #dc-filter > label:has(#dc-filter-loc) { grid-column:span 3; }
  #dc-filter > label:has(#dc-filter-to)  { grid-column:1 / -1; }
  #dc-filter > label:has(#dc-filter-type){ grid-column:span 3; }
  #dc-filter > label:has(#dc-filter-wd)  { grid-column:span 3; }
  #dc-filter #dc-filter-clear{ grid-column:1 / -1; justify-self:stretch; }
}
/* Móbil: 1 columna todo a ancho completo */
@media (max-width:640px){
  #dc-filter.docar-inline{ grid-template-columns:1fr; }
  #dc-filter > label,
  #dc-filter #dc-filter-clear{ grid-column:1 / -1; }
}

.docar-head-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.docar-sort {
  display:flex;
  align-items:center;
  gap:8px;
}

.docar-sort-label{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ca-sub);
  font-size:.92rem;
}

.docar-sort-select{
  min-width: 220px;
  height:40px;
  padding:10px 12px !important;
}

/* En móbil: a orde baixa de liña e ocupa ancho completo */
@media (max-width:640px){
  .docar-head-row{ flex-direction:column; align-items:stretch; }
  .docar-sort { justify-content:flex-start; }
  .docar-sort-select{ width:100%; min-width:0; }
}

/* --- Select de ordenación mellorado --- */
.docar-select{ position:relative; display:inline-block; }
.docar-select-input{
  appearance:none !important;
  min-width: 220px;
  height: 40px;
  padding: 10px 36px 10px 12px !important; /* oco para o caret */
  background: var(--ca-muted) !important;
  border: 1px solid var(--ca-border) !important;
  border-radius: 12px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4) !important;
  cursor: pointer;
}
.docar-select-input:focus-visible{
  border-color: color-mix(in oklab, var(--ca-ring) 70%, var(--ca-border)) !important;
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--ca-ring) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.3) !important;
  outline: none;
}

.docar-select-caret{
  position:absolute; right: 10px; top: 50%; transform: translateY(-50%);
  width: 16px; height: 16px; pointer-events:none; opacity:.9;
  background-repeat:no-repeat; background-size:16px 16px;
  background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<polyline points='6 9 12 15 18 9'/></svg>");
  transition: transform var(--t-fast), opacity var(--t-med);
}
/* novo: rota só cando o select está “aberto” */
.docar-select.is-open .docar-select-caret{
  transform: translateY(-50%) rotate(180deg);
  opacity: 1;
}


/* Mantén o estilo en móbil */
@media (max-width:640px){
  .docar-select-input{ width:100%; min-width:0; }
}

/* —— Ordenación: móbil discreto —— */
@media (max-width:640px){
  /* cabeceira compacta e en liña */
  .docar-head-row{
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
  }

  /* sen caixa nin fondo arredor da orde */
  .docar-sort{
    padding: 0;
    background: transparent;
    border: 0;
  }

  /* texto “Ordenar por” pequeno e sen énfase */
  .docar-sort-label{
    margin: 0 6px 0 0;
    gap: 6px;
    font-size: .9rem;
    color: var(--ca-sub);
  }

  /* select minimal: ancho auto, sen fondo destacado */
  .docar-select{
    display: inline-block;
  }
  .docar-select-input{
    width: auto;                /* non ocupa todo o ancho */
    min-width: 0;
    height: 38px;               /* cómodo pero contido */
    font-size: 16px !important; /* evita zoom en iOS */
    padding: 8px 28px 8px 10px !important;
    background: transparent !important;
    border: 1px solid var(--ca-border) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }

  /* caret máis pequeno e sutil */
  .docar-select-caret{
    right: 8px;
    width: 14px; height: 14px;
    background-size: 14px 14px;
    opacity: .7;
  }

  /* sen cambios de cor agresivos en hover; foco accesible sutil */
  .docar-select-input:focus-visible{
    border-color: color-mix(in oklab, var(--ca-ring) 50%, var(--ca-border)) !important;
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--ca-ring) 16%, transparent) !important;
  }
}

/* —— Extra compacto en pantallas moi pequenas —— */
@media (max-width:420px){
  /* oculta o texto e deixa só a icona para gañar espazo */
  .docar-sort-label{
    color: transparent;         /* agocha o texto… */
  }
  .docar-sort-label svg{        /* …pero mantén a icona */
    color: var(--ca-sub);
  }
  .docar-select-input{
    max-width: 56vw;            /* evita que se coma a liña */
  }
}

  /* ---- Fix: texto cortado verticalmente no select de ordenación ---- */
.docar-sort select.docar-input {
  height: auto !important;               /* deixa que a altura se axuste */
  min-height: 42px !important;           /* altura mínima coherente co resto */
  line-height: 1.4 !important;           /* espazo interno suficiente */
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  display: flex;                         /* asegura centrado en navegadores modernos */
  align-items: center;
}

/* En móbil, un pouco máis alto para evitar calquera recorte */
@media (max-width:640px){
  .docar-sort select.docar-input {
    min-height: 46px !important;
    line-height: 1.45 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

#dc-results .docar-item{
  border-color: color-mix(in oklab, #000 85%, var(--ca-border)) !important; /* ~#222 */
}

  .docar-flash {
  transition: opacity .4s ease;
}

  /* O formulario base pasa a comportarse en bloque */
#dc-filter.docar-inline{ display:block !important; }

/* Botón “Máis filtros” – discreto, con chevron */
.docar-filter-toggle{
  appearance:none; background:transparent; border:0; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 10px; margin-top:10px; border-radius:10px;
  color:var(--ca-accent); font-weight:700; box-shadow:none;
}
.docar-filter-toggle:focus-visible{
  outline:3px solid color-mix(in oklab, var(--ca-ring) 30%, transparent);
  outline-offset:2px;
}
.docar-filter-toggle .chev{
  width:10px; height:10px;
  border-right:2px solid color-mix(in oklab, var(--ca-sub) 80%, transparent);
  border-bottom:2px solid color-mix(in oklab, var(--ca-sub) 80%, transparent);
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.docar-filter-toggle[aria-expanded="true"] .chev{ transform:rotate(-135deg); }

/* Grade do bloque avanzado (herda estilo das túas “tarxetas” de input) */
#dc-filter .docar-filter-adv{
  display:grid; grid-template-columns:repeat(12, minmax(0,1fr));
  gap:12px; align-items:end; margin-top:12px;
}
#dc-filter .docar-filter-adv > label{
  display:grid; gap:6px; padding:10px 12px;
  background:var(--ca-card); border:1px solid var(--ca-border);
  border-radius:12px; box-shadow:var(--shadow-1);
  font-size:.9rem; color:var(--ca-sub);
}
#dc-filter .docar-filter-adv .docar-input{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  padding:12px !important; height:44px; font-size:14px !important;
}

/* Columnas (coma tiñas antes) */
#dc-filter .docar-filter-adv > label:has(#dc-filter-prov){ grid-column:span 4; }
#dc-filter .docar-filter-adv > label:has(#dc-filter-loc) { grid-column:span 4; }
#dc-filter .docar-filter-adv > label:has(#dc-filter-to)  { grid-column:span 4; }
#dc-filter .docar-filter-adv > label:has(#dc-filter-type){ grid-column:span 6; }
#dc-filter .docar-filter-adv > label:has(#dc-filter-wd)  { grid-column:span 4; }
#dc-filter .docar-filter-adv #dc-filter-clear{
  grid-column:span 2; justify-self:end; height:44px !important;
  padding:0 16px !important; border-radius:12px !important; white-space:nowrap;
}

/* Responsivo igual ca antes */
@media (max-width:960px){
  #dc-filter .docar-filter-adv{ grid-template-columns:repeat(6, minmax(0,1fr)); }
  #dc-filter .docar-filter-adv > label:has(#dc-filter-prov){ grid-column:span 3; }
  #dc-filter .docar-filter-adv > label:has(#dc-filter-loc) { grid-column:span 3; }
  #dc-filter .docar-filter-adv > label:has(#dc-filter-to)  { grid-column:1 / -1; }
  #dc-filter .docar-filter-adv > label:has(#dc-filter-type){ grid-column:span 3; }
  #dc-filter .docar-filter-adv > label:has(#dc-filter-wd)  { grid-column:span 3; }
  #dc-filter .docar-filter-adv #dc-filter-clear{ grid-column:1 / -1; justify-self:stretch; }
}
@media (max-width:640px){
  #dc-filter .docar-filter-adv{ grid-template-columns:1fr; }
  #dc-filter .docar-filter-adv > *{ grid-column:1 / -1; }
}

  /* ====== Bloque “Máis filtros” · estilo pro ====== */
#dc-filter .docar-filter-adv{
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--ca-muted) 65%, transparent), transparent);
  border:1px solid var(--ca-border);
  border-radius:12px;
  padding:12px;
  box-shadow: var(--shadow-1);
}

/* animación suave ao abrir/pechar */
#dc-filter .docar-filter-adv{
  transition: opacity .18s ease, transform .18s ease;
  transform: translateY(-2px);
  opacity: .0;
}
#dc-filter .docar-filter-adv[hidden]{
  display:none!important;
}
#dc-filter .docar-filter-adv:not([hidden]){
  transform: translateY(0);
  opacity: 1;
}

/* cabeceiras dos pequenos “cards” */
#dc-filter .docar-filter-adv > label{
  position:relative;
  overflow:hidden;
}
#dc-filter .docar-filter-adv > label::after{
  content:'';
  position:absolute; inset:auto 12px 0 12px; height:1px;
  background: color-mix(in oklab, var(--ca-border) 80%, transparent);
  opacity:.5;
  transform: translateY(9px);
  pointer-events:none;
}

/* iconografía sutil para selects */
#dc-filter #dc-filter-prov,
#dc-filter #dc-filter-loc,
#dc-filter #dc-filter-type,
#dc-filter #dc-filter-wd{
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat; background-position:right 10px center; background-size:16px;
  padding-right:34px !important;
}

/* ====== Chips cos filtros activos ====== */
.docar-filter-chips{
  display:flex; flex-wrap:wrap; gap:8px;
  margin:10px 0 0;
}
.filter-chip{
  display:inline-flex; align-items:center; gap:8px;
  border-radius:999px; padding:7px 12px;
  background: var(--ca-muted);
  border:1px solid var(--ca-border);
  color: var(--ca-text);
  font-size:.9rem;
  box-shadow: var(--shadow-1);
}
.filter-chip .x{
  width:18px; height:18px; display:inline-grid; place-items:center;
  border-radius:50%; line-height:1; cursor:pointer;
  background: color-mix(in oklab, var(--ca-sub) 8%, transparent);
  border:1px solid color-mix(in oklab, var(--ca-border) 80%, transparent);
  font-size:12px; color: var(--ca-sub);
}
.filter-chip .x:focus-visible{
  outline:3px solid color-mix(in oklab, var(--ca-ring) 30%, transparent);
  outline-offset:2px;
}

/* variante de énfase cando hai chips */
.docar-filter-chips:not([hidden]) + #dc-filter-adv{
  margin-top:12px;
}

/* botón “Limpar filtros” integrándose visualmente */
#dc-filter .docar-filter-adv #dc-filter-clear{
  border:1px dashed color-mix(in oklab, var(--ca-accent) 35%, var(--ca-border)) !important;
  color: var(--ca-accent) !important;
  background: color-mix(in oklab, var(--ca-accent) 6%, transparent) !important;
}

/* —— Detalle: caixas máis “aireadas” no bloque avanzado —— */
#dc-filter .docar-filter-adv > label{
  padding:12px 14px;
}

/* —— Modo escuro (se o activas no futuro) segue sendo correcto —— */
@media (prefers-color-scheme: dark){
  #dc-filter .docar-filter-adv{
    background: color-mix(in oklab, var(--ca-card) 92%, transparent);
  }
}

  /* ===== Botón “Máis filtros” vitaminado ===== */
.docar-filter-toggle{
  appearance:none; border:1px solid var(--ca-border); border-radius:999px;
  background:var(--ca-card); color:var(--ca-text); font-weight:700;
  display:inline-flex; align-items:center; gap:10px; padding:10px 14px;
  box-shadow:var(--shadow-1); cursor:pointer; transition:box-shadow .18s, transform .1s, border-color .18s, background .18s;
}
@media (hover:hover){ .docar-filter-toggle:hover{ box-shadow:var(--shadow-2); border-color:color-mix(in oklab, var(--ca-accent) 25%, var(--ca-border)); } }
.docar-filter-toggle:active{ transform:translateY(1px) }
.docar-filter-toggle:focus-visible{
  outline:none; box-shadow:0 0 0 3px color-mix(in oklab, var(--ca-ring) 22%, transparent), var(--shadow-2);
}

/* icona “filtros” */
.docar-filter-toggle .icon{
  width:18px; height:18px; opacity:.9;
  background-repeat:no-repeat; background-size:18px 18px;
  background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='22 3 2 3 10 12 10 19 14 21 14 12 22 3'/></svg>");
}

/* badge co nº de filtros activos */
.docar-filter-toggle .badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:22px; height:22px; padding:0 7px; border-radius:999px;
  font-size:.82rem; background:var(--ca-accent); color:#fff;
  box-shadow:var(--shadow-2);
}

/* chevron que rota */
.docar-filter-toggle .chev{
  width:10px; height:10px;
  border-right:2px solid color-mix(in oklab, var(--ca-sub) 80%, transparent);
  border-bottom:2px solid color-mix(in oklab, var(--ca-sub) 80%, transparent);
  transform:rotate(45deg); transition:transform .18s ease;
}
.docar-filter-toggle[aria-expanded="true"] .chev{ transform:rotate(-135deg) }

/* estado activo: cando hai filtros aplicados ou está aberto */
.docar-filter-toggle.is-active{
  background:color-mix(in oklab, var(--ca-accent) 7%, var(--ca-card));
  border-color:color-mix(in oklab, var(--ca-accent) 35%, var(--ca-border));
}

  /* Zona privada: aspecto do summary */
#dc-private > summary .docar-acc-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
#dc-private .docar-acc-summary {
  background: var(--ca-muted);
  border-radius: var(--radius);
}
/* Compactar os acordeóns internos dentro da Zona privada */
#dc-private .docar-card.docar-acc{
  margin: 8px 0;         /* separacion mínima entre Publica/As miñas */
  padding: 0;            /* sen recheo no container cando está pechado */
  background: transparent;
  box-shadow: none;
}

/* Quitar oco final do último acordeón */
#dc-private .docar-card.docar-acc:last-child{
  margin-bottom: 0;
}

/* O contido só leva padding cando está aberto */
#dc-private .docar-card.docar-acc .docar-acc-content{ padding: 12px; }
#dc-private .docar-card.docar-acc:not([open]) .docar-acc-content{ padding: 0 !important; }

/* O summary sen marxes adicionais */
#dc-private .docar-card.docar-acc > summary{ margin: 0; }
/* ——— Normalizar tamaños en “Publica unha viaxe” ——— */
#dc-publish-wrap label {
  font-size: 1rem;          /* igual ca “Saída/Destino/Tipo/Días” */
  line-height: 1.35;
  color: var(--ca-sub);
}

/* Se tiñas esta: .docar-grid-2 > label { font-size:.92rem } queda sobrescrita aquí */
#dc-publish-wrap .docar-grid-2 > label { font-size: 1rem; }

/* Mantén as etiquetas-píldora de preferencias un chisco menores (opcional) */
#dc-publish-wrap .docar-prefset .docar-pref {
  font-size: .92rem;
}

/* Títulos de bloque (por se acaso) */
#dc-publish-wrap .docar-h3,
#dc-publish-wrap .docar-fieldset > legend {
  font-size: 1rem;
  font-weight: 700;
}
/* ——— Publica unha viaxe: todos os labels en negriña ——— */
#dc-publish-wrap label{
  font-weight: 700;              /* negriña */
  font-size: 1rem;               /* por se algo os facía máis pequenos */
}

/* Mantén as notas/axudas e placeholders sen negriña */
#dc-publish-wrap .docar-hint,
#dc-publish-wrap .docar-note { font-weight: 400; }

/* (Opcional) As “píldoras” de preferencias, un chisco menos pesadas */
#dc-publish-wrap .docar-prefset .docar-pref{
  font-weight: 600;              /* ou 500 se as prefires máis lixeiras */
}

/* Asegura títulos/legends tamén en negriña */
#dc-publish-wrap .docar-h3,
#dc-publish-wrap .docar-fieldset > legend{
  font-weight: 700;
}

/* Se tes algo así no teu CSS base, isto o sobrescribe */
#dc-publish-wrap .docar-grid-2 > label{ font-weight: 700; font-size: 1rem; }

  /* === Publica unha viaxe: normalizar labels de campo === */
/* Labels de campos (select/input/textarea) iguais a 1rem e en negriña */
#dc-publish-wrap label {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ca-sub);
}

/* Anula regras antigas tipo .docar-grid-2 > label { font-size:.92rem } */
#dc-publish-wrap .docar-grid-2 > label,
#dc-publish-wrap .docar-col-span > label,
#dc-publish-wrap .docar-fieldset > label {
  font-size: 1rem;
  font-weight: 700;
}

/* Radio options: “Viaxe habitual / puntual” co mesmo tamaño */
#dc-publish-wrap .docar-radio {
  font-size: 1rem;
  font-weight: 700;
}

/* Títulos/legends dos bloques */
#dc-publish-wrap .docar-h3,
#dc-publish-wrap .docar-fieldset > legend {
  font-size: 1rem;
  font-weight: 700;
}

/* === Mantemos as píldoras algo máis pequenas (Días e Preferenzas) === */
#dc-publish-wrap .docar-prefset .docar-pref {
  font-size: .92rem;      /* Lu, Ma, Mé… / Non fumar, Música… */
  font-weight: 600;
}

/* Notas/axudas sen negriña */
#dc-publish-wrap .docar-hint,
#dc-publish-wrap .docar-note { font-weight: 400; }
/* ===== Base (mantemos títulos/labels principais a 1rem e en negriña) ===== */
#dc-publish-wrap label{ font-size:1rem; font-weight:700; }
#dc-publish-wrap .docar-fieldset > legend,
#dc-publish-wrap .docar-h3{ font-size:1rem; font-weight:700; }

/* ===== 1) Saída → "Provincia" e "Localidade" máis pequenos ===== */
#docar-create > .docar-fieldset:first-of-type .docar-grid-2 > label{
  font-size:.92rem;
  font-weight:500;
}

/* ===== 2) Destino → "Centro de ensino" e "Outro destino" máis pequenos ===== */
#dcc-dest-mode .docar-radio{           /* radios Centro/Outro destino */
  font-size:.92rem;
  font-weight:500;
}
#wrap-to-center,
#wrap-to-manual{                        /* labels dos inputs */
  font-size:.92rem;
  font-weight:500;
}

/* ===== 3) Tipo de viaxe → "Viaxe habitual" / "Viaxe puntual" máis pequenos ===== */
#dc-publish-wrap .docar-radio-row .docar-radio{
  font-size:.92rem;
  font-weight:500;
}

/* (Xa están pequenos) Días da semana & Preferenzas: píldoras */
#dc-publish-wrap .docar-prefset .docar-pref{
  font-size:.92rem;
  font-weight:500;
}

/* ===== FLASH Á DEREITA, NA MESMA LIÑA ===== */
.docar-actions{
    position:relative; /* referencia para o flash */
  display:flex;          /* anulamos os grids anteriores */
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap;                   /* por se en móbil non colle */
}

/* botón queda primeiro */
#dc-btn-create{ order:0; }

/* o flash vai á dereita */
.docar-actions > #dc-flash,
.docar-actions > .docar-flash{
  order:1;
  margin-right:auto !important;      /* empurra á dereita */
  text-align:left;
  white-space:nowrap;               /* evita cortar en dúas liñas se é curto */
  max-width:100%;
}

/* en pantallas pequenas, se salta abaixo, manténse á dereita */
@media (max-width:640px){
  .docar-actions > #dc-flash,
  .docar-actions > .docar-flash{
    white-space:normal;             /* permite romper se é longa */
  }
}


/* Cores do aviso */
#dc-flash{ color:#0a7d3b; }            /* verde éxito */
#dc-flash.err{ color:#ef4444 !important; } /* vermello erro */


 /* o flash vai “flotado” arriba á esquerda */
#dc-flash, .docar-flash{
  position:absolute;
  left:0;
  left:100%;        /* colócase enriba do botón, sen empurrar nada */
  margin-bottom:6px;
  width:100%;
  text-align:left;
  transition:opacity .3s ease;
  margin-left: 10px;
}
/* === FLASH DEBAIXO DO BOTÓN EN MÓBIL === */
@media (max-width:640px){

  .docar-actions{
    position: relative !important;
    display: flex !important;
    flex-direction: column !important; /* botón enriba, flash abaixo */
    align-items: flex-end !important;  /* botón aliñado á dereita */
    gap: 8px !important;
  }

  /* botón */
  #dc-btn-create{
    order: 0;
    align-self: flex-start;              /* á dereita */
  }

  /* flash: baixo o botón */
  #dc-flash,
  .docar-flash{
    order: 1;
    position: static !important;       /* entra no fluxo normal */
    display: block;
    width: 100%;
    text-align: left;
    margin: 0;
    padding: 6px 2px;
    white-space: normal;
  }

  /* se non hai texto, agochar completamente */
  #dc-flash:empty,
  .docar-flash:empty{
    display: none;
  }
}

/* 1) Que os inputs/textarea non se saian do contedor */
.docar-input,
.docar-modal-card .docar-input,
.docar-card .docar-input,
.docar-modal-card textarea.docar-input,
.docar-card textarea.docar-input{
  box-sizing: border-box;   /* o width:100% inclúe borde e padding */
  max-width: 100%;          /* por se algún navegador se pon listo */
}

/* 2) Limitar o redimensionado do textarea */
textarea.docar-input{
  resize: vertical;         /* só vertical, non horizontal */
  min-height: 120px;        /* cómodo por defecto */
}

/* (opcional) evitar que o foco/outline provoque scroll raro no modal */
.docar-modal-card{
  overflow: hidden;         /* o glow de foco non cambia layout */
}

/* === DÍAS DA SEMANA · estado seleccionado máis visible (só no formulario) === */
#wrap-dcc-weekdays .docar-pref-input:checked + .docar-pref{
  /* fondo máis cheo e borde marcado */
  background: color-mix(in oklab, var(--ca-accent) 22%, #fff);
  border-color: color-mix(in oklab, var(--ca-accent) 65%, var(--ca-border));
  color: color-mix(in oklab, var(--ca-accent) 85%, #0f172a);
  font-weight: 800;

  /* lixeiro realce para destacar no grupo */
  box-shadow:
    0 0 0 3px color-mix(in oklab, var(--ca-accent) 16%, transparent),
    inset 0 1px 0 rgba(2,6,23,.04);
  position: relative;
}

/* engadimos un check ✔️ pequeno á esquerda (non invade o texto) */
#wrap-dcc-weekdays .docar-pref-input:checked + .docar-pref::before{
  content: '';
  width: 16px; height: 16px;
  margin-right: 6px;
  border-radius: 4px;
  flex: 0 0 16px;
  background:
    color-mix(in oklab, var(--ca-accent) 70%, #fff)
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'>\
  <polyline points='20 6 9 17 4 12'/></svg>") center/12px 12px no-repeat;
  box-shadow: 0 0 0 1px color-mix(in oklab, var(--ca-accent) 65%, var(--ca-border));
}

/* aseguramos layout en fila: icono + etiqueta */
#wrap-dcc-weekdays .docar-pref{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* foco accesible consistente */
#wrap-dcc-weekdays .docar-pref-input:focus-visible + .docar-pref{
  outline: 3px solid color-mix(in oklab, var(--ca-ring) 40%, transparent);
  outline-offset: 2px;
}

/* en dark mode mantén contraste */
@media (prefers-color-scheme: dark){
  #wrap-dcc-weekdays .docar-pref-input:checked + .docar-pref{
    background: color-mix(in oklab, var(--ca-accent) 26%, var(--ca-card));
    color: #fff;
    box-shadow:
      0 0 0 3px color-mix(in oklab, var(--ca-accent) 20%, transparent),
      inset 0 1px 0 rgba(255,255,255,.06);
  }
  #wrap-dcc-weekdays .docar-pref-input:checked + .docar-pref::before{
    background:
      color-mix(in oklab, var(--ca-accent) 70%, #000)
      url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='16' height='16' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'>\
  <polyline points='20 6 9 17 4 12'/></svg>") center/12px 12px no-repeat;
  }
}

  /* ——— Días seleccionados: versión compacta en móbil ——— */
@media (max-width:640px){
  /* chip máis estreito e con menos separación interna */
  #wrap-dcc-weekdays .docar-pref{
    padding: 5px 8px;        /* antes 6–10px */
    gap: 4px;                /* menos espazo entre icono e texto */
    min-height: 30px;        /* algo máis baixiño */
    white-space: nowrap;     /* evita que “Lu” ou “Mé” salten de liña */
  }

  /* icono check máis pequeno */
  #wrap-dcc-weekdays .docar-pref-input:checked + .docar-pref::before{
    width: 12px;
    height: 12px;
    flex: 0 0 12px;          /* non “estira” a píldora */
    margin-right: 4px;
    border-radius: 3px;
    background-size: 9px 9px;
  }

  /* lixeiro axuste do realce para que non “coma” espazo */
  #wrap-dcc-weekdays .docar-pref-input:checked + .docar-pref{
    box-shadow:
      0 0 0 2px color-mix(in oklab, var(--ca-accent) 16%, transparent),
      inset 0 1px 0 rgba(2,6,23,.04);
  }
}
