/* LuckBrief - components.css */
.season-toggle{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--color-surface-dark);border-radius:999px;padding:6px;
}
.season-toggle-btn{
  border:0;border-radius:999px;padding:8px 16px;
  background:transparent;color:var(--color-text-dark);
  font-weight:600;font-size:var(--fs-14);
}
.season-toggle-btn[aria-checked="false"]{background:var(--accent-regular);color:#fff}
.season-toggle-btn[aria-checked="true"]{background:var(--accent-carnaval);color:#fff}
.season-toggle-status{font-size:var(--fs-14);font-weight:600}
.season-toggle-wrap{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px;
  padding:16px;background:var(--color-surface-dark);border-radius:var(--radius);
  color:var(--color-text-dark);
}
.storage-note{font-size:var(--fs-12);color:#cfd8ea;margin:0}
.carnaval-banner{
  margin:20px 0;padding:14px 16px;border-radius:var(--radius);
  background:#fbe9e3;border:1px solid var(--accent-carnaval);color:#7a2c17;
  font-weight:600;font-size:var(--fs-14);
}
.cards-grid{
  display:grid;grid-template-columns:1fr;gap:20px;margin-top:24px;
}
@media (min-width:600px){
  .cards-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:1200px){
  .cards-grid{grid-template-columns:1fr 1fr 1fr}
}
.hotel-card{
  border:1px solid #e3d6ba;border-radius:var(--radius);
  background:#fff;padding:18px;position:relative;
}
.hotel-card h3{font-size:var(--fs-18);margin-bottom:6px}
.hotel-card .district-tag{
  font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.04em;
  color:#6d6350;font-weight:600;
}
.hotel-card dl{margin:10px 0 0 0}
.hotel-card dt{font-weight:600;font-size:var(--fs-14);margin-top:8px}
.hotel-card dd{margin:2px 0 0 0;font-size:var(--fs-14)}
.hotel-card .special-note{
  margin-top:10px;padding:8px 10px;background:#fbe9e3;border-radius:6px;
  font-size:var(--fs-12);color:#7a2c17;
}
.hotel-card .age-flag{
  position:absolute;top:14px;right:14px;font-size:var(--fs-12);
  border:1px solid #7a2c17;color:#7a2c17;border-radius:6px;padding:2px 6px;font-weight:700;
}
body.mode-carnaval .hero{
  background-image:
    radial-gradient(circle at 10% 20%, rgba(217,87,59,.35) 0 6px, transparent 7px),
    radial-gradient(circle at 30% 70%, rgba(63,142,122,.30) 0 5px, transparent 6px),
    radial-gradient(circle at 55% 30%, rgba(201,162,75,.35) 0 4px, transparent 5px),
    radial-gradient(circle at 75% 60%, rgba(217,87,59,.28) 0 6px, transparent 7px),
    radial-gradient(circle at 90% 15%, rgba(63,142,122,.30) 0 5px, transparent 6px),
    radial-gradient(circle at 20% 90%, rgba(201,162,75,.30) 0 4px, transparent 5px);
  background-color:var(--color-bg-dark);
}
.compare-table{margin-top:16px;background:#fff;border-radius:var(--radius);overflow:hidden}
.compare-table caption{text-align:left;padding:10px 12px;font-weight:600;background:#f1e8d3}
.accordion-item{border-bottom:1px solid #e3d6ba}
.accordion-item summary{
  cursor:pointer;padding:14px 4px;font-weight:600;font-size:var(--fs-16);
  list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.accordion-item summary::-webkit-details-marker{display:none}
.accordion-item summary::after{content:"+";font-size:1.4em;color:var(--accent-regular)}
.accordion-item[open] summary::after{content:"–"}
.accordion-item .answer{padding:0 4px 16px 4px;font-size:var(--fs-14)}
.price-scale{font-size:var(--fs-14);color:#6d6350}
@media (prefers-reduced-motion: reduce){
  .hotel-card,.season-toggle-btn,body{transition:none!important}
}
