/* ==========================================================================
   Gomu Theme - Main Stylesheet
   ========================================================================== */

/* Foundation */
@import 'foundation/_variables.css';
@import 'foundation/_reset.css';
@import 'foundation/_typography.css';

/* Components */
@import 'components/_buttons.css';
@import 'components/_cards.css';
@import 'components/_forms.css';
@import 'components/_navigation.css';
@import 'components/_entry-content.css';

/* Layouts */
@import 'layouts/_header.css';
@import 'layouts/_footer.css';
@import 'layouts/_hero.css';
@import 'layouts/_sections.css';

/* Pages */
@import 'pages/_front-page.css';
@import 'pages/_about.css';
@import 'pages/_news.css';
@import 'pages/_contact.css';
@import 'pages/_members.css';
@import 'pages/_soshiki.css';
@import 'pages/_yakuin.css';
@import 'pages/_hoken.css';
@import 'pages/_schedule.css';
@import 'pages/_member-list.css';
@import 'pages/_ultimate-member.css';
@import 'pages/_sitemap.css';

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Skip link */
.skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    background-color: var(--color-primary);
    color: var(--color-text-white);
    padding: var(--space-sm) var(--space-md);
    z-index: 9999;
    transition: top var(--transition-fast);
}

.skip-link:focus {
    top: 0;
}

/* WordPress classes */
.alignleft {
    float: left;
    margin-right: var(--space-lg);
    margin-bottom: var(--space-md);
}

.alignright {
    float: right;
    margin-left: var(--space-lg);
    margin-bottom: var(--space-md);
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--space-md);
}

.wp-caption {
    max-width: 100%;
}

.wp-caption-text {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    text-align: center;
    margin-top: var(--space-sm);
}

/* Screen reader text (WordPress) */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: var(--color-bg);
    clip: auto;
    height: auto;
    left: 5px;
    top: 5px;
    width: auto;
    z-index: 100000;
    padding: var(--space-sm) var(--space-md);
}
