*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#contents {
  font-family:
    "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
* {
  -webkit-text-size-adjust: none;
}

.common-title_s1 {
  font-size: 26px;
  line-height: 30px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  background: url(/common/design/user/img/images_index-add/title-common-bg.png)
    left top repeat;
  margin: 0 0 20px;
  padding: 20px 10px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

/* PC Fresh Header Redesign for Price Report */
.guide.price_report .common-title_s1 {
  font-size: 28px;
  font-weight: bold;
  color: #000;
  background: none;
  text-align: left;
  margin: 0 0 30px;
  padding: 0 0 12px 0;
  border-radius: 0;
  position: relative;
  border-bottom: 3px solid #000;
}
.guide.price_report .common-title_s1::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 280px;
  height: 3px;
  background: #e50000;
}

.loader {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 9999;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.loader .loader-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 15px 25px;
  max-height: 600px;
}

.loader-text {
  color: #ffffff;
  display: inline-block;
  margin-left: 5px;
}

.loader-bounceball {
  position: relative;
  display: inline-block;
  height: 37px;
  width: 15px;
}

.loader-bounceball:before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #ffffff;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: loader-bounce 500ms alternate infinite ease;
  animation: loader-bounce 500ms alternate infinite ease;
}

@-webkit-keyframes loader-bounce {
  0% {
    top: 30px;
    height: 5px;
    border-radius: 60px 60px 20px 20px;
    -webkit-transform: scaleX(2);
    transform: scaleX(2);
  }
  35% {
    height: 15px;
    border-radius: 50%;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  100% {
    top: 0;
  }
}

@keyframes loader-bounce {
  0% {
    top: 30px;
    height: 5px;
    border-radius: 60px 60px 20px 20px;
    -webkit-transform: scaleX(2);
    transform: scaleX(2);
  }
  35% {
    height: 15px;
    border-radius: 50%;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  100% {
    top: 0;
  }
}

b,
strong {
  font-weight: 700 !important;
}
b.slogan,
strong.slogan {
  font-weight: normal !important;
}

.guide .sub-common-title {
  font-size: 22px;
  line-height: 22px;
  font-weight: bold;
  color: #2aa400;
  text-align: left;
  padding: 11px 10px;
  margin: 0 0 18px;
  border-left: 10px solid #2aa400;
  border-bottom: 2px solid #2aa400;
}
.guide .sub-common-title {
  margin-bottom: 30px;
}

.select_box ul {
  display: none;
  border: 1px solid grey;
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  z-index: 10;
  max-height: 200px;
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.select_box ul.active {
  display: block;
}
.select_box li {
  list-style: none;
  padding: 2px 5px 2px 32px;
  cursor: pointer;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  font-size: 13px;
  line-height: 28px;
  font-weight: normal;
  overflow: hidden;
  position: relative;
}
.select_box li:hover {
  background: #e6e6e6;
}
.select_box li span {
  position: absolute;
  left: 4px;
  position: absolute;
  top: 50%;
  overflow: hidden;
  -moz-border-radius: 12px;
  -webkit-border-radius: 12px;
  border-radius: 12px;
  margin-top: -12px;
  border: 1px solid #dedede;
  width: 23px;
  height: 23px;
}

*:before,
*:after {
  -webkit-box-sizing: unset;
}

.price_report .sub-common-title {
  margin-bottom: 20px;
}

.pr_noti {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 30px;
  line-height: 24px;
}

.pr_search {
  margin-bottom: 20px;
}

.pr_search_box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pr_search_box .search_input {
  border: 1px solid #e1e1e1;
  border-radius: 5px;
  height: 40px;
  max-width: 250px;
  padding: 0 12px;
  margin-right: 10px;
}

.pr_btn_search:before {
  content: "\f002";
  font-family: FontAwesome;
  font-size: 22px;
  color: #fff;
}

.pr_btn_search {
  padding: 9px 15px;
  border-radius: 5px;
  border: none;
  background: #323232;
}

.pr_tab_container {
  margin: 0 25px;
}

.guide #tab .pr_tab_container .pr_tabs_list {
  display: flex;
  flex-wrap: wrap;
  border-bottom: none;
  height: auto;
  margin-bottom: 10px;
}

.guide #tab .pr_tab_container .pr_tabs_list li {
  max-width: 25%;
  flex: 0 0 25%;
  padding: 5px;
}

.tabs_box {
  padding: 8px;
  border: 2px solid #323232;
  border-radius: 25px;
  width: 100%;
  vertical-align: middle;
  text-align: center;
}

.pr_list_box_product {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pr_items {
  flex: 0 0 auto;
  max-width: calc((100% - calc(10px * 2)) / 3);
  width: 100%;
}

.pr_item {
  width: 100%;
  height: 100%;
  align-items: center;
  position: relative;
  padding: 15px;
  border: 1px solid #e1e1e1;
  border-radius: 8px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}
.pr_item-badge {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.pr_item-badge-outline {
  background: #fff;
  border: 1px solid #333;
  border-radius: 6px;
  padding: 4px 0;
  width: 64px;
  text-align: center;
  font-size: 10px;
  color: #333;
  box-sizing: border-box;
  line-height: 1.2;
}
.pr_item-badge-dark {
  background: #333;
  color: #fff;
  border-radius: 6px;
  padding: 5px;
  width: 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  font-size: 10px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
}

.guide #tab .pr_tabs_content {
  background: #f6f6f6;
  padding: 10px 10px 20px;
  height: 580px;
  margin-bottom: 30px;
}

.pr_item_img {
  width: 158px;
  height: 158px;
  margin: 10px 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pr_item_img img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

.pr_item .pr_btn_red {
  background: #e50000;
  border: none;
  color: #fff;
  padding: 10px 0;
  width: 60%;
  border-radius: 20px;
  outline: none;
}

.pr_list_box_product {
  overflow: hidden;
  overflow-y: auto;
  max-height: 544px;
}

.pr_list_box_product::-webkit-scrollbar {
  width: 8px;
}

.pr_list_box_product::-webkit-scrollbar-track {
  background: #5e5e5e;
  border-radius: 10px;
}

.pr_list_box_product::-webkit-scrollbar-thumb {
  background: #fff;
  border-radius: 10px;
  border: 2px solid #5e5e5e;
}

.guide .pr_tab_container.clearfix {
  margin-bottom: 0;
}
.pr_tabs_content {
  display: none;
}

.pr_tabs_content.current {
  display: inherit;
}

.tabs_box.current {
  background: #323232;
  color: #fff;
}

.pr_list_product .pr_noti {
  margin: 20px 0;
}

.pr_list_btn .pr_myself {
  position: relative;
  width: calc((100% - 21px) / 2);
  margin-right: 15px;
  border: 2px solid #000;
  border-radius: 8px;
  padding: 12px 10px 16px;
  color: #fff;
  font-weight: 600;
  text-align: center;
}

.pr_list_btn .pr_myself .icon {
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 45px;
  height: 45px;
  background-color: #fff;
  border-radius: 50%;
  overflow: hidden;
  text-indent: -9999px;
}

.pr_list_btn .pr_myself .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -12px 0px 0 -5px;
  border: 12px solid transparent;
  border-left: 18px solid #ff0000;
  border-right: 0;
}

.pr_list_btn .pr_myself:nth-child(2) {
  margin-right: 0;
}

.pr_top_myselt {
  font-size: 18px;
  line-height: 36px;
}

.pr_bt_myselt {
  font-size: 26px;
}

.pr_myself_red {
  background: #cc0000;
}

.pr_myself_blue {
  background: linear-gradient(#4899ea, #217ce5);
}

.pr_item_product {
  background: #fafafa;
  display: flex;
  margin-bottom: 30px;
  border: 1px solid #e1e1e1;
  position: relative;
}

.pr_item_left {
  width: 20%;
}

.pr_item_right {
  width: 80%;
}

.pr_img_product {
  height: 150px;
  padding: 15px;
}

.pr_img_product img {
  width: 100%;
}

.pr_bg_img {
  background: #fff;
}

.pr_item_title {
  font-size: 20px;
  border-bottom: 2px solid #e1e1e1;
  padding-bottom: 12px;
  font-weight: 700;
}

.pr_main_right {
  padding: 15px 15px 15px 0;
}

.pr_close_title {
  position: absolute;
  right: 15px;
  top: 5px;
}

.pr_close_title:after {
  content: "\f057";
  font-family: FontAwesome;
  font-size: 36px;
}

.pr_item_choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-right: 20px;
  margin-top: 15px;
}

.pr_choice {
  display: flex;
  flex-direction: column;
}

.text_choice {
  font-size: 14px;
  padding-top: 25px;
}
.pr_box_red {
  display: block;
  position: relative;
  padding-left: 30px;
  padding-top: 5px;
  margin-bottom: 12px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 16px;
  font-weight: 600;
}

.pr_box_red input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.pr_checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 5px;
}

.pr_box_red:hover input ~ .pr_checkmark {
  background-color: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 5px;
}

.pr_box_red input:checked ~ .pr_checkmark {
  background-color: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 5px;
}

.pr_checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.pr_box_red input:checked ~ .pr_checkmark:after {
  display: block;
}

.pr_box_red .pr_checkmark:after {
  left: 8px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid #ff0000;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.img_item_red img {
  width: 70%;
  height: auto;
  max-height: 100%;
}

.pr_item_check {
  margin-top: 12px;
}

.pr_main_check {
  display: flex;
  margin: 5px 5px 0 -4px;
}

.pr_check_red {
  width: 25%;
}

.item_check_red {
  margin: 4px;
}

.img_item_red {
  width: 100%;
  background: #fff;
  border: 1px solid #e1e1e1;
  padding: 10px;
  height: 95px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.check_box_red {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.title_pr_check {
  font-size: 16px;
  font-weight: 600;
}

.pr_choice label {
  line-height: 25px;
  font-weight: 600;
}

.pr_choice_select {
  width: 40%;
}

.pr_choice_input {
  width: 12%;
}

.pr_choice .select_box,
.pr_choice input {
  border: 1px solid #e1e1e1;
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 14px;
  outline: none;
  background: #fff;
}

.pr_choice input {
  height: 38px;
}

.pr_choice .select_box {
  width: 100%;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

.pr_choice .select_box {
  position: relative;
}

.pr_choice .select_box strong span {
  width: 100%;
  display: block;
}

.pr_choice .select_box:after {
  content: "";
  width: 0px;
  height: 0px;
  border-top: 10px solid red;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  pointer-events: none;
}

.pr_info_main {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 10px;
}

.pr_price_red {
  color: #e50000;
}

.pr_title_product {
  text-align: center;
  line-height: 18px;
  font-size: 14px;
}

.pr_title_gray {
  color: #a9a9a9;
}

.pr_total_price {
  margin-top: 35px;
  background: #fffae9;
  border: 1px solid #fceedc;
  padding: 20px 35px 15px;
  display: flex;
  flex-direction: column;
}

.pr_top_total {
  text-align: center;
  margin-bottom: 20px;
  font-weight: 600;
}

.pr_top_total .pr_price_red {
  font-size: 26px;
}

.pr_top_total .pr_tax {
  font-size: 16px;
}

.pr_total_recipe {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
}

.pr_recipe {
  background: #fff;
  border: 1px solid #fceedc;
  padding: 10px;
  line-height: 24px;
  font-weight: 600;
}

.pr_plus {
  font-size: 28px;
  color: #6b6961;
}

.pr_total_end {
  text-align: center;
}

.pr_top_total.pr_total_end {
  margin-bottom: 0;
}

.pr_list_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 35px;
}

.banner_pr,
.banner_pr img {
  width: 100%;
}

/* New Category and Search Layout */
.pr_filter_container {
  background: #f8f8f8;
  border-radius: 8px;
  padding: 20px 30px;
  margin-bottom: 30px;
}
.pr_search_new {
  margin-bottom: 25px;
}
.pr_search_box_new {
  position: relative;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  background: #fff;
}
.pr_search_icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  font-size: 18px;
}
.pr_search_box_new .search_input_new {
  width: 100%;
  border: none;
  padding: 15px 15px 15px 45px;
  font-size: 16px;
  margin: 0;
  outline: none;
}
.pr_search_box_new .search_input_new::placeholder {
  color: #bbb;
}

.pr_filter_title_new {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 12px;
  margin-top: 20px;
  border: none;
  padding: 0;
  color: #000;
}
.pr_category_pills_new,
.pr_sub_category_pills_new {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

/* Category Style Tabs (from designenq) */
.category-style-tab {
  padding: 8px 20px;
  border: 1px solid #e0e0e0;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  background: #fff;
  color: #333;
  font-family: Hiragino sans-serif;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 6px;
}
.category-style-tab:hover {
  border-color: #4a8df8;
  color: #4a8df8;
}
.category-style-tab.is-active {
  background: #333;
  color: #fff;
  border-color: #333;
}
.check-circle {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%0A%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 7C0 3.13531 3.13531 0 7 0C10.8647 0 14 3.13531 14 7C14 10.8647 10.8647 14 7 14C3.13531 14 0 10.8647 0 7ZM7 1.07692C3.73008 1.07692 1.07692 3.73008 1.07692 7C1.07692 10.2699 3.73008 12.9231 7 12.9231C10.2699 12.9231 12.9231 10.2699 12.9231 7C12.9231 3.73008 10.2699 1.07692 7 1.07692Z' fill='%23DDDDDD'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.5771 3.89539C10.8048 4.08667 10.8343 4.42632 10.6431 4.65403L6.12 10.0386C6.01975 10.158 5.87272 10.228 5.71689 10.2307C5.56106 10.2334 5.41172 10.1684 5.30746 10.0525L3.369 7.89867C3.17006 7.67763 3.18798 7.33717 3.40902 7.13823C3.63006 6.93929 3.97053 6.95721 4.16947 7.17825L5.69368 8.87182L9.81847 3.96136C10.0097 3.73365 10.3494 3.70411 10.5771 3.89539Z' fill='%23DDDDDD'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.check-circle.checked {
  background-image: url("data:image/svg+xml,%0A%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 0C3.14024 0 0 3.14024 0 7C0 10.8598 3.14024 14 7 14C10.8598 14 14 10.8598 14 7C14 3.14024 10.8598 0 7 0ZM10.643 4.65399L6.11995 10.0386C6.07034 10.0977 6.0086 10.1454 5.93892 10.1786C5.86925 10.2118 5.79326 10.2295 5.71611 10.2308H5.70702C5.63155 10.2307 5.55692 10.2148 5.48799 10.1841C5.41905 10.1534 5.35735 10.1085 5.30688 10.0524L3.36841 7.89856C3.31918 7.84634 3.28089 7.78481 3.25578 7.71759C3.23067 7.65036 3.21925 7.57879 3.22219 7.50709C3.22513 7.43539 3.24238 7.36499 3.27292 7.30005C3.30345 7.23511 3.34666 7.17692 3.40001 7.12892C3.45335 7.08091 3.51575 7.04406 3.58354 7.02051C3.65133 6.99697 3.72315 6.98721 3.79476 6.99182C3.86638 6.99643 3.93635 7.0153 4.00057 7.04734C4.06478 7.07937 4.12195 7.12392 4.1687 7.17837L5.69288 8.87183L9.81851 3.96139C9.91105 3.8544 10.042 3.78812 10.183 3.77689C10.324 3.76565 10.4638 3.81036 10.5721 3.90134C10.6804 3.99233 10.7486 4.12229 10.7619 4.26313C10.7751 4.40397 10.7324 4.54437 10.643 4.65399Z' fill='white'/%3E%3C/svg%3E%0A");
}

.common-heading {
  font-size: 26px;
  font-weight: 700;
  border-bottom: 4px solid #000;
  margin-bottom: 20px;
  color: #000;
  font-family: Hiragino sans-serif;
  position: relative;
}
.common-heading-txt {
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
}
.common-heading-txt::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-color: red;
  position: absolute;
  bottom: -4px;
}
.common-heading:after {
  content: "";
  display: block;
}
.price-simulation_filter {
  background: #f7f7f7;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 20px;
}
.price-simulation_filter-searchBox {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  display: flex;
  align-items: center;
}
.price-simulation_filter-searchBox .pr_search_icon {
  color: #828282;
  font-size: 20px;
  margin-right: 10px;
}
.price-simulation .price-simulation_filter-input {
  border: none;
  outline: none;
  width: 100%;
  font-size: 16px;
  color: #333;
  padding: 10px 10px 10px 43px;
}
.price-simulation_filter .category-style-tab {
  border: none;
}
.price-simulation .category-style-tab:hover {
}
/* Extracted Inline Styles */
#contents #main {
  width: 1080px !important;
  float: right !important;
}
#main {
  background: #fff;
  padding: 0px;
}
.pr_search_new_layout {
  margin-bottom: 20px;
}
.pr_filter_title_margin {
  margin: 0 0 10px 0;
}
.pr_category_container_layout {
  gap: 10px;
  margin-bottom: 20px;
}
.pr_sub_category_container_layout {
  gap: 10px;
  margin-bottom: 0;
}
.pr_layout_wrapper {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.pr_left_pane {
  flex: 0 0 calc(70% - 12px);
  max-width: calc(70% - 12px);
}
.pr_tabs_transparent {
  background: transparent !important;
  height: auto !important;
  padding: 0 !important;
}
.pr_product_grid_no_limit {
  max-height: none !important;
}
.pr_load_more_container {
  display: none;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
}
.pr_load_more_btn {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 12px 60px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  color: #555;
}
.pr_angle_down {
  margin-left: 5px;
}
.pr_right_pane {
  flex: 0 0 calc(30% - 12px);
  max-width: calc(30% - 12px);
  background: #f9f9f9;
  padding: 20px;
  border-radius: 8px;
}
.pr_sidebar_title {
  font-size: 16px;
  font-weight: bold;
  color: #333;
  margin: 0 0 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pr_sidebar_count {
  background: #c92027;
  color: #fff;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
.pr_pc_cart_items {
  min-height: 100px;
}
.pr_empty_cart_msg {
  color: #999;
  font-size: 13px;
}
.pr_estimate_section {
  margin-top: 30px;
}
.pr_estimate_title {
  font-size: 16px;
  font-weight: bold;
  color: #c92027;
  margin: 0 0 15px 0;
}
.pr_estimate_box {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
}
.pr_estimate_label {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 5px;
  color: #000;
}
.pr_estimate_total_row {
  display: flex;
  align-items: baseline;
  margin-bottom: 15px;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 10px;
}
.pr_estimate_total_price {
  font-size: 26px;
  font-weight: bold;
  color: #c92027;
}
.pr_estimate_tax_lbl {
  font-size: 13px;
  color: #333;
  margin-left: 5px;
}
.pr_estimate_detail_row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin-bottom: 10px;
  color: #777;
}
.pr_estimate_detail_last {
  margin-bottom: 15px;
}
.pr_sidebar_total_next {
  background: #fff3cd;
  border-radius: 4px;
  padding: 12px;
  font-size: 12px;
  font-weight: bold;
  color: #c92027;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.pr_sidebar_actions {
  margin-top: 20px;
}
.pr_action_link {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #0080ff;
  font-size: 13px;
  text-decoration: none;
}
.pr_action_mb10 {
  margin-bottom: 10px;
}
.pr_action_mb20 {
  margin-bottom: 20px;
}
.pr_btn_design {
  display: block;
  background: #e50000;
  color: #fff;
  border-radius: 8px;
  padding: 15px;
  text-decoration: none;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 15px;
}
.pr_btn_design_txt {
  line-height: 1.4;
}
.pr_btn_design_sub {
  font-size: 12px;
  font-weight: normal;
}
.pr_btn_icon {
  font-size: 20px;
}
.pr_btn_request {
  display: block;
  background: #333;
  color: #fff;
  border-radius: 8px;
  padding: 18px 15px;
  text-decoration: none;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  font-size: 15px;
}
.pr_business_contact {
  font-size: 12px;
  color: #333;
  line-height: 1.5;
}
.pr_business_link {
  color: #0080ff;
  text-decoration: none;
}
.pr_hidden {
  display: none !important;
}
.pr_modal_overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
  font-family: sans-serif;
  overflow-y: auto;
  padding: 20px;
  box-sizing: border-box;
}
.pr_modal_container {
  position: relative;
  width: 100%;
  max-width: 700px;
  margin: auto;
}
.pr_modal_close_btn {
  position: absolute;
  top: -15px;
  right: -15px;
  width: 36px;
  height: 36px;
  background: #000;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  z-index: 100;
}
.pr_modal_content_box {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  max-height: 85vh;
  overflow-y: auto;
  box-sizing: border-box;
}
.pr_modal_split {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}
.pr_modal_left {
  flex: 0 0 250px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.pr_modal_img {
  width: 100%;
  max-width: 250px;
  height: auto;
  object-fit: contain;
}
.pr_modal_right {
  flex: 1;
  min-width: 300px;
  display: flex;
  flex-direction: column;
}
.pr_modal_header {
  margin-bottom: 25px;
}
.pr_modal_title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
  color: #333;
}
.pr_modal_code {
  font-size: 14px;
  color: #888;
}
.pr_modal_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}
.pr_modal_label {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 4px;
  color: #333;
}
.pr_modal_color_val {
  font-size: 13px;
  color: #777;
}
.pr_modal_change_color_btn {
  background: #337bff;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 24px;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;
}
.pr_modal_label_mb0 {
  margin-bottom: 0;
}
.pr_modal_qty_wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pr_modal_qty_input {
  width: 70px;
  padding: 10px;
  border: 1px solid #eee;
  border-radius: 6px;
  text-align: right;
  font-size: 16px;
  color: #ccc;
  box-sizing: border-box;
  outline: none;
}
.pr_modal_qty_unit {
  font-size: 15px;
  font-weight: bold;
  color: #333;
}
.pr_modal_loc_section {
  margin-bottom: 20px;
}
.pr_modal_label_mb15 {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #333;
}
.pr_modal_loc_container {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  overflow-x: auto;
  padding-bottom: 5px;
}
.pr_modal_footer {
  text-align: center;
  margin-top: 20px;
  padding-top: 10px;
}
.pr_modal_note {
  font-size: 14px;
  color: #777;
  margin-bottom: 15px;
}
.pr_color_modal_overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
  font-family: sans-serif;
  overflow-y: auto;
  padding: 20px;
  box-sizing: border-box;
}
.pr_color_modal_container {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: auto;
}
.pr_color_modal_content {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-sizing: border-box;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  max-height: 85vh;
  display: flex;
  flex-direction: column;
}
.pr_color_modal_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.pr_color_modal_title {
  font-size: 18px;
  font-weight: bold;
  color: #111;
}
.pr_color_modal_grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
  overflow-y: auto;
  padding-right: 5px;
  padding-bottom: 20px;
}

/* Extracted Inline Styles v2 */
#contents #main {
  width: 1080px !important;
  float: right !important;
}
#main {
  background: #fff;
  padding: 0px;
}
/* Fix for position: sticky to work inside these containers */
html,
body,
#wrap,
#wrapper,
#container,
#page,
#contents,
#main,
.d-flex-ct,
.guide,
.price_report,
.price-simulation,
.pr_flex_wrapper {
  overflow: visible !important;
  overflow-x: clip !important;
}
#contents {
  display: flow-root !important;
}
.pr_mb_20 {
  margin-bottom: 20px;
}
.pr_m_0_0_10_0 {
  margin: 0 0 10px 0;
}
.pr_cat_container {
  gap: 10px;
  margin-bottom: 20px;
}
.pr_sub_cat_container {
  gap: 10px;
  margin-bottom: 0;
}
.pr_flex_wrapper {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.pr_left_pane_70 {
  flex: 0 0 calc(70% - 12px);
  max-width: calc(70% - 12px);
}
.pr_tabs_transparent {
  background: transparent !important;
  height: auto !important;
  padding: 0 !important;
}
.pr_no_max_height {
  max-height: none !important;
}
.pr_btn_load_more {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 6px 60px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  color: #555;
  transition: all 0.25s ease;
}
.pr_btn_load_more:hover {
  background: #555;
  color: #fff;
}
.pr_ml_5 {
  margin-left: 5px;
}
.pr_right_pane_30 {
  flex: 0 0 calc(30% - 12px);
  max-width: calc(30% - 12px);
  background: #f9f9f9;
  padding: 15px;
  border-radius: 8px;
  position: sticky;
  top: 20px;
  align-self: flex-start;
}
.pr_sidebar_header {
  font-size: 16px;
  font-weight: bold;
  color: #333;
  margin: 0 0 10px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pr_badge_count {
  background: #c92027;
  color: #fff;
  border-radius: 50%;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.pr_min_h_100 {
  min-height: 100px;
}
.pr_empty_msg {
  color: #999;
  font-size: 13px;
}
.pr_mt_30 {
  margin-top: 30px;
}
.pr_total_title {
  font-size: 16px;
  font-weight: bold;
  color: #c92027;
  margin: 0 0 15px 0;
}
.pr_total_box {
  background: #fff;
  padding: 15px;
  border-radius: 8px;
}
.pr_discount_lbl {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #000;
}
.pr_total_price_row {
  display: flex;
  align-items: baseline;
  margin-bottom: 10px;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 10px;
}
.pr_price_highlight {
  font-size: 20px;
  font-weight: 700;
  color: #c92027;
}
.pr_tax_lbl {
  font-size: 12px;
  color: #333;
  margin-left: 5px;
}
.pr_detail_row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin-bottom: 10px;
  color: #777;
}
.pr_detail_row_last {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  margin-bottom: 15px;
  color: #777;
}
.pr_total_next_alert {
  background: #fff3cd;
  border-radius: 4px;
  padding: 12px;
  font-size: 12px;
  font-weight: bold;
  color: #c92027;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.pr_mt_20 {
  margin-top: 20px;
}
.pr_mb_10 {
  margin-bottom: 10px;
}
a.pr_link,
a.pr_link:visited {
  color: #0084ff;
}
.pr_link_action {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #0080ff;
  font-size: 14px;
  margin-bottom: 10px;
  text-decoration: none;
}
a.pr_btn_red_large,
a.pr_btn_dark_large {
  padding: 10px 15px;
  font-size: 17px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  color: #fff;
  border-radius: 10px;
  min-height: 60px;
  line-height: 120%;
  text-decoration: none;
}
a.pr_btn_red_large {
  background: #e50000;
}
a.pr_btn_dark_large {
  background: #333;
}
.pr_lh_14 {
  line-height: 1.4;
}
.pr_small_normal {
  font-size: 12px;
  font-weight: normal;
}
.pr_icon_20 {
  font-size: 20px;
}

.pr_text_small {
  font-size: 12px;
  color: #333;
  line-height: 1.5;
}
.pr_link_blue {
  color: #0080ff;
  text-decoration: none;
}
.pr_modal_overlay_full {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
  font-family: sans-serif;
  overflow-y: auto;
  padding: 20px;
  box-sizing: border-box;
}
.pr_modal_box_700 {
  position: relative;
  width: 100%;
  max-width: 700px;
  margin: auto;
}
.pr_modal_close {
  position: absolute;
  top: -15px;
  right: -15px;
  width: 40px;
  height: 40px;
  background: #000;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  cursor: pointer;
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); */
  z-index: 100;
  border: 1px solid #fff;
}
.pr_modal_content_white {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  max-height: 85vh;
  overflow-y: auto;
  box-sizing: border-box;
}
.pr_flex_gap_30_wrap {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}
.pr_modal_img_col {
  flex: 0 0 200px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.pr_modal_img_fit {
  width: 100%;
  max-width: 250px;
  height: auto;
  object-fit: contain;
}
.pr_modal_info_col {
  flex: 1;
  min-width: 300px;
  display: flex;
  flex-direction: column;
}
.pr_modal_info-header {
  margin-bottom: 15px;
}
.pr_modal_title_text {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
  color: #333;
}
.pr_modal_code_text {
  font-size: 14px;
  color: #888;
}
.pr_modal_row_spb {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.pr_modal_label_bold {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 4px;
  color: #333;
}
.pr_modal_val_text {
  font-size: 13px;
  color: #777;
}
.pr_btn_blue_small {
  max-width: 160px;
  width: 100%;
  background: #337bff;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 9px 24px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}
.pr_modal_label_bold_no_mb {
  font-size: 15px;
  font-weight: bold;
  color: #333;
}
.pr_flex_gap_10 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pr_qty_input {
  width: 77px;
  height: 40px;
  padding: 10px;
  border: 1px solid #eee;
  border-radius: 6px;
  text-align: right;
  font-size: 16px;
  color: #000;
  box-sizing: border-box;
  outline: none;
}
.pr_modal_label_bold_15 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #333;
}
.pr_loc_container {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 5px;
}
.pr_modal_submit_wrap {
  text-align: center;
  margin-top: 30px;
}
.pr_modal_note_text {
  font-size: 14px;
  color: #777;
  margin-bottom: 10px;
}
.pr_btn_submit_modal {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
  background: #e02f14;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.pr_color_overlay_full {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
  font-family: sans-serif;
  overflow-y: auto;
  padding: 20px;
  box-sizing: border-box;
}
.pr_color_box_900 {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: auto;
}
.pr_color_content_white {
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-sizing: border-box;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  max-height: 85vh;
  display: flex;
  flex-direction: column;
}
.pr_color_header_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.pr_color_title_text {
  font-size: 18px;
  font-weight: bold;
  color: #111;
}
.pr_color_grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  overflow-y: auto;
  padding-right: 5px;
  padding-bottom: 20px;
}
.pr_note {
  font-size: 14px;
  font-weight: 500;
  line-height: 130%;
}
@keyframes prOverlayGuard {
  0% {
    overflow: hidden;
  }
  100% {
    overflow: auto;
  }
}
@keyframes prBounceUpIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 100vh, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes prExpandIn {
  0% {
    opacity: 0;
    transform: scale3d(0.92, 0.92, 1);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
.pr_modal_overlay_full {
  animation: prOverlayGuard 0.6s ease both;
}
.pr_modal_overlay_full .pr_modal_box_700 {
  animation: prBounceUpIn 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
.pr_color_overlay_full .pr_color_box_900 {
  animation: prExpandIn 0.2s ease-out both;
}
