/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/


.checkout .payment_methods {
  padding-top: 20px !important;
  border: solid 1px #c3c3c3;
  border-radius: 8px;
  background: #f9f9f9;
}

.fusion-woo-checkout-payment-tb .woocommerce-checkout-payment ul.wc_payment_methods li > label {
  background-color: transparent !important;
}

.woocommerce-privacy-policy-text p { font-size: 14px !important;}


/* ============================================
   REVEAL — Pricing Card (Variant A)
   ============================================ */
.va-reveal {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  background: var(--awb-color1);
  border-radius: 32px 0 32px 0;
  overflow: hidden;
  box-shadow: 0 32px 80px -32px rgba(81, 64, 58, 0.18);
  border: 1px solid #f3e8ed;
  max-width: 1100px;
  margin: 0 auto;
}
.va-reveal__left {
  padding: 64px 56px;
  background: linear-gradient(160deg, #f8ede9 0%, #f3e8ed 100%);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 560px;
}
.va-reveal__left::before,
.va-reveal__left::after {
  content: '';
  position: absolute;
  width: 72px;
  height: 72px;
  border: 1px solid var(--awb-color4);
  border-radius: 50%;
}
.va-reveal__left::before { top: 32px; right: 32px; opacity: 0.3; }
.va-reveal__left::after  { top: 56px; right: 56px; opacity: 0.5; }

.va-reveal__kicker {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--awb-color4);
  margin: 0;
}
.va-reveal__quote {
  font-family: 'Tenor Sans', serif;
  font-size: 38px;
  line-height: 1.25;
  color: #51403a;
  margin: 32px 0 0;
  font-weight: 400;
}
.va-reveal__quote em { font-style: italic; color: var(--awb-color4); }
.va-reveal__intent {
  margin: 28px 0 0;
  font-size: 15px;
  line-height: 1.7;
  color: #51403a;
  opacity: 0.85;
}
.va-reveal__signature {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(81, 64, 58, 0.15);
  font-size: 13px;
  color: #51403a;
  letter-spacing: 0.05em;
}
.va-reveal__signature strong {
  font-family: 'Tenor Sans', serif;
  font-weight: 400;
  font-size: 17px;
  color: var(--awb-color8);
  display: block;
  margin-bottom: 4px;
}

.va-reveal__right {
  padding: 64px 56px;
  display: flex;
  flex-direction: column;
}
.va-reveal__badge {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f3e8ed;
  color: var(--awb-color4);
  padding: 8px 18px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.va-reveal__badge::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--awb-color4);
  border-radius: 50%;
  animation: vaRevealPulse 2s ease-in-out infinite;
}
@keyframes vaRevealPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.4); opacity: 0.5; }
}

.va-reveal__price-row {
  margin-top: 32px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.va-reveal__was-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin-top: 14px;
}
.va-reveal__was-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--awb-color4);
  background: #f3e8ed;
  padding: 4px 10px;
  border-radius: 100px;
}
.va-reveal__price-old {
  font-family: 'Tenor Sans', serif;
  font-size: 26px;
  color: #51403a;
  opacity: 0.45;
  text-decoration: line-through;
  text-decoration-color: var(--awb-color4);
  text-decoration-thickness: 1.5px;
}
.va-reveal__price-new {
  font-family: 'Tenor Sans', serif;
  font-size: 96px;
  line-height: 1;
  color: var(--awb-color8);
  letter-spacing: -0.04em;
  font-weight: 400;
}
.va-reveal__price-new sup {
  font-size: 32px;
  vertical-align: super;
  color: var(--awb-color4);
  margin-right: 4px;
}
.va-reveal__save {
  margin: 8px 0 0;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--awb-color4);
  font-weight: 600;
}
.va-reveal__divider {
  margin: 32px 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--awb-color3), transparent);
}
.va-reveal__includes {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #51403a;
  margin: 0 0 16px;
}
.va-reveal__list { list-style: none; padding: 0; margin: 0; }
.va-reveal__list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 10px 0;
  font-size: 16px;
  color: var(--awb-color5);
}
.va-reveal__list li i {
  color: var(--awb-color4);
  margin-top: 4px;
  font-size: 14px;
  flex-shrink: 0;
}

.va-reveal__cta {
  margin-top: auto;
  padding-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.va-reveal__btn,
.va-reveal__btn:hover,
.va-reveal__btn:focus,
.va-reveal__btn:active {
  text-decoration: none !important;
  border-bottom: none !important;
}
.va-reveal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 22px 40px;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600;
  font-size: 17px;
  letter-spacing: 0.02em;
  background: #51403a;
  color: var(--awb-color1);
  border-radius: 60px 0 60px 0;
  transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              border-radius 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  border: none;
  cursor: pointer;
}
.va-reveal__btn:hover {
  background: var(--awb-color4);
  color: var(--awb-color1);
  border-radius: 8px;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(191, 121, 142, 0.35);
}
.va-reveal__btn i { font-size: 14px; transition: transform 0.3s; }
.va-reveal__btn:hover i { transform: translateX(4px); }

.va-reveal__trust {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  font-size: 12px;
  color: var(--awb-color5);
  opacity: 0.75;
}
.va-reveal__trust i { color: var(--awb-color4); }
/* Flat HTML (no span wrapper): icons direct children of .va-reveal__trust */
.va-reveal__trust > i {
  margin-left: 28px;
  margin-right: 8px;
}
.va-reveal__trust > i:first-child { margin-left: 0; }
/* Span-wrapped HTML (defensive, in case spans are re-added) */
.va-reveal__trust > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 28px;
}
.va-reveal__trust > span:first-child { margin-left: 0; }

/* Fusion button override when class="va-reveal__btn" is applied */
.va-reveal__cta .fusion-button-wrapper {
  margin: 0;
  display: block;
  text-align: center;
}
a.fusion-button.va-reveal__btn,
a.fusion-button.va-reveal__btn:hover,
a.fusion-button.va-reveal__btn:focus,
a.fusion-button.va-reveal__btn:active {
  text-decoration: none !important;
  border-bottom: none !important;
}
a.fusion-button.va-reveal__btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 22px 40px !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: 0.02em !important;
  background: #51403a !important;
  background-image: none !important;
  color: var(--awb-color1) !important;
  border: none !important;
  border-radius: 60px 0 60px 0 !important;
  box-shadow: none;
  transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              border-radius 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
a.fusion-button.va-reveal__btn:hover {
  background: var(--awb-color4) !important;
  color: var(--awb-color1) !important;
  border-radius: 8px !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(191, 121, 142, 0.35);
}
a.fusion-button.va-reveal__btn .fusion-button-text { color: inherit; }
a.fusion-button.va-reveal__btn i,
a.fusion-button.va-reveal__btn .button-icon-right,
a.fusion-button.va-reveal__btn .button-icon-after {
  color: inherit !important;
  font-size: 14px !important;
  margin: 0 !important;
  transition: transform 0.3s;
}
a.fusion-button.va-reveal__btn:hover i,
a.fusion-button.va-reveal__btn:hover .button-icon-right,
a.fusion-button.va-reveal__btn:hover .button-icon-after {
  transform: translateX(4px);
}

@media (max-width: 768px) {
  .va-reveal { grid-template-columns: 1fr; }
  .va-reveal__left,
  .va-reveal__right { padding: 48px 32px; }
  .va-reveal__price-new { font-size: 72px; }
  .va-reveal__left { min-height: 0; }
  .va-reveal__trust { flex-direction: column; gap: 8px; align-items: center; }
}

/* ============================================
   Cart & Checkout — Uniform 8px button radius
   (overrides Avada's asymmetric "teardrop")
   ============================================ */
body.woocommerce-cart .fusion-button,
body.woocommerce-checkout .fusion-button,
body.woocommerce-cart a.fusion-button,
body.woocommerce-checkout a.fusion-button {
  --button-border-radius-top-left: 8px !important;
  --button-border-radius-top-right: 8px !important;
  --button-border-radius-bottom-right: 8px !important;
  --button-border-radius-bottom-left: 8px !important;
  border-radius: 8px !important;
}

body.woocommerce-cart button.button,
body.woocommerce-cart input.button,
body.woocommerce-cart a.button,
body.woocommerce-cart .checkout-button,
body.woocommerce-checkout button.button,
body.woocommerce-checkout input.button,
body.woocommerce-checkout a.button,
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button[name="woocommerce_checkout_update_totals"],
body.woocommerce-checkout button[name="apply_coupon"] {
  border-radius: 8px !important;
}

#order_comments::placeholder {
    color: #b8b8b8;
    opacity: 1; /* Firefox applies 0.5 by default */
  }

  /* ==========================================================================
     Cart — Mobile card layout (≤ 768px)
     ========================================================================== */
  @media (max-width: 768px) {

    body.woocommerce-cart .woocommerce-cart-form table.cart {
      border: 0;
      border-collapse: separate;
      border-spacing: 0;
      display: block;
    }
    body.woocommerce-cart .woocommerce-cart-form table.cart thead {
      display: none;
    }
    body.woocommerce-cart .woocommerce-cart-form table.cart tbody {
      display: block;
    }

    /* Card container */
    body.woocommerce-cart .woocommerce-cart-form tr.cart_item {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px 14px;
      padding: 14px 44px 14px 14px;
      margin-bottom: 12px;
      border: 1px solid #ececec;
      border-radius: 12px;
      background: #fff;
    }

    /* Reset td styling */
    body.woocommerce-cart .woocommerce-cart-form tr.cart_item > td {
      display: block;
      border: 0;
      padding: 0;
      text-align: left;
      width: auto;
    }

    /* Row 1: thumbnail + title side-by-side, full width */
    body.woocommerce-cart .woocommerce-cart-form td.product-name {
      display: flex;
      align-items: center;
      gap: 14px;
      flex: 1 1 100%;
    }
    body.woocommerce-cart .fusion-product-name-wrapper {
      display: flex;
      align-items: center;
      gap: 14px;
      width: 100%;
    }
    body.woocommerce-cart .fusion-product-name-wrapper .product-thumbnail {
      flex: 0 0 80px;
      display: block;
    }
    body.woocommerce-cart .fusion-product-name-wrapper .product-thumbnail img {
      width: 80px !important;
      height: 80px !important;
      max-width: none;
      object-fit: cover;
      border-radius: 10px;
      display: block;
    }
    body.woocommerce-cart .fusion-product-name-wrapper .product-info {
      flex: 1;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.3;
    }

    /* Row 2: price · qty · total inline */
    body.woocommerce-cart .woocommerce-cart-form td.product-price,
    body.woocommerce-cart .woocommerce-cart-form td.product-quantity,
    body.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
      flex: 0 0 auto;
      font-size: 13px;
      color: #555;
      display: inline-flex;
      align-items: center;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-quantity::before {
      content: "Qty ";
      margin-right: 4px;
      color: #999;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-subtotal::before {
      content: "Total ";
      margin-right: 4px;
      color: #999;
    }
    /* Separators between the three meta items */
    body.woocommerce-cart .woocommerce-cart-form td.product-quantity,
    body.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
      padding-left: 14px;
      border-left: 1px solid #eaeaea;
      margin-left: 0;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-subtotal .amount {
      font-weight: 700;
      color: #111;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-quantity input[type="hidden"] {
      display: none;
    }

    /* Remove × floating top-right */
    body.woocommerce-cart .woocommerce-cart-form td.product-remove {
      position: absolute;
      top: 10px;
      right: 22px;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove {
      width: 26px;
      height: 26px;
      line-height: 24px;
      font-size: 16px;
      border-radius: 50%;
      background: #f3f3f3;
      color: #555 !important;
      display: inline-block;
      text-align: center;
      text-decoration: none;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:hover {
      background: #8526ff;
      color: #fff !important;
    }
  }