/* =========================
   T6 Custom Checkout Styles
   ========================= */
:root{
  --t6cpc-primary: steelblue;
  --t6cpc-niceblue: #215272;
  --t6cpc-muted: rgba(0,0,0,.65);
}

.t6cpc-wrap{
  max-width:1300px;
  margin:40px auto;
  padding:0 16px;
}

/* Card container */
.t6cpc-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  overflow:hidden;

  font-size:15px !important;
  line-height:1.45 !important;
}


/* Optional header area */
.t6cpc-head{
  padding:22px 22px 10px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.t6cpc-head h2{
  margin:0;
  font-size:24px;
  line-height:1.2;
}
.t6cpc-sub{
  margin-top:6px;
  color:rgba(0,0,0,.65);
}

/* Layout grid */
.t6cpc-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:0;
}
@media (max-width:900px){
  .t6cpc-grid{ grid-template-columns:1fr; }
}

.t6cpc-left,
.t6cpc-right{
  padding:22px;
}

.t6cpc-left{
  border-right:1px solid rgba(0,0,0,.06);
}
@media (max-width:900px){
  .t6cpc-left{
    border-right:none;
    border-bottom:1px solid rgba(0,0,0,.06);
  }
}

/* Section headings */
.t6cpc-left h3,
.t6cpc-right h3{
margin: 0 0 18px;
    font-size: 1.5rem;
    font-weight: 800;
    color: #215272;
    letter-spacing: .2px;
}

.t6cpc-payhead{ 
    margin-top:18px;
    text-align: center;
    padding-top: 15px;
 }

/* Notices */
.t6cpc-errors{
  background:rgba(255,0,0,.06);
  border:1px solid rgba(255,0,0,.18);
  padding:10px 12px;
  border-radius:10px;
  margin:10px 0;
  color:#7a0000;
}
.t6cpc-status{
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.08);
  padding:10px 12px;
  border-radius:10px;
  margin:10px 0;
  color:rgba(0,0,0,.75);
}

/* =========================
   Order Summary
   ========================= */

.t6cpc-lines{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:10px 0 14px;

  border-bottom:1px dashed rgba(0,0,0,.08);
  padding-bottom:12px;
}

/* Single line item row */
.t6cpc-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 0;
}

/* Left side: thumb + name */
.t6cpc-line-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

/* Thumbnail */
img.t6cpc-thumb{
  width:50px !important;
  height:50px !important;
  border-radius:8px;
  object-fit:cover;
  flex:0 0 34px;
  display:block;

  border:1px solid rgba(0,0,0,.06);
  background:#fff;

  transition:transform .2s ease;
}
.t6cpc-line:hover img.t6cpc-thumb{
  transform:scale(1.05);
}

/* Name + qty */
.t6cpc-line-name{
  font-size: 1.3rem;
    color: #215272;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.t6cpc-qty{
  font-size:1.1rem;
  color: #215272;
  opacity:.65;
  margin-left:6px;
}

/* Price on right */
.t6cpc-line-price{
  font-size:1.1rem;
  color: var(--t6cpc-niceblue);
  font-weight:600;
  flex-shrink:0;
}

/* Totals block */
.t6cpc-totals{
  border-top:0; /* handled by .t6cpc-lines separator */
  padding-top:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.t6cpc-total-row{
  display:flex;
  justify-content:space-between;
  color:rgba(0,0,0,.75);
  font-size:1rem;
  font-style: italic;
}

.t6cpc-grand{
  color:var(--t6cpc-niceblue);
  font-weight:800;
  font-size:1rem;

  background:rgba(0,0,0,.02);
  padding:12px;
  border-radius:8px;
  margin-top:10px;
}

/* =========================
   Form Fields
   ========================= */

.t6cpc-form{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:8px;
}

.t6cpc-row label{
  display:block;
  font-size:14px;
  font-weight:500;
  color:rgba(0,0,0,.65);
  margin-bottom:6px;
}

.t6cpc-row input,
.t6cpc-row select{
  width:100%;
  height:40px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:0 12px;
  outline:none;
  box-sizing:border-box;
}

.t6cpc-row input:focus,
.t6cpc-row select:focus{
  border-color:rgba(0,0,0,.35);
  box-shadow:0 0 0 3px rgba(0,0,0,.06);
}

.t6cpc-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@media (max-width:520px){
  .t6cpc-split{ grid-template-columns:1fr; }
}

/* =========================
   PayPal CardFields
   ========================= */

.t6cpc-cardfields{
  margin-top:10px;
  padding:12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:rgba(0,0,0,.02);
}

.t6cpc-cf-grid{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.t6cpc-cf-row label{
  display:block;
  font-size:12px;
  color:rgba(0,0,0,.65);
  margin-bottom:6px;
  position:relative;
  z-index:0;
}

.t6cpc-cf-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
@media (max-width:520px){
  .t6cpc-cf-split{ grid-template-columns:1fr; }
}

/* Container for injected PayPal iframes (don’t fight inline wrapper height) */
.t6cpc-field{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  min-height:56px;
  position:relative;
  overflow:visible;
  width:100%;
  box-sizing:border-box;
}

/* Ensure injected wrapper/iframe are clickable and on top */
.t6cpc-cardfields,
.t6cpc-cardfields *{
  pointer-events:auto;
}

.t6cpc-field > div{
  width:100% !important;
  min-height:56px !important;
  position:relative !important;
  z-index:4 !important;
  pointer-events:auto !important;
}

.t6cpc-field iframe{
  width:100% !important;
  min-height:56px !important;
  border:0 !important;
  display:block !important;
  position:relative !important;
  z-index:5 !important;
  pointer-events:auto !important;
}

/* Helper text */
.t6cpc-muted{
  margin-top:10px;
  color:rgba(0,0,0,.55);
  font-size:12px;
}

/* =========================
   Pay Buttons
   ========================= */

/* Primary Pay by Card button (full width) */
.t6cpc-btn{
  display:block;
  width:100% !important;

  appearance:none !important;
  -webkit-appearance:none !important;

  background:linear-gradient(135deg, steelblue 0%, #2c6fa3 100%) !important;
  color:#fff !important;

  border:0 !important;
  border-radius:14px !important;

  height:48px;
  line-height:48px;
  padding:0 20px !important;
  margin-top:14px;

  font-weight:600;
  font-size:15px;
  letter-spacing:.2px;
  text-align:center;

  cursor:pointer;

  transition:transform .15s ease, box-shadow .15s ease, filter .2s ease;
  box-shadow:0 3px 8px rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
}

.t6cpc-btn::after{
  content:" →";
  display:inline-block;
  margin-left:6px;
  transition:transform .2s ease;
}

.t6cpc-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(0,0,0,.18), inset 0 -1px 0 rgba(0,0,0,.15);
  filter:brightness(1.05);
}
.t6cpc-btn:hover::after{ transform:translateX(4px); }

.t6cpc-btn:active{
  transform:translateY(0);
  box-shadow:0 3px 8px rgba(0,0,0,.15), inset 0 3px 6px rgba(0,0,0,.25);
}

.t6cpc-btn:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 3px rgba(70,130,180,.25), 0 3px 8px rgba(0,0,0,.15);
}

#t6cpc-paypal-buttons{ margin-top:14px; }

/* Footer note */
.t6cpc-foot{
  margin-top:14px;
  color:rgba(0,0,0,.55);
  font-size:12px;
}

/* Ensure the Pay by card button is fully clickable (above iframes/wrappers) */
#t6cpc-cardfields{
  position: relative;
}

#t6cpc-card-pay{
  position: relative;
  z-index: 9999;
  pointer-events: auto !important;
}
.t6cpc-success{
  max-width:800px;
  margin:60px auto;
  background:#fff;
  border-radius:16px;
  padding:40px;
  text-align:center;
  box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.t6cpc-success h2{
  font-size:28px;
  margin-bottom:10px;
}

.t6cpc-success p{
  font-size:16px;
  color:#444;
}

.t6cpc-order-meta{
  margin:25px 0;
  padding:20px;
  background:#f7f7f7;
  border-radius:10px;
  text-align:left;
  font-size:15px;
}

.t6cpc-order-meta div{
  margin:6px 0;
}

/* ---------------------------------
   Thank you page (t6_custom_thankyou)
--------------------------------- */

.t6ty-card{
  background:#fff;
  padding:34px;
}

.t6ty-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(0,0,0,.06);
  margin-bottom:18px;
}

.t6ty-title{
  margin:0 0 6px;
  font-size:30px;
  line-height:1.15;
  letter-spacing:-.2px;
  color:#0f172a;
}

.t6ty-sub{
  margin:0;
  font-size:16px;
  color:rgba(15, 23, 42, .72);
}

.t6ty-badge{
  flex:0 0 auto;
  font-size:12px;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:#0f172a;
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.08);
  padding:8px 10px;
  border-radius:999px;
}

.t6ty-info{
  margin:18px 0 22px;
  padding:18px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:rgba(0,0,0,.02);
}

.t6ty-info h3{
  margin:0 0 10px;
  font-size:16px;
  font-weight:800;
  color:#0f172a;
}

.t6ty-info p{
  margin:10px 0 0;
  font-size:14.5px;
  line-height:1.55;
  color:rgba(15, 23, 42, .78);
}

.t6ty-link{
  color:#003982;
  text-decoration:underline;
  text-underline-offset:3px;
}

.t6ty-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:16px;
  margin-top:14px;
}

@media (max-width: 900px){
  .t6ty-grid{ grid-template-columns:1fr; }
}

.t6ty-panel{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:18px;
  background:#fff;
}

.t6ty-panel-title{
  margin:0 0 12px;
  font-size:16px;
  font-weight:800;
  color:#0f172a;
}

.t6ty-kv{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.t6ty-kv:last-child{
  border-bottom:0;
}

.t6ty-k{
  font-size:13px;
  font-weight:700;
  color:rgba(15, 23, 42, .62);
}

.t6ty-v{
  font-size:14px;
  font-weight:700;
  color:#0f172a;
  text-align:right;
}

.t6ty-lines{
  margin:0;
}

.t6ty-actions{
  margin-top:16px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.t6ty-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 18px;
  border-radius:14px;
  text-decoration:none !important;
  font-weight:800;
  font-size:14px;
  letter-spacing:.2px;
  color:#fff !important;
  background:linear-gradient(135deg, #003982 0%, #006DDF 100%);
  box-shadow:0 10px 22px rgba(0,0,0,.12);
  transition:transform .15s ease, box-shadow .15s ease, filter .2s ease;
}

.t6ty-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.16);
  filter:brightness(1.02);
}

.t6ty-btn:active{
  transform:translateY(0);
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}

.t6ty-btn--ghost{
  background:#fff !important;
  color:#003982 !important;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:none;
}

.t6ty-btn--ghost:hover{
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}

@media (max-width: 520px){
  .t6ty-card{ padding:22px; }
  .t6ty-title{ font-size:26px; }
  .t6ty-actions{ flex-direction:column; }
  .t6ty-btn{ width:100%; }
}