/* Responsive Enhancements for SlayMarks */

/* Global responsive adjustments */
@media (max-width: 992px) {
  h1 {
    font-size: 2.25rem !important;
  }
  
  h2 {
    font-size: 1.75rem !important;
  }
  
  h3 {
    font-size: 1.5rem !important;
  }
  
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  .py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  
  .my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
}

@media (max-width: 768px) {
  h1 {
    font-size: 2rem !important;
  }
  
  h2 {
    font-size: 1.5rem !important;
  }
  
  h3 {
    font-size: 1.25rem !important;
  }
  
  .py-5 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  
  .my-5 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  
  /* Fix button sizes on mobile */
  .btn {
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
  }
  
  .btn-lg {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
  }
}

/* Hero section improvements */
@media (max-width: 992px) {
  .hero-section {
    min-height: auto;
    padding: 100px 0 60px;
  }
  
  .hero-title {
    font-size: 2.5rem !important;
    margin-bottom: 1rem;
  }
  
  .hero-text {
    font-size: 1rem;
  }
  
  .hero-image-container {
    margin-top: 2rem;
  }
}

@media (max-width: 768px) {
  .hero-section {
    padding: 80px 0 40px;
    text-align: center;
  }
  
  .hero-title {
    font-size: 2rem !important;
  }
  
  .hero-buttons {
    justify-content: center;
  }
  
  .hero-image {
    max-width: 100%;
    height: auto;
  }
}

/* Card improvements for mobile */
@media (max-width: 768px) {
  .card {
    margin-bottom: 1.5rem;
  }
  
  .card-body {
    padding: 1.25rem;
  }
  
  .product-card {
    height: auto;
  }
  
  .card-img-wrapper {
    height: 180px;
  }
  
  .product-features li {
    font-size: 0.9rem;
  }
}

/* Form improvements */
@media (max-width: 768px) {
  .form-control {
    font-size: 0.95rem;
    padding: 0.5rem 0.75rem;
  }
  
  .form-label {
    font-size: 0.9rem;
  }
  
  .form-check-label {
    font-size: 0.9rem;
  }
}

/* Table improvements */
@media (max-width: 768px) {
  .table {
    font-size: 0.9rem;
  }
  
  .table th, .table td {
    padding: 0.5rem;
  }
}

/* Admin dashboard improvements */
@media (max-width: 992px) {
  .admin-sidebar {
    margin-bottom: 2rem;
  }
}

@media (max-width: 768px) {
  .admin-sidebar .nav-link {
    padding: 0.5rem 0.75rem !important;
  }
  
  .admin-profile {
    padding: 1.5rem !important;
  }
  
  .card-header {
    padding: 0.75rem 1rem;
  }
}

/* Product detail page */
@media (max-width: 768px) {
  .product-image {
    margin-bottom: 1.5rem;
  }
}

/* Checkout page */
@media (max-width: 768px) {
  .payment-option {
    padding: 1rem;
  }
}

/* Footer improvements */
@media (max-width: 768px) {
  footer {
    text-align: center;
    padding: 2rem 0;
  }
  
  footer .footer-heading {
    margin-top: 1.5rem;
  }
  
  footer .col-md-3:first-child .footer-heading {
    margin-top: 0;
  }
}

/* Fix touch interactions */
@media (max-width: 992px) {
  .nav-link:hover::after {
    width: 0;
  }
  
  .card:hover {
    transform: none;
  }
  
  .shadow-hover:hover {
    box-shadow: var(--shadow);
  }
  
  .btn:hover {
    transform: none;
  }
}

/* Fix spacing issues */
@media (max-width: 768px) {
  .mb-4 {
    margin-bottom: 1.25rem !important;
  }
  
  .mb-5 {
    margin-bottom: 2rem !important;
  }
  
  .mt-4 {
    margin-top: 1.25rem !important;
  }
  
  .mt-5 {
    margin-top: 2rem !important;
  }
  
  .p-4 {
    padding: 1.25rem !important;
  }
  
  .p-5 {
    padding: 1.5rem !important;
  }
}

/* Fix font sizes */
@media (max-width: 768px) {
  .lead {
    font-size: 1rem !important;
    line-height: 1.5;
  }
  
  .display-4 {
    font-size: 2rem !important;
  }
  
  .small {
    font-size: 0.8rem;
  }
}

/* Fix grid spacing */
@media (max-width: 768px) {
  .row {
    --bs-gutter-x: 1rem;
  }
}

/* Fix story page */
@media (max-width: 768px) {
  .story-hero {
    min-height: 50vh;
  }
  
  .story-section {
    padding-left: 20px;
  }
  
  .story-section::before {
    display: none;
  }
  
  .founder-avatar {
    width: 80px;
    height: 80px;
  }
}

/* Fix login/register pages */
@media (max-width: 768px) {
  .auth-card {
    padding: 1.5rem !important;
  }
}

/* Fix product listings */
@media (max-width: 768px) {
  .filter-card {
    margin-bottom: 1.5rem;
  }
  
  .subject-filter-item {
    margin-bottom: 0.5rem;
  }
} 