/* LuckBrief - base.css : reset, tokens, typography */
:root{
  --color-bg-dark:#1F2E4D;
  --color-surface-dark:#2A3D66;
  --accent-regular:#3F8E7A;
  --accent-carnaval:#D9573B;
  --color-bg-light:#FAF4E9;
  --color-text-light:#1A1F2B;
  --color-text-dark:#EEF2F8;
  --font-heading:'Bricolage Grotesque', Georgia, serif;
  --font-body:'Work Sans', Arial, sans-serif;
  --fs-12:0.75rem; --fs-14:0.875rem; --fs-16:1rem; --fs-18:1.125rem;
  --fs-22:1.375rem; --fs-28:1.75rem; --fs-36:2.25rem; --fs-48:3rem;
  --lh-body:1.55; --lh-heading:1.15;
  --measure:68ch;
  --radius:10px;
  --space-24:24px; --space-16:16px;
}
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--color-bg-light);
  color:var(--color-text-light);
  font-family:var(--font-body);
  font-size:var(--fs-16);
  line-height:var(--lh-body);
  font-variant-numeric:tabular-nums;
}
img{max-width:100%;display:block}
a{color:var(--accent-regular)}
a:hover,a:focus{text-decoration:underline}
h1,h2,h3,h4{
  font-family:var(--font-heading);
  line-height:var(--lh-heading);
  font-weight:700;
  margin:0 0 .6em 0;
  color:var(--color-text-light);
}
h1{font-size:var(--fs-36)}
h2{font-size:var(--fs-28);position:relative;padding-top:.4em}
h2::before{
  content:"";
  position:absolute;top:0;left:0;
  width:64px;height:4px;border-radius:2px;
  background:linear-gradient(90deg,#C9A24B,#E4CE8F);
}
h3{font-size:var(--fs-22)}
p,li{max-width:var(--measure)}
small,.fine-print{font-size:var(--fs-12)}
.skip-link{
  position:absolute;left:-999px;top:auto;
  background:#fff;color:#1A1F2B;padding:10px 16px;
  border-radius:6px;z-index:1000;
}
.skip-link:focus{left:16px;top:16px}
button{font-family:inherit;cursor:pointer}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:10px 12px;font-variant-numeric:tabular-nums;border-bottom:1px solid #ddd2ba}
.badge-18{
  display:inline-flex;align-items:center;justify-content:center;
  border:2px solid var(--color-text-dark);
  color:var(--color-text-dark);
  border-radius:50%;
  width:2.2em;height:2.2em;
  font-weight:700;font-size:var(--fs-14);
  flex-shrink:0;
}
.price-badge{font-weight:600;color:var(--accent-carnaval)}
.fact-row{
  display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed #cbb98a;
}
.fact-row dt{font-weight:600;min-width:11em}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) body{background:#14172a;color:var(--color-text-dark)}
  :root:not([data-theme="light"]) h1,
  :root:not([data-theme="light"]) h2,
  :root:not([data-theme="light"]) h3{color:var(--color-text-dark)}
  :root:not([data-theme="light"]) .hotel-card{border-color:#3a4a72;background:#202a44}
  :root:not([data-theme="light"]) th,
  :root:not([data-theme="light"]) td{border-color:#3a4a72}
}
