.mykeypage-images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  padding: 0;
  width: 100%;
  margin: 0;
  max-width: 100%;
}

/* Αφαίρεση περιορισμών από Drupal containers */
.mykeypage-images .form-wrapper,
.mykeypage-images form {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  display: contents;
}

/* Βεβαιώνουμε ότι τα containers είναι grid items */
.mykeypage-images > .image-item {
  display: block;
}

.image-item {
  border: none;
  border-radius: 0;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.mykeypage-extra-link {
  margin-top: 10em; /* ~10 γραμμές απόστασης από την εικόνα */
  display: block;
  text-align: center;
  word-break: break-word;
}

.image-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.image-item a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.image-item h3 {
  margin: 0;
  padding: 15px;
  background: #f8f9fa;
  border-bottom: none;
  font-size: 1.2em;
  font-weight: bold;
  order: 1; /* Τίτλος από πάνω */
}

.mykeypage-image {
  width: 100%;
  height: auto;
  display: block;
  order: 2; /* Εικόνα στη μέση */
}

/* OpenID Connect Login Button Styling */
.openid-login-item,
.keycloak-login-item {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.openid-login-item:hover,
.keycloak-login-item:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
}

.openid-login-button,
.keycloak-login-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: white !important;
  text-decoration: none !important;
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
  width: 100%;
  height: 100%;
  min-height: 80px;
  border: none;
  box-sizing: border-box;
  order: 3; /* Button από κάτω */
  background-color: rgb(115, 131, 190) !important;
}

.openid-login-button:hover,
.keycloak-login-button:hover,
.openid-login-button:focus,
.keycloak-login-button:focus,
.openid-login-button:active,
.keycloak-login-button:active {
  color: white !important;
  text-decoration: none !important;
  background-color: inherit !important;
}

/* Επιπλέον προστασία για hover state */
.image-item:hover .openid-login-button,
.image-item:hover .keycloak-login-button {
  color: white !important;
  background-color: rgb(115, 131, 190) !important;
}

/* Icon before login button (optional) */
.openid-login-button::before,
.keycloak-login-button::before {
  content: "🔐 ";
  font-size: 1.5em;
  margin-right: 10px;
}

/* Keyclock Page Styling */
.keyclock-section {
  margin-bottom: 40px;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #f8f9fa;
}

.section-title {
  margin: 0 0 20px 0;
  padding: 15px;
  background: #667eea;
  color: white;
  border-radius: 6px;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
}

.section-content.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 20px;
}

.column {
  padding: 20px;
  background: white;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
}

.eggrafi-label,
.syndesi-label {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 15px;
  color: #333;
  text-align: center;
}

.eggrafi-button {
  width: 100%;
  padding: 12px 24px;
  font-size: 1em;
  font-weight: bold;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.eggrafi-button:hover {
  background: #5568d3;
}

.connection-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.eidas-button,
.third-countries-button,
.oauth2-button,
.oauth-pa-button {
  width: 100%;
  padding: 12px 24px;
  font-size: 1em;
  font-weight: bold;
  background: #28a745;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center;
}

.eidas-button:hover,
.third-countries-button:hover,
.oauth2-button:hover,
.oauth-pa-button:hover {
  background: #218838;
  color: white;
  text-decoration: none;
}

/* Responsive design */
@media (max-width: 768px) {
  .mykeypage-images {
    grid-template-columns: 1fr;
    padding: 0;
    gap: 0;
  }
  
  .openid-login-item,
  .keycloak-login-item {
    margin-top: 0;
  }

  .section-content.two-columns {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
