/* ==========================================================================
   VietTravel CSS - WooCommerce UI Refined (Classic & Block Checkout / My Account)
   ========================================================================== */

:root {
  --wc-paper: #f4f1e8;
  --wc-surface: #fbf8f1;
  --wc-ink: #1d241f;
  --wc-muted: #72776f;
  --wc-forest: #183e35;
  --wc-forest-dark: #0f2c26;
  --wc-sand: #b6753c;
  --wc-line: #d8d2c5;
  --wc-danger: #9b3e2f;
}

/* 1. RESET & GENERAL STANDARD
   ========================================================================== */
.woocommerce,
.woocommerce-page {
  color: var(--wc-ink);
  font-family: var(--font-sans);
}

.woocommerce *,
.woocommerce-page * {
  box-sizing: border-box;
}

/* Thống nhất chiều rộng container chính cho các trang */
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header {
  width: min(calc(100% - 48px), 1240px);
  margin: 54px auto 24px;
}

.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
  margin: 0 !important;
  font: 500 clamp(2.2rem, 4vw, 4rem)/0.95 var(--font-display) !important;
  letter-spacing: -.04em !important;
}

/* Thông báo hệ thống */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border: 0 !important;
  border-left: 3px solid var(--wc-forest) !important;
  border-radius: 0 !important;
  background: #e9eee9 !important;
  color: var(--wc-ink) !important;
  padding: 16px 18px 16px 22px !important;
  margin: 0 0 24px !important;
  font-size: .9rem !important;
  line-height: 1.6 !important;
}

.woocommerce-error {
  border-left-color: var(--wc-danger) !important;
  background: #f3e6e1 !important;
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
  display: none !important;
}

.woocommerce a {
  color: var(--wc-forest);
  text-decoration: none;
}

/* Form Fields & Inputs chung */
.woocommerce form .form-row label {
  margin-bottom: 7px !important;
  font-size: .76rem !important;
  font-weight: 700 !important;
  color: #444a46 !important;
}

.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea,
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 11px 13px !important;
  border: 1px solid #cfc9bd !important;
  border-radius: 2px !important;
  background: #fff !important;
  color: var(--wc-ink) !important;
  font: inherit !important;
  box-shadow: none !important;
}

.select2-container--default .select2-selection--single {
  padding-top: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 !important;
  line-height: 30px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
}

/* Nút bấm (Buttons) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button,
.wc-block-checkout-place-order-button {
  min-height: 48px !important;
  padding: 12px 24px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--wc-forest) !important;
  color: #fff !important;
  font-family: var(--font-sans) !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background 0.2s ease;
  display: flex;
  align-items: center;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.wc-block-components-button:hover,
.wc-block-checkout-place-order-button:hover {
  background: var(--wc-forest-dark) !important;
  color: #fff !important;
}


/* 2. MY ACCOUNT (TÀI KHOẢN CHÍNH)
   ========================================================================== */
body.woocommerce-account {
  background: var(--wc-paper);
}

.woocommerce-account .woocommerce {
  width: min(calc(100% - 48px), 1240px) !important;
  margin: 40px auto 100px !important;
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 42px !important;
  align-items: start !important;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
  display: none !important;
}

/* Menu bên trái */
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  position: sticky;
  top: 120px;
}

.woocommerce-account .woocommerce-MyAccount-navigation::before {
  content: "Tài khoản";
  display: block;
  margin-bottom: 18px;
  font: 500 1.8rem/1 var(--font-display);
  letter-spacing: -.03em;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--wc-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--wc-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 52px !important;
  padding: 0 4px !important;
  color: #454c47 !important;
  font-size: .86rem !important;
  font-weight: 650 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a::after {
  content: "→";
  color: #a2a49e;
  transition: transform 0.2s;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  color: var(--wc-sand) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover::after {
  transform: translateX(3px);
  color: var(--wc-sand);
}

/* Content bên phải */
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 400px !important;
  margin: 0 !important;
  padding: 42px 46px !important;
  border: 1px solid var(--wc-line) !important;
  background: var(--wc-surface) !important;
  overflow-x: auto !important;
}

.woocommerce-account .woocommerce-MyAccount-content table {
  width: 100% !important;
  min-width: 600px !important;
  table-layout: auto !important;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.03em !important;
}

.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 2.25rem !important; }
.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 1.6rem !important; }

/* Form Login / Register khi chưa đăng nhập */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: block !important;
  max-width: 1000px !important;
}

.woocommerce-account #customer_login {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 28px !important;
}

.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 36px !important;
  border: 1px solid var(--wc-line) !important;
  background: var(--wc-surface) !important;
}

.woocommerce-account #customer_login h2 {
  margin: 0 0 24px !important;
  font: 500 2.2rem/1 var(--font-display) !important;
}


/* 3. CLASSIC CHECKOUT
   ========================================================================== */
body.woocommerce-checkout {
  background: var(--wc-paper);
}

.woocommerce-checkout .woocommerce {
  width: min(calc(100% - 48px), 1240px) !important;
  margin: 40px auto 100px !important;
}

.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr) !important;
  gap: 38px !important;
  align-items: start !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review {
  background: var(--wc-surface) !important;
  border: 1px solid var(--wc-line) !important;
  padding: 34px !important;
}

.woocommerce-checkout #customer_details {
  float: none !important;
  width: auto !important;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}

.woocommerce-checkout #customer_details .col-2 {
  margin-top: 26px !important;
}

.woocommerce-checkout #order_review_heading {
  display: none !important;
}

.woocommerce-checkout #order_review {
  position: sticky !important;
  top: 120px !important;
  float: none !important;
  width: auto !important;
}

.woocommerce-checkout h3 {
  margin: 0 0 24px !important;
  font: 500 1.8rem/1.1 var(--font-display) !important;
  letter-spacing: -.03em !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.woocommerce-checkout .form-row {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

.woocommerce-checkout .form-row-wide,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #order_comments_field {
  grid-column: 1 / -1 !important;
}

/* Payment Section */
.woocommerce-checkout #payment {
  margin-top: 20px !important;
  border-radius: 0 !important;
  background: #ece6da !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: 18px !important;
  border-bottom: 1px solid var(--wc-line) !important;
  list-style: none !important;
}

.woocommerce-checkout #payment div.payment_box {
  border-radius: 0 !important;
  background: #f7f2e9 !important;
  color: var(--wc-ink) !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #f7f2e9 !important;
}

.woocommerce-checkout #payment .place-order {
  padding: 18px !important;
}

.woocommerce-checkout #place_order {
  width: 100% !important;
  min-height: 52px !important;
}


/* 4. MODERN GUTENBERG CHECKOUT BLOCKS (Tối ưu hóa layout)
   ========================================================================== */
/* Tránh tràn màn hình ngang */
body.woocommerce-checkout,
body.woocommerce-account {
  overflow-x: hidden;
}

/* Container chính của Checkout Block */
.wp-block-woocommerce-checkout {
  width: min(calc(100% - 48px), 1240px) !important;
  max-width: 1240px !important;
  margin: 40px auto 100px !important;
  padding: 0 !important;
}

.wp-block-woocommerce-checkout.wc-block-checkout {
  grid-template-columns: 1fr!important;
}

/* Thiết lập cấu trúc 2 cột trên màn hình Desktop */
@media (min-width: 1025px) {
  .wc-block-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr) !important;
    gap: 38px !important;
    align-items: start !important;
  }
}

.wc-block-checkout__main {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Sidebar hiển thị Tóm tắt đơn hàng */
.wc-block-checkout__sidebar {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 30px !important;
  position: sticky !important;
  top: 120px !important;
  border: 1px solid var(--wc-line) !important;
  background: var(--wc-surface) !important;
  box-sizing: border-box !important;
}

/* Chống lỗi hiển thị dọc 1 ký tự đối với tên Tour / Sản phẩm */
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__description *,
.wc-block-components-product-name,
.wc-block-components-product-name *,
.wc-block-components-order-summary-item__individual-price,
.wc-block-components-order-summary-item__total-price {
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  min-width: 0 !important;
}

.wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 16px 0 !important;
}

.wc-block-components-order-summary-item__image {
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
}

.wc-block-components-order-summary-item__description {
  width: auto !important;
  min-width: 0 !important;
}

.wc-block-components-product-name {
  display: block !important;
  margin: 0 0 7px !important;
  font: 500 1.05rem/1.2 var(--font-display) !important;
  letter-spacing: -.015em !important;
}

.wc-block-components-order-summary-item__total-price {
  display: block !important;
  margin-top: 7px !important;
  min-width: 0 !important;
  font-size: .9rem !important;
  font-weight: 800 !important;
  color: var(--wc-forest) !important;
}

/* Từng bước trong tiến trình Checkout */
.wc-block-components-checkout-step {
  margin: 0 0 22px !important;
  padding: 28px !important;
  border: 1px solid var(--wc-line) !important;
  background: var(--wc-surface) !important;
}

.wc-block-components-checkout-step__heading {
  margin-bottom: 20px !important;
}

.wc-block-components-checkout-step__title {
  margin: 0 !important;
  font: 500 1.8rem/1.05 var(--font-display) !important;
  letter-spacing: -.03em !important;
}

.wc-block-components-checkout-step__description {
  color: var(--wc-muted) !important;
  font-size: .82rem !important;
}

/* Tổng tiền (Totals) */
.wc-block-components-totals-item {
  padding: 12px !important;
}

.wc-block-components-totals-footer-item {
  padding-top: 18px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font: 500 1.35rem/1 var(--font-display) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--wc-forest) !important;
}

/* Phương thức thanh toán (Payment Methods) */
.wc-block-components-radio-control {
  border: 1px solid var(--wc-line) !important;
  background: #fff !important;
}

.wc-block-components-radio-control__label {
  padding-left: 30px;
}

.wc-block-components-radio-control__option {
  padding: 16px !important;
}

.wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
  border-top: 1px solid var(--wc-line) !important;
}

/* Coupon block */

.wc-block-components-totals-coupon__button {
  font-weight: 700 !important;
}


/* 5. ORDER RECEIVED (XÁC NHẬN ĐƠN HÀNG)
   ========================================================================== */
.woocommerce-order-received .woocommerce {
  width: min(calc(100% - 48px), 1000px) !important;
  margin: 54px auto 100px !important;
}

.woocommerce-order-received .woocommerce-order {
  padding: 42px !important;
  border: 1px solid var(--wc-line) !important;
  background: var(--wc-surface) !important;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin-top: 0 !important;
  font: 500 2rem/1.15 var(--font-display) !important;
  color: var(--wc-forest) !important;
}

/* Loại bỏ phần tử giả gây lỗi */
.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after {
  display: none !important;
  content: none !important;
}

/* Chuyển sang Flexbox co giãn linh hoạt */
.woocommerce ul.order_details {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1px !important; /* Tạo đường chia bằng khoảng cách gap */
  background: var(--wc-line) !important; /* Màu của đường phân cách */
  margin: 30px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 1px solid var(--wc-line) !important; /* Viền bao ngoài cùng */
  border-radius: 3px !important;
  overflow: hidden !important;
}

.woocommerce ul.order_details li {
  /* Kích thước cơ sở là 220px, tự động giãn rộng (flex-grow: 1) để lấp đầy hàng */
  flex: 1 1 220px !important; 
  margin: 0 !important;
  padding: 18px 20px !important;
  background: #f5f1e8 !important; /* Màu nền của từng ô */
  box-sizing: border-box !important;
}

.woocommerce ul.order_details li strong {
  margin-top: 5px !important;
  font-size: .9rem !important;
}

/* Bảng thông tin đặt chỗ / Order Tables */
.woocommerce table.shop_table,
.woocommerce table.my_account_orders {
  width: 100% !important;
  border: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: transparent !important;
}

.woocommerce table.shop_table thead,
.woocommerce table.my_account_orders thead {
  background: #ece6da !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce table.my_account_orders th,
.woocommerce table.my_account_orders td {
  padding: 14px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wc-line) !important;
  text-align: left !important;
  vertical-align: middle !important;
  font-size: .84rem !important;
}

.woocommerce table.shop_table th,
.woocommerce table.my_account_orders th {
  color: #555c57 !important;
  font-size: .7rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.woocommerce-orders-table__cell-order-actions .button {
  min-height: 34px !important;
  margin: 3px !important;
  padding: 8px 11px !important;
  font-size: .7rem !important;
}

.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill, .wc-block-components-form .wc-block-components-text-input.is-active input[type=email], .wc-block-components-form .wc-block-components-text-input.is-active input[type=number], .wc-block-components-form .wc-block-components-text-input.is-active input[type=password], .wc-block-components-form .wc-block-components-text-input.is-active input[type=tel], .wc-block-components-form .wc-block-components-text-input.is-active input[type=text], .wc-block-components-form .wc-block-components-text-input.is-active input[type=url], .wc-block-components-text-input input:-webkit-autofill, .wc-block-components-text-input.is-active input[type=email], .wc-block-components-text-input.is-active input[type=number], .wc-block-components-text-input.is-active input[type=password], .wc-block-components-text-input.is-active input[type=tel], .wc-block-components-text-input.is-active input[type=text], .wc-block-components-text-input.is-active input[type=url] {
  padding: 24px 9px 8px !important;
}

.wc-blocks-components-select .wc-blocks-components-select__select {
  padding: 16px 9px 0 !important;
}

/* 6. RESPONSIVE MEDIA QUERIES
   ========================================================================== */

/* Tablet (Dưới 1050px) */
@media (max-width: 1050px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    position: static !important;
  }

  /* Chuyển menu My Account thành hàng ngang cuộn tròn */
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    overflow-x: auto !important;
    gap: 8px !important;
    border: 0 !important;
    padding-bottom: 8px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto !important;
    border: 1px solid var(--wc-line) !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 42px !important;
    padding: 0 16px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a::after {
    display: none !important;
  }

  /* Form Checkout Classic và Blocks chuyển về 1 cột */
  .woocommerce-checkout form.checkout,
  .wc-block-checkout {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-checkout #order_review,
  .wc-block-checkout__sidebar {
    position: static !important;
    width: 100% !important;
  }

  .woocommerce ul.order_details {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Mobile (Dưới 680px) */
@media (max-width: 680px) {
  .woocommerce-checkout .entry-header,
  .woocommerce-account .entry-header,
  .wp-block-woocommerce-checkout,
  .woocommerce-account .woocommerce,
  .woocommerce-checkout .woocommerce,
  .woocommerce-order-received .woocommerce {
    width: min(calc(100% - 24px), 1240px) !important;
    margin: 30px auto 60px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 24px 16px !important;
  }

  .woocommerce-account #customer_login {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-account #customer_login .u-column1,
  .woocommerce-account #customer_login .u-column2 {
    padding: 24px 16px !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .wc-block-components-checkout-step,
  .wc-block-checkout__sidebar {
    padding: 20px 16px !important;
  }

  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }

  .wc-block-components-order-summary-item {
    grid-template-columns: 58px minmax(0, 1fr) !important;
  }

  .wc-block-components-order-summary-item__image {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }

  .woocommerce ul.order_details {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1050px) {
  .woocommerce ul.order_details {
    grid-template-columns: repeat(2, 1fr) !important; /* Chuyển thành 2 cột trên Tablet */
  }
}

@media (max-width: 680px) {
  .woocommerce ul.order_details {
    grid-template-columns: 1fr !important; /* Chuyển thành 1 cột dọc trên Mobile */
  }
}

/* ==========================================================================
   USER LATEST FIX — MY ACCOUNT CLEAN LAYOUT
   Chỉ override phần tài khoản, giữ nguyên Checkout/CSS người dùng đã chỉnh.
   ========================================================================== */

.vt-wc-page{
  padding:72px 0 110px;
  background:var(--wc-paper,#f4f1e8);
}

.vt-wc-container{
  width:min(calc(100% - 64px),1240px);
  margin:0 auto;
}

.vt-wc-header{
  margin-bottom:32px;
  padding-bottom:24px;
  border-bottom:1px solid var(--wc-line,#d8d2c5);
}

.vt-wc-title{
  margin:8px 0 0!important;
  font:500 clamp(2.8rem,5vw,5.1rem)/.95 var(--font-display)!important;
  letter-spacing:-.05em!important;
  color:var(--wc-ink,#1d241f)!important;
}

.vt-wc-content{
  min-width:0;
}

/* Không cho layout account cũ bọc thành một khối hẹp */
body.woocommerce-account .vt-wc-content > .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* ============================
   CHƯA ĐĂNG NHẬP
   ============================ */

body.woocommerce-account:not(.logged-in) .vt-wc-content > .woocommerce{
  display:block!important;
}

body.woocommerce-account:not(.logged-in) #customer_login{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;

  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:28px!important;

  align-items:start!important;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after{
  display:none!important;
  content:none!important;
}

body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login .col-1,
body.woocommerce-account:not(.logged-in) #customer_login .col-2{
  float:none!important;
  clear:none!important;

  width:100%!important;
  max-width:none!important;
  min-width:0!important;

  margin:0!important;
  padding:38px!important;

  border:1px solid var(--wc-line,#d8d2c5)!important;
  border-radius:6px!important;

  background:var(--wc-surface,#fbf8f1)!important;
  box-shadow:none!important;
}

body.woocommerce-account:not(.logged-in) #customer_login h2{
  margin:0 0 26px!important;

  font:500 clamp(2rem,3vw,2.7rem)/1 var(--font-display)!important;
  letter-spacing:-.035em!important;

  color:var(--wc-ink,#1d241f)!important;
}

body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) form.register,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register{
  width:100%!important;
  max-width:none!important;

  margin:0!important;
  padding:0!important;

  border:0!important;
  border-radius:0!important;

  background:transparent!important;
  box-shadow:none!important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-row,
body.woocommerce-account:not(.logged-in) .form-row{
  display:block!important;

  float:none!important;

  width:100%!important;

  margin:0 0 18px!important;
  padding:0!important;
}

body.woocommerce-account:not(.logged-in) label{
  display:block!important;

  margin:0 0 8px!important;

  font:700 .77rem/1.45 var(--font-sans)!important;
  color:#444a46!important;
}

body.woocommerce-account:not(.logged-in) input.input-text,
body.woocommerce-account:not(.logged-in) input[type="text"],
body.woocommerce-account:not(.logged-in) input[type="email"],
body.woocommerce-account:not(.logged-in) input[type="password"]{
  width:100%!important;
  min-width:0!important;

  min-height:52px!important;

  padding:13px 14px!important;

  border:1px solid #cbc5b9!important;
  border-radius:3px!important;

  background:#fff!important;

  color:var(--wc-ink,#1d241f)!important;

  font:500 .92rem/1.4 var(--font-sans)!important;

  outline:none!important;
  box-shadow:none!important;
}

body.woocommerce-account:not(.logged-in) input:focus{
  border-color:var(--wc-forest,#183e35)!important;
  box-shadow:0 0 0 2px rgba(24,62,53,.08)!important;
}

body.woocommerce-account:not(.logged-in) .password-input{
  width:100%!important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme{
  display:inline-flex!important;
  align-items:center!important;

  width:auto!important;

  margin:0 15px 0 0!important;
  gap:7px!important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input{
  width:auto!important;
  min-height:0!important;
  margin:0!important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register__submit{
  width:auto!important;
  min-width:142px!important;
  min-height:48px!important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword{
  margin:18px 0 0!important;
  font-size:.84rem!important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text{
  margin:18px 0 20px!important;

  padding:14px 16px!important;

  border-left:2px solid var(--wc-sand,#b6753c)!important;

  background:#f1ece2!important;

  color:#626860!important;

  font-size:.81rem!important;
  line-height:1.65!important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-privacy-policy-text p{
  margin:0!important;
}

/* ============================
   ĐÃ ĐĂNG NHẬP
   ============================ */

body.woocommerce-account.logged-in .vt-wc-content > .woocommerce{
  display:grid!important;

  grid-template-columns:250px minmax(0,1fr)!important;
  gap:40px!important;

  align-items:start!important;
}

body.woocommerce-account.logged-in .vt-wc-content > .woocommerce::before,
body.woocommerce-account.logged-in .vt-wc-content > .woocommerce::after{
  display:none!important;
  content:none!important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
  float:none!important;

  width:100%!important;

  margin:0!important;
  padding:0!important;

  position:sticky!important;
  top:118px!important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation::before{
  content:"Tài khoản của tôi"!important;

  display:block!important;

  margin:0 0 18px!important;

  font:500 1.9rem/1 var(--font-display)!important;

  color:var(--wc-ink,#1d241f)!important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
  margin:0!important;
  padding:0!important;

  list-style:none!important;

  border-top:1px solid var(--wc-line,#d8d2c5)!important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{
  margin:0!important;
  padding:0!important;

  border:0!important;
  border-bottom:1px solid var(--wc-line,#d8d2c5)!important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;

  min-height:54px!important;

  padding:0 5px!important;

  color:#3f4641!important;

  font:700 .87rem/1.3 var(--font-sans)!important;

  text-decoration:none!important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a::after{
  content:"→";
  color:#9ba19b;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover{
  color:var(--wc-sand,#b6753c)!important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
  float:none!important;

  width:100%!important;
  max-width:none!important;
  min-width:0!important;

  min-height:390px!important;

  margin:0!important;
  padding:38px 40px!important;

  border:1px solid var(--wc-line,#d8d2c5)!important;
  border-radius:6px!important;

  background:var(--wc-surface,#fbf8f1)!important;

  overflow-x:auto!important;
  box-shadow:none!important;
}

/* Hide unwanted endpoints defensively */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads,
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address{
  display:none!important;
}

/* ============================
   RESPONSIVE
   ============================ */

@media(max-width:850px){
  .vt-wc-page{
    padding-top:50px;
  }

  .vt-wc-container{
    width:min(calc(100% - 34px),1240px);
  }

  body.woocommerce-account:not(.logged-in) #customer_login{
    grid-template-columns:1fr!important;
  }

  body.woocommerce-account.logged-in .vt-wc-content > .woocommerce{
    grid-template-columns:1fr!important;
    gap:25px!important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{
    position:static!important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation::before{
    display:none!important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{
    display:flex!important;

    gap:8px!important;

    overflow-x:auto!important;

    border-top:0!important;
    padding-bottom:6px!important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{
    flex:0 0 auto!important;

    border:1px solid var(--wc-line,#d8d2c5)!important;
    border-radius:999px!important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a{
    min-height:42px!important;
    padding:0 14px!important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a::after{
    display:none!important;
  }
}

@media(max-width:560px){
  .vt-wc-container{
    width:min(calc(100% - 24px),1240px);
  }

  .vt-wc-title{
    font-size:clamp(2.6rem,15vw,4rem)!important;
  }

  body.woocommerce-account:not(.logged-in) #customer_login .u-column1,
  body.woocommerce-account:not(.logged-in) #customer_login .u-column2,
  body.woocommerce-account:not(.logged-in) #customer_login .col-1,
  body.woocommerce-account:not(.logged-in) #customer_login .col-2{
    padding:26px 19px!important;
  }

  body.woocommerce-account.logged-in .woocommerce-MyAccount-content{
    padding:26px 19px!important;
  }
}


/* ==========================================================================
   ACCOUNT REDESIGN — Editorial Travel Member Access
   ========================================================================== */

body.woocommerce-account:not(.logged-in) .vt-wc-page{
  padding:0 0 100px;
  background:
    linear-gradient(to bottom, #f0eadf 0, #f0eadf 320px, var(--wc-paper,#f4f1e8) 320px);
}

.vt-account-hero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);
  gap:72px;
  align-items:end;
  padding:84px 0 64px;
}

.vt-account-hero-copy{
  max-width:720px;
}

.vt-account-hero-copy .kicker{
  margin-bottom:12px;
  color:var(--wc-sand,#b6753c);
}

.vt-account-hero-copy .vt-wc-title{
  max-width:760px;
  margin:0!important;
  font-size:clamp(3.4rem,6vw,6.4rem)!important;
  line-height:.9!important;
}

.vt-account-hero-copy p{
  max-width:610px;
  margin:24px 0 0;
  color:#656b65;
  font-size:1rem;
  line-height:1.75;
}

.vt-account-benefits{
  display:grid;
  gap:1px;
  border:1px solid var(--wc-line,#d8d2c5);
  background:var(--wc-line,#d8d2c5);
}

.vt-account-benefit{
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:16px;
  padding:18px 20px;
  background:#f7f2e9;
}

.vt-account-benefit > span{
  grid-row:1/3;
  color:var(--wc-sand,#b6753c);
  font:500 1.35rem/1 var(--font-display);
}

.vt-account-benefit strong{
  font:500 1.05rem/1.15 var(--font-display);
  color:var(--wc-ink,#1d241f);
}

.vt-account-benefit p{
  margin:5px 0 0;
  color:#747a74;
  font-size:.78rem;
  line-height:1.5;
}

.vt-account-access{
  max-width:1120px;
  margin:0 auto;
}

/* Login/Register visual */
body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login{
  gap:18px!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .u-column1,
body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .u-column2,
body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .col-1,
body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .col-2{
  position:relative!important;
  min-height:100%!important;
  padding:42px 42px 38px!important;
  border-radius:0!important;
  background:#fbf8f1!important;
  box-shadow:none!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .u-column1{
  border-top:3px solid var(--wc-forest,#183e35)!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .u-column2{
  border-top:3px solid var(--wc-sand,#b6753c)!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login h2{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:30px!important;
  font-size:clamp(2.1rem,3vw,3rem)!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .u-column1 h2::after{
  content:"Thành viên";
  padding:7px 10px;
  border:1px solid #cfc8bb;
  border-radius:999px;
  color:#767c76;
  font:700 .58rem/1 var(--font-sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .u-column2 h2::after{
  content:"Tài khoản mới";
  padding:7px 10px;
  border:1px solid #cfc8bb;
  border-radius:999px;
  color:#767c76;
  font:700 .58rem/1 var(--font-sans);
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.woocommerce-account:not(.logged-in) .vt-account-access label{
  font-size:.74rem!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access input.input-text{
  background:#fdfcf9!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access .woocommerce-form-login__submit,
body.woocommerce-account:not(.logged-in) .vt-account-access .woocommerce-form-register__submit{
  min-width:155px!important;
  min-height:50px!important;
  margin-top:4px!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access .woocommerce-privacy-policy-text{
  margin-top:22px!important;
  padding:16px 18px!important;
  border-left:0!important;
  border-top:1px solid var(--wc-line,#d8d2c5)!important;
  background:transparent!important;
}

body.woocommerce-account:not(.logged-in) .vt-account-access .woocommerce-privacy-policy-text,
body.woocommerce-account:not(.logged-in) .vt-account-access .woocommerce-privacy-policy-text p{
  color:#686e68!important;
  font-size:.79rem!important;
  line-height:1.65!important;
}

/* Keep footer closer — remove huge dead zone */
body.woocommerce-account:not(.logged-in) .footer{
  margin-top:0!important;
}

/* Logged-in account hero can stay simpler */
body.woocommerce-account.logged-in .vt-account-hero{
  grid-template-columns:1fr;
  padding-bottom:40px;
}

body.woocommerce-account.logged-in .vt-account-benefits{
  display:none;
}

body.woocommerce-account.logged-in .vt-account-access{
  max-width:none;
}

@media(max-width:980px){
  .vt-account-hero{
    grid-template-columns:1fr;
    gap:34px;
    padding-top:64px;
  }

  .vt-account-benefits{
    grid-template-columns:repeat(3,1fr);
  }

  .vt-account-benefit{
    grid-template-columns:1fr;
  }

  .vt-account-benefit > span{
    grid-row:auto;
    margin-bottom:10px;
  }
}

@media(max-width:760px){
  body.woocommerce-account:not(.logged-in) .vt-wc-page{
    background:var(--wc-paper,#f4f1e8);
  }

  .vt-account-hero{
    padding:52px 0 38px;
  }

  .vt-account-benefits{
    grid-template-columns:1fr;
  }

  body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .u-column1,
  body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .u-column2,
  body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .col-1,
  body.woocommerce-account:not(.logged-in) .vt-account-access #customer_login .col-2{
    padding:30px 22px!important;
  }
}
