/* Casinos Poland: base styles. Palette and scale documented in _design_templates/casinos.org.pl/design-system.md */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body { margin: 0; background: #f8f5f0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 17px; line-height: 28px; color: #1e1a2e; }
.wrapper { min-height: 100%; overflow-x: hidden; }
a { color: #8a1f4a; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #b3263f; text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #1f6b66; outline-offset: 2px; border-radius: 2px; }
img { max-width: 100%; height: auto; }
.lazy-background { background-image: none; }
.lazy-background.is-loaded { background-size: cover; background-position: center; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { margin: 0 0 16px; font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif; font-weight: 700; color: #1e1a2e; }
h1, .h1 { font-size: 32px; line-height: 38px; }
h2, .h2 { margin-top: 40px; font-size: 25px; line-height: 32px; }
h3, .h3 { margin-top: 28px; font-size: 20px; line-height: 28px; }
h4, .h4 { margin-top: 24px; font-size: 18px; line-height: 26px; }
h5, .h5, h6, .h6 { margin-top: 20px; font-size: 17px; line-height: 24px; }
p { margin: 0 0 16px; }
ul, ol { margin: 0 0 16px; padding-left: 24px; }
li { margin: 0 0 8px; }
dl { margin: 0 0 16px; }
dt { font-weight: 700; }
dd { margin: 0 0 12px; }
b, strong { font-weight: 700; }
blockquote { margin: 0 0 16px; }
.btn { display: inline-block; padding: 10px 18px; border: 2px solid #4a1f3d; border-radius: 6px; background: #4a1f3d; font-size: 16px; line-height: 22px; font-weight: 700; color: #ffffff; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease; }
.btn:hover { background: #3b1831; color: #ffffff; }
.btn.btn-secondary { background: #ffffff; color: #4a1f3d; }
.btn.btn-secondary:hover { background: #efe6d8; color: #4a1f3d; }
.skip-link { position: absolute; left: 16px; top: 8px; z-index: 20; padding: 8px 14px; border-radius: 6px; background: #1e1a2e; color: #ffffff; transform: translateY(-160%); transition: transform 0.2s ease; }
.skip-link:focus { transform: translateY(0); color: #ffffff; }
.icon { display: inline-block; width: 20px; height: 20px; background-repeat: no-repeat; background-position: center; background-size: contain; vertical-align: middle; }
.phone-link { font-weight: 700; white-space: nowrap; }
.polish-term { font-style: italic; }
.page { display: block; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms; animation-duration: 0.01ms; scroll-behavior: auto; }
}
@media (min-width: 768px) {
  body { font-size: 18px; line-height: 30px; }
  h1, .h1 { font-size: 42px; line-height: 50px; }
  h2, .h2 { margin-top: 48px; font-size: 30px; line-height: 38px; }
  h3, .h3 { font-size: 22px; line-height: 30px; }
}
@media (min-width: 1200px) {
  h1, .h1 { font-size: 46px; line-height: 54px; }
}
