/*
* demo.css - Modernized Version
* Demo-specific styles with modern enhancements
******************************************************************************/

:root {
  --transition-base: all 0.3s ease-in-out;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --brand-accent: #7367f0;
}

/* App Brand Demo - Modernized */
.menu .app-brand.demo {
  height: 64px;
  margin-top: 12px;
  transition: var(--transition-base);
}

.app-brand-logo.demo svg {
  width: 22px;
  height: 38px;
  fill: var(--brand-accent);
  transition: var(--transition-base);
}

.app-brand-text.demo {
  font-size: 1.75rem;
  letter-spacing: -0.5px;
  text-transform: lowercase;
  font-weight: 600;
  color: #2d2d2d;
  transition: var(--transition-base);
}

/* Layout Fixes with Smooth Transitions */
.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
  padding-top: 76px !important;
  transition: padding 0.3s ease;
}

.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
  transition: padding 0.3s ease;
}

/* Navbar Z-index Solution */
.content-wrapper .navbar {
  z-index: auto;
  box-shadow: var(--shadow-sm);
}

/*
* Content Styles - Modern Enhancements
******************************************************************************/

.demo-blocks > * {
  display: block !important;
  animation: fadeIn 0.5s ease-out;
}

.demo-inline-spacing > * {
  margin: 1rem 0.375rem 0 0 !important;
  transition: var(--transition-base);
}

/* Vertical Spacing with Modern Touch */
.demo-vertical-spacing > * {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
  animation: slideUp 0.4s ease-out;
}

.demo-vertical-spacing.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg > * {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}

.demo-vertical-spacing-xl > * {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}

/* RTL Support */
.rtl-only {
  display: none !important;
  text-align: left !important;
  direction: ltr !important;
}

[dir='rtl'] .rtl-only {
  display: block !important;
}

/*
* Layout Demo - Modern Presentation
******************************************************************************/

.layout-demo-wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-top: 2rem;
  background: white;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: var(--shadow-md);
  transition: var(--transition-base);
}

.layout-demo-wrapper:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.layout-demo-placeholder img {
  width: 100%;
  max-width: 900px;
  border-radius: 8px;
  object-fit: cover;
}

.layout-demo-info {
  text-align: center;
  margin-top: 1.5rem;
  color: #4a4a4a;
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideUp {
  from { 
    opacity: 0;
    transform: translateY(20px);
  }
  to { 
    opacity: 1;
    transform: translateY(0);
  }
}

/* Modern Interactive Elements */
.demo-blocks > *:hover,
.demo-inline-spacing > *:hover {
  transform: translateY(-2px);
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .layout-demo-wrapper {
    padding: 1.5rem;
    margin-top: 1rem;
  }
  
  .app-brand-text.demo {
    font-size: 1.5rem;
  }
}