html { overflow-y: scroll; }

body { font-family: system-ui, sans-serif; background: linear-gradient(lightblue,white); background-attachment: fixed; margin:0; color: #fff; }

#game { width: 100%; max-width: 1000px; margin: auto; padding: 1rem; text-align: center; }

#game-line { display: flex; align-items: flex-start;  }
#game-line span { font-weight: bold }
#game-line a:link { text-decoration:none }
#game-line span a:hover { color:red }

h3,h2  { font-family: 'Bagel Fat One'; display: inline-block;  margin:0 0 0 auto;  }

h3,h2 a { text-decoration: none; color: inherit; }
/*h3:hover,h2:hover,h1:hover a { color: blue; } */
h3:hover,h2:hover,h1:hover a:hover { color: #0066ff; }

/*h1 { font-family: 'Titan One' } */
/*h1 { font-family: 'Bungee' } */
h1 { font-family: 'Bagel Fat One'; font-size: 3em; padding: 0px; margin: 0; line-height: 1; }

#status { display: flex; justify-content: space-around; background: rgba(0, 0, 0, 0.4); padding: 10px; border-radius: 8px; margin-bottom: 10px; }

#table {
  position: relative;
  background: #06661e;
  /*border-radius: 50%; */
  border-radius: 100px;
  margin: 0 auto;
  height: 640px;
  width: 900px;
  box-shadow: inset 0 0 50px rgba(0,0,0,0.5);
  /*border: 10px solid #000; */
  border: 4px solid darkorange;
}

/* Add this to your existing style.css */
.player-stats {
  display: inline-block;
  background: rgba(0,0,0,0.5);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.9rem;
  color: #f1c40f;
  margin-left: 5px;
}

.image-player img { width:55px; height:auto;}

.player-area.left   div.image-player { position: absolute; top:50%; left:-75px }
.player-area.left   div.image-player  span  { display:block }

.player-area.right  div.image-player { position: absolute; top:50%; right:-60px }
.player-area.right  div.image-player  span { display:block }

.player-area.top    div.label,div.image-player { display: inline-block; }
.player-area.bottom div.label,div.image-player { display: inline-block; }

.player-area { position: absolute; }
.top    { top: 0px;  left: 50%; transform: translateX(-50%); }
.bottom { bottom: 15px; left: 50%; transform: translateX(-50%); }
/*.bottom { bottom: -50px; left: 50%; transform: translateX(-50%); } */
.left   { left: 150px;  top: 50%; transform: translateY(-50%); }
.right  { right: 140px; top: 50%; transform: translateY(-50%); }

.hand.vertical-stack { width: 75px; min-height: 110px; display: block; }
.hand.vertical-stack img { display: block; margin-bottom: -85px; }
.hand:not(.vertical-stack) { white-space: nowrap; min-height: 110px; }
.hand:not(.vertical-stack) img { display: inline-block; margin-right: -35px; }
/*.hand:not(.vertical-stack) img { display: inline-block; margin-right: -15px; } */

.hand img { width: 65px;  border-radius: 4px; position: relative; box-shadow: 1px 1px 4px rgba(0,0,0,0.3); } 
/* .hand img { width: 70px; height: 105px; border-radius: 4px; position: relative; box-shadow: 1px 1px 4px rgba(0,0,0,0.3); } */
/*.hand img.playable:hover { transform: translateY(-10px); z-index: 100; cursor: pointer; } */

#trick-center {
  position: absolute;
  top: 50%; left: 50%;
  /*transform: translate(-50%, -50%); */
  width: 200px; height: 200px;
  /*margin-top:30px;*/
  margin-top:-100px; margin-left: -100px; 
}

/* Optional: Add a highlight to the winner's area during collection */
.winner-glow {
  box-shadow: 0 0 20px #f1c40f !important;
  transition: box-shadow 0.3s;
}


.trick-slot { position: absolute; width: 65px; height: 95px; border: 1px dashed rgba(255,255,255,0.1); }
#trick-2 { top: 0; left: 67px; }
#trick-0 { bottom: 0; left: 67px; }
#trick-1 { top: 52px; left: 0; }
#trick-3 { top: 52px; right: 0; }


/*
.trick-slot { position: absolute; width: 70px; height: 105px; border: 1px dashed rgba(255,255,255,0.2); }
#trick-2 { top: 0; left: 50%; transform: translateX(-50%); }
#trick-0 { bottom: 0; left: 50%; transform: translateX(-50%); }
#trick-1 { left: 0; top: 50%; transform: translateY(-50%); }
#trick-3 { right: 0; top: 50%; transform: translateY(-50%); }
*/


.played-card { display: block; width: 100%; height: 100%; border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.5); transition: none !important; }
.temp-deal-card { width: 70px; height: 105px; border-radius: 4px; box-shadow: 1px 1px 5px rgba(0,0,0,0.5); pointer-events: none; }

.modal { position: absolute; z-index: 2000; left: 0; top: 0px; width: 100%; height: 100%; background: rgba(0,0,0,0); display: none; justify-content: center; align-items: center;} 

/*.modal { position: fixed; z-index: 2000; left: 50%; top: 50%; width: 50%; height: 50%; background: rgba(0,0,0,0); display: none; justify-content: center; align-items: center;}*/
.modal-content { background: #1e3799; padding: 25px; border-radius: 12px; border: 3px solid #f1c40f; text-align: center; }
#bid-buttons { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; margin-top: 15px; }
#bid-buttons button { padding: 10px; background: #f1c40f; border: none; font-weight: bold; border-radius: 4px; cursor: pointer; }

/*#new-round-btn { margin-top: 15px; padding: 10px 20px; background: #f1c40f; border: none; font-weight: bold; border-radius: 5px; cursor: pointer; } */

#new-round-btn { position: absolute; bottom: 15px; right: 55px;  margin-top: 15px; padding: 10px 20px; background: #f1c40f; border: none; font-weight: bold; border-radius: 5px; cursor: pointer; }

.about { width:75%; margin:0 auto; color:black;  }

.about h2, .about h3, .about h4 {
    font-family: 'Bagel Fat One';
    color:#228B22; /* forest green */
}

/* ── Card validity feedback ─────────────────────────── */

@keyframes shake {
  0%   { transform: translateX(0); }
  15%  { transform: translateX(-8px); }
  30%  { transform: translateX(7px); }
  45%  { transform: translateX(-6px); }
  60%  { transform: translateX(5px); }
  75%  { transform: translateX(-3px); }
  90%  { transform: translateX(2px); }
  100% { transform: translateX(0); }
}

.shake {
  animation: shake 0.45s ease;
}

/* Valid playable cards — subtle lift + gold glow */
.hand img.playable {
  transform: translateY(-10px);
  z-index: 100;
  cursor: pointer;
  filter: drop-shadow(0 0 6px #f1c40f) drop-shadow(0 0 12px rgba(241,196,15,0.5));
  transition: transform 0.15s ease, filter 0.15s ease;
}

/* Invalid cards — dimmed so valid ones stand out */
.hand img.unplayable {
  opacity: 0.45;
  cursor: not-allowed;
  transition: opacity 0.15s ease;
}

.scores-modal {
  position:absolute; top: 25%; left: 25%; border-radius: 12px; border: 3px solid #f1c40f; text-align: center;
  width:50%;
  height:auto;
  background-color:blue;
  z-index: 3000;
  display:none;
}

#round-scores-modal img {
  /*  background-color:blue; */
    width:45%;
    height:auto;
    border:black;
}

span#btn-close-score-modal {
    position:absolute;
    right:35px;
    bottom:10px;
    border:solid brown;
    background-color:yellow;
    color:blue; 
    font-weight:bold; border-radius: 5px;
}

#winlossA,
#winlossB {
    display:flex;
    align-items:center;
}

.pl_imgs,
#score-top,
#score-bottom {
    flex:1;
    min-width:0;
}

.pl_imgs {
    display:flex;
    justify-content:center;
    gap:10px;
}

#game-over img {
    width:35%;
    height:auto;
    border:black;
}

#winners {
    display:flex;
    align-items:center;
}

#score-winners {
    font-weight:bold;
    font-size:1.2em;
}

span#btn-close-winners-modal {
    position:absolute;
    right:35px;
    bottom:10px;
    border:solid brown;
    background-color:yellow;
    color:blue;
    font-weight:bold; border-radius: 5px;
}

/* ── Spades broken announcement ─────────────────────── */

@keyframes spadesBreakFade {
  0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.4); }
  25%  { opacity: 1; transform: translate(-50%, -50%) scale(1.3); }
  /*25%  { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } */
  60%  { opacity: 1; transform: translate(-50%, -50%) scale(1.0); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); }
}

#spades-broken-flash {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 7000;
  pointer-events: none;
  display: none;
  text-align: center;
  line-height: 1.1;
}

#spades-broken-flash.active {
  display: block;
  animation: spadesBreakFade 1.6s ease forwards;
}

#spades-broken-flash .spade-icon {
  /*font-size: 4rem; */
  font-size: 10rem;
  display: block;
  filter: drop-shadow(0 0 10px #f1c40f) drop-shadow(0 0 24px rgba(241,196,15,0.6));
  color: #1a1a2e;
  -webkit-text-stroke: 2px #f1c40f;
}

#spades-broken-flash .spade-label {
  font-family: 'Bagel Fat One', sans-serif;
  /*font-size: 1rem;*/
  font-size: 1.4rem;
  color: #f1c40f;
  letter-spacing: 0.15em;
  text-shadow: 0 0 8px rgba(241,196,15,0.8);
  display: block;
}

.footer
{
    margin: 0 auto;
    color: black;
    width: 100%;
    text-align:center;
}

.footer h4, .footer h5 {
    margin: 0 auto;
/*    font-family: 'Bagel Fat One'; */
    font-family: courier;
}

/* mobile edit to negate mobile html elements 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*/

#menu-toggle, #label-burger, #nav-hamburger {
    display:none;
}

#mobile-status {
    display:none;
}

/* 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
mobile edit end
*/



/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
 ADS START                    
*/

/* mobile edits */

#gdc_mobile_ad {
    display:none;
}

/* mobile edits */

.gdc_ads h4 {
    margin-bottom:0px;
    margin-top:0px;
}

.gdc_ads {
    width:160px;
    height:i300px;
    text-align:center;
}

.gdc_ads_no_img {
    width:150px;
    height:400px;
    text-align:center;
    border: dashed thin;
    display:none;
}

#gdc_ads_left, #gdc_no_ads_left {
    margin-left:40px;
    margin-top: 150px;
    float:left;
}

#gdc_ads_right, #gdc_no_ads_right {
    margin-right:40px;
    margin-top: 150px;
    float:right;
}

/* ADS END
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*/

