.card{
  position:relative;
  border:1px solid rgba(196,178,150,.26);
  background:linear-gradient(160deg, rgba(24,27,35,.76), rgba(16,20,28,.7));
  border-radius:var(--radius);
  box-shadow:0 16px 34px rgba(7,9,14,.36);
  padding:1.15rem;
  color:#e2ddd3;
  overflow:hidden;
  backdrop-filter:blur(10px);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.card h3,.card h4{
  color:#f5f1e8;
}
.card p,.card li,.card span{
  color:#ddd6c8;
}
.card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg, rgba(216,178,115,.9), rgba(140,164,149,.78));
  opacity:.7;
}
.hero .card{
  background:rgba(8,14,24,.74);
  border-color:rgba(214,228,255,.16);
  backdrop-filter:blur(2px);
  box-shadow:0 10px 26px rgba(0,0,0,.26);
}
.hero-data-panel{
  min-height:320px;
  display:grid;
  align-content:start;
  gap:.7rem;
}
.hero-data-panel h3{color:#f1f6ff}
.hero-data-panel .chart{
  min-height:190px;
  border:1px solid rgba(214,228,255,.2);
  background:linear-gradient(180deg, rgba(8,16,28,.82), rgba(10,20,34,.68));
  box-shadow:none;
}
.hero-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
}
.hero-kpis > div{
  background:rgba(9,16,28,.44);
  border:1px solid rgba(214,228,255,.18);
  border-radius:12px;
  padding:.55rem .6rem;
}
.hero-kpis span{
  display:block;
  font-size:.72rem;
  color:#c0cde3;
}
.hero-kpis strong{
  font-size:1.2rem;
  color:#f2f7ff;
}
.card:hover{
  transform:translateY(-2px);
  border-color:rgba(220,186,130,.58);
  box-shadow:0 20px 40px rgba(6,9,14,.48);
}

.card-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card-grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.badges{display:flex;gap:.8rem;flex-wrap:wrap}
.badge{
  border:1px solid rgba(43,103,246,.22);
  border-radius:999px;
  padding:.45rem .8rem;
  font-weight:700;
  background:linear-gradient(180deg,#fff,#f5f9ff);
}
.carousel{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1rem;
}
.two-col{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}

.table-wrap{
  overflow-x:auto;
  border:1px solid rgba(151,182,236,.24);
  border-radius:16px;
  background:linear-gradient(160deg, rgba(12,20,34,.86), rgba(9,15,26,.76));
  backdrop-filter:blur(6px);
}
.tint .card,.tint .table-wrap{
  background:linear-gradient(160deg, rgba(12,20,34,.86), rgba(9,15,26,.76));
}
.data-table{
  width:100%;
  border-collapse:collapse;
  min-width:620px;
  font-family:"JetBrains Mono",monospace;
  font-size:.84rem;
}
.data-table thead th{
  position:sticky;
  top:0;
  background:rgba(9,16,28,.92);
  z-index:2;
  border-bottom:1px solid rgba(101,192,255,.36);
  color:#f3f7ff;
}
.data-table th,.data-table td{
  padding:.76rem;
  border-bottom:1px solid rgba(151,182,236,.2);
  text-align:left;
  color:#d6e1f3;
}
.data-table tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.data-table tbody tr:hover{background:rgba(101,192,255,.08)}

.filter-bar{
  display:grid;
  gap:.8rem;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.filter-bar input,.filter-bar select{
  width:100%;
  border:1px solid rgba(151,182,236,.28);
  background:rgba(8,14,24,.74);
  color:#ecf3ff;
  border-radius:12px;
  padding:.68rem .74rem;
  margin-top:.3rem;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.filter-bar input:focus,.filter-bar select:focus{
  border-color:rgba(102,201,255,.62);
  box-shadow:0 0 0 3px rgba(102,201,255,.14);
}

.stats-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.stat-card{
  border:1px solid rgba(151,182,236,.24);
  border-radius:16px;
  background:linear-gradient(160deg, rgba(14,22,36,.86), rgba(10,16,28,.74));
  padding:.9rem;
  display:grid;
  gap:.4rem;
}
.stat-card span{color:#c7d6ee}
.stat-card strong{
  font-size:1.6rem;
  color:#f2f7ff;
}

.accordion details,.accordion .acc-item{
  border:1px solid rgba(151,182,236,.24);
  border-radius:14px;
  padding:.82rem 1rem;
  margin-bottom:.65rem;
  background:linear-gradient(160deg, rgba(14,22,36,.84), rgba(10,16,28,.74));
  color:#d6e1f3;
}
.accordion summary,.acc-trigger{
  cursor:pointer;
  font-weight:700;
  color:#f2f7ff;
}
.acc-panel{overflow:hidden;max-height:0}

.tabs{display:flex;gap:.5rem;flex-wrap:wrap}
.tabs button{
  border:1px solid rgba(151,182,236,.28);
  border-radius:999px;
  background:rgba(10,18,30,.72);
  color:#e7efff;
  padding:.5rem .92rem;
  cursor:pointer;
  transition:all .2s ease;
}
.tabs button:hover{border-color:rgba(110,203,255,.58)}
.tabs .is-active{
  background:linear-gradient(135deg,#12a8ff,#6f5bff);
  color:#f7fbff;
  border-color:rgba(144,200,255,.82);
}

.newsletter-form{display:flex;gap:.7rem;flex-wrap:wrap}
.newsletter-form input{
  flex:1 1 220px;
  border:1px solid rgba(151,182,236,.28);
  border-radius:12px;
  padding:.78rem 1rem;
  background:rgba(8,14,24,.74);
  color:#edf4ff;
}
.toast{
  position:fixed;
  right:1rem;
  bottom:1rem;
  background:#0e1726;
  color:#fff;
  padding:.75rem 1rem;
  border-radius:12px;
  box-shadow:var(--shadow-hover);
  z-index:600;
}

@media (max-width:780px){.two-col{grid-template-columns:1fr}}

/* Home strict grid alignment (no tetris layout) */
.home-grid{
  align-items:stretch;
}
.home-grid .card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.home-grid .card h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.55em;
}
.home-grid .card > p,
.home-grid .card > ul{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-grid .card .text-link{
  margin-top:auto;
}
.card a{
  color:#f0cf90;
  text-decoration:underline;
  text-underline-offset:2px;
}

.home-grid-races{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.home-grid-tournaments{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.home-grid-tournaments .card{
  min-height:100%;
}
.home-grid-breeds{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1rem;
  align-items:stretch;
}
.home-grid-breeds .card{
  position:relative;
  grid-column:span 2;
  max-width:none;
  min-height:250px;
  display:flex;
  flex-direction:column;
  gap:.66rem;
  padding:1.2rem 1.1rem;
}
.home-grid-breeds .breed-origin{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:.2rem;
  padding-right:3.8rem;
}
.home-grid-breeds .breed-flag{
  position:absolute;
  top:.9rem;
  right:.9rem;
  width:2.7rem;
  height:2.7rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(95,182,255,.16);
  border:1px solid rgba(130,201,255,.32);
  font-size:1.75rem;
  flex:0 0 auto;
}
.home-grid-breeds .breed-name{
  font-size:clamp(1.4rem,2.2vw,1.85rem);
  line-height:1.15;
  letter-spacing:.01em;
  margin-bottom:.12rem;
}
.home-grid-breeds .breed-traits{
  color:#dce7f8;
  font-size:1.02rem;
  line-height:1.5;
}
.home-grid-breeds .breed-use{
  margin-top:.1rem;
  padding:.6rem .72rem;
  border-radius:12px;
  border:1px solid rgba(130,201,255,.32);
  background:rgba(95,182,255,.1);
  display:grid;
  gap:.08rem;
}
.home-grid-breeds .breed-use strong{
  color:#f3f8ff;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.home-grid-breeds .breed-use span{
  color:#dce7f8;
  font-size:1rem;
  font-weight:600;
}
.home-grid-breeds .text-link{
  margin-top:auto;
  color:#9adfff;
  font-weight:800;
  letter-spacing:.01em;
}
.home-grid-breeds .card:nth-child(4){
  grid-column:2 / span 2;
}
.home-grid-breeds .card:nth-child(5){
  grid-column:4 / span 2;
}
.home-extra-grid,
.home-steps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

@media (max-width:1200px){
  .home-grid-races{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-grid-tournaments{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-grid-breeds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-grid-breeds .card:nth-child(4),
  .home-grid-breeds .card:nth-child(5){
    grid-column:span 1;
  }
  .home-grid-breeds .card{
    min-height:230px;
  }
  .home-extra-grid,
  .home-steps-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:900px){
  .home-grid-races,
  .home-grid-tournaments,
  .home-grid-breeds,
  .home-extra-grid,
  .home-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .home-grid-races,
  .home-grid-tournaments,
  .home-grid-breeds,
  .home-extra-grid,
  .home-steps-grid{grid-template-columns:1fr}
  .home-grid-breeds .card{
    grid-column:span 1;
    min-height:auto;
  }
}

/* Internal pages: plain white cards */
body.internal-page .card{
  border:1px solid rgba(14,23,38,.12);
  background:#fff;
  box-shadow:0 10px 24px rgba(18,34,63,.08);
  backdrop-filter:none;
}
body.internal-page .card::after{display:none}
body.internal-page .card h3,
body.internal-page .card h4,
body.internal-page .card p,
body.internal-page .card li,
body.internal-page .card span{
  color:#1d2d46;
}
body.internal-page .card a{color:#184e95}
body.internal-page .table-wrap{
  border:1px solid rgba(14,23,38,.12);
  background:#fff;
  backdrop-filter:none;
}
body.internal-page .data-table thead th{
  background:#f8fbff;
  color:#0f1a2d;
  border-bottom:1px solid rgba(14,23,38,.12);
}
body.internal-page .data-table th,
body.internal-page .data-table td{
  color:#22324b;
  border-bottom:1px solid rgba(14,23,38,.08);
}
body.internal-page .filter-bar input,
body.internal-page .filter-bar select,
body.internal-page .newsletter-form input{
  background:#fff;
  color:#1d2d46;
  border:1px solid rgba(14,23,38,.18);
}
