:root {
--pirots4review-bg: #3d0d16;
--pirots4review-bg-deep: #22070d;
--pirots4review-panel: rgba(77, 12, 24, 0.86);
--pirots4review-panel-soft: rgba(137, 27, 45, 0.2);
--pirots4review-text: #f8ecd9;
--pirots4review-muted: #e7cfa4;
--pirots4review-gold: #efbf53;
--pirots4review-gold-deep: #b67b23;
--pirots4review-red: #ad213b;
--pirots4review-blue: #1f5d8e;
--pirots4review-green: #2f7d52;
--pirots4review-border: rgba(239, 191, 83, 0.35);
--pirots4review-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
--pirots4review-radius: 24px;
--pirots4review-max: 1200px;
}

* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
font-family: Georgia, "Times New Roman", serif;
color: var(--pirots4review-text);
background:
radial-gradient(circle at top left, rgba(239, 191, 83, 0.24), transparent 30%),
radial-gradient(circle at top right, rgba(31, 93, 142, 0.18), transparent 28%),
linear-gradient(180deg, #57101d 0%, #340913 42%, #1f050a 100%);
line-height: 1.7;
}

body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background:
linear-gradient(135deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%) -14px 0/28px 28px,
linear-gradient(225deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%) -14px 0/28px 28px,
linear-gradient(315deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%) 0 0/28px 28px,
linear-gradient(45deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%) 0 0/28px 28px;
opacity: 0.18;
}

a {
color: #ffe59d;
text-decoration: none;
}

a:hover,
a:focus-visible {
color: #ffffff;
}

img {
display: block;
max-width: 100%;
height: auto;
}

.pirots4review-page {
width: min(calc(100% - 32px), var(--pirots4review-max));
margin: 0 auto;
padding: 32px 0 72px;
position: relative;
z-index: 1;
}

.pirots4review-header {
padding: 16px 18px;
margin-bottom: 18px;
border: 1px solid var(--pirots4review-border);
border-radius: calc(var(--pirots4review-radius) + 6px);
background:
linear-gradient(135deg, rgba(239, 191, 83, 0.1), transparent 45%),
linear-gradient(180deg, rgba(0, 0, 0, 0.14), rgba(0, 0, 0, 0.28)),
var(--pirots4review-panel);
box-shadow: var(--pirots4review-shadow);
backdrop-filter: blur(8px);
}

.pirots4review-topbar {
display: grid;
gap: 14px 18px;
align-items: center;
grid-template-columns: auto minmax(0, 1fr) auto;
}

.pirots4review-brand {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 4px 6px;
border: 1px solid rgba(239, 191, 83, 0.28);
border-radius: 22px;
background: rgba(239, 191, 83, 0.12);
}

.pirots4review-brand:hover,
.pirots4review-brand:focus-visible {
background: rgba(239, 191, 83, 0.22);
}

.pirots4review-brand img {
width: 220px;
height: auto;
max-width: 100%;
object-fit: contain;
}

.pirots4review-mobilecta {
display: none;
align-items: center;
justify-content: center;
min-height: 44px;
padding: 8px 14px;
border: 1px solid rgba(239, 191, 83, 0.34);
border-radius: 999px;
background: linear-gradient(135deg, #efbf53, #c98727);
color: #3b0f12;
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
white-space: nowrap;
}

.pirots4review-mobilecta:hover,
.pirots4review-mobilecta:focus-visible {
color: #2a080b;
background: linear-gradient(135deg, #ffd97a, #d89732);
}

.pirots4review-menutoggle {
position: absolute;
opacity: 0;
pointer-events: none;
}

.pirots4review-menubutton {
display: none;
width: 52px;
height: 52px;
margin-left: auto;
border: 1px solid rgba(239, 191, 83, 0.28);
border-radius: 18px;
background: rgba(20, 3, 8, 0.42);
cursor: pointer;
}

.pirots4review-menubutton span {
display: block;
width: 22px;
height: 2px;
margin: 6px auto;
border-radius: 999px;
background: #ffe8a5;
transition: transform 0.25s ease, opacity 0.25s ease;
}

.pirots4review-toolbar {
display: flex;
gap: 14px;
align-items: center;
justify-content: space-between;
min-width: 0;
grid-column: 2 / 4;
}

.pirots4review-nav {
display: flex;
gap: 8px;
align-items: center;
flex-wrap: wrap;
min-width: 0;
}

.pirots4review-nav a {
display: inline-flex;
align-items: center;
min-height: 38px;
padding: 7px 12px;
border: 1px solid rgba(239, 191, 83, 0.18);
border-radius: 999px;
background: rgba(255, 255, 255, 0.04);
color: #ffe7af;
font-size: 0.9rem;
line-height: 1;
white-space: nowrap;
}

.pirots4review-nav a:hover,
.pirots4review-nav a:focus-visible {
border-color: rgba(239, 191, 83, 0.34);
background: rgba(239, 191, 83, 0.14);
}

.pirots4review-languagecontainer {
display: grid;
gap: 4px;
min-width: 164px;
}

.pirots4review-languagelabel {
color: var(--pirots4review-muted);
font-size: 0.72rem;
letter-spacing: 0.1em;
text-transform: uppercase;
}

.pirots4review-languageselector {
width: 100%;
min-height: 40px;
padding: 8px 12px;
border: 1px solid rgba(239, 191, 83, 0.28);
border-radius: 14px;
background: rgba(20, 3, 8, 0.62);
color: #fff2cc;
font-size: 0.92rem;
font-family: inherit;
outline: none;
box-shadow: none;
}

.pirots4review-languageselector:focus {
border-color: rgba(239, 191, 83, 0.5);
}

.pirots4review-section {
margin-bottom: 26px;
padding: 34px;
border: 1px solid var(--pirots4review-border);
border-radius: var(--pirots4review-radius);
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01)),
var(--pirots4review-panel);
box-shadow: var(--pirots4review-shadow);
backdrop-filter: blur(8px);
}

.pirots4review-intro {
display: grid;
gap: 28px;
align-items: start;
grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.95fr);
}

h1,
h2,
h3 {
margin-top: 0;
line-height: 1.15;
color: #fff3cc;
}

h1 {
font-size: clamp(2.4rem, 5vw, 4.6rem);
margin-bottom: 20px;
text-wrap: balance;
}

h2 {
font-size: clamp(1.7rem, 3vw, 2.4rem);
margin-bottom: 18px;
}

h3 {
font-size: clamp(1.2rem, 2.1vw, 1.55rem);
margin-bottom: 14px;
color: #ffd978;
}

p,
li,
td,
th,
summary {
font-size: 1rem;
}

.pirots4review-lead {
font-size: 1.08rem;
color: #fff2db;
}

.pirots4review-ctawrap {
display: flex;
justify-content: center;
margin: 24px 0 4px;
}

.pirots4review-cta {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 54px;
padding: 14px 28px;
border: 1px solid rgba(239, 191, 83, 0.42);
border-radius: 999px;
background: linear-gradient(135deg, #efbf53, #c98727);
color: #3b0f12;
font-size: 0.94rem;
font-weight: 700;
letter-spacing: 0.12em;
text-align: center;
text-transform: uppercase;
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
}

.pirots4review-cta[type="button"] {
font-family: inherit;
cursor: pointer;
}

.pirots4review-cta:hover,
.pirots4review-cta:focus-visible {
color: #2a080b;
background: linear-gradient(135deg, #ffd97a, #d89732);
}

.pirots4review-ctaalt {
background: rgba(20, 3, 8, 0.72);
color: #fff2cc;
}

.pirots4review-ctaalt:hover,
.pirots4review-ctaalt:focus-visible {
color: #ffffff;
background: rgba(45, 7, 14, 0.82);
}

.pirots4review-highlight {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin: 22px 0 0;
padding: 0;
list-style: none;
}

.pirots4review-highlight li {
padding: 10px 16px;
border: 1px solid rgba(239, 191, 83, 0.32);
border-radius: 999px;
background: rgba(239, 191, 83, 0.12);
color: #ffe7af;
}

.pirots4review-visual,
.pirots4review-shot {
margin: 0;
border: 1px solid rgba(239, 191, 83, 0.25);
border-radius: 22px;
overflow: hidden;
justify-self: center;
background:
radial-gradient(circle at top left, rgba(239, 191, 83, 0.32), transparent 34%),
linear-gradient(160deg, rgba(173, 33, 59, 0.85), rgba(31, 5, 10, 0.9));
}

.pirots4review-visual img,
.pirots4review-shot img {
width: 100%;
aspect-ratio: 16 / 10;
object-fit: cover;
background: linear-gradient(135deg, #8b1830, #33111d 70%);
}

.pirots4review-visual figcaption,
.pirots4review-shot figcaption {
padding: 14px 16px 18px;
color: var(--pirots4review-muted);
font-size: 0.94rem;
text-align: center;
}

.pirots4review-tablewrap {
overflow-x: auto;
}

table {
width: 100%;
border-collapse: collapse;
min-width: 680px;
border: 1px solid rgba(239, 191, 83, 0.22);
border-radius: 18px;
overflow: hidden;
background: rgba(18, 3, 8, 0.34);
}

th,
td {
padding: 14px 16px;
text-align: left;
border-bottom: 1px solid rgba(239, 191, 83, 0.14);
vertical-align: top;
}

th {
color: #ffe8a5;
font-weight: 700;
background: rgba(239, 191, 83, 0.08);
}

tbody tr:nth-child(even) td {
background: rgba(255, 255, 255, 0.02);
}

.pirots4review-toc details,
.pirots4review-faq details {
border: 1px solid rgba(239, 191, 83, 0.18);
border-radius: 18px;
background: rgba(20, 3, 8, 0.34);
}

.pirots4review-toc summary,
.pirots4review-faq summary {
cursor: pointer;
padding: 18px 20px;
font-weight: 700;
color: #fff1be;
}

.pirots4review-toc nav {
padding: 0 20px 18px;
}

.pirots4review-toc ol {
margin: 0;
padding-left: 20px;
columns: 2;
column-gap: 28px;
}

.pirots4review-toc li {
margin-bottom: 10px;
break-inside: avoid;
}

.pirots4review-demo {
border: 1px dashed rgba(239, 191, 83, 0.42);
border-radius: 20px;
overflow: hidden;
margin: 0;
background:
radial-gradient(circle at center, rgba(31, 93, 142, 0.28), transparent 45%),
linear-gradient(135deg, rgba(239, 191, 83, 0.08), rgba(173, 33, 59, 0.14));
}

.pirots4review-demopanel {
padding: 20px;
margin: 24px 0;
border: 1px solid rgba(239, 191, 83, 0.18);
border-radius: 20px;
background:
linear-gradient(180deg, rgba(0, 0, 0, 0.34), rgba(0, 0, 0, 0.58)),
url("/images/demo.webp") center/cover no-repeat;
}

.pirots4review-demobar {
display: flex;
gap: 12px;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 18px;
}

.pirots4review-demo iframe {
display: none;
width: 100%;
aspect-ratio: 837 / 470;
min-height: 320px;
border: 0;
}

.pirots4review-demopanelstarted {
padding: 0;
background: transparent;
border: 0;
}

.pirots4review-demopanelstarted .pirots4review-demobar {
display: none;
}

.pirots4review-demopanelstarted .pirots4review-demo {
border-style: solid;
}

.pirots4review-demopanelstarted .pirots4review-demo iframe {
display: block;
}

.pirots4review-gridtwo {
display: grid;
gap: 24px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pirots4review-gridthree {
display: grid;
gap: 20px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-top: 20px;
}

.pirots4review-shotgrid {
display: grid;
gap: 20px;
grid-template-columns: repeat(3, minmax(0, 1fr));
margin-top: 24px;
}

.pirots4review-card,
.pirots4review-box {
padding: 24px;
border: 1px solid rgba(239, 191, 83, 0.18);
border-radius: 20px;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent),
rgba(23, 3, 9, 0.36);
}

.pirots4review-card h3,
.pirots4review-box h3 {
margin-bottom: 12px;
}

.pirots4review-worldcard {
padding: 22px;
border-radius: 22px;
border: 1px solid rgba(239, 191, 83, 0.18);
min-height: 240px;
text-align: center;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent),
rgba(18, 3, 8, 0.4);
}

.pirots4review-casinologo {
display: flex;
align-items: center;
justify-content: center;
min-height: 120px;
margin: 0 0 18px;
padding: 16px;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 20px;
background: rgba(255, 255, 255, 0.08);
}

.pirots4review-casinologo:hover,
.pirots4review-casinologo:focus-visible {
background: rgba(255, 255, 255, 0.14);
}

.pirots4review-casinologo img {
width: 100%;
max-width: 220px;
max-height: 72px;
object-fit: contain;
}

.pirots4review-worldcard .pirots4review-cta {
margin-inline: auto;
}

.pirots4review-worldcard:nth-child(1) {
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent),
linear-gradient(160deg, rgba(23, 48, 84, 0.78), rgba(23, 3, 9, 0.85));
}

.pirots4review-worldcard:nth-child(2) {
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent),
linear-gradient(160deg, rgba(77, 127, 156, 0.78), rgba(19, 35, 48, 0.86));
}

.pirots4review-worldcard:nth-child(3) {
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent),
linear-gradient(160deg, rgba(147, 45, 21, 0.82), rgba(44, 7, 5, 0.88));
}

.pirots4review-worldtag {
display: inline-block;
padding: 6px 12px;
margin-bottom: 16px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.12);
color: #fff2cc;
font-size: 0.86rem;
letter-spacing: 0.05em;
text-transform: uppercase;
}

.pirots4review-faq details + details {
margin-top: 14px;
}

.pirots4review-faq details p {
margin: 0;
padding: 0 20px 18px;
}

.pirots4review-list {
padding-left: 22px;
margin-bottom: 0;
}

.pirots4review-list li + li {
margin-top: 10px;
}

.pirots4review-authorcard {
display: grid;
gap: 28px;
align-items: start;
grid-template-columns: 120px minmax(0, 1fr);
}

.pirots4review-authoravatar {
width: 120px;
height: 120px;
padding: 6px;
border: 1px solid rgba(239, 191, 83, 0.22);
border-radius: 999px;
background: rgba(20, 3, 8, 0.38);
}

.pirots4review-authoravatar img {
width: 100%;
height: 100%;
border-radius: 999px;
object-fit: cover;
background: linear-gradient(135deg, #7e1930, #231018 75%);
}

.pirots4review-authorcontent {
padding: 4px 0;
}

.pirots4review-authorrole {
margin-top: -4px;
color: #ffd978;
font-weight: 700;
letter-spacing: 0.02em;
}

.pirots4review-authorexpertise {
margin-top: 22px;
padding: 22px;
border: 1px solid rgba(239, 191, 83, 0.18);
border-radius: 20px;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent),
rgba(23, 3, 9, 0.32);
}

.pirots4review-authornote {
margin-bottom: 0;
color: #ffe7af;
}

.pirots4review-legalhero {
display: grid;
gap: 16px;
}

.pirots4review-legaltag {
display: inline-flex;
align-items: center;
width: fit-content;
min-height: 34px;
padding: 6px 14px;
border: 1px solid rgba(239, 191, 83, 0.24);
border-radius: 999px;
background: rgba(239, 191, 83, 0.1);
color: #ffe7af;
font-size: 0.82rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.pirots4review-legalintro {
max-width: 76ch;
color: #fff2db;
}

.pirots4review-legalcontent {
display: grid;
gap: 18px;
}

.pirots4review-legalblock {
padding: 22px 24px;
border: 1px solid rgba(239, 191, 83, 0.16);
border-radius: 20px;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent),
rgba(23, 3, 9, 0.28);
}

.pirots4review-legalblock h2,
.pirots4review-legalblock h3 {
margin-bottom: 10px;
}

.pirots4review-legalblock p:last-child,
.pirots4review-legalblock ul:last-child {
margin-bottom: 0;
}

.pirots4review-legalblock ul {
margin: 12px 0 0;
padding-left: 22px;
}

.pirots4review-legalblock li + li {
margin-top: 8px;
}

.pirots4review-errorpage {
display: grid;
align-items: center;
min-height: calc(100vh - 104px);
}

.pirots4review-errorhero {
max-width: 760px;
margin: 0 auto;
text-align: center;
}

.pirots4review-errorkey {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 108px;
min-height: 40px;
margin-bottom: 18px;
padding: 8px 18px;
border: 1px solid rgba(239, 191, 83, 0.24);
border-radius: 999px;
background: rgba(239, 191, 83, 0.1);
color: #ffe7af;
font-size: 0.9rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
}

.pirots4review-errorhero h1 {
margin-bottom: 16px;
}

.pirots4review-errorhero p {
max-width: 36ch;
margin: 0 auto;
color: #fff2db;
}

.pirots4review-erroractions {
display: flex;
justify-content: center;
margin-top: 26px;
}

.pirots4review-footer {
margin-top: 10px;
padding: 22px 24px;
border: 1px solid rgba(239, 191, 83, 0.16);
border-radius: 22px;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent),
rgba(23, 3, 9, 0.3);
text-align: center;
}

.pirots4review-footernav {
display: flex;
gap: 10px;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 14px;
}

.pirots4review-footernav a {
display: inline-flex;
align-items: center;
min-height: 40px;
padding: 8px 14px;
border: 1px solid rgba(239, 191, 83, 0.18);
border-radius: 999px;
background: rgba(255, 255, 255, 0.04);
color: #ffe7af;
font-size: 0.92rem;
}

.pirots4review-footernav a:hover,
.pirots4review-footernav a:focus-visible {
border-color: rgba(239, 191, 83, 0.34);
background: rgba(239, 191, 83, 0.14);
}

.pirots4review-footertext {
margin: 0;
color: var(--pirots4review-muted);
font-size: 0.92rem;
}

@media (max-width: 960px) {
.pirots4review-intro,
.pirots4review-gridtwo,
.pirots4review-gridthree,
.pirots4review-shotgrid,
.pirots4review-authorcard {
grid-template-columns: 1fr;
}

.pirots4review-toc ol {
columns: 1;
}

.pirots4review-topbar {
grid-template-columns: 1fr auto auto;
}

.pirots4review-menubutton {
display: inline-flex;
align-items: center;
justify-content: center;
}

.pirots4review-mobilecta {
display: inline-flex;
}

.pirots4review-toolbar {
display: none;
grid-column: 1 / -1;
flex-direction: column;
align-items: stretch;
padding-top: 8px;
}

.pirots4review-menutoggle:checked + .pirots4review-menubutton + .pirots4review-toolbar {
display: flex;
}

.pirots4review-menutoggle:checked + .pirots4review-menubutton span:nth-child(1) {
transform: translateY(8px) rotate(45deg);
}

.pirots4review-menutoggle:checked + .pirots4review-menubutton span:nth-child(2) {
opacity: 0;
}

.pirots4review-menutoggle:checked + .pirots4review-menubutton span:nth-child(3) {
transform: translateY(-8px) rotate(-45deg);
}

.pirots4review-nav {
flex-direction: column;
align-items: stretch;
}

.pirots4review-nav a {
justify-content: center;
}

.pirots4review-languagecontainer {
min-width: 100%;
}

.pirots4review-demobar {
flex-direction: column;
}

.pirots4review-footernav {
flex-direction: column;
align-items: stretch;
}

.pirots4review-footernav a {
justify-content: center;
}
}

@media (max-width: 640px) {
.pirots4review-page {
width: min(calc(100% - 20px), var(--pirots4review-max));
padding-top: 18px;
padding-bottom: 52px;
}

.pirots4review-header,
.pirots4review-section {
padding: 24px 18px;
}

.pirots4review-header {
padding: 12px 12px;
}

.pirots4review-brand img {
width: 172px;
}

.pirots4review-mobilecta {
min-height: 40px;
padding: 8px 12px;
font-size: 0.74rem;
}

.pirots4review-errorpage {
min-height: calc(100vh - 70px);
}

h1 {
font-size: 2rem;
}

table {
min-width: 560px;
}
}
