@charset "UTF-8";

/* Visiting Page Styles */

/* Common Section Padding */
.visiting-section {
    background-color: #fcfaf7;
    /* Fallback */
    background-image: url('../images/visiting_bg.webp');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    padding-top: 100px;
    padding-bottom: 100px;
    padding-left: 5%;
    padding-right: 5%;
}

.visiting-section .container {
    max-width: 1100px;
    /* Restrict width for more margin feel */
    margin: 0 auto;
}

/* Visiting Item Layout */
.visiting-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 100px;
    gap: 5%;
}

.visiting-item:last-child {
    margin-bottom: 0;
}

.visiting-item.reverse {
    flex-direction: row-reverse;
}

.visiting-image {
    width: 55%;
    position: relative;
}

.visiting-content {
    width: 40%;
}

/* Image Frame/Style */
.visiting-image img {
    width: 100%;
    height: auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    display: block;
}

/* Content Styling */
.visiting-title {
    font-size: 2.4rem;
    font-family: "Zen Old Mincho", serif;
    font-weight: 500;
    margin-bottom: 20px;
    color: #333;
    text-align: left;
}

.visiting-desc {
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 20px;
    color: #333;
}

.visiting-time {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 20px;
    margin-top: 10px;
}

/* Tags */
.visiting-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}

.tag {
    display: inline-block;
    padding: 5px 15px;
    font-size: 0.85rem;
    color: #fff;
    border-radius: 2px;
}

.tag-pink {
    background-color: #d47fa6;
}

/* Couple */
.tag-blue {
    background-color: #64b4c7;
}

/* Camera */
.tag-gold {
    background-color: #cbb57b;
}

/* Family */
.tag-green {
    background-color: #7bcba3;
}

/* Senior */
.tag-gray {
    background-color: #999;
}

/* Weather/Other */

/* Button override for alignment if needed */
.visiting-content .btn-wrapper {
    text-align: left;
    margin-top: 30px;
}

.visiting-content .btn-gold {
    padding: 15px 100px;
    /* Much wider */
    font-size: 1rem;
    min-width: 300px;
    /* Ensure minimum width */
    text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
    .visiting-item {
        flex-direction: column;
        gap: 30px;
    }

    .visiting-item.reverse {
        flex-direction: column;
    }

    .visiting-image,
    .visiting-content {
        width: 100%;
    }

    .visiting-title {
        font-size: 1.8rem;
        margin-top: 0;
    }
}