.elementor-1129 .elementor-element.elementor-element-9fb48e8{--display:flex;}.elementor-1129 .elementor-element.elementor-element-5a7a5a3{margin:20px 20px calc(var(--kit-widget-spacing, 0px) + 20px) 20px;padding:0px 0px 0px 0px;text-align:center;}.elementor-1129 .elementor-element.elementor-element-50a6b94{--display:flex;}.elementor-1129 .elementor-element.elementor-element-d15bc94{text-align:center;}.elementor-1129 .elementor-element.elementor-element-d15bc94 .elementor-heading-title{font-family:"Urbanist", Sans-serif;font-size:2.4rem;font-weight:600;text-transform:uppercase;line-height:1.4em;letter-spacing:0.2em;}.elementor-1129 .elementor-element.elementor-element-4fbe72a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1129 .elementor-element.elementor-element-4fbe72a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1129 .elementor-element.elementor-element-f4a33da{--display:flex;--min-height:240px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1129 .elementor-element.elementor-element-f4a33da.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-1129 .elementor-element.elementor-element-0ab9799{--display:flex;--min-height:199px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:0.39;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--border-radius:9px 9px 9px 9px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1129 .elementor-element.elementor-element-0ab9799::before, .elementor-1129 .elementor-element.elementor-element-0ab9799 > .elementor-background-video-container::before, .elementor-1129 .elementor-element.elementor-element-0ab9799 > .e-con-inner > .elementor-background-video-container::before, .elementor-1129 .elementor-element.elementor-element-0ab9799 > .elementor-background-slideshow::before, .elementor-1129 .elementor-element.elementor-element-0ab9799 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1129 .elementor-element.elementor-element-0ab9799 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(276deg, #00DEFC 0%, var( --e-global-color-secondary ) 100%);}.elementor-1129 .elementor-element.elementor-element-0ab9799.e-con{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-1129 .elementor-element.elementor-element-f37167c{padding:0px 0px 1px 0px;}.elementor-1129 .elementor-element.elementor-element-c0f4796{padding:0px 0px 0px 0px;}.elementor-1129 .elementor-element.elementor-element-c0f4796.elementor-element{--align-self:center;}.elementor-1129 .elementor-element.elementor-element-3de6198{--display:flex;--min-height:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1129 .elementor-element.elementor-element-3de6198:not(.elementor-motion-effects-element-type-background), .elementor-1129 .elementor-element.elementor-element-3de6198 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-f0ad381 );}.elementor-1129 .elementor-element.elementor-element-bc26325{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1129 .elementor-element.elementor-element-e9ed3b7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-1129 .elementor-element.elementor-element-4fbe72a{--width:124.554%;}.elementor-1129 .elementor-element.elementor-element-f4a33da{--width:65%;}.elementor-1129 .elementor-element.elementor-element-0ab9799{--width:58.063%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1129 .elementor-element.elementor-element-0ab9799{--width:722.328px;}}@media(max-width:1024px){.elementor-1129 .elementor-element.elementor-element-f4a33da{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}}@media(max-width:767px){.elementor-1129 .elementor-element.elementor-element-d15bc94 .elementor-heading-title{font-size:1.7rem;line-height:1em;}}/* Start custom CSS for shortcode, class: .elementor-element-c0f4796 *//* ===== PTT Matrix (3 columns) ===== */
.ptt-matrix{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  overflow:hidden;
  background:rgba(0,0,0,.10);
  margin:10px 0 14px;
}
.ptt-matrix-row{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;  /* Label | Eval | Perf */
  gap:0;
  border-top:1px solid rgba(255,255,255,.08);
}
.ptt-matrix-row:first-child{ border-top:none; }
.ptt-matrix-head{
  background:rgba(255,255,255,.06);
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ptt-matrix .ptt-c{
  padding:10px 12px;
  font-size:13px;
  line-height:1.35;
}
.ptt-matrix .ptt-l{
  color:rgba(231,237,243,.9);
  font-weight:700;
}
.ptt-matrix-row:not(.ptt-matrix-head) .ptt-c:nth-child(2),
.ptt-matrix-row:not(.ptt-matrix-head) .ptt-c:nth-child(3){
  text-align:right;
  font-weight:700;
}

/* Mobile: stack rows with small columns */
@media (max-width: 640px){
  .ptt-matrix-row{
    grid-template-columns: 1fr auto auto;
  }
  .ptt-matrix .ptt-c{ padding:8px 10px; font-size:12px; }
}

/* Left-align the Label column (header + rows) */
.ptt-matrix .ptt-matrix-row .ptt-c:first-child {
  text-align: left !important;
}

/* Make headers match the body size/weight and align with values */
.ptt-matrix-head {
  background: rgba(255,255,255,.06);      /* keep the bar if you like */
  letter-spacing: 0;                      /* remove wide spacing */
  text-transform: none;                   /* normal case */
}

.ptt-matrix-head .ptt-c {
  font-size: 13px;                        /* same as body */
  line-height: 1.35;
  font-weight: 700;                       /* same weight as values */
  padding: 10px 12px;                     /* same padding as rows */
}

/* Header alignment per column: blank/label left, Eval & Perf right */
.ptt-matrix-head .ptt-c:nth-child(1) { text-align: left; }
.ptt-matrix-head .ptt-c:nth-child(2),
.ptt-matrix-head .ptt-c:nth-child(3) { text-align: right; }

/* (keeps body alignment you had) */
.ptt-matrix-row:not(.ptt-matrix-head) .ptt-c:nth-child(2),
.ptt-matrix-row:not(.ptt-matrix-head) .ptt-c:nth-child(3){
  text-align:right; font-weight:700;
}

/* Force space between matrix and guidelines */
.ptt-guidelines {
    display: block;          /* ensure it's treated as a block element */
    margin-top: 24px !important;  /* force space even if Elementor overrides */
    text-align: center;
    font-style: italic;
    font-size: 12px;          /* smaller font size */
    line-height: 1.4;
}

/* Link styling */
.ptt-guidelines a {
    color: inherit;
    text-decoration: underline;
}

.ptt-guidelines a:hover {
    opacity: 0.8;
}
/* Coupon form pill */
.ptt-coupon-compact p{
  display:flex;
  align-items:center;
  margin:0;
  max-width:360px;
  margin-inline:auto;
}

/* Input styling */
.ptt-coupon-compact .input-text{
  flex:1;
  height:44px;
  padding:0 14px;
  background:transparent;
  color:#e7edf3;
  border:1px solid rgba(255,255,255,.7);
  border-right:none;
  border-radius:10px 0 0 10px;
  outline:none;
}
.ptt-coupon-compact .input-text::placeholder{
  color:rgba(231,237,243,.6);
}
/* ---------------- PTT Coupon (scoped) ---------------- */
/* Set the working width to match your product image */
#summary-shortcode{ --summary-width:260px; width:var(--summary-width); margin:0 auto; }

/* If your image is inside this widget, keep them the same width */
#summary-shortcode img{ max-width:var(--summary-width); width:100%; height:auto; display:block; margin:0 auto 10px; }

/* For our custom shortcode [ptt_coupon_compact] */
#summary-shortcode .ptt-coupon-compact {
  width: 65%;
  margin: 0 auto;                  /* centers the whole block */
}

#summary-shortcode .ptt-coupon-compact p {
  display: flex;
  align-items: center;
  justify-content: center;         /* centers input + button horizontally */
  gap: 0;
  margin: 0;
  width: 100%;
}

#summary-shortcode .ptt-coupon-compact .input-text {
  flex: 1 1 auto;
  min-width: 0;
  height: 38px;
  padding: 0 12px;
  background: transparent;
  color: #e7edf3;
  border: 1px solid rgba(255,255,255,.85);
  border-right: none;
  border-radius: 8px 0 0 8px;
  outline: none;
}

#summary-shortcode .ptt-coupon-compact .input-text::placeholder {
  color: rgba(231,237,243,.6);
}

#summary-shortcode .ptt-coupon-compact .button {
  height: 38px;
  line-height: 38px;
  padding: 0 14px;
  font-weight: 700;
  border-radius: 0 8px 8px 0;
  border: 1px solid #00aaff;
  background: #00aaff;
  color: #fff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-9c461ef *//* rows */
.ptt-checkout-summary .ptt-line{
  display:flex; justify-content:space-between; align-items:center;
  padding:6px 0; border-top:1px solid rgba(255,255,255,.08);
}
.ptt-checkout-summary .ptt-line:first-child{ border-top:none; }
.ptt-checkout-summary .ptt-label{ color:rgba(231,237,243,.85); font-size:13px; }
.ptt-checkout-summary .ptt-value{ font-weight:700; font-size:13px; }
.ptt-checkout-summary .ptt-coupon .ptt-code{ margin-right:8px; }

/* stacked total */
.ptt-checkout-summary .ptt-total-only{
  text-align:center; margin:12px 0 6px;
}
.ptt-checkout-summary .ptt-total-only .ptt-total-label{
  display:block; font-size:14px; font-weight:600; margin-bottom:10px;
}
.ptt-checkout-summary .ptt-total-only .ptt-total-amount{
  font-size:35px; font-weight:800;
}

/* tighten gap between "Total" and the amount in that widget only */
#summary-shortcode .ptt-checkout-summary .ptt-total-only .ptt-total-label{
  margin-bottom: 2px !important;    /* ↓ adjust this value */
  line-height: 1.1 !important;
}

#summary-shortcode .ptt-checkout-summary .ptt-total-only .ptt-total-amount{
  margin-top: 0 !important;
  line-height: 1.05 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0ab9799 *//* Reduce spacing between widgets inside #summary-shortcode */
#summary-shortcode .elementor-widget {
  margin-bottom: -10px !important; /* adjust as needed */
}

/* Specifically tighten gap between coupon + price summary */
#summary-shortcode .ptt-coupon-compact,
#summary-shortcode .ptt-checkout-summary {
  margin-bottom: -25px !important;
}

/* Tighten space above the matrix */
#summary-shortcode .ptt-matrix {
  margin-top: 0px !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7fc0a1b *//* Checkout primary action button */
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  background-color: #00CFFF !important;
  border-color: #00CFFF !important;
  color: #fff !important;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 6px;
}
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover {
  background-color: #00B8E6 !important;
  border-color: #00B8E6 !important;
}/* End custom CSS */
/* Start custom CSS *//* =========================
   PTT — Woo Shortcode Checkout (scoped)
   Match prior WL styling + ppf-summary
   ========================= */

/* ===== Scope: add class "ptt-ec" to the section that contains the [woocommerce_checkout] shortcode ===== */
.ptt-ec{
  --card-bg:#0b0f14; --text:#e7edf3; --muted:rgba(231,237,243,.75);
  --line:rgba(255,255,255,.10); --line-strong:rgba(255,255,255,.16); --accent:#2ad4ff;
}
.ptt-ec, .ptt-ec *{ box-sizing:border-box; }

/* Kill theme/Elementor wrappers & spacing */
.ptt-ec .woocommerce,
.ptt-ec .woocommerce *{
  background:transparent !important;
  box-shadow:none !important;
}
.ptt-ec .woocommerce .col2-set,
.ptt-ec .woocommerce #customer_details,
.ptt-ec .woocommerce #order_review{
  margin:0 !important; padding:0 !important; border:0 !important;
}

/* ===== Layout: make shortcode a single column (Billing then Payment) ===== */
.ptt-ec .woocommerce form.checkout #customer_details,
.ptt-ec .woocommerce form.checkout #order_review{
  width:100% !important;
  float:none !important;
}
.ptt-ec .woocommerce form.checkout #order_review{ margin-top:15px !important; }

/* ===== BILLING card (matches WL) ===== */
.ptt-ec .woocommerce form.checkout .col-1,
.ptt-ec .woocommerce-billing-fields{
  position:relative;
  background:var(--card-bg) !important;
  color:var(--text) !important;
  border:1px solid var(--line) !important;
  border-radius:16px !important;
  padding:24px 22px !important;
  width:100% !important;
}
.ptt-ec .woocommerce-billing-fields::before{
  content:""; position:absolute; top:-40%; left:-40%;
  width:70%; height:70%;
  background:radial-gradient(circle at top left, rgba(42,212,255,.35), rgba(42,212,255,.10) 35%, transparent 60%);
  filter:blur(30px); pointer-events:none;
}
.ptt-ec .woocommerce-billing-fields > h3{
  font-size:18px; font-weight:700; letter-spacing:.2px; color:var(--text);
  margin:6px 0 14px;
}
.ptt-ec .woocommerce form .form-row label{ color:var(--muted); font-size:13px; margin:0 0 6px; }

/* Inputs — underline style */
.ptt-ec .woocommerce input[type="text"],
.ptt-ec .woocommerce input[type="email"],
.ptt-ec .woocommerce input[type="tel"],
.ptt-ec .woocommerce input[type="password"],
.ptt-ec .woocommerce input[type="number"],
.ptt-ec .woocommerce textarea,
.ptt-ec .woocommerce select{
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid var(--line) !important;
  border-radius:0 !important;
  color:var(--text) !important;
  padding:8px 0 10px !important;
  box-shadow:none !important;
}
.ptt-ec .woocommerce input:focus,
.ptt-ec .woocommerce textarea:focus,
.ptt-ec .woocommerce select:focus{
  border-bottom-color:var(--line-strong) !important;
  box-shadow:0 1px 0 0 var(--accent) !important;
}
.ptt-ec ::placeholder{ color:rgba(231,237,243,.45); }

/* Select2 */
.ptt-ec .select2-container .select2-selection{
  background:transparent !important; border:none !important;
  border-bottom:1px solid var(--line) !important; border-radius:0 !important; height:40px;
}
.ptt-ec .select2-selection__rendered{ line-height:40px; color:var(--text); padding-left:0; }
.ptt-ec .select2-selection__arrow{ height:40px; }

/* Validation color */
.ptt-ec .woocommerce-invalid input,
.ptt-ec .woocommerce-invalid select,
.ptt-ec .woocommerce-invalid .select2-selection{ border-bottom-color:#ff5a5a !important; }

/* ===== PAYMENT card (matches WL) ===== */
.ptt-ec #order_review,
.ptt-ec #payment,
.ptt-ec .woocommerce-checkout-payment{
  position:relative;
  background:#0b0f14 !important;
  color:#e7edf3 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:16px !important;
  padding:22px 22px 18px !important;
  overflow:hidden;
}
.ptt-ec #payment::after{
  content:""; position:absolute; inset:auto 0 0 0; height:86px;
  background:linear-gradient(to bottom, transparent, rgba(42,212,255,.12));
  pointer-events:none;
}
.ptt-ec #order_review_heading{
  font-size:18px; font-weight:700; color:#e7edf3; margin:0 0 10px;
}

/* Payment methods */
.ptt-ec .payment_methods, .ptt-ec .wc_payment_methods{ list-style:none; margin:0 0 12px; padding:0; border:0; }
.ptt-ec .wc_payment_method{ padding:12px 0; }
.ptt-ec .wc_payment_method + .wc_payment_method{ border-top:1px solid rgba(255,255,255,.10); }
.ptt-ec .wc_payment_method input[type="radio"]{ accent-color:#2ad4ff; }
.ptt-ec .wc_payment_method > label{
  display:flex; align-items:center; gap:8px; font-weight:700; color:#e7edf3; cursor:pointer;
}
.ptt-ec .payment_box{
  margin:10px 0 0 28px !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  color:rgba(231,237,243,.78) !important;
}
.ptt-ec .payment_box:before, .ptt-ec .payment_box:after{ display:none !important; }

/* Terms + CTA */
.ptt-ec .woocommerce-terms-and-conditions-wrapper{ margin:12px 0; }
.ptt-ec .woocommerce-terms-and-conditions-wrapper label{ color:rgba(231,237,243,.78); }
.ptt-ec .woocommerce-terms-and-conditions-wrapper a{ color:#fff; text-decoration:underline; }
.ptt-ec .place-order .button, .ptt-ec #place_order{
  width:100% !important; border:none !important; border-radius:12px !important;
  background:linear-gradient(90deg,#16a3ff,#2ad4ff) !important;
  color:#051017 !important; font-weight:700 !important; padding:14px 16px !important;
  transition:transform .06s ease, filter .2s ease;
}
.ptt-ec #place_order:hover{ filter:brightness(1.05); }
.ptt-ec #place_order:active{ transform:translateY(1px); }

/* ===== Hide pieces you don’t want ===== */
.ptt-ec .woocommerce-form-coupon-toggle,
.ptt-ec form.checkout_coupon{ display:none !important; }            /* Coupon bar + form */
.ptt-ec .woocommerce-additional-fields,
.ptt-ec #order_comments_field{ display:none !important; }           /* Additional info / order notes */
.ptt-ec #order_review_heading,
.ptt-ec .woocommerce-checkout-review-order-table{ display:none !important; } /* “Your order” table */

/* Keep Billing and Payment same width (remove stray caps) */
.ptt-ec .woocommerce-billing-fields,
.ptt-ec #payment,
.ptt-ec .woocommerce-checkout-payment{
  width:100% !important; max-width:none !important; margin:0 !important;
}
.ptt-ec #payment{ margin-top:15px !important; }

/* =========================
   Account Summary (left rail)
   ========================= */
.ppf-summary{
  background:#0b0f14 !important;
  color:#e7edf3 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:16px !important;
  padding:24px 22px !important;
  box-sizing:border-box;
}
.ppf-summary h3,
.ppf-summary .summary-title{
  font-size:18px; font-weight:700; margin-bottom:12px; color:#e7edf3;
}
.ppf-summary .summary-row{
  display:flex; justify-content:space-between; padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ppf-summary .summary-row:last-child{ border-bottom:none; }
.ppf-summary .summary-label{ color:rgba(231,237,243,.75); font-size:13px; }
.ppf-summary .summary-value{ color:#e7edf3; font-weight:600; }

/* Optional: two-column container layout if you’re using .ppf-checkout wrapper */
.ppf-checkout{ display:flex; gap:26px; align-items:flex-start; flex-wrap:nowrap; }
@media (max-width:980px){ .ppf-checkout{ flex-wrap:wrap; } }
/* 1) Remove OUTER border/padding (no frame around the whole checkout area) */
.ppf-checkout,
.ppf-checkout > .elementor-element,
.ptt-ec,
.ptt-ec .elementor-widget-woocommerce-checkout-page,
.ptt-ec .elementor-widget-woocommerce-checkout-page > .elementor-widget-container {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* 2) Make Account Summary equal the total height of Billing + Payment */
.ppf-checkout {                       /* put both columns in one flex row that stretches */
  display: flex !important;
  align-items: stretch !important;
  gap: 26px;
}

/* Right column (billing + payment stacked) must size naturally */
.ptt-ec {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

/* Left column stretches to the same row height */
.ppf-summary {
  flex: 0 0 360px !important;         /* your fixed width */
  align-self: stretch !important;     /* match the row height */
  height: auto !important;
  /* keep your visual style but REMOVE its outer border & padding */
  border: 0 !important;
  padding: 0 !important;
}

/* If the summary inner content needs breathing room, pad its INSIDE wrapper only */
.ppf-summary > .elementor-widget,
.ppf-summary > .e-con-inner,
.ppf-summary > .elementor-container {
  padding: 24px 22px !important;      /* adjust if you want tighter/looser */
}

/* Keep Billing + Payment cards exactly as before (no changes here)
   but ensure the stack forms the reference height for the row */
.ptt-ec #order_review { margin-top: 15px !important; }

/* Safety: kill stray margins/padding inside both columns that can break alignment */
.ppf-summary *,
.ptt-ec * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* --- Kill extra (outer) borders & padding on wrappers --- */
/* Billing wrappers */
.ptt-ec .woocommerce form.checkout .col-1,
.ptt-ec .woocommerce form.checkout .col-2,
.ptt-ec .woocommerce-billing-fields__field-wrapper,
.ptt-ec .woocommerce-billing-fields fieldset {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Keep the border only on the actual billing card */
.ptt-ec .woocommerce-billing-fields {
  background: var(--card-bg) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  padding: 24px 22px !important;
}

/* Payment wrappers */
.ptt-ec .woocommerce-checkout-payment {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Keep the border only on #payment */
.ptt-ec #payment {
  background: var(--card-bg) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  padding: 22px 20px !important;
}

/* Safety: remove any pseudo-edge some themes add */
.ptt-ec .woocommerce-billing-fields::before,
.ptt-ec .woocommerce-billing-fields::after,
.ptt-ec .woocommerce-checkout-payment::before,
.ptt-ec .woocommerce-checkout-payment::after {
  display: none !important;
  content: none !important;
}
/* Nuke the outer payment wrapper that’s showing a ghost border */
.ptt-ec #order_review,
.ptt-ec #order_review:before,
.ptt-ec #order_review:after,
.ptt-ec .woocommerce-checkout-payment:before,
.ptt-ec .woocommerce-checkout-payment:after {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Make sure only the inner card has the border */
.ptt-ec #payment {
  position: relative;
  background: var(--card-bg) !important;
  color: var(--text) !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  padding: 22px 20px !important;
  z-index: 1;
}

/* Also flatten any list wrapper that might add a top edge */
.ptt-ec .wc_payment_methods,
.ptt-ec .payment_methods {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* =========================================
   LAYOUT (equal height + flush columns)
   ========================================= */
.ppf-checkout{
  display:flex; gap:26px; align-items:stretch;  /* stretch = equal column height */
  flex-wrap:nowrap;
}
.ppf-summary{ flex:0 0 360px; display:flex; flex-direction:column; }
.ptt-ec{ flex:1 1 auto; max-width:100%; min-width:0; display:flex; flex-direction:column; }

/* Nuke outer padding/borders Elementor/theme may add */
.ppf-summary,
.ppf-summary > .elementor-widget-wrap,
.ppf-summary > .e-con-inner,
.ppf-summary > .elementor-container,
.ptt-ec,
.ptt-ec > .elementor-widget-wrap,
.ptt-ec > .e-con-inner,
.ptt-ec > .elementor-container{
  margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important;
}

/* =========================================
   ACCOUNT SUMMARY (from your cssss.txt)
   ========================================= */
.ppf-summary{
  background:#0b0f14 !important;
  color:#e7edf3 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:16px !important;
  padding:24px 22px !important;
  box-sizing:border-box;
}
.ppf-summary h3, .ppf-summary .summary-title{
  font-size:18px; font-weight:700; margin-bottom:12px; color:#e7edf3;
}
.ppf-summary .summary-row{
  display:flex; justify-content:space-between; padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ppf-summary .summary-row:last-child{ border-bottom:none; }
.ppf-summary .summary-label{ color:rgba(231,237,243,.75); font-size:13px; }
.ppf-summary .summary-value{ color:#e7edf3; font-weight:600; }

/* =========================================
   SHORTCODE CHECKOUT — FULL WIDTH CARDS
   ========================================= */
.ptt-ec .woocommerce{ background:transparent !important; }

/* Force one-column, no floats, no extra gaps */
.ptt-ec .woocommerce form.checkout #customer_details,
.ptt-ec .woocommerce form.checkout #order_review{
  width:100% !important; float:none !important; margin:0 !important; padding:0 !important; border:0 !important;
}
.ptt-ec .woocommerce form.checkout #order_review{ margin-top:15px !important; }

/* Remove outer wrapper chrome so only our cards show */
.ptt-ec .woocommerce form.checkout .col-1,
.ptt-ec .woocommerce form.checkout .col-2,
.ptt-ec .woocommerce #order_review{
  background:transparent !important; border:0 !important; padding:0 !important; box-shadow:none !important;
}

/* ===== Billing card ===== */
.ptt-ec .woocommerce-billing-fields{
  background:#0b0f14 !important; color:#e7edf3 !important;
  border:1px solid rgba(255,255,255,.10) !important; border-radius:16px !important;
  padding:24px 22px !important; box-sizing:border-box;
}
.ptt-ec .woocommerce-billing-fields > h3{
  font-size:18px; font-weight:700; margin:6px 0 14px; color:#e7edf3 !important;
}
.ptt-ec .woocommerce form .form-row label{ color:rgba(231,237,243,.75); font-size:13px; margin:0 0 6px; }
.ptt-ec .woocommerce input[type="text"],
.ptt-ec .woocommerce input[type="email"],
.ptt-ec .woocommerce input[type="tel"],
.ptt-ec .woocommerce input[type="password"],
.ptt-ec .woocommerce input[type="number"],
.ptt-ec .woocommerce textarea,
.ptt-ec .woocommerce select{
  background:transparent !important; border:none !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important; border-radius:0 !important;
  color:#e7edf3 !important; padding:8px 0 10px !important; box-shadow:none !important;
}
.ptt-ec .woocommerce input:focus,
.ptt-ec .woocommerce textarea:focus,
.ptt-ec .woocommerce select:focus{
  border-bottom-color:rgba(255,255,255,.16) !important;
  box-shadow:0 1px 0 0 #2ad4ff !important;
}
.ptt-ec .select2-container .select2-selection{
  background:transparent !important; border:none !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important; border-radius:0 !important; height:40px;
}
.ptt-ec .select2-selection__rendered{ line-height:40px; color:#e7edf3; padding-left:0; }
.ptt-ec .select2-selection__arrow{ height:40px; }

/* ===== Payment card ===== */
.ptt-ec .woocommerce-checkout-payment,
.ptt-ec #payment{
  position:relative; background:#0b0f14 !important; color:#e7edf3 !important;
  border:1px solid rgba(255,255,255,.10) !important; border-radius:16px !important;
  padding:22px 20px !important; box-shadow:none !important; overflow:hidden;
}
/* Kill any theme pseudo-elements / extra caps */
.ptt-ec .woocommerce-checkout-payment:before,
.ptt-ec .woocommerce-checkout-payment:after,
.ptt-ec #payment:before,
.ptt-ec #payment:after{ display:none !important; }

/* Payment content tidy */
.ptt-ec .payment_methods, .ptt-ec .wc_payment_methods{ list-style:none; margin:0 0 12px; padding:0; border:0; }
.ptt-ec .wc_payment_method{ padding:12px 0; }
.ptt-ec .wc_payment_method + .wc_payment_method{ border-top:1px solid rgba(255,255,255,.10); }
.ptt-ec .wc_payment_method input[type="radio"]{ accent-color:#2ad4ff; }
.ptt-ec .wc_payment_method > label{ display:flex; align-items:center; gap:8px; font-weight:700; color:#e7edf3; }
.ptt-ec .payment_box{
  margin:10px 0 0 28px; background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.16); border-radius:12px; padding:12px 14px; color:rgba(231,237,243,.78);
}
.ptt-ec .payment_box:before, .ptt-ec .payment_box:after{ display:none !important; }

/* Terms + CTA */
.ptt-ec .woocommerce-terms-and-conditions-wrapper{ margin:12px 0; }
.ptt-ec .woocommerce-terms-and-conditions-wrapper label{ color:rgba(231,237,243,.78); }
.ptt-ec .woocommerce-terms-and-conditions-wrapper a{ color:#fff; text-decoration:underline; }
.ptt-ec .place-order .button, .ptt-ec #place_order{
  width:100% !important; border:none !important; border-radius:12px !important;
  background:linear-gradient(90deg,#16a3ff,#2ad4ff) !important; color:#051017 !important;
  font-weight:700 !important; padding:14px 16px !important;
}

/* Hide coupon area + Additional info + Order table */
.ptt-ec .woocommerce-form-coupon-toggle,
.ptt-ec form.checkout_coupon,
.ptt-ec .woocommerce-additional-fields,
.ptt-ec #order_comments_field,
.ptt-ec #order_review_heading,
.ptt-ec .woocommerce-checkout-review-order-table{ display:none !important; }

/* ===== Fix: keep Coupon + Totals inside the left rail on tablet/mobile ===== */

/* Stack the two columns and let the left rail be full width */
@media (max-width: 1024px){
  .ppf-checkout{ flex-wrap: wrap !important; }
  .ppf-summary{ flex: 1 1 100% !important; width: 100% !important; }
}

/* Coupon form – make it fluid */
.ppf-summary .wl-checkout-coupon-form,
.ppf-summary .wl_checkout_coupon_form,
.ppf-summary .woocommerce-form-coupon,
.ppf-summary .coupon{
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
}

.ppf-summary .wl-checkout-coupon-form input[type="text"],
.ppf-summary .wl_checkout_coupon_form input[type="text"],
.ppf-summary .woocommerce-form-coupon input[type="text"],
.ppf-summary .coupon input[type="text"]{
  flex: 1 1 auto !important;
  min-width: 0 !important;   /* prevents overflow when space is tight */
  width: 1% !important;      /* let flex control the width */
  max-width: 100% !important;
}

.ppf-summary .wl-checkout-coupon-form .button,
.ppf-summary .wl_checkout_coupon_form .button,
.ppf-summary .woocommerce-form-coupon button,
.ppf-summary .coupon button{
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* On small phones, stack the button under the input */
@media (max-width: 480px){
  .ppf-summary .wl-checkout-coupon-form,
  .ppf-summary .wl_checkout_coupon_form,
  .ppf-summary .woocommerce-form-coupon,
  .ppf-summary .coupon{
    flex-wrap: wrap !important;
  }
  .ppf-summary .wl-checkout-coupon-form .button,
  .ppf-summary .wl_checkout_coupon_form .button,
  .ppf-summary .woocommerce-form-coupon button,
  .ppf-summary .coupon button{
    width: 100% !important;
  }
}

/* Totals widget – force full width, no overflow */
.ppf-summary .wl-checkout-order-review,
.ppf-summary .wl_checkout_order_review,
.ppf-summary .woolentor-checkout-order-review,
.ppf-summary .woocommerce-checkout-review-order,
.ppf-summary .shop_table{
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

/* Nuke any hard widths/transforms that push things outside */
.ppf-summary .elementor-widget,
.ppf-summary .elementor-widget-container{
  width: 100% !important;
  max-width: 100% !important;
}

.ppf-summary [style*="width:" i],
.ppf-summary [style*="max-width:" i],
.ppf-summary [style*="translate" i]{
  max-width: 100% !important;
  width: auto !important;
  transform: none !important;
}
/* ============ Alignment: Summary ⇔ Billing + Payment ============ */

/* Row: equal heights */
.ppf-checkout{
  display:flex !important;
  align-items:stretch !important;  /* makes both columns the same height */
  gap:26px;
  flex-wrap:nowrap;
}

/* Right column (billing + payment stack) */
.ptt-ec{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

/* Billing/Payment = full width + 15px gap */
.ptt-ec .woocommerce-billing-fields,
.ptt-ec #payment{
  width:100% !important;
  margin:0 !important;
}
.ptt-ec #payment{ margin-top:15px !important; }

/* Left column (summary) — no outer padding/border; card lives on inner wrap */
.ppf-summary{
  flex:0 0 360px !important;      /* adjust if you want a different fixed width */
  display:flex !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

/* Turn the inner wrapper into the visual card so it stretches with the row */
.ppf-summary > .elementor-widget-wrap,
.ppf-summary > .e-con-inner,
.ppf-summary > .elementor-container{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  background:#0b0f14 !important;
  color:#e7edf3 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:16px !important;
  padding:24px 22px !important;
  box-sizing:border-box !important;
}

/* Optional: keep the summary content scrollable if the right side gets very tall */
.ppf-summary > .elementor-widget-wrap > .elementor-widget,
.ppf-summary > .e-con-inner > .elementor-widget{
  min-height:0; /* allow scrolling if you add it */
}
 /* (Uncomment to enable scroll inside the card instead of growing content)
.ppf-summary > .elementor-widget-wrap,
.ppf-summary > .e-con-inner{ overflow:auto; }
*/

/* Mobile/tablet: stack columns, let each be full width */
@media (max-width:980px){
  .ppf-checkout{ flex-wrap:wrap !important; }
  .ppf-summary{ flex:1 1 100% !important; }
  .ppf-summary > .elementor-widget-wrap,
  .ppf-summary > .e-con-inner,
  .ppf-summary > .elementor-container{ width:100% !important; }
}
/* === PTT — Coupon & WC notices (dark skin) === */
.woocommerce-checkout,
.woocommerce-cart {
  --ptt-bg: #0b0f14;            /* card bg */
  --ptt-text: #e7edf3;          /* main text */
  --ptt-muted: rgba(231,237,243,.75);
  --ptt-line: rgba(255,255,255,.10);
  --ptt-accent: #2ad4ff;        /* brand accent */
  --ptt-ok: #2fd27b;            /* success accent */
  --ptt-err: #ff5a5a;           /* error accent */
  --ptt-info: #2ad4ff;          /* info accent */
}

/* Base look for Woo notices (works for WooLentor + core) */
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info,
.woolentor-coupon-form .woocommerce-message,
.wl-coupon-form .woocommerce-message,
.woolentor-coupon-form .woocommerce-error,
.wl-coupon-form .woocommerce-error,
.woolentor-coupon-form .woocommerce-info,
.wl-coupon-form .woocommerce-info {
  background: linear-gradient(0deg, rgba(255,255,255,0.02), rgba(255,255,255,0.02)) var(--ptt-bg);
  color: var(--ptt-text);
  border: 1px solid var(--ptt-line);
  border-left: 4px solid var(--ptt-accent);
  border-radius: 12px;
  padding: 12px 14px;
  margin: 10px 0 14px;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
  font: 500 13px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial;
}

/* Color accents per type */
.woocommerce-message,
.woolentor-coupon-form .woocommerce-message,
.wl-coupon-form .woocommerce-message { border-left-color: var(--ptt-ok); }

.woocommerce-error,
.woolentor-coupon-form .woocommerce-error,
.wl-coupon-form .woocommerce-error { border-left-color: var(--ptt-err); }

.woocommerce-info,
.woolentor-coupon-form .woocommerce-info,
.wl-coupon-form .woocommerce-info { border-left-color: var(--ptt-info); }

/* Remove Woo default green/blue bars & icons */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info {
  background-image: none !important;
}
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before { display: none !important; }

/* Tighten spacing inside list-style error blocks */
.woocommerce-error li { margin: 0; }

/* === WooLentor coupon widget: input + button skin === */
.woolentor-coupon-form input[type="text"],
.wl-coupon-form input[type="text"],
form.checkout_coupon input[type="text"] {
  background: rgba(255,255,255,0.04);
  color: var(--ptt-text);
  border: 1px solid var(--ptt-line);
  border-radius: 12px;
  padding: 10px 12px;
  height: 42px;
  outline: none;
}
.woolentor-coupon-form input[type="text"]::placeholder,
.wl-coupon-form input[type="text"]::placeholder { color: var(--ptt-muted); }

.woolentor-coupon-form button,
.wl-coupon-form button,
form.checkout_coupon button {
  background: var(--ptt-accent);
  color: #00121a;
  border: none;
  border-radius: 12px;
  padding: 10px 14px;
  height: 42px;
  font-weight: 600;
  transition: transform .06s ease, filter .2s ease;
}
.woolentor-coupon-form button:hover,
.wl-coupon-form button:hover,
form.checkout_coupon button:hover { filter: brightness(1.05); }
.woolentor-coupon-form button:active,
.wl-coupon-form button:active,
form.checkout_coupon button:active { transform: translateY(1px); }

/* Put input + button on one line with nice gap (desktop) */
.woolentor-coupon-form .coupon,
.wl-coupon-form .coupon,
form.checkout_coupon.coupon {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.woolentor-coupon-form .coupon .input-text,
.wl-coupon-form .coupon .input-text,
form.checkout_coupon .input-text { flex: 1 1 260px; }

/* Mobile spacing tweaks */
@media (max-width: 767px) {
  .woocommerce-checkout .woocommerce-message,
  .woocommerce-checkout .woocommerce-error,
  .woocommerce-checkout .woocommerce-info { border-radius: 10px; padding: 10px 12px; }
}
/* Center EVERYTHING inside that specific Shortcode widget */
#summary-shortcode,
#summary-shortcode .elementor-widget-container,
#summary-shortcode .elementor-shortcode{
  text-align: center !important;      /* centers inline elements like <h3> and inline images */
}

/* Make the image cooperate with centering */
#summary-shortcode img,
#summary-shortcode .ptt-img{
  display: inline-block !important;   /* so text-align works */
  margin: 0 auto !important;          /* safety if something forces block */
}

/* If your parent container is flex and forcing left-align, neutralize it */
#summary-shortcode .elementor-widget-container{
  display: block !important;
}

/* Optional: kill extra left padding/margins some themes add */
#summary-shortcode h3{
  margin-left: 0 !important;
}
/* Hide WooCommerce success message (coupon applied) */
.woocommerce-message {
  display: none !important;
}

/* === Make badges sit in a card identical to the User Account Details box === */
.ptt-badges-box{
  /* card look (tweak to match your theme exactly) */
  background: rgba(255,255,255,.04);           /* same dark glass bg */
  border: 1px solid rgba(255,255,255,.12);     /* subtle border */
  border-radius: 14px;                          /* same roundness */
  box-shadow: 0 8px 20px rgba(0,0,0,.25);       /* soft outer shadow */
  padding: 16px 18px;                           /* inner spacing like the form */
  margin: 0 0 18px;                             /* space below; top usually 0 */
}

/* Remove Elementor’s default spacing inside the card */
.ptt-badges-box .elementor-widget-container{ margin:0 !important; padding:0 !important; line-height:0; }

/* Keep the badges image crisp, centered, and not too tall */
.ptt-badges-box img{
  display:block;
  margin:0 auto;
  width:min(560px, 92%);   /* responsive width cap; adjust 560px if needed */
  height:auto;             /* preserve aspect ratio */
  object-fit:contain;
  filter:none !important;  /* disable any lazyload blur */
  transform:none !important;
}

/* Optional: slightly tighter card on mobile */
@media (max-width: 480px){
  .ptt-badges-box{ padding: 12px 14px; }
  .ptt-badges-box img{ width:min(440px, 95%); }
}
/* =========================
   Responsive fix: badges card behaves like checkout cards
   ========================= */

/* On tablet and down, stack everything full-width */
@media (max-width: 1024px){
  .ppf-checkout{ flex-wrap: wrap !important; }

  .ppf-summary,
  .ptt-ec,
  .ptt-badges-box{
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px 0 !important;
  }

  /* Reset any funky positioning so badges don’t overlap totals */
  .ptt-badges-box{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    z-index: 1;
  }

  /* Tighter inner padding so it doesn’t look oversized on tablets */
  .ptt-badges-box{ padding: 14px 16px !important; }
  .ptt-badges-box img{ width: min(460px, 95%) !important; height: auto !important; }
}

/* On small phones */
@media (max-width: 480px){
  .ptt-badges-box{ padding: 12px 14px !important; }
  .ptt-badges-box img{ width: min(380px, 94%) !important; }
}
/* === Woo checkout: dark Select2 (country) === */

/* Closed selection box */
.ptt-ec .select2-container--default .select2-selection--single,
.ptt-ec .select2-container--default .select2-selection--multiple{
  background:#0b0f14 !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:8px !important;
  color:#e7edf3 !important;
  height:44px !important;
}

.ptt-ec .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:#e7edf3 !important;
  line-height:44px !important;
  padding-left:10px !important;
}
.ptt-ec .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:44px !important;
}
.ptt-ec .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:#e7edf3 transparent transparent transparent !important; /* white chevron */
}

/* Open dropdown (Select2 often appends to <body>, so include global body.elementor-page-1129s) */
.select2-container--open .select2-dropdown,
.ptt-ec .select2-dropdown{
  background:#0b0f14 !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:8px !important;
  color:#e7edf3 !important;
}

.select2-container--default .select2-results__option{
  background:transparent !important;
  color:#e7edf3 !important;
  padding:8px 12px !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted{
  background:#2ad4ff !important;  /* brand blue */
  color:#111820 !important;        /* dark text on highlight */
}
.select2-container--default .select2-results__option[aria-selected=true]{
  background:rgba(42,212,255,.15) !important;
  color:#e7edf3 !important;
}

/* Search box inside dropdown */
.select2-container .select2-search--dropdown .select2-search__field{
  background:#0b0f14 !important;
  color:#e7edf3 !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:6px !important;
}
.select2-container .select2-search--dropdown .select2-search__field::placeholder{
  color:rgba(231,237,243,.60) !important;
}

/* Safety: some themes inject white via inline styles – override hard */
body .select2-container .select2-selection--single,
body .select2-dropdown{
  background:#0b0f14 !important;
  color:#e7edf3 !important;
}/* End custom CSS */