/*
 * Main CSS - 株式会社内田屋
 * All styles imported from modular files
 */

/* Base */
@import url('./base/reset.css');
@import url('./base/variables.css');
@import url('./base/typography.css');
@import url('./base/animations.css');

/* Layouts */
@import url('./layouts/grid.css');
@import url('./layouts/header.css');
@import url('./layouts/footer.css');

/* Components */
@import url('./components/button.css');
@import url('./components/card.css');
@import url('./components/form.css');
@import url('./components/breadcrumb.css');
@import url('./components/table.css');
@import url('./components/news.css');
@import url('./components/pickup.css');
@import url('./components/sns.css');
@import url('./components/subnav.css');
@import url('./components/effects.css?v=2');

/* Pages */
@import url('./pages/home.css');
@import url('./pages/brand.css');
@import url('./pages/company.css');
@import url('./pages/comuoon.css');
@import url('./pages/product.css');
@import url('./pages/service.css');
@import url('./pages/other.css');

/* Utility Classes */
.hidden {
  display: none !important;
}

.visible {
  display: block !important;
}

.text-center {
  text-align: center;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-sm {
  margin-bottom: var(--space-sm) !important;
}

.mb-md {
  margin-bottom: var(--space-md) !important;
}

.mb-lg {
  margin-bottom: var(--space-lg) !important;
}

.mb-xl {
  margin-bottom: var(--space-xl) !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-sm {
  margin-top: var(--space-sm) !important;
}

.mt-md {
  margin-top: var(--space-md) !important;
}

.mt-lg {
  margin-top: var(--space-lg) !important;
}

.mt-xl {
  margin-top: var(--space-xl) !important;
}

/* Skip Link styles are defined in layouts/header.css */

/* Focus visible for better accessibility */
*:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

/* Print styles */
@media print {
  .header,
  .footer,
  .mobile-nav,
  .mobile-nav-overlay,
  .skip-link {
    display: none !important;
  }

  body {
    font-size: 12pt;
    line-height: 1.5;
  }

  a {
    text-decoration: none;
    color: var(--text-primary);
  }

  .container {
    max-width: none;
    padding: 0;
  }
}
