/* Local mirror repair: retained source visual, with its image served locally. */
#contribute_main_visual_container.pets_visual_container {
  background-color: transparent;
  background-image: url("../../mirror-assets/all/pets_visual_container_bg.jpg");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 950px auto;
}

/* Match the source footer conversion strip without restoring its remote ad. */
.global_conversions .title {
  background-image: url("../../mirror-assets/downloaded/logo_pet_symbol_blk-afe190fb38.svg");
}

.global_conversions .offline_footer_rectangle {
  display: block;
  flex: 0 0 300px;
  height: 250px;
  width: 300px;
  overflow: hidden;
}

.global_conversions .offline_footer_rectangle img {
  display: block;
  height: 250px;
  width: 300px;
}

/* === H5: all.html list / search / visual (PC untouched above 767px) === */
@media (max-width: 767px) {
  body.latest_layout_page {
    min-width: 0 !important;
  }

  body.latest_layout_page .page_content_wrap,
  body.latest_layout_page .page_content_container,
  body.latest_layout_page .content_container,
  body.latest_layout_page .content_inner_container,
  body.latest_layout_page .content_inner_container_04,
  body.latest_layout_page .content_inner_container_05,
  body.latest_layout_page #follow_scrolling_container,
  body.latest_layout_page .search_area_wrap {
    width: 100% !important;
    max-width: 100%;
    float: none !important;
  }

  /* —— Hero visual —— */
  body.latest_layout_page #contribute_main_visual_container.pets_visual_container,
  body.latest_layout_page #contribute_main_visual_container {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    padding: 20px 16px 16px !important;
    background-size: cover !important;
    background-position: center top !important;
  }

  body.latest_layout_page #contribute_main_visual_container .visual_heading_wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  body.latest_layout_page #contribute_main_visual_container .visual_title_img,
  body.latest_layout_page #contribute_main_visual_container .visual_title_img.title_left {
    float: none !important;
    width: min(240px, 70vw) !important;
    max-width: 100%;
  }

  body.latest_layout_page #contribute_main_visual_container .contribute_sub_menu_wrap,
  body.latest_layout_page #contribute_main_visual_container .contribute_sub_menu_wrap.title_right {
    float: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    margin: 0;
  }

  body.latest_layout_page #contribute_main_visual_container .contribute_sub_menu_wrap .btn_link_type_01,
  body.latest_layout_page #contribute_main_visual_container .btn_link_type_01 {
    float: none !important;
    padding: 0 10px !important;
  }

  body.latest_layout_page #contribute_main_visual_container .visual_conunt_container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 14px !important;
  }

  body.latest_layout_page #contribute_main_visual_container .visual_conunt_container li {
    float: none !important;
    margin-left: 0 !important;
    font-size: 12px !important;
    height: auto !important;
    line-height: 1.4 !important;
    padding: 8px 12px !important;
  }

  body.latest_layout_page #contribute_main_visual_container .visual_description_container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px !important;
  }

  body.latest_layout_page #contribute_main_visual_container .visual_description,
  body.latest_layout_page #contribute_main_visual_container .visual_description_fst {
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    margin-left: 0 !important;
  }

  body.latest_layout_page #contribute_main_visual_container .visual_description .info {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  /* —— App info + post CTA —— */
  body.latest_layout_page .app_info_post_type_wrap {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  body.latest_layout_page .app_info_post_type_wrap .common_app_infos_min {
    width: 100% !important;
    max-width: 100%;
    border-right: none !important;
    border-bottom: 1px solid #e8e7e3;
    padding: 12px 16px !important;
    flex-wrap: wrap;
    gap: 8px;
  }

  body.latest_layout_page .common_app_infos_min .main {
    font-size: 14px !important;
    line-height: 1.35;
  }

  body.latest_layout_page .common_app_infos_min .link {
    margin: 0;
  }

  body.latest_layout_page .post_type_btn {
    padding: 12px 16px !important;
    text-align: center;
  }

  body.latest_layout_page .post_type_btn .post_type_open {
    width: 100% !important;
    max-width: 100%;
  }

  /* —— Search bar —— */
  body.latest_layout_page .serch_area_row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 12px;
    width: 100% !important;
    max-width: 100%;
    margin-top: 10px;
  }

  body.latest_layout_page .serch_area_row .search_inner_wrap,
  body.latest_layout_page .serch_area_row .search_inner_wrap_02,
  body.latest_layout_page .serch_area_row .search_title,
  body.latest_layout_page .serch_area_row .search_content,
  body.latest_layout_page .serch_area_row .search_content_02 {
    float: none !important;
    margin: 0 !important;
  }

  body.latest_layout_page .serch_area_row .search_inner_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
  }

  body.latest_layout_page .serch_area_row .search_title {
    flex: 0 0 auto;
    line-height: 1.4 !important;
    margin: 0 !important;
  }

  body.latest_layout_page .serch_area_row .search_btn_wrap {
    display: flex;
    flex-wrap: wrap;
  }

  body.latest_layout_page .serch_area_row .search_btn_01 {
    float: none !important;
    padding: 0 12px !important;
  }

  body.latest_layout_page .serch_area_row .keyword_input_area {
    width: 100%;
  }

  body.latest_layout_page .serch_area_row .keyword_input_area form {
    display: flex;
    align-items: stretch;
    width: 100%;
  }

  body.latest_layout_page .serch_area_row .keyword_input_area .input_txtbox {
    float: none !important;
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    height: 32px !important;
    line-height: 32px !important;
  }

  body.latest_layout_page .serch_area_row .keyword_input_area img {
    float: none !important;
    height: 32px;
    width: auto;
  }

  body.latest_layout_page .serch_area_row .slide_content {
    display: none;
    width: 100% !important;
    max-width: 100%;
    margin: 10px 0 0 !important;
    box-sizing: border-box;
  }

  body.latest_layout_page .serch_area_row .slide_content dl {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  body.latest_layout_page .serch_area_row .slide_content .search_title,
  body.latest_layout_page .serch_area_row .slide_content .search_content,
  body.latest_layout_page .serch_area_row .slide_content .search_content_02 {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.latest_layout_page .search_result_table {
    width: 100%;
    display: block;
    margin-top: 16px;
  }

  body.latest_layout_page .search_result_table th,
  body.latest_layout_page .search_result_table td {
    display: block;
    width: 100%;
    padding: 4px 0;
    border-left: none !important;
  }

  /* —— Main + sidebar stack —— */
  body.latest_layout_page .main_content_column,
  body.latest_layout_page .main_content_column_02,
  body.latest_layout_page .sub_content_column,
  body.latest_layout_page .sub_content_column_02 {
    float: none !important;
    width: 100% !important;
    max-width: 100%;
  }

  body.latest_layout_page .side_ads_wrap,
  body.latest_layout_page .side_ads_wrap_02,
  body.latest_layout_page [id^="PC_"],
  body.latest_layout_page .header_ads_wrap,
  body.latest_layout_page #PC_wide {
    display: none !important;
  }

  /* —— Sort / count —— */
  body.latest_layout_page .top_page_nation_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    line-height: 1.4 !important;
  }

  body.latest_layout_page .top_page_nation_wrap .page_sort_wrap {
    float: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: 0 !important;
  }

  body.latest_layout_page .top_page_nation_wrap .page_sort_wrap li {
    float: none !important;
    margin-left: 0 !important;
    width: auto !important;
    min-width: 72px;
    padding: 0 10px;
    height: 32px !important;
    line-height: 32px;
  }

  body.latest_layout_page .top_page_nation_type_02 .page_count_path,
  body.latest_layout_page .top_page_nation_wrap .page_count_path {
    float: none !important;
    width: 100%;
    text-align: left;
    line-height: 1.4 !important;
  }

  /* —— Pet cards (contribute_result) —— */
  body.latest_layout_page .contribute_result_wrap,
  body.latest_layout_page .main_column_contribute_result_wrap,
  body.latest_layout_page .contribute_result_flex_wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 12px 0 0 !important;
    width: 100%;
  }

  body.latest_layout_page .contribute_result_flex_wrap .contribute_result,
  body.latest_layout_page .contribute_result_wrap .contribute_result,
  body.latest_layout_page .main_column_contribute_result_wrap .contribute_result {
    float: none !important;
    flex: 0 0 calc(50% - 6px);
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px);
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  body.latest_layout_page .contribute_result .inner,
  body.latest_layout_page .contribute_result_flex_wrap .contribute_result .inner {
    height: auto !important;
    min-height: 0 !important;
    padding: 8px !important;
  }

  body.latest_layout_page .contribute_result .img_container {
    width: 100%;
    overflow: hidden;
  }

  body.latest_layout_page .contribute_result .img_container img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }

  body.latest_layout_page .contribute_result_flex_wrap .contribute_result .title {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body.latest_layout_page .contribute_result .pet_center_icon,
  body.latest_layout_page .contribute_result_flex_wrap .contribute_result .pet_center_icon {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    position: static !important;
    margin: 6px 0 0;
  }

  body.latest_layout_page .contribute_result .pet_limit_date,
  body.latest_layout_page .contribute_result_flex_wrap .contribute_result .pet_limit_date {
    position: static !important;
    margin-top: 6px;
  }

  body.latest_layout_page .contribute_result .id_ribbon {
    padding: 0 6px;
  }

  body.latest_layout_page .contribute_result .id_ribbon .id {
    font-size: 9px !important;
  }

  body.latest_layout_page .contribute_result_wrap .bnrList {
    float: none !important;
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
    margin: 0 !important;
  }

  /* —— Pagination —— */
  body.latest_layout_page .bottomPageNation {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }

  body.latest_layout_page .bottomPageNation > ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    min-width: min-content;
  }

  /* —— Sidebar (after main) —— */
  body.latest_layout_page .side_contribute_bnr_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    width: 100%;
  }

  body.latest_layout_page .side_contribute_bnr_wrap .bnr_set {
    float: none !important;
    margin: 0 !important;
  }

  body.latest_layout_page .side_contribute_menu_wrap,
  body.latest_layout_page .news_result_item_wrap {
    width: 100%;
  }

  body.latest_layout_page .side_contribute_menu_wrap .menu {
    background-position: right 14px center !important;
  }

  body.latest_layout_page .side_contribute_menu_wrap .menu .caption {
    margin-right: 20px;
  }

  body.latest_layout_page .news_result_item_wrap {
    height: auto !important;
    max-height: 280px;
  }

  /* Fluid photos only — leave .ui_img CSS sprites alone */
  body.latest_layout_page .contribute_result img:not(.ui_img),
  body.latest_layout_page .sub_content_column img:not(.ui_img),
  body.latest_layout_page .main_content_column img:not(.ui_img) {
    max-width: 100%;
  }
}

@media (max-width: 380px) {
  body.latest_layout_page .contribute_result_flex_wrap .contribute_result,
  body.latest_layout_page .contribute_result_wrap .contribute_result,
  body.latest_layout_page .main_column_contribute_result_wrap .contribute_result {
    flex: 0 0 100%;
    width: 100% !important;
    max-width: 100%;
  }

  body.latest_layout_page .common_app_infos_min .main {
    font-size: 13px !important;
  }
}
