/* ページ共通
 slug: page
 template: page.php
 */

 /* 固定ページは常に黒ロゴ・黒文字 + ヘッダー高さ分の余白 */
 body.wp-singular {
	padding-top: var(--site-header-height);
}

body.wp-singular .site-header {
	color: var(--color-ink);
	box-shadow: 0 1px 0 rgba(37, 30, 28, 0.06);
}

body.wp-singular .site-header__logo img {
	filter: none;
}

/* 投稿ヘッダー */
.single-header {

    border-bottom: 1px solid var(--color-border-gray);
    padding-block: 3rem;

    .single-title {
		margin: 0;
		font-size: var(--fs-xl);
        letter-spacing: 0;
        line-height: 1.25;
        font-weight: 500;
	}
}

.single-post-article{
    .single-title{
        display: block;
    }
}

.post-heading__meta{
    margin-bottom: 0.5rem;
    line-height: 1;
    font-size: var(--fs-md);
    color: var(--color-tertiary);    
}


.single-content{
    margin-block: 3rem;
}

.post-article__visual{
    border-radius: var(--border-radius);
    overflow: hidden;
    margin-block: 3rem 1.5rem;
    text-align: center;

    img{
        margin-inline: auto;
        width: 100%;
    }
}

.post-article__visual + h2.wp-block-heading{
    margin-top: 0;
}


@media (width <= 640px) {
    .single-header {
        padding-block: var(--container-gutter);
    }
    .post-heading__meta{
        margin-bottom: 0.5rem;
    }
    .single-title{
        text-align: justify;
    }
    .single-content{
        margin-block: var(--container-gutter);
    }
    .post-article__visual{
        margin-block: var(--container-gutter) 1rem;
    }
}

.post-article__body{
    
    h2{
        font-size: var(--fs-2lg);
        line-height: 1.5;
        letter-spacing: 0;
        margin-block: 3rem 1.5rem;
        font-weight: 500;
    }

    h3{
        font-size: var(--fs-lg);
        line-height: 1.5;
        letter-spacing: 0;
        margin-block: 2rem 1rem;
        font-weight: 500;
    }

    p{
        font-size: var(--fs-md);
        line-height: 1.75;
        letter-spacing: 0;
        margin-block-end: 1.5rem;
        font-weight: normal;
    }

    @media (width <= 640px) {
        h2{
            margin-block: 2rem 1rem;
        }
        p{
            margin-block-end: 1rem;
        }
    }
    .wp-block-list{
        margin-block-end: 1.5rem;
        list-style-position: inside;
        li{
            text-indent: -1.4rem;
            padding-left: 1.5rem;
            line-height: 1.5;
            margin-bottom: 0.5rem;
            &:last-child{
                margin-bottom: 0;
            }
            
        }
    }
    

    a:not(:has(img)):not(.wp-block-button__link):not(.wp-element-button){
        position: relative;
        display: inline-flex;
        align-items: center;
        color: inherit;
        text-decoration: none;
    
        & > span{
            display: inline-flex;
            align-items: center;
        }
    
        &::before{
            content: "";
            position: absolute;
            right: 0;
            bottom: 0.1rem;
            width: 100%;
            height: 1px;
            border-bottom: 1px solid currentColor;
            box-sizing: border-box;
            transform: scaleX(1);
            transform-origin: right;
            pointer-events: none;
        }
    
        &:is(:hover, :focus-visible)::before{
            animation: text-link-line calc(var(--motion-fast) * 2) var(--motion-ease);
        }
    }
    
    @keyframes text-link-line{
        0%{
            transform: scaleX(1);
            transform-origin: right;
        }
        50%{
            transform: scaleX(0);
            transform-origin: right;
        }
        50.01%{
            transform: scaleX(0);
            transform-origin: left;
        }
        100%{
            transform: scaleX(1);
            transform-origin: left;
        }
    }

    figure.wp-block-image{
        width: 100% !important;
        margin-block-end: 1.5rem;
        position: relative;
        overflow: hidden;
        border-radius: var(--border-radius);
        position: relative;
        a{
            display: inline-block;
            vertical-align: bottom;
        }
        img{
            width: 100% !important;
            height: auto;
        }
        &.size-medium{
            width: 300px !important;
            height: auto !important;
        }

        figcaption{
            box-sizing: border-box;
            color: #fff;
            font-size: 13px;
            margin: 0;
            overflow: auto;
            padding: 0.5rem;
            text-align: center;
            /* text-shadow: 0 0 1.5px #000; */
            bottom: 0;
            left: 0;
            max-height: 100%;
            position: absolute;
            right: 0;
            background:rgba(0, 0, 0, .3);
        }
        @media (width <= 640px) {
            margin-block-end: 1rem;

            &.size-medium{
                width: 100% !important;
                height: auto !important;
                a{
                    display: block;
                }
                img{
                    width: 100% !important;
                    height: auto !important;
                }
            }
            figcaption{
                font-size: 12px;
                padding-inline: 0.5rem;
                line-height: 1.2;
            }
        }
    }



    figure.wp-block-gallery{
        margin-block-end: 1.5rem;
        gap: 1.5rem;
        display: grid;
        

        &.col2{
            grid-template-columns: repeat(2, 1fr);
        }
        &.col3{
            grid-template-columns: repeat(3, 1fr);
        }
        &.col4{
            grid-template-columns: repeat(4, 1fr);
        }

        @media (width <= 640px) {
            gap: 1rem;
            margin-block-end: 1rem;
        }
    }

}


/* ナビゲーション */
.post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 4rem;
	border-block: 1px solid var(--color-border-gray);

	a {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 1rem;
		height: 100%;
		padding: 2rem 1.5rem;
		color: inherit;
		text-decoration: none;
		transition: background-color var(--motion-fast) var(--motion-ease);

		&:hover {
			background-color: #fafafa;
		}
	}

	.post-nav__item--next {
		border-right: 1px solid var(--color-border-gray);

		a:hover .post-nav__icon {
			transform: translateX(-0.3rem);
		}
	}

	.post-nav__item--prev a {
		justify-content: flex-end;
		text-align: right;

		&:hover .post-nav__icon {
			transform: translateX(0.3rem);
		}
	}

	.post-nav__icon {
		flex-shrink: 0;
		font-size: 1.75rem;
		line-height: 1;
		transition: transform var(--motion-fast) var(--motion-ease);
	}

	.post-nav__title {
		font-weight: var(--font-weight-heading);
		line-height: var(--line-height-sub);
        text-align: left;
	}

    @media (width <= 640px) {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
        margin-top: 1.25rem;
        &.nav_single{
            grid-template-rows: 1fr;
        }
        a{
            padding-block: 1rem;
        }
        .post-nav__item--next{
            border: none;
            border-bottom: 1px solid var(--color-border-gray);
            a{
                padding-inline: 0 1.75rem;
            }
            &.no_next{
                display: none;
            }
        }
        .post-nav__item--prev{
            border: none;
            a{
                padding-inline: 1.75rem 0;
            }
            &.no_prev{
                display: none;
            }
        }
    }
}



