/**
 * Blocks Default Pattern - Common CSS
 * Common styles for default patterns in food-block, drink-block, etc.
 * Based on parent theme design system
 */

/* ==========================================================================
   Common Heading Styles
   ========================================================================== */

.blocks-default-heading {
    padding: 1rem;
    text-align: center;
    position: relative;
}

/* ==========================================================================
   Common Layout Styles
   ========================================================================== */

/* Flex Container */
.common_format,.common_container {
    display: flex;
    flex-wrap: wrap;
}

/* Basic Format */
.common_format {
    border-bottom: 0.5px dotted #abb8c3;
}

.common_format:last-child {
    border-bottom: none;
}

.common_format {
    padding: 2rem;
}


/* ==========================================================================
   Common Image Styles
   ========================================================================== */

/* Image Container */
.food_img,
.drink_img,
.course_img,
.interior_img {
    padding: 0 0.5em;
}



.drink_img,
.course_img {
    width: 30%;
}

.interior_img{
    width: 35%;
}
/* Image elements */
.food_img img,
.drink_img img,
.course_img img,
.interior_img img {
    width: 100%;
    object-fit: contain;
}


/* ==========================================================================
   Common Info Area
   ========================================================================== */

/* Info Container */
.food_info,
.drink-item-box,
.course-item-box,
.interior-item-box {
    padding: 0 0.5em;
}

/* Info widths */
.normal_format .food_info {
    width: 60%;
}

.big_format .food_info,
.drink-item-box,
.course-item-box {
    width: 70%;
}

.interior-item-box{
    width: 65%;
}

/* Empty image case */
.food_info.empty_img {
    width: 100%;
}

/* Description */
.food_des,
.drink_des {
    font-size: 0.9em;
    margin: 0.5em 0;
}

/* Price */
p.food_price {
    text-align: right;
}

/* ==========================================================================
   Default Pattern Specific Overrides
   ========================================================================== */


.drink-item {
    width: 100%;
    border-bottom: 0.5px dotted #abb8c3;
    padding: 0.5em;
}

.drink-item:first-child{
    padding-top:0;
}
/* ==========================================================================
      Specific Overrides
   ========================================================================== */

/* 個別プラン名 */
.all-you-can-drink-block--default .drink-item-plan-name,
.course-details__heading,
.interior-details__heading {
    font-weight: bold;
    margin-bottom: 1rem;
    position: relative;
    padding-left: 1.5rem;
    color: #333;
}
.all-you-can-drink-block--default .drink-item-plan-name,
.course-details__heading{
    font-size: 1.15em;}

.all-you-can-drink-block--default .drink-item-plan-name::before,
.course-details__heading::before,
.interior-details__heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 1.2em;
    background-color: var(--ark-color--main);
    border-radius: 2px;
}

/* 個別プランコンテナ */
.all-you-can-drink-block--default .drink-item-plan,
.course-block--default .course-details {
    margin-bottom: 1rem;
    padding: 1.5rem;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}



.all-you-can-drink-block--default .drink-item-plan:last-child,
.course-block--default .course-details:last-child {
    margin-bottom: 0;
}



/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media not all and (min-width: 768px) {

   .common_format {
    padding: 1rem;
   }

   .blocks-default-heading h2{
           font-size: 1.3em;
   }

    /* Force column layout on mobile */

    .common_format {
        flex-direction: column;
    }
    
    .drink_img,
    .course_img,
    .interior_img,
    .drink-item-box,
    .course-item-box,
    .interior-item-box {
        width: 100%;
    }
    
    /* Center drink images on mobile */
    .drink_img,
    .course_img,
     {
        display: flex;
        justify-content: center;
    }
    .drink-item-box{
        padding: 0;
    }
}