/* WagerGuide - components.css */
.btn{
  display:inline-block;font-family:var(--ff-body);font-weight:600;font-size:15px;
  padding:10px 18px;border-radius:8px;border:2px solid var(--accent);
  background:var(--accent);color:#1B1620;text-decoration:none;cursor:pointer;
}
.btn:hover{background:#d94b5a}
.btn-outline{background:transparent;color:var(--text-on-dark);border-color:var(--text-on-dark)}
.btn-outline:hover{background:rgba(255,255,255,.1)}
.btn-secondary{background:var(--surface);color:var(--text-on-dark);border-color:var(--surface)}
.btn[disabled]{opacity:.5;cursor:not-allowed}

.card{
  background:#fff;border:1px solid #e6ddd0;border-radius:var(--radius);
  padding:20px;height:100%;
}
@media (prefers-color-scheme:dark){
  .card{background:#2c2338;border-color:#4a3b60;color:var(--text-on-dark)}
}
.card h3{margin-top:0}
.fact-row{
  display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #e6ddd0;font-size:15px;
}
.fact-row dt{font-weight:700;min-width:150px;font-family:var(--ff-head)}
.fact-row dd{margin:0}

.tag{
  display:inline-block;font-size:12px;font-weight:600;border-radius:100px;
  padding:2px 10px;background:#eee2d3;color:#1B1620;
}
.tag-age{background:var(--accent);color:#1B1620}
.tag-cena{background:#E8C77E}
.tag-bar{background:#B7D9CE}
.tag-musica{background:#D9C4EA}
.tag-casino{background:#F0AEB6}
.tag-caminata{background:#C9E4B5}

table.compare{font-size:14px}
table.compare th,table.compare td{
  text-align:left;padding:10px 12px;border-bottom:1px solid #e6ddd0;vertical-align:top;
}
table.compare th{font-family:var(--ff-head);background:#eee2d3}

.accordion-item{border-bottom:1px solid #e6ddd0}
.accordion-item summary{
  cursor:pointer;font-family:var(--ff-head);font-weight:700;font-size:17px;
  padding:14px 4px;list-style:none;position:relative;padding-right:30px;
}
.accordion-item summary::-webkit-details-marker{display:none}
.accordion-item summary::after{
  content:"+";position:absolute;right:4px;top:12px;font-size:20px;color:var(--accent);
}
.accordion-item[open] summary::after{content:"–"}
.accordion-item .accordion-body{padding:0 4px 16px}

.rg-banner{
  background:var(--surface);color:var(--text-on-dark);border-radius:10px;
  padding:16px 20px;font-size:14px;margin:24px 0;
}
.rg-banner a{color:#F7C9CE}

/* ---- Evening Builder / planner ---- */
.planner-app{margin-top:24px}
.planner-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.planner-status{font-size:14px}
.storage-note{font-size:12px;color:#5a4e66;margin-top:6px}

.library{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:28px}
.activity-card{
  background:#fff;border:1px solid #d8ccb8;border-radius:8px;padding:12px;text-align:left;
  font-family:var(--ff-body);cursor:grab;width:100%;
}
.activity-card:active{cursor:grabbing}
.activity-card h4{margin:4px 0;font-family:var(--ff-head);font-size:15px}
.activity-card .meta{font-size:12px;color:#5a4e66}
.activity-card.dragging{opacity:.5}

.timeline{
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:24px 0;
}
@media (max-width:600px){.timeline{grid-template-columns:1fr}}
.slot{
  border:2px dashed #c9bda6;border-radius:8px;min-height:150px;padding:10px;
  background:#fff;position:relative;display:flex;flex-direction:column;gap:6px;
}
.slot .slot-time{font-family:var(--ff-head);font-weight:700;font-size:14px}
.slot.slot-valid-target{border-color:var(--free);background:#eaf3ee}
.slot.slot-invalid-target{opacity:.4}
.slot.slot-filled{border-style:solid;border-color:#d8ccb8}
.slot.slot-conflict{border-style:solid;border-color:var(--conflict);background:#fbeee4}
.slot .placed-card{
  background:var(--bg-light);border-radius:6px;padding:8px;font-size:13px;position:relative;
}
.slot .placed-card .remove-btn{
  position:absolute;top:4px;right:4px;background:none;border:none;color:#5a4e66;
  font-size:16px;line-height:1;cursor:pointer;padding:2px 6px;
}
.slot .conflict-msg{font-size:12px;color:var(--conflict);font-weight:600}
.slot .add-btn{
  align-self:flex-start;font-size:13px;background:var(--surface);color:var(--text-on-dark);
  border:none;border-radius:6px;padding:6px 10px;cursor:pointer;
}

.mobile-add{display:none;font-size:14px;margin-top:6px}
@media (max-width:600px){.mobile-add{display:block}}

.plan-summary{
  background:var(--surface);color:var(--text-on-dark);border-radius:10px;padding:16px 20px;margin:20px 0;
}
.plan-summary strong{font-family:var(--ff-head)}

.restored-banner{
  background:#eaf3ee;border:1px solid var(--free);color:#173d31;border-radius:8px;
  padding:10px 14px;margin-bottom:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;
}

.no-js-only{display:none}
.no-js .no-js-only{display:block}
.no-js .js-only{display:none}

@media (prefers-reduced-motion:no-preference){
  .activity-card,.slot{transition:box-shadow .15s ease,opacity .15s ease}
}
