/**
* Theme Name: Bookory Child
* Description: This is a child theme of Bookory, generated by Merlin WP.
* Author: <a href="https://pavothemes.com/">PavoThemes</a>
* Template: bookory
* Version: 2.3.0
*/

.form-header .column-fields {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

:where(.css-1p3hq3p).ant-input {
  padding: 4px 11px !important;
}

:where(.css-1p3hq3p).ant-btn-primary {
  padding: 4px 15px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
}

.wpcf7-form .row [class*=" column-"],
.wpcf7-form .row [class^=column-] {
  margin-bottom: 0px;
}

.wpcf7 form .wpcf7-response-output {
  border: none !important;
  padding-left: 0;
}

.wpcf7-not-valid-tip {
  margin-top: .5rem;
}

.ant-table-wrapper .ant-table-thead>tr>th {
  border: none !important;

}

.ant-table-wrapper .ant-table-tbody>tr>td {
  border: none !important;
  border-bottom: #eee solid 1px !important;
}

.ant-pagination .ant-pagination-item-active {
  border-color: #333;
}

.ant-pagination .ant-pagination-item-active a {
  color: #333;
}

.ant-pagination .ant-pagination-item-active:hover {
  border-color: #333;
}

.elementor-widget-bookory-woocommerce-breadcrumb .bookory-woocommerce-title {
  font-size: 22px;
}

.elementor-3100 .elementor-element.elementor-element-1ece023>.elementor-container {
  min-height: 105px;
}

@media (max-width: 767px) {
  .elementor-3100 .elementor-element.elementor-element-59103fb .bookory-woocommerce-title {
    font-size: 20px;
  }
}

.elementor-9577 .elementor-element.elementor-element-34bd7cc .elementor-icon-box-wrapper {
  display: flex;
  justify-content: center;
}

.elementor-9577 .elementor-element.elementor-element-34bd7cc .elementor-icon-box-description {
  margin-bottom: 0;
}

.elementor-7172 .elementor-element.elementor-element-34bd7cc .elementor-icon-box-wrapper {
  display: flex;
  justify-content: center;
}

.elementor-7172 .elementor-element.elementor-element-34bd7cc .elementor-icon-box-description {
  margin-bottom: 0;
}

.elementor-7245 .elementor-element.elementor-element-324c3b7 img {
  margin-left: auto;
}

table.cart td.product-remove a.remove {
  font-size: 1.5em;
}

table.cart td.product-price {
  font-size: 1.1em;
  font-weight: 500;
}

table.cart td.product-subtotal {
  font-size: 1.2em;
  font-weight: 500;
}

table.cart th {
  font-size: 14px;
}
/* 
.bookory-sidebar-left .widget-area {
  display: none !important;
}

.woocommerce-page .content-area {
  width: 100% !important;
} */

:root {
  --e-global-color-primary: #F65D4E;
  --e-global-color-primary_hover: #f4402f;
  --e-global-color-text: #444444;
  --e-global-color-accent: #000000;
  --e-global-color-lighter: #999999;
  --e-global-color-border: #E6E6E6;
  --e-global-typography-heading_title-font-family: "Sora";
  --e-global-typography-heading_title-font-size: 36px;
  --e-global-typography-heading_title-font-weight: 600;
  --e-global-typography-heading_title-text-transform: none;
  --e-global-typography-heading_title-line-height: 44px;
  --e-global-typography-heading_title-letter-spacing: -2px;
  --e-global-typography-heading_footer-font-family: "Sora";
  --e-global-typography-heading_footer-font-size: 16px;
  --e-global-typography-heading_footer-font-weight: 600;
  --e-global-typography-heading_footer-text-transform: uppercase;
  --e-global-typography-heading_footer-line-height: 20px;
}

/* ===== Upload Receipt Table Styles ===== */
.woocommerce-table--upload-receipt {
  width: 100%;
  background-color: #ffffff !important;
  overflow: hidden;
  margin-bottom: 1.5rem;
  position: relative;
  max-width: 900px;
  margin: 2.51rem auto;
}

/* 表头单元格 */
.woocommerce-table--upload-receipt th[scope="row"] {
  padding: 18px 24px;
  font-size: 13px;
  font-weight: 600;
  color: var(--e-global-color-accent);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  width: 160px;
}

/* 内容单元格 */
.woocommerce-table--upload-receipt td {
  padding: 18px 24px;
  vertical-align: middle;
}

/* 行分隔线 */
.woocommerce-table--upload-receipt tbody tr {
  border-bottom: 1px solid rgba(99, 102, 241, 0.08);
  transition: background 0.2s ease;
}

.woocommerce-table--upload-receipt tbody tr:hover {
  background: rgba(99, 102, 241, 0.03);
}

/* 图片预览区域 */
.woocommerce-table--upload-receipt .receipt-img-preview {
  display: flex;
  align-items: center;
  gap: 16px;
}

.woocommerce-table--upload-receipt .receipt-img-preview img.receipt-preview {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 12px;
  border: 2px dashed #c7d2fe;
  padding: 4px;
  background: #fff;
  transition: border-color 0.3s ease, transform 0.2s ease;
}

.woocommerce-table--upload-receipt .receipt-img-preview img.receipt-preview:hover {
  transform: scale(1.05);
}

/* 状态文字 */
.woocommerce-table--upload-receipt .receipt-status {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 20px;
  display: inline-block;
  background: #fef3c7;
  color: #d97706;
  border: 1px solid #fde68a;
}

/* 上传成功状态（可选，根据实际class添加） */
.woocommerce-table--upload-receipt .receipt-status.uploaded {
  background: #d1fae5;
  color: #059669;
  border-color: #a7f3d0;
}

/* 上传区域 */
.woocommerce-table--upload-receipt .receipt-img-upload {
  display: flex;
  align-items: center;
}

.woocommerce-table--upload-receipt #uploadreceiptfileimage>div {
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* 文件输入框 */
.woocommerce-table--upload-receipt #receipt-file {
  font-size: 13px;
  color: #64748b;
  padding: 8px 12px;
  border: 1.5px dashed #eee;
  border-radius: 10px;
  background: #eee;
  cursor: pointer;
  transition: border-color 0.3s ease, background 0.3s ease;
  width: auto !important;
}

.woocommerce-table--upload-receipt #receipt-file:hover,
.woocommerce-table--upload-receipt #receipt-file:focus {
  outline: none;
}

/* 上传按钮 */
.woocommerce-table--upload-receipt .start-upload.button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 22px;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff !important;
  background-color: var(--primary);
  border: none !important;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.woocommerce-table--upload-receipt .start-upload.button::before {
  content: "↑";
  font-size: 15px;
  font-weight: 700;
}

.woocommerce-table--upload-receipt .start-upload.button:hover {
  box-shadow: 0 6px 18px rgba(99, 102, 241, 0.45);
  transform: translateY(-2px);
}

.woocommerce-table--upload-receipt .start-upload.button:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}

/* 底部 tfoot */
.woocommerce-table--upload-receipt tfoot tr {
  background: rgba(99, 102, 241, 0.04);
  border-top: 1px solid rgba(99, 102, 241, 0.1);
}

.woocommerce-table--upload-receipt tfoot th[scope="row"] {
  border-right: 2px solid rgba(99, 102, 241, 0.1);
}

.woocommerce-table--upload-receipt .receipt-upload-date {
  font-size: 13px;
  color: #94a3b8;
}

/* 隐藏类保持不变 */
.woocommerce-table--upload-receipt .hide {
  display: none;
}

/* 响应式适配 */
@media (max-width: 480px) {
  .woocommerce-table--upload-receipt th[scope="row"] {
    padding: 14px 16px;
    font-size: 12px;
  }

  .woocommerce-table--upload-receipt td {
    padding: 14px 16px;
  }

  .woocommerce-table--upload-receipt #uploadreceiptfileimage>div {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .woocommerce-table--upload-receipt #receipt-file {
    width: 100% !important;
  }
}

#ship-to-different-address,
#ship-to-different-address+.shipping_address {
  display: none !important;
}

#billing_address_2 {
  display: none !important;

}

/* .ant-table-thead .add-to-cart-checkbox label::after{
    content: "Pick";
    display: inline-block;
    width: max-content;
    margin-left: .5rem;
    font-size: 14px;
  }

  html[lang="zh-hant"] .ant-table-thead .add-to-cart-checkbox label::before{
    content: "全部"; 
  }
     */

:where(.css-1p3hq3p).ant-btn-primary:disabled {
  border-color: #d9d9d9 !important;
  color: rgba(0, 0, 0, 0.25) !important;
  background-color: rgba(0, 0, 0, 0.04) !important;
}

:where(.css-1p3hq3p).ant-btn-primary {
  background-color: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-primary) !important;
}

/* ===== Shipping Methods Styles ===== */
.woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.woocommerce-shipping-methods li {
  margin: 0;
  padding: 0;
}

.woocommerce-shipping-methods li label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  border: 2px solid var(--e-global-color-border);
  border-radius: 10px;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--e-global-color-text);
  line-height: 1.5;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  background: #fff;
  user-select: none;
}

.woocommerce-shipping-methods li label:hover {
  border-color: var(--e-global-color-primary);
  background: #fff7f6;
  box-shadow: 0 2px 10px rgba(246, 93, 78, 0.1);
}

/* 隐藏原生 radio */
.woocommerce-shipping-methods .shipping_method {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* 自定义 radio 圆圈 */
.woocommerce-shipping-methods li label::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #ccc;
  background: #fff;
  margin-top: 1px;
  transition: border-color 0.2s ease, background 0.2s ease;
  box-sizing: border-box;
}

.woocommerce-shipping-methods li label::after {
  display: none !important;
}

.wpml-ls-display {
  display: none !important;

}

.ant-layout-content {
  overflow: auto;
}

.wwof-table-container-ref {
  min-width: 1000px;
}

.order-form-app.app-root {
  container: unset !important;
}

/* checked 状态：选中的选项卡片 */
.woocommerce-shipping-methods .shipping_method:checked+label {
  border-color: var(--e-global-color-primary);
  background: #fff7f6;
  box-shadow: 0 2px 12px rgba(246, 93, 78, 0.15);
  color: #333;
}

/* checked 状态：自定义 radio 圆点 */
.woocommerce-shipping-methods .shipping_method:checked+label::before {
  border-color: var(--e-global-color-primary);
  background: radial-gradient(circle, var(--e-global-color-primary) 45%, #fff 46%);
  box-shadow: 0 0 0 1px var(--e-global-color-primary);
}

@media (max-width: 480px) {
  .woocommerce-shipping-methods li label {
    font-size: 13px;
    padding: 10px 14px;
  }


}

.site-header-cart-side .widget_shopping_cart .mini_cart_item a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  /* 显示3行 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}


#billing_country_field,
#billing_address_2_field {
  display: none !important;
}

#billing_address_1-description a {
  color: var(--e-global-color-primary);
  text-decoration: underline;
  font-size: 14px;
}

@media (min-width: 1020px) and (max-width: 3000px) {
  .order-form-app.app-root {
    container: unset !important;
  }
}

.ant-table-cell[data-wwof-field="product-meta"] .product-meta-list-box {
  min-width: unset !important;
}

@container app-external-container (max-width: 1023px) {


  .wwof-order-form[data-v-55c955d9] .ant-table-thead:has(th.ant-table-cell:nth-child(1)):has(th.ant-table-cell:nth-child(-n+14):last-child) {
    display: block !important;
  }

  .wwof-order-form[data-v-55c955d9] .ant-table-thead:has(th.ant-table-cell:nth-child(1)):has(th.ant-table-cell:nth-child(-n+14):last-child) tr .ant-table-cell {
    display: none !important;
  }

  .wwof-order-form[data-v-55c955d9] .ant-table-thead:has(th.ant-table-cell:nth-child(1)):has(th.ant-table-cell:nth-child(-n+14):last-child) tr .add-to-cart-checkbox {
    display: block !important;
  }

  .ant-table-cell.add-to-cart-checkbox .ant-checkbox-wrapper:after {
    content: "Select All";
    width: max-content;
    margin-left: 1rem;
  }

  html[lang="zh-hant"] .ant-table-cell.add-to-cart-checkbox .ant-checkbox-wrapper:after {
    content: "全選";
  }

  .ant-table-container .ant-table-thead tr {
    width: 100%;
    display: flex;
  }

  .ant-table-container .ant-table-thead tr th.add-to-cart-checkbox {
    width: 100%;
  }
}

@container app-external-container (min-width: 768px) and (max-width: 1023px) {
  .wwof-order-form[data-v-55c955d9] .ant-table-tbody tr.ant-table-row:has(td.ant-table-cell:nth-child(8)):has(td.ant-table-cell:nth-child(-n+14):last-child) {
    width: 49.3% !important;
  }
}

@container app-external-container (max-width: 639px) {
  .wwof-order-form[data-v-55c955d9] .ant-table-tbody tr.ant-table-row:has(td.ant-table-cell:nth-child(1)):has(td.ant-table-cell:nth-child(-n+14):last-child) {
    width: 100% !important;
  }
}

:where(.css-1p3hq3p).ant-input-number .ant-input-number-handler-wrap {
  opacity: 1 !important;
}

.product-name-box.product-name {
  max-width: 20rem;
}

.ant-table-wrapper .ant-table-thead>tr>th.product-meta {
  width: 5rem;
  white-space: nowrap;
}

.ant-table-wrapper .ant-table-thead>tr>th.in-stock-amount {
  white-space: nowrap;
  width: 6rem;
}

/* ===== Subcategory Navigation ===== */
.subcategory-nav {
  margin-bottom: 20px;
  padding: 0 15px;
}

.subcategory-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.subcategory-nav__item {
  margin-bottom: 6px;
}

.subcategory-nav__item+.subcategory-nav__item::before {
  content: "→ ";
  font-size: 14px;
  color: var(--e-global-color-lighter);
}

.subcategory-nav__link {
  font-family: "Sora", sans-serif;
  font-size: 14px;
  color: var(--e-global-color-text);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.subcategory-nav__link:hover {
  color: var(--e-global-color-primary);
}

.subcategory-nav__link--active {
  color: var(--e-global-color-primary);
  font-weight: 600;
}

@media (max-width: 768px) {
  .subcategory-nav {
    padding: 0 10px;
    margin-bottom: 14px;
  }

  .subcategory-nav__link,
  .subcategory-nav__item::before {
    font-size: 13px;
  }
}

#order_review #order_review_heading {
  display: none !important;
}

.elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no .elementor-column {
  width: 100%;
}

.elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no .elementor-column:nth-child(1) {
  grid-column: 1 / -1;
}

.elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no .elementor-column:nth-child(1) p {
  text-align: center;
}

.elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no .elementor-column:nth-child(2) p {
  margin-bottom: 0px;
}

.elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no .elementor-column:nth-child(3) img {
  margin-left: auto;
  width: 25rem;
  max-width: 100%;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper img {
  width: auto;
  height: 100%;
  margin: 0 auto;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  position: relative;
  display: block;
  max-height: 600px;
  height: 600px;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper>div {
  height: 100%;
}

#billing_address_1-description{
  display: block!important;
}

.woocommerce-account-fields .woocommerce-form__label-for-checkbox{
  pointer-events: none;
}

.woocommerce-account-fields .woocommerce-form__label-for-checkbox input{
  cursor: not-allowed;
  opacity: 0.6;
  filter: grayscale(100%);
  pointer-events: none;
}

.woocommerce-NoticeGroup-checkout ul li a{
  text-decoration: underline;
}

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments{
  font-size: 16px;
}

#billing_state_field{
  display: none!important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle{
  display: none;
}

/* Class 下拉与结账 input 一样用胶囊圆角（父主题 select 默认 border-radius: 0） */
.woocommerce form .form-row.bookshop-existing-student-field select,
.woocommerce-EditAccountForm .bookshop-existing-student-field select,
#billing_school_class,
#billing_class_group,
#billing_class_number {
  border-radius: 50px;
}

.woocommerce form .form-row.bookshop-existing-student-field select:focus,
.woocommerce-EditAccountForm .bookshop-existing-student-field select:focus,
#billing_school_class:focus,
#billing_class_group:focus,
#billing_class_number:focus {
  border-color: var(--accent);
}

@media (max-width: 1366px) {
  .elementor-7245 .elementor-element.elementor-element-6f27e1c {
    max-width: 100%;
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1289px) {
  .product-name-box.product-name {
    max-width: 12rem;
  }

  .ant-layout-content {
    margin-bottom: 2rem;
  }

  .quantity-box.wwof-table-field.quantity-input .ant-input-number {
    width: 70px;
  }

  .ant-table-wrapper .ant-table-thead>tr>th {
    white-space: nowrap;
  }

  .footer-width-fixer .elementor-icon-box-icon,
  .footer-width-fixer .elementor-icon-box-title {
    text-align: center;
  }

  .elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no .elementor-column:nth-child(2) div[data-widget_type="text-editor.default"] {
    padding-top: 5px;
  }
} 

@media (max-width: 768px) {
  .ht_ctc_an_entry_corner {
    bottom: 66px !important;
  }

  
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments{
  font-size: 14px;
}


  .elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no {
    display: block;
    flex-direction: column;
  }

  .elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no p {
    text-align: left !important;
  }

  .elementor-7245 .elementor-element-e0c6dcb .elementor-column-gap-no .elementor-column:nth-child(2) div[data-widget_type="text-editor.default"] {
    padding-top: 0;
  }

  .ant-layout-content {
    margin-bottom: 2rem;
  }

  div.elementor-element-5d87dfc .elementor-column {
    width: 49%;
  }

  .elementor-6672 .elementor-element.elementor-element-286b7c2>.elementor-element-populated {
    margin: 30px 0px 30px 0px !important;
  }

  footer .hfe-site-logo-container img {
    max-width: 10rem !important;
  }

  .footer-width-fixer .elementor-icon-box-icon,
  .footer-width-fixer .elementor-icon-box-title {
    text-align: center;
  }

  .footer-width-fixer .elementor-top-column.elementor-element>div>div>img {
    max-width: 22rem;
  }

  .footer-width-fixer p {
    margin-bottom: 0rem !important;
    width: 80%;
  }

  .ant-layout-header .wwof-column[data-v-682d6ef8] {
    margin-bottom: 0;
    height: 45px;
  }
  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{
    max-height: 400px;
    height: 400px;
  }
}