/* Pirates Casino — wood / gold / teal theme (from Pirate-src mock) */
html, body { margin: 0; padding: 0; background: #0a1a20; }
body.pc-body {
  min-height: 100%;
  overflow-x: hidden;
  font-family: Spectral, Georgia, serif;
  color: #EBDCC0;
  background:
    radial-gradient(120% 70% at 50% -8%, rgba(46,110,120,.45), transparent 62%),
    repeating-linear-gradient(90deg, rgba(0,0,0,.2) 0 2px, transparent 2px 8px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 130px),
    linear-gradient(180deg, #0c2329 0%, #0a1a20 38%, #120f0b 100%);
}
* { box-sizing: border-box; }
a { color: #E8B33C; text-decoration: none; }
a:hover { color: #FBE08C; }
a:focus-visible, button:focus-visible, [data-pc-cta]:focus-visible {
  outline: 2px solid #E8B33C; outline-offset: 2px;
}
::selection { background: #8d2b1f; color: #fff; }
summary::-webkit-details-marker { display: none; }

.pc-content.main_container,
.main_container.pc-content {
  width: 100% !important; max-width: none !important; margin: 0 !important;
  padding: 0 !important; float: none !important; background: transparent !important;
  border: 0 !important; box-shadow: none !important;
}

@keyframes pcMarquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
@keyframes pcSway {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-8px) rotate(2deg); }
}

.pc-shell { position: relative; overflow-x: hidden; min-height: 100vh; }

/* Header */
.pc-header {
  position: sticky; top: 0; z-index: 40;
  background: linear-gradient(180deg, #2a1b10 0%, #1a1008 100%);
  border-bottom: 3px solid #7d5a22;
  box-shadow: 0 10px 26px rgba(0,0,0,.55);
}
.pc-header-inner {
  display: flex; flex-wrap: nowrap; align-items: center;
  gap: clamp(8px, 2vw, 28px);
  padding: 8px clamp(10px, 3vw, 40px);
}
.pc-logo-link {
  flex: 0 0 auto; width: clamp(104px, 16vw, 200px); height: clamp(34px, 4.4vw, 56px);
  display: block; overflow: hidden;
}
.pc-logo { width: 100%; height: 100%; object-fit: contain; display: block; }
.pc-logo--header { object-position: left center; }

.pc-nav-slot--desktop { flex: 1 1 auto; min-width: 0; }
.pc-nav-slot--desktop .pc-main-nav {
  display: flex; justify-content: center; align-items: center;
  gap: clamp(8px, 1.6vw, 26px); flex-wrap: wrap;
}
.pc-nav-slot--desktop .pc-nav-link {
  font-family: Cinzel, serif; font-weight: 700;
  font-size: clamp(12px, 1.05vw, 15px); letter-spacing: .09em;
  text-transform: uppercase; color: #F0DDB2; padding: 8px 4px;
  border-bottom: 2px solid transparent;
}
.pc-nav-slot--desktop .pc-nav-link:hover {
  color: #E8B33C; border-bottom-color: #E8B33C;
}

.pc-header-actions {
  flex: 0 0 auto; display: flex; align-items: center; gap: 8px; margin-left: auto;
}
.pc-burger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 46px; height: 44px; background: transparent;
  border: 2px solid #7d5a22; border-radius: 6px; cursor: pointer; padding: 0 10px;
}
.pc-burger span {
  display: block; height: 2px; background: #F0DDB2; border-radius: 2px;
}

.pc-nav-slot--mobile {
  display: none; flex-direction: column; gap: 2px;
  padding: 6px clamp(12px, 3vw, 40px) 12px;
  background: linear-gradient(180deg, #1a1008, #120b04);
  border-bottom: 3px solid #7d5a22;
  box-shadow: 0 12px 24px rgba(0,0,0,.5);
}
.pc-nav-slot--mobile[hidden] { display: none !important; }
.pc-header.is-open .pc-nav-slot--mobile:not([hidden]) { display: flex; }
.pc-nav-slot--mobile .pc-main-nav {
  display: flex; flex-direction: column; gap: 2px;
}
.pc-nav-slot--mobile .pc-nav-link {
  font-family: Cinzel, serif; font-weight: 700; font-size: 15px;
  letter-spacing: .09em; text-transform: uppercase; color: #F0DDB2;
  padding: 13px 6px; border-bottom: 1px solid rgba(232,179,60,.2);
}

/* Buttons */
.pc-btn {
  font-family: Cinzel, serif; cursor: pointer;
  letter-spacing: .08em; text-transform: uppercase;
  display: inline-flex; align-items: center; justify-content: center;
  transition: filter .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.pc-btn--login {
  font-weight: 700; font-size: clamp(11px, 1vw, 14px); color: #F0DDB2;
  background: transparent; border: 2px solid #7d5a22; border-radius: 6px;
  padding: 10px clamp(10px, 1.4vw, 18px); min-height: 44px;
}
.pc-btn--login:hover { border-color: #E8B33C; color: #FBE08C; }
.pc-btn--signup {
  font-weight: 900; font-size: clamp(11px, 1vw, 14px); color: #2a1608;
  background: linear-gradient(180deg, #F6D275 0%, #E0A52C 52%, #A9741C 100%);
  border: 2px solid #4a2d0c; border-radius: 6px;
  padding: 10px clamp(11px, 1.4vw, 18px); min-height: 44px; white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 4px 12px rgba(0,0,0,.45);
}
.pc-btn--signup:hover { filter: brightness(1.08); color: #2a1608; }
.pc-btn--plunder {
  font-weight: 900; font-size: clamp(14px, 1.5vw, 19px); letter-spacing: .14em;
  color: #2a1608;
  background: linear-gradient(180deg, #F8D882 0%, #E0A52C 50%, #9E6A17 100%);
  border: 3px solid #4a2d0c; border-radius: 10px;
  padding: clamp(14px, 1.7vw, 20px) clamp(26px, 4vw, 52px); min-height: 52px;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.6), 0 10px 26px rgba(0,0,0,.6);
}
.pc-btn--plunder:hover { filter: brightness(1.1); transform: translateY(-2px); color: #2a1608; }
.pc-btn--more {
  font-weight: 900; font-size: clamp(13px, 1.2vw, 17px); letter-spacing: .14em;
  color: #F7DE9A;
  background: linear-gradient(180deg, #3a2413, #1e1409);
  border: 3px solid #B5852C; border-radius: 10px;
  padding: 16px clamp(28px, 4vw, 54px); min-height: 52px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 8px 20px rgba(0,0,0,.5);
}
.pc-btn--more:hover { border-color: #F0C765; color: #FBE08C; }

/* Hero */
.pc-hero {
  position: relative; width: 100%;
  min-height: clamp(340px, 40vw, 600px);
  display: grid; place-items: center;
  background-image: var(--pc-hero); background-size: cover; background-position: center;
  border-bottom: 3px solid #7d5a22;
}
.pc-hero-overlay {
  position: absolute; inset: 0;
  background: radial-gradient(60% 70% at 50% 50%, rgba(6,18,24,.34) 0%, rgba(6,18,24,.2) 55%, rgba(6,18,24,.42) 100%);
}
.pc-hero-copy {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: center;
  gap: clamp(18px, 3vw, 34px);
  padding: clamp(40px, 7vw, 90px) clamp(18px, 5vw, 40px);
  text-align: center; max-width: 980px;
}
.pc-hero-title {
  margin: 0; font-family: "Pirata One", Cinzel, serif; font-weight: 400;
  font-size: clamp(34px, 6.6vw, 78px); line-height: 1.02; letter-spacing: .01em;
  color: #F7DE9A; text-wrap: balance;
  text-shadow: 0 3px 0 #4a2d0c, 0 6px 26px rgba(0,0,0,.85);
}

/* Dividers */
.pc-divider {
  display: flex; align-items: center; gap: clamp(12px, 2.5vw, 28px);
  padding: clamp(24px, 4vw, 48px) clamp(14px, 4vw, 48px) clamp(10px, 2vw, 20px);
}
.pc-divider-line {
  flex: 1; height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, transparent, rgba(232,179,60,.15) 30%, #B5852C);
}
.pc-divider-line--rev {
  background: linear-gradient(270deg, transparent, rgba(232,179,60,.15) 30%, #B5852C);
}
.pc-skull {
  flex: 0 0 auto; height: auto;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,.7));
  animation: pcSway 6s ease-in-out infinite;
}
.pc-skull--1 { width: clamp(52px, 8vw, 96px); }
.pc-skull--2 { width: clamp(44px, 6.5vw, 78px); animation-duration: 7s; }

/* Section titles */
.pc-section-title {
  margin: 0 0 clamp(14px, 2vw, 22px);
  padding: 0 clamp(14px, 2vw, 24px);
  text-align: center;
  font-family: "Pirata One", serif; font-weight: 400;
  font-size: clamp(26px, 3.6vw, 46px); color: #F0C765;
  letter-spacing: .02em; text-shadow: 0 2px 0 #3a230a;
}
.pc-section-title--lg {
  margin: 0 0 clamp(18px, 2.6vw, 30px);
  font-size: clamp(30px, 4.6vw, 60px); text-shadow: 0 3px 0 #3a230a;
}

/* Providers marquee — gold mask */
.pc-providers { padding: 0 clamp(0px, 2vw, 24px) clamp(10px, 2vw, 20px); }
.pc-prov-wrap {
  overflow: hidden; padding: clamp(12px, 2vw, 22px) 0;
  background: linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.12));
  border-top: 2px solid rgba(232,179,60,.35);
  border-bottom: 2px solid rgba(232,179,60,.35);
}
.pc-prov-row {
  display: flex; width: max-content; align-items: center;
  gap: clamp(26px, 3.4vw, 56px);
  animation: pcMarquee 68s linear infinite;
}
.pc-prov-wrap:hover .pc-prov-row { animation-play-state: paused; }
.pc-prov {
  flex: 0 0 auto;
  width: clamp(96px, 10vw, 150px); height: clamp(36px, 4vw, 54px);
  background: linear-gradient(180deg, #F6D98C 0%, #E0A52C 55%, #B07A1E 100%);
  -webkit-mask: var(--pc-mask) center / contain no-repeat;
  mask: var(--pc-mask) center / contain no-repeat;
}

/* Games */
.pc-slots { padding: clamp(6px, 1.5vw, 16px) clamp(14px, 4vw, 48px) clamp(20px, 3vw, 32px); }
.pc-games-grid {
  display: grid; gap: clamp(10px, 1.4vw, 20px);
  max-width: 1520px; margin: 0 auto;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.pc-game {
  position: relative; display: block; cursor: pointer;
  border: 2px solid #7d5a22; border-radius: 12px; overflow: hidden;
  background: #140f09; box-shadow: 0 8px 20px rgba(0,0,0,.5);
  transition: border-color .18s ease, transform .18s ease;
}
.pc-game:hover { border-color: #E8B33C; transform: translateY(-4px); }
.pc-game.is-hidden { display: none !important; }
.pc-game img {
  display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover;
}
.pc-more-wrap {
  display: flex; justify-content: center; padding-top: clamp(20px, 3vw, 36px);
}
.pc-more-wrap.is-hidden { display: none !important; }

/* Content parchment */
.pc-prose-section {
  padding: clamp(6px, 1.5vw, 16px) clamp(14px, 4vw, 48px) clamp(20px, 3vw, 32px);
}
.pc-content-panel {
  max-width: 1080px; margin: 0 auto;
  padding: clamp(22px, 4vw, 64px) clamp(20px, 4vw, 66px);
  border: 3px solid #6b4a18; border-radius: 14px;
  background: linear-gradient(180deg, #EFE0BC 0%, #E3D2A8 45%, #D8C393 100%);
  box-shadow: 0 18px 44px rgba(0,0,0,.55), inset 0 0 70px rgba(140,100,45,.28);
  color: #2E2013;
}
.pc-content { font-size: clamp(16px, 1.25vw, 19px); line-height: 1.75; color: #2E2013; }
.pc-content h1,
.pc-content h2 {
  margin: 0 0 .5em; font-family: "Pirata One", serif; font-weight: 400;
  font-size: clamp(28px, 4vw, 52px); line-height: 1.05; color: #5A3310; text-wrap: balance;
}
.pc-content h3 {
  margin: 1.6em 0 .5em; font-family: Cinzel, serif; font-weight: 900;
  font-size: clamp(19px, 1.8vw, 26px); letter-spacing: .02em; color: #6B3E13;
  border-bottom: 2px solid rgba(107,74,24,.35); padding-bottom: .35em;
}
.pc-content p { margin: 0 0 1.1em; text-wrap: pretty; }
.pc-content a { color: #8d2b1f; }
.pc-content a:hover { color: #5A3310; }
.pc-content ul, .pc-content ol {
  margin: 0 0 1.3em; padding-left: 1.35em; line-height: 1.8;
}
.pc-content li { margin-bottom: .4em; }
.pc-content blockquote {
  margin: 1.6em 0; padding: clamp(16px, 2vw, 26px) clamp(18px, 2.4vw, 32px);
  border-left: 6px solid #9E2B22; background: rgba(94,52,16,.1);
  font-style: italic; font-size: clamp(17px, 1.4vw, 22px); line-height: 1.65; color: #4A2C10;
}
.pc-content blockquote p { margin: 0; color: inherit; }
.pc-content table {
  width: 100%; border-collapse: collapse; font-size: clamp(14px, 1.1vw, 17px);
}
.pc-content thead tr,
.pc-content table th {
  text-align: left; padding: 12px 14px; background: #5A3310; color: #F3E2BA;
  font-family: Cinzel, serif; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; font-size: .85em; border: 1px solid #4A2C10;
}
.pc-content table td {
  padding: 11px 14px; border: 1px solid rgba(90,51,16,.35); color: #2E2013;
}
.pc-content table tbody tr:nth-child(odd) { background: rgba(255,255,255,.28); }
.pc-content details {
  border: 2px solid rgba(107,74,24,.45); border-radius: 10px;
  background: rgba(255,255,255,.3); overflow: hidden; margin: 0 0 10px;
}
.pc-content summary {
  cursor: pointer; list-style: none;
  padding: 14px clamp(14px, 1.8vw, 20px);
  font-family: Cinzel, serif; font-weight: 700;
  font-size: clamp(15px, 1.2vw, 18px); color: #5A3310;
}
.pc-content details > *:not(summary) {
  padding: 0 clamp(14px, 1.8vw, 20px) 16px;
  font-size: clamp(15px, 1.15vw, 18px); line-height: 1.7;
}

@media (max-width: 768px) {
  .pc-content table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* Winners */
.pc-winners { padding: 0 0 clamp(20px, 3vw, 34px); }
.pc-winners .pc-section-title { padding: 0 clamp(14px, 4vw, 48px); }
.pc-marquee-wrap {
  overflow: hidden; padding: clamp(12px, 1.6vw, 18px) 0;
  background: linear-gradient(180deg, rgba(0,0,0,.4), rgba(0,0,0,.16));
  border-top: 2px solid rgba(232,179,60,.35);
  border-bottom: 2px solid rgba(232,179,60,.35);
}
.pc-marquee {
  display: flex; width: max-content; align-items: stretch;
  gap: clamp(10px, 1.4vw, 18px);
  animation: pcMarquee 46s linear infinite;
}
.pc-marquee-wrap:hover .pc-marquee { animation-play-state: paused; }
.pc-win {
  flex: 0 0 auto; display: flex; align-items: center; gap: 12px;
  padding: 8px 16px 8px 8px;
  border: 2px solid #7d5a22; border-radius: 10px;
  background: linear-gradient(180deg, #2a1b10, #170f07);
  box-shadow: 0 6px 16px rgba(0,0,0,.45);
}
.pc-win img {
  width: 42px; height: 56px; object-fit: cover; border-radius: 6px;
  border: 1px solid #7d5a22; display: block;
}
.pc-win-meta { display: flex; flex-direction: column; gap: 3px; }
.pc-win-nick {
  font-family: Cinzel, serif; font-weight: 700; font-size: 14px;
  color: #F0DDB2; letter-spacing: .03em;
}
.pc-win-amount {
  font-family: Cinzel, serif; font-weight: 900; font-size: 16px;
  color: #F0C765; letter-spacing: .02em;
}

/* Footer */
.pc-footer {
  margin-top: clamp(20px, 3vw, 40px);
  padding: clamp(28px, 4vw, 56px) clamp(14px, 4vw, 48px) clamp(24px, 3vw, 40px);
  background: linear-gradient(180deg, #1a1008 0%, #0d0805 100%);
  border-top: 3px solid #7d5a22;
}
.pc-footer-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; flex-direction: column; align-items: center;
  gap: clamp(22px, 3vw, 38px);
}
.pc-footer-logo-link {
  width: clamp(150px, 18vw, 220px); height: clamp(40px, 5vw, 60px); display: block;
}
.pc-logo--footer { object-position: center; }
.pc-nav-slot--footer { display: flex; justify-content: center; width: 100%; }
.pc-nav-slot--footer .pc-footer-nav {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: 11px 22px;
}
.pc-footer-link {
  font-family: Cinzel, serif; font-weight: 700;
  font-size: clamp(13px, 1.1vw, 16px); letter-spacing: .1em;
  text-transform: uppercase; color: #F0DDB2;
}
.pc-footer-link:hover { color: #E8B33C; }
.pc-pay-row {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: clamp(16px, 2.6vw, 40px);
  padding: clamp(14px, 2vw, 22px) 0;
  border-top: 1px solid rgba(232,179,60,.22);
  border-bottom: 1px solid rgba(232,179,60,.22);
  width: 100%;
}
.pc-pay {
  flex: 0 0 auto;
  width: clamp(56px, 6vw, 78px); height: clamp(26px, 3vw, 36px);
  background: linear-gradient(180deg, #F6D98C 0%, #E0A52C 55%, #B07A1E 100%);
  -webkit-mask: var(--pc-mask) center / contain no-repeat;
  mask: var(--pc-mask) center / contain no-repeat;
}
.pc-sec-row {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: clamp(18px, 3vw, 44px);
}
.pc-sec {
  height: clamp(28px, 3.2vw, 42px); width: auto; max-width: 150px;
  object-fit: contain; opacity: .78; display: block;
}
.pc-sec:hover { opacity: 1; }
.pc-rg {
  margin: 0; max-width: 760px; text-align: center;
  font-size: clamp(12px, 1vw, 14px); line-height: 1.7; color: #8E7B5C;
}

@media (prefers-reduced-motion: reduce) {
  .pc-marquee, .pc-prov-row, .pc-skull { animation: none !important; }
}

@media (max-width: 1039px) {
  .pc-games-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 959px) {
  .pc-nav-slot--desktop { display: none !important; }
  .pc-burger { display: flex; }
}
@media (max-width: 759px) {
  .pc-games-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 619px) {
  .pc-btn--login { display: none; }
  .pc-games-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 519px) {
  .pc-games-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
