/* gracz.pl — Contact Modal R1 */
.contact-modal{
  width:min(760px,calc(100% - 28px));
  max-width:none;
  max-height:min(820px,calc(100dvh - 28px));
  padding:0;
  border:0;
  border-radius:24px;
  background:transparent;
  color:#f3f1ec;
  overflow:visible;
}
.contact-modal::backdrop{
  background:rgba(0,4,3,.82);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.contact-modal[open]{animation:contact-modal-in .2s ease-out}
@keyframes contact-modal-in{from{opacity:0;transform:translateY(12px) scale(.985)}}
.contact-modal__panel{
  position:relative;
  max-height:min(820px,calc(100dvh - 28px));
  overflow:auto;
  padding:30px 32px 28px;
  border:0;
  border-radius:24px;
  background:
    radial-gradient(circle at 86% 0,rgba(31,158,151,.24),transparent 40%),
    linear-gradient(160deg,#123732 0%,#0d2926 55%,#091f1d 100%);
  box-shadow:0 30px 90px rgba(0,0,0,.58);
}
.contact-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.035);
  color:#f3f1ec;
  font:500 24px/1 Arial,sans-serif;
  cursor:pointer;
}
.contact-modal__close:hover,.contact-modal__close:focus-visible{
  border-color:#f0bf55;color:#ffe3a0;background:rgba(240,191,85,.08)
}
.contact-modal__brand{
  display:inline-block;
  margin:0 0 16px;
  font-family:Montserrat,Arial,sans-serif;
  font-size:29px;
  font-weight:800;
  letter-spacing:-.045em;
  line-height:1;
  color:#fff;
}
.contact-modal__brand span{color:#f21a34}
.contact-modal__eyebrow{
  margin:0 0 8px;
  color:#f0bf55;
  font:800 11px/1.2 Montserrat,Arial,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.contact-modal h2{
  margin:0;
  max-width:620px;
  font:800 clamp(28px,4vw,40px)/1.08 Montserrat,Arial,sans-serif;
  letter-spacing:-1.2px;
  color:#f3f1ec;
}
.contact-modal__intro{
  margin:12px 0 23px;
  max-width:650px;
  color:#bdbab3;
  font-size:14px;
  line-height:1.65;
}
.contact-form{display:grid;gap:15px}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-field{display:grid;gap:7px}
.contact-field label,.contact-field__label{
  color:#e8e5de;
  font:700 12px/1.25 OpenSans,Arial,sans-serif;
}
.contact-field input,.contact-field select,.contact-field textarea{
  width:100%;
  border:1px solid rgba(111,211,205,.28);
  border-radius:12px;
  background:rgba(33,92,88,.34);
  color:#f3f1ec;
  font:400 14px/1.45 OpenSans,Arial,sans-serif;
  outline:none;
  transition:border-color .16s,box-shadow .16s,background .16s;
}
.contact-field input,.contact-field select{min-height:46px;padding:0 13px}
.contact-field textarea{height:170px;min-height:170px;max-height:170px;resize:none;overflow-y:auto;overscroll-behavior:contain;padding:12px 13px;scrollbar-width:thin;scrollbar-color:#f0bf55 rgba(255,255,255,.05)}
.contact-field select{color-scheme:dark}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#76817c}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{
  border-color:#78d8d1;
  background:rgba(42,108,103,.44);
  box-shadow:0 0 0 3px rgba(120,216,209,.12),0 0 18px rgba(120,216,209,.08);
}
.contact-field [aria-invalid="true"]{border-color:#e85b68!important;box-shadow:0 0 0 3px rgba(232,91,104,.10)!important}
.contact-field__meta{display:flex;justify-content:space-between;gap:10px;color:#7f8d87;font-size:11px}
.contact-form__check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:#aebbb5;
  font-size:12px;
  line-height:1.5;
}
.contact-form__check input{width:17px;height:17px;margin:1px 0 0;accent-color:#f0bf55;flex:0 0 auto}
.contact-form__check a{color:#ffe3a0}
.contact-form__honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form__status{
  min-height:21px;
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:#aebbb5;
}
.contact-form__status.is-error{color:#ff8d98}
.contact-form__status.is-success{color:#71e2c7}
.contact-form__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.contact-form__submit{
  min-height:48px;
  padding:0 24px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg,#ffe7a4 0%,#f5c55b 48%,#d99a2e 100%);
  color:#15130d;
  font:800 13px/1 Montserrat,Arial,sans-serif;
  box-shadow:0 10px 26px rgba(217,154,46,.22),inset 0 1px 0 rgba(255,255,255,.6);
  cursor:pointer;
}
.contact-form__submit:hover,.contact-form__submit:focus-visible{filter:brightness(1.06);transform:translateY(-1px)}
.contact-form__submit:disabled{opacity:.58;cursor:wait;transform:none}
.contact-form__mail{
  color:#bdbab3;
  font-size:12px;
}
.contact-form__mail a{color:#ffe3a0;text-decoration:none}
.contact-form__mail a:hover{text-decoration:underline}
.contact-form__privacy{
  padding-top:3px;
  color:#788680;
  font-size:11px;
  line-height:1.5;
}
.contact-form__privacy strong{color:#aebbb5}
body.contact-modal-open{overflow:hidden}
@media(max-width:640px){
  .contact-modal__panel{padding:25px 18px 22px;border-radius:19px}
  .contact-modal__close{top:12px;right:12px;width:38px;height:38px}
  .contact-modal__brand{font-size:26px}
  .contact-form__row{grid-template-columns:1fr}
  .contact-modal h2{padding-right:42px;font-size:27px}
  .contact-form__actions{align-items:stretch;flex-direction:column}
  .contact-form__submit{width:100%}
}
@media(prefers-reduced-motion:reduce){.contact-modal[open]{animation:none}}

/* R4 — turquoise scrollbar for the contact modal */
.contact-modal__panel{
  scrollbar-width:thin;
  scrollbar-color:#65d8d1 rgba(255,255,255,.06);
}
.contact-modal__panel::-webkit-scrollbar{width:10px}
.contact-modal__panel::-webkit-scrollbar-track{
  background:rgba(255,255,255,.05);
  border-radius:999px;
}
.contact-modal__panel::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#8fe7e2,#4fc7c0);
  border:2px solid rgba(9,31,29,.9);
  border-radius:999px;
}
.contact-modal__panel::-webkit-scrollbar-thumb:hover{
  background:#9cf0eb;
}


.contact-form__privacy a{
  color:#ffe3a0;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:rgba(240,191,85,.75);
  text-underline-offset:3px;
}
.contact-form__privacy a:hover,
.contact-form__privacy a:focus-visible{
  color:#f0bf55;
  text-decoration-color:#f0bf55;
}

.contact-field textarea::-webkit-scrollbar{width:10px}
.contact-field textarea::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
.contact-field textarea::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffe3a0,#f0bf55);border:2px solid rgba(3,8,6,.72);border-radius:999px}
.contact-field textarea::-webkit-scrollbar-thumb:hover{background:#ffe3a0}

/* R3 — compact modal + always-visible actions */
.contact-modal{
  width:min(680px,calc(100% - 36px))!important;
  max-height:min(720px,calc(100dvh - 84px))!important;
}
.contact-modal__panel{
  max-height:min(720px,calc(100dvh - 84px))!important;
  padding:22px 24px 20px!important;
  border-radius:20px!important;
  overflow-y:auto!important;
}
.contact-modal__close{
  top:12px!important;
  right:12px!important;
  width:38px!important;
  height:38px!important;
}
.contact-modal__brand{
  margin:0 0 8px!important;
  font-size:27px!important;
}
.contact-modal__eyebrow{margin:0 0 5px!important}
.contact-modal h2{
  font-size:clamp(26px,3.5vw,34px)!important;
  line-height:1.05!important;
}
.contact-modal__intro{
  margin:8px 0 14px!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.contact-form{gap:10px!important}
.contact-form__row{gap:10px!important}
.contact-field{gap:5px!important}
.contact-field input,.contact-field select{
  min-height:42px!important;
  padding:0 12px!important;
}
.contact-field textarea{
  height:120px!important;
  min-height:120px!important;
  max-height:120px!important;
  padding:10px 12px!important;
}
.contact-form__check{
  padding:9px 11px!important;
  font-size:11px!important;
  line-height:1.4!important;
}
.contact-form__status{
  min-height:18px!important;
  font-size:11px!important;
}
.contact-form__actions{
  position:sticky;
  bottom:-1px;
  z-index:4;
  margin-top:1px;
  padding:10px 0 2px;
  background:linear-gradient(180deg,rgba(13,41,38,0),#0d2926 34%,#0d2926 100%);
}
.contact-form__submit{
  min-height:44px!important;
  padding:0 22px!important;
}
.contact-form__privacy{
  font-size:10px!important;
  line-height:1.35!important;
  padding-top:0!important;
}
@media(max-width:640px){
  .contact-modal{
    width:min(94vw,620px)!important;
    max-height:calc(100dvh - 28px)!important;
  }
  .contact-modal__panel{
    max-height:calc(100dvh - 28px)!important;
    padding:18px 15px 15px!important;
  }
  .contact-modal__brand{font-size:24px!important}
  .contact-modal h2{font-size:24px!important}
  .contact-modal__intro{font-size:12px!important;margin-bottom:10px!important}
  .contact-field textarea{
    height:108px!important;
    min-height:108px!important;
    max-height:108px!important;
  }
}


/* GLOBAL FORUM NAV CTA — exact SEARCH R3 scrollbar teal */
.forum-trigger,
.rules-nav__dialog[data-modal="forum"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  height:34px!important;
  padding:0 14px!important;
  border:1px solid #56c8c1!important;
  border-radius:999px!important;
  background:#56c8c1!important;
  color:#041b18!important;
  box-shadow:0 6px 16px rgba(86,200,193,.20),inset 0 1px 0 rgba(255,255,255,.16);
  cursor:pointer;
}
.forum-trigger:hover,
.forum-trigger:focus-visible,
.rules-nav__dialog[data-modal="forum"]:hover,
.rules-nav__dialog[data-modal="forum"]:focus-visible{
  border-color:#56c8c1!important;
  background:#56c8c1!important;
  color:#041b18!important;
  box-shadow:0 8px 20px rgba(86,200,193,.30),0 0 0 2px rgba(86,200,193,.13);
  outline:0;
}


.contact-form__newsletter{
  border-color:rgba(86,200,193,.32)!important;
  background:linear-gradient(180deg,rgba(17,79,74,.38),rgba(10,58,54,.30))!important;
}
.contact-form__newsletter strong{
  display:block;
  margin-bottom:3px;
  color:#86eee7;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12px;
}
.contact-form__newsletter input{accent-color:#56c8c1!important}
.contact-form__newsletter a{color:#8ff0e9!important}


/* R7 — premium native category dropdown */
.contact-field select{
  color-scheme:dark!important;
  background:
    linear-gradient(180deg,rgba(24,78,71,.98),rgba(12,55,50,.98))!important;
  color:#eefaf7!important;
  border-color:rgba(98,218,207,.36)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 6px 18px rgba(0,0,0,.10)!important;
}
.contact-field select:hover{
  background:
    linear-gradient(180deg,rgba(30,92,83,.98),rgba(14,63,57,.98))!important;
}
.contact-field select option{
  background:#0d332e!important;
  color:#eefaf7!important;
  font:500 14px/1.5 OpenSans,Arial,sans-serif!important;
}
.contact-field select option:checked{
  background:#1f756c!important;
  color:#ffffff!important;
  font-weight:700!important;
}
.contact-field select option:disabled{
  background:#102823!important;
  color:#789891!important;
}


/* R8 — search-style contact modal proportions */
.contact-modal{
  width:min(900px,calc(100vw - 40px))!important;
  max-height:min(780px,calc(100dvh - 32px))!important;
}
.contact-modal__panel{
  max-height:min(780px,calc(100dvh - 32px))!important;
  padding:24px 28px 20px!important;
  border-radius:22px!important;
}
.contact-form__row{
  gap:14px!important;
}
.contact-field textarea{
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
}
.contact-form__actions{
  padding-top:11px!important;
  padding-bottom:4px!important;
}
@media(max-height:760px) and (min-width:641px){
  .contact-modal{
    max-height:calc(100dvh - 22px)!important;
  }
  .contact-modal__panel{
    max-height:calc(100dvh - 22px)!important;
    padding-top:18px!important;
    padding-bottom:16px!important;
  }
  .contact-modal__brand{margin-bottom:5px!important}
  .contact-modal__intro{margin-bottom:10px!important}
  .contact-field textarea{
    height:104px!important;
    min-height:104px!important;
    max-height:104px!important;
  }
}
@media(max-width:640px){
  .contact-modal{
    width:min(96vw,900px)!important;
    max-height:calc(100dvh - 18px)!important;
  }
  .contact-modal__panel{
    max-height:calc(100dvh - 18px)!important;
  }
}
