/* ===== 1) Make sure the header & menus sit ABOVE all sections ===== */
.site-header,
.elementor-location-header,
header#site-header,
header {
  position: relative;
  z-index: 9999 !important;
  overflow: visible !important; /* so dropdowns aren't clipped */
}

/* Dropdown containers if your theme uses them */
.site-header nav,
.site-header .elementor-nav-menu,
.elementor-location-header nav {
  position: relative;
  z-index: 9999 !important;
  overflow: visible !important;
}

/* ===== 2) Keep the hero BELOW the header and kill sideways scroll ===== */
#ttt-hero-fx {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

#ttt-hero-fx .grid,
#ttt-hero-fx .radial,
#ttt-hero-fx svg.line,
#ttt-hero-fx svg.candles {
  max-width: 100%;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.page-id-17080 .entry-title {
  display: none;
}













/* =========================================================
   TTT CHECKOUT V2 (Woo Blocks) – FINAL LOCKED (CLEAN)
   Scope: .ttt-checkout-v2 + .TTT-Checkout-Order-Summary
   ========================================================= */

/* =========================================================
   1) VARIABLES
   ========================================================= */
.ttt-checkout-v2{
  --ttt-orange:#FF6804;
  --ttt-panel:#ffffff;
  --ttt-border:#E3E5EA;
  --ttt-heading:#111827;
  --ttt-body:#374151;

  --ttt-radius:8px;
  --ttt-gap:26px;
  --ttt-pad-main:20px;
  --ttt-pad-side:14px;

  --ttt-focus:rgba(255,104,4,.16);
  padding:34px 0;
}

/* =========================================================
   2) CANVAS / WRAP
   ========================================================= */
.ttt-checkout-v2 .wc-block-checkout,
.ttt-checkout-v2 .wp-block-woocommerce-checkout{
  width:100% !important;
  margin:0 auto !important;
  padding:0 22px !important;
  font-family:inherit !important;
}

/* Desktop canvas width (your latest “wide but sane”) */
@media (min-width:1000px){
  .ttt-checkout-v2 .wc-block-checkout,
  .ttt-checkout-v2 .wp-block-woocommerce-checkout{
    max-width:min(1560px,98vw) !important;
    padding:0 18px !important;
  }
}

/* Remove Woo background wrappers */
.ttt-checkout-v2 .wc-block-checkout__container,
.ttt-checkout-v2 .wc-block-checkout__content{
  background:transparent !important;
}

/* =========================================================
   3) TYPOGRAPHY (FINAL)
   ========================================================= */
.ttt-checkout-v2,
.ttt-checkout-v2 p,
.ttt-checkout-v2 span,
.ttt-checkout-v2 label,
.ttt-checkout-v2 small,
.ttt-checkout-v2 .wc-block-components-text,
.ttt-checkout-v2 .wc-block-components-checkout-step__description,
.ttt-checkout-v2 .wc-block-components-notice-banner__content{
  color:var(--ttt-body) !important;
  opacity:1 !important;
  font-family:inherit !important;
  font-weight:400 !important;
}

.ttt-checkout-v2 ::placeholder{
  color:var(--ttt-body) !important;
  opacity:.65 !important;
}

.ttt-checkout-v2 h1,
.ttt-checkout-v2 h2,
.ttt-checkout-v2 h3,
.ttt-checkout-v2 .wc-block-components-title,
.ttt-checkout-v2 .wc-block-checkout__title,
.ttt-checkout-v2 .wc-block-components-checkout-step__title,
.ttt-checkout-v2 .wc-block-components-order-summary__title{
  color:var(--ttt-heading) !important;
  font-family:inherit !important;
  font-weight:700 !important;
  letter-spacing:-0.01em !important;
}

.ttt-checkout-v2 .wc-block-components-checkout-step__title,
.ttt-checkout-v2 .wc-block-components-order-summary__title{
  font-size:18px !important;
  line-height:1.25 !important;
}

/* Match Express Checkout + Add coupon link typography */
.ttt-checkout-v2 .wc-block-components-express-payment__title,
.ttt-checkout-v2 .wc-block-components-express-payment__title *,
.TTT-Checkout-Order-Summary .wc-block-components-totals-coupon-link,
.TTT-Checkout-Order-Summary .wc-block-components-panel__button{
  font-weight:700 !important;
  font-size:14px !important;
  letter-spacing:-0.1px !important;
  color:var(--ttt-body) !important;
}

/* =========================================================
   4) LAYOUT (DESKTOP GRID) + MOBILE STACK
   ========================================================= */
@media (min-width:1000px){
  .ttt-checkout-v2 .wc-block-checkout__container,
  .ttt-checkout-v2 .wc-block-checkout__content{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 340px !important;
    column-gap:var(--ttt-gap) !important;
    align-items:start !important;
  }

  .ttt-checkout-v2 .wc-block-checkout__sidebar{
    position:sticky !important;
    top:110px !important;
  }
}

@media (max-width:999px){
  .ttt-checkout-v2 .wc-block-checkout__container,
  .ttt-checkout-v2 .wc-block-checkout__content{
    display:block !important;
  }
}

/* =========================================================
   5) PANELS (DESKTOP CARDS ONLY)
   ========================================================= */
@media (min-width:783px){
  .ttt-checkout-v2 .wc-block-checkout__main,
  .ttt-checkout-v2 .wc-block-checkout__sidebar,
  .TTT-Checkout-Order-Summary{
    background:var(--ttt-panel) !important;
    border:1px solid var(--ttt-border) !important;
    border-radius:var(--ttt-radius) !important;
    box-shadow:none !important;
  }

  .ttt-checkout-v2 .wc-block-checkout__main{ padding:var(--ttt-pad-main) !important; }
  .ttt-checkout-v2 .wc-block-checkout__sidebar,
  .TTT-Checkout-Order-Summary{ padding:var(--ttt-pad-side) !important; }
}

/* Step spacing (tight but readable) */
.ttt-checkout-v2 .wc-block-components-checkout-step{
  padding:0 !important;
  margin:0 0 14px !important;
}
.ttt-checkout-v2 .wc-block-components-checkout-step:last-child{ margin-bottom:0 !important; }

/* =========================================================
   6) FORMS / INPUTS
   ========================================================= */
.ttt-checkout-v2 .wc-block-components-text-input,
.ttt-checkout-v2 .wc-block-components-select,
.ttt-checkout-v2 .wc-block-components-combobox{
  margin-bottom:10px !important;
}

.ttt-checkout-v2 .wc-block-components-text-input label,
.ttt-checkout-v2 .wc-block-components-select label,
.ttt-checkout-v2 .wc-block-components-combobox label{
  display:block !important;
  margin:0 0 6px 0 !important;
  font-weight:500 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  color:var(--ttt-body) !important;
}

.ttt-checkout-v2 .wc-block-components-text-input input,
.ttt-checkout-v2 .wc-block-components-text-input textarea,
.ttt-checkout-v2 .wc-block-components-combobox .components-combobox-control__input,
.ttt-checkout-v2 .wc-block-components-select .components-input-control__input{
  background:#fff !important;
  border:1px solid #dfe3ea !important;
  border-radius:10px !important;
  padding:10px 12px !important;
  min-height:42px !important;
  color:var(--ttt-heading) !important;
  box-shadow:none !important;
  width:100% !important;
  max-width:none !important;
}

.ttt-checkout-v2 .wc-block-components-text-input input:focus,
.ttt-checkout-v2 .wc-block-components-text-input textarea:focus,
.ttt-checkout-v2 .wc-block-components-combobox .components-combobox-control__input:focus,
.ttt-checkout-v2 .wc-block-components-select .components-input-control__input:focus{
  outline:none !important;
  border-color:rgba(255,104,4,.60) !important;
  box-shadow:0 0 0 4px var(--ttt-focus) !important;
}

.ttt-checkout-v2 .wc-block-components-checkbox{ margin:10px 0 14px 0 !important; }

/* Remove County / State */
.ttt-checkout-v2 .wc-block-components-address-form__state,
.ttt-checkout-v2 .wc-block-components-address-form__county{
  display:none !important;
}

/* =========================================================
   7) CONTACT STEP (CENTERED EMAIL + TITLE)
   ========================================================= */
.ttt-checkout-v2 .wc-block-components-checkout-step__title{
  text-align:center !important;
}

/* Center + widen email field block */
.ttt-checkout-v2 .wc-block-components-checkout-step--contact-information
.wc-block-components-text-input{
  max-width:720px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Hide MailPoet checkout opt-in */
.ttt-checkout-v2 fieldset#contact-fields .wc-block-components-checkbox{
  display:none !important;
}

/* =========================================================
   8) BILLING ADDRESS GRID (DESKTOP FINAL)
   Row 1: Country | Address | Address | Phone
   Row 2: First   | Last    | City    | Postcode
   ========================================================= */
@media (min-width:1000px){
  .ttt-checkout-v2 .wc-block-components-address-form{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    column-gap:14px !important;
    row-gap:12px !important;
    align-items:start !important;
  }

  /* Row 1 */
  .ttt-checkout-v2 .wc-block-components-address-form__country{  grid-column:1/2 !important; grid-row:1 !important; }
  .ttt-checkout-v2 .wc-block-components-address-form__address_1{grid-column:2/4 !important; grid-row:1 !important; }
  .ttt-checkout-v2 .wc-block-components-address-form__phone{   grid-column:4/5 !important; grid-row:1 !important; }

  /* Row 2 */
  .ttt-checkout-v2 .wc-block-components-address-form__first_name{ grid-column:1/2 !important; grid-row:2 !important; }
  .ttt-checkout-v2 .wc-block-components-address-form__last_name{  grid-column:2/3 !important; grid-row:2 !important; }
  .ttt-checkout-v2 .wc-block-components-address-form__city{       grid-column:3/4 !important; grid-row:2 !important; }
  .ttt-checkout-v2 .wc-block-components-address-form__postcode{   grid-column:4/5 !important; grid-row:2 !important; }

  /* Address line 2 full width (if enabled) */
  .ttt-checkout-v2 .wc-block-components-address-form__address_2{
    grid-column:1/-1 !important;
    grid-row:3 !important;
  }

  /* Phone micro-align (optional) */
  .ttt-checkout-v2 .wc-block-components-address-form__phone{
    margin-top:0 !important;
    padding-top:0 !important;
    align-self:start !important;
    transform:translateY(-2px);
  }
  .ttt-checkout-v2 .wc-block-components-address-form__phone label{
    margin-bottom:6px !important;
  }
}

/* =========================================================
   9) PAYMENT METHODS (SINGLE SYSTEM)
   - radio | name | icons (hard right)
   - normalizes injected gateway logos
   ========================================================= */

/* Outer payment wrapper */
.ttt-checkout-v2 .wc-block-checkout__payment-method{
  margin-top:14px !important;
  background:#fff !important;
  border:1px solid var(--ttt-border) !important;
  border-radius:12px !important;
  padding:12px !important;
  box-shadow:none !important;
}

/* Row layout (scoped to your class) */
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__option{
  padding:10px 12px !important;
}

.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__option-layout{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
}

/* Radio stays left (spacing handled by label-group margin) */
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__input,
.ttt-checkout-v2 .ttt-payment-options-new input[type="radio"]{
  flex:0 0 auto !important;
  margin:0 !important;
}

/* Text starts to the right of radio */
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label-group{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  margin-left:20px !important;
}

/* Payment name */
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-label{
  display:inline-block !important;
  white-space:nowrap !important;
  line-height:1.1 !important;
  margin:0 !important;
}

/* Icons hard right */
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-icons,
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-icons--align-left{
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}

/* Normalize ALL logos inside the row */
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label-group img,
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label-group svg,
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-icons img,
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-icons svg{
  height:22px !important;
  max-height:22px !important;
  width:auto !important;
  object-fit:contain !important;
  vertical-align:middle !important;
}

/* If gateway injects logos inline inside label span, push them right */
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label > span{
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
}
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label > span > img:first-of-type,
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label > span > svg:first-of-type{
  margin-left:auto !important;
}
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label > span > img + img,
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label > span > svg + img,
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label > span > img + svg,
.ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label > span > svg + svg{
  margin-left:8px !important;
}

/* =========================================================
   10) PAYMENT DROPDOWN (ACCORDION HEIGHT FIX) + PAYSAFE CLEANUP
   ========================================================= */
.ttt-checkout-v2 #payment-method .wc-block-components-radio-control-accordion-content,
.ttt-checkout-v2 fieldset[id="payment-method"] .wc-block-components-radio-control-accordion-content,
.ttt-checkout-v2 #radio-control-wc-payment-method-options__content .wc-block-components-radio-control-accordion-content{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:12px 0 0 !important;
  margin:0 !important;
  overflow:visible !important;
}

.ttt-checkout-v2 #payment-method .wc-block-components-radio-control-accordion-content > *,
.ttt-checkout-v2 fieldset[id="payment-method"] .wc-block-components-radio-control-accordion-content > *{
  height:auto !important;
  min-height:0 !important;
}

/* Paysafe layout */
.ttt-checkout-v2 #payment-method .paysafe-hosted-payment-form{
  height:auto !important;
  min-height:0 !important;
  margin:10px 0 0 !important;
  padding-left:18px !important;
  padding-right:18px !important;
}
.ttt-checkout-v2 #payment-method .paysafe-input-field{
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  overflow:hidden !important;
  margin-bottom:10px !important;
}
.ttt-checkout-v2 #payment-method .paysafe-input-field iframe{
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  display:block !important;
}
.ttt-checkout-v2 #payment-method .paysafe-cc-form-label{ margin-bottom:4px !important; }
.ttt-checkout-v2 #payment-method .paysafe-cc-form-cvv-image,
.ttt-checkout-v2 #payment-method img[src*="cvv.svg"]{ display:none !important; }

/* =========================================================
   11) ORDER SUMMARY (SINGLE OUTER CARD; NO INNER OUTLINES)
   ========================================================= */

/* Remove inner borders/boxes */
.ttt-checkout-v2 .wc-block-checkout__sidebar .wc-block-components-order-summary,
.ttt-checkout-v2 .wc-block-checkout__sidebar .wc-block-components-order-summary__content,
.ttt-checkout-v2 .wc-block-checkout__sidebar .wc-block-components-order-summary__items,
.ttt-checkout-v2 .wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.TTT-Checkout-Order-Summary .wc-block-components-order-summary,
.TTT-Checkout-Order-Summary .wc-block-components-order-summary__content,
.TTT-Checkout-Order-Summary .wc-block-components-order-summary__items,
.TTT-Checkout-Order-Summary .wc-block-components-totals-wrapper{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Hide product image + per-item extra text */
.ttt-checkout-v2 .wc-block-components-order-summary-item__image,
.ttt-checkout-v2 .wc-block-components-order-summary-item__individual-price,
.ttt-checkout-v2 .wc-block-components-product-details__description,
.ttt-checkout-v2 .wc-block-components-order-summary-item__description p,
.ttt-checkout-v2 .wc-block-components-order-summary-item__description .wc-block-components-product-details__short-description{
  display:none !important;
}

/* Item row */
.ttt-checkout-v2 .wc-block-components-order-summary-item{
  display:flex !important;
  align-items:center !important;
  padding:6px 0 !important;
  margin:0 0 6px !important;
}
.ttt-checkout-v2 .wc-block-components-order-summary-item__product-name{
  font-weight:700 !important;
  color:var(--ttt-heading) !important;
}
.ttt-checkout-v2 .wc-block-components-order-summary-item__total-price{
  margin-left:auto !important;
  font-weight:700 !important;
  color:var(--ttt-heading) !important;
}

/* Totals spacing (no divider lines, no orange underline) */
.ttt-checkout-v2 .wc-block-components-totals-wrapper{
  margin-top:4px !important;
  padding-top:0 !important;
  border:0 !important;
}
.ttt-checkout-v2 .wc-block-components-totals-item,
.ttt-checkout-v2 .wc-block-components-totals-footer-item{
  padding:5px 0 !important;
  border:0 !important;
}
.ttt-checkout-v2 .wc-block-components-totals-footer-item::after{
  content:none !important;
  display:none !important;
}

/* Coupon stays boxed */
.ttt-checkout-v2 .wc-block-components-totals-coupon{
  background:#fff !important;
  border:1px solid rgba(230,232,238,.95) !important;
  border-radius:14px !important;
  padding:10px 12px !important;
  margin:10px 0 !important;
  box-shadow:0 10px 22px rgba(15,23,42,.07) !important;
}
.ttt-checkout-v2 .wc-block-components-totals-coupon form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:10px !important;
  align-items:end !important;
}
.ttt-checkout-v2 .wc-block-components-totals-coupon .wc-block-components-text-input{ margin:0 !important; }

.ttt-checkout-v2 .wc-block-components-totals-coupon button,
.ttt-checkout-v2 .wc-block-components-totals-coupon .wc-block-components-button{
  background:var(--ttt-orange) !important;
  color:#fff !important;
  min-height:46px !important;
  border-radius:10px !important;
  font-weight:900 !important;
  border:0 !important;
  padding:10px 14px !important;
  white-space:nowrap !important;
  box-shadow:0 12px 24px rgba(255,104,4,.22) !important;
}

/* Hide Subtotal row (right summary block) */
.TTT-Checkout-Order-Summary
.wp-block-woocommerce-checkout-order-summary-subtotal-block{
  display:none !important;
}

/* Remove INNER outline on the Order Summary block */
.ttt-checkout-v2 .wp-block-woocommerce-checkout-order-summary-block.TTT-Checkout-Order-Summary{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.ttt-checkout-v2 .wp-block-woocommerce-checkout-order-summary-block.TTT-Checkout-Order-Summary *{
  outline-color:transparent !important;
}

/* =========================================================
   12) BUTTONS
   ========================================================= */
/* Place Order = light blue */
.ttt-checkout-v2 .wc-block-components-checkout-place-order-button,
.ttt-checkout-v2 button.wc-block-components-button{
  background:#3b82f6 !important;
  color:#fff !important;
  border-radius:12px !important;
  min-height:48px !important;
  font-weight:900 !important;
  border:0 !important;
  box-shadow:0 14px 28px rgba(59,130,246,.25) !important;
}
.ttt-checkout-v2 .wc-block-components-checkout-place-order-button:hover,
.ttt-checkout-v2 button.wc-block-components-button:hover{
  filter:brightness(.95);
  transform:translateY(-1px);
}
.ttt-checkout-v2 .wc-block-components-checkout-place-order-button:before,
.ttt-checkout-v2 .wc-block-components-checkout-place-order-button:after{
  display:none !important;
}
.ttt-checkout-v2 .wc-block-components-checkout-return-to-cart-button{
  font-weight:800 !important;
  color:var(--ttt-heading) !important;
}

/* Hide privacy / terms under place order */
.ttt-checkout-v2 .wc-block-components-privacy-policy-text,
.ttt-checkout-v2 .wc-block-components-checkout__terms,
.ttt-checkout-v2 .wc-block-checkout__terms{
  display:none !important;
}

/* =========================================================
   13) MOBILE — ONE WHOLE CONNECTED SECTION (FINAL)
   ========================================================= */
@media (max-width:782px){

  /* Canvas */
  .ttt-checkout-v2 .wc-block-checkout,
  .ttt-checkout-v2 .wp-block-woocommerce-checkout{
    width:100% !important;
    max-width:98vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  /* Remove card look so it feels connected */
  .ttt-checkout-v2 .wc-block-checkout__main,
  .ttt-checkout-v2 .wc-block-checkout__sidebar,
  .ttt-checkout-v2 .wc-block-checkout__payment-method,
  .TTT-Checkout-Order-Summary{
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 !important;
  }

  /* Connected separators between steps */
  .ttt-checkout-v2 .wc-block-components-checkout-step{
    margin:0 0 16px !important;
    padding:0 0 16px !important;
    border-bottom:1px solid rgba(230,232,238,.9) !important;
  }
  .ttt-checkout-v2 .wc-block-components-checkout-step:last-child{
    border-bottom:0 !important;
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }

  /* Payment method rows: allow wrap so nothing overflows */
  .ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label-group{
    flex-wrap:wrap !important;
    min-width:0 !important;
  }
  .ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-label{
    white-space:normal !important;
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  .ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-icons,
  .ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-icons--align-left{
    width:100% !important;
    justify-content:flex-start !important;
    margin-left:0 !important;
    margin-top:8px !important;
  }

  /* Icons smaller on mobile */
  .ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-icons img,
  .ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-payment-method-icons svg,
  .ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label-group img,
  .ttt-checkout-v2 .ttt-payment-options-new .wc-block-components-radio-control__label-group svg{
    height:12px !important;
    max-height:12px !important;
    width:auto !important;
    object-fit:contain !important;
    vertical-align:middle !important;
    margin-left:6px !important;
  }

  /* Coupon stays as the only feature box */
  .ttt-checkout-v2 .wc-block-components-totals-coupon{
    border-radius:12px !important;
    box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
  }

  /* Defensive: prevent horizontal scroll */
  body.woocommerce-checkout{ overflow-x:hidden; }
  .ttt-checkout-v2 *{ max-width:100% !important; box-sizing:border-box !important; }
}

/* =========================================================
   14) TRUST WIDGET (LEFT GAP) – unchanged
   ========================================================= */
@media (min-width:960px){
  .ttt-left-gap-widget{
    max-width:1100px;
    margin:0 auto;
    padding:0 12px;
    position:relative;
  }
  .ttt-left-gap-widget .ttt-trust-box{
    width:320px;
    position:absolute;
    left:12px;
    top:0;
    background:#fff;
    border:1px solid #eee;
    border-radius:12px;
    padding:10px 12px;
    font-family:Poppins,sans-serif;
    font-size:12px;
    color:#555;
  }
}
@media (max-width:959px){
  .ttt-left-gap-widget{
    max-width:900px;
    margin:6px auto;
    padding:0 12px;
  }
  .ttt-left-gap-widget .ttt-trust-box{
    background:#fff;
    border:1px solid #eee;
    border-radius:12px;
    padding:10px 12px;
    font-family:Poppins,sans-serif;
    font-size:12px;
    color:#555;
  }
}

/* =========================================================
   PATCH 2 — Desktop: Raise / align Address row so it sits inline
   (Country + Address + Phone on same baseline)
   ========================================================= */
@media (min-width: 1000px){

  /* Make the whole first row align to the top consistently */
  .ttt-checkout-v2 .wc-block-components-address-form{
    align-items: start !important;
  }

  /* Remove any extra top spacing on these 3 fields */
  .ttt-checkout-v2 .wc-block-components-address-form__country,
  .ttt-checkout-v2 .wc-block-components-address-form__address_1,
  .ttt-checkout-v2 .wc-block-components-address-form__phone{
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-self: start !important;
  }

  /* Kill wrapper margins that can push Address down */
  .ttt-checkout-v2 .wc-block-components-address-form__country .wc-block-components-text-input,
  .ttt-checkout-v2 .wc-block-components-address-form__country .wc-block-components-combobox,
  .ttt-checkout-v2 .wc-block-components-address-form__address_1 .wc-block-components-text-input,
  .ttt-checkout-v2 .wc-block-components-address-form__phone .wc-block-components-text-input{
    margin-top: 0 !important;
  }

  /* If Phone was previously nudged, neutralise it */
  .ttt-checkout-v2 .wc-block-components-address-form__phone{
    transform: none !important;
  }
}




/* =========================================
   FIX: Stop payment name overlapping radio
   (forces clear space to the right of radio)
   ========================================= */

.ttt-checkout-v2 #payment-method .wc-block-components-radio-control__label-group,
.ttt-checkout-v2 fieldset#payment-method .wc-block-components-radio-control__label-group,
.ttt-checkout-v2 fieldset[id="payment-method"] .wc-block-components-radio-control__label-group{
  position: relative !important;
  padding-left: 28px !important;   /* ✅ space for the radio + gap (adjust 24–34) */
  margin-left: 0 !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Remove anything pulling the label back over the radio */
.ttt-checkout-v2 #payment-method .wc-block-components-radio-control__label,
.ttt-checkout-v2 fieldset[id="payment-method"] .wc-block-components-radio-control__label{
  margin-left: 0 !important;
  padding-left: 0 !important;
  transform: none !important;
}




/* =========================================
   FORCE ORANGE RADIO (Woo Blocks real fix)
   ========================================= */

.ttt-checkout-v2 
.wc-block-components-radio-control__input:checked::before{
  background-color: #FF6804 !important;
}


/* =========================================
   DESKTOP: Email box full width (correct selector)
   ========================================= */
@media (min-width: 1000px){

  /* Ensure the contact step content isn't narrowing it */
  .ttt-checkout-v2 .wc-block-components-checkout-step--contact-information,
  .ttt-checkout-v2 .wc-block-components-checkout-step--contact-information .wc-block-components-checkout-step__content{
    max-width: none !important;
    width: 100% !important;
  }

  /* The actual email field wrapper Woo outputs */
  .ttt-checkout-v2 .wc-block-components-address-form__email{
    grid-column: 1 / -1 !important;  /* spans full row if Woo uses grid */
    max-width: none !important;
    width: 100% !important;

    /* overrides your previous centering rules */
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Make the input itself stretch */
  .ttt-checkout-v2 .wc-block-components-address-form__email input#email{
    width: 100% !important;
    max-width: none !important;
  }
}


/* =========================================
   REMOVE OUTER BOX — ttt-payment-options-new
   ========================================= */

.ttt-checkout-v2 .ttt-payment-options-new{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
  padding: 0 !important;
}

/* If Woo adds inner wrapper card */
.ttt-checkout-v2 .ttt-payment-options-new > .wc-block-components-radio-control{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* =========================================
   COUNTRY SELECT — force border to match other fields
   (hits container + select + any Woo variants)
   ========================================= */

/* 1) Kill any thicker border / inset shadow */
.ttt-checkout-v2 .wc-block-components-country-input *,
.ttt-checkout-v2 .wc-block-components-country-input select{
  box-shadow: none !important;
}

/* 2) Force the visible border to be identical to your inputs */
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select__container,
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select__select,
.ttt-checkout-v2 .wc-block-components-country-input select.wc-block-components-select__select,
.ttt-checkout-v2 .wc-block-components-country-input select{
  border: 1px solid #dfe3ea !important;   /* same as your text inputs */
  border-width: 1px !important;
  border-style: solid !important;
  border-color: #dfe3ea !important;
  border-radius: 10px !important;
  background: #fff !important;
  outline: 0 !important;
}

/* 3) Focus state consistent with other fields */
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select__container:focus-within,
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select__select:focus,
.ttt-checkout-v2 .wc-block-components-country-input select:focus{
  border-color: rgba(255,104,4,.60) !important;
  box-shadow: 0 0 0 4px rgba(255,104,4,.16) !important;
}

/* =========================================
   COUNTRY SELECT — remove focus ring entirely
   ========================================= */

/* Kill any focus ring or glow */
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select__container:focus-within,
.ttt-checkout-v2 .wc-block-components-country-input select:focus,
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select__select:focus{
  box-shadow: none !important;
  outline: none !important;
}

/* Keep border consistent even when focused */
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select__container,
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select__container:focus-within,
.ttt-checkout-v2 .wc-block-components-country-input select{
  border: 1px solid #dfe3ea !important;
  border-color: #dfe3ea !important;
}




/* =========================================================
   FEEFO — Floating Trust Card (Professional)
   ========================================================= */

.ttt-checkout-v2 .ttt-feefo-under-summary{
  margin-top: 18px;
  padding: 22px 22px;

  background: #ffffff;
  border-radius: 18px;

  /* Remove any previous borders */
  border: none;

  /* Soft floating shadow */
  box-shadow:
    0 12px 30px rgba(15, 23, 42, 0.08),
    0 4px 12px rgba(15, 23, 42, 0.05);

  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Subtle lift on hover (feels premium) */
.ttt-checkout-v2 .ttt-feefo-under-summary:hover{
  transform: translateY(-2px);
  box-shadow:
    0 16px 36px rgba(15, 23, 42, 0.10),
    0 6px 16px rgba(15, 23, 42, 0.06);
}

/* Make sure widget fits cleanly */
.ttt-checkout-v2 .ttt-feefo-under-summary *{
  max-width: 100%;
}

/* Mobile refinement */
@media (max-width: 782px){
  .ttt-checkout-v2 .ttt-feefo-under-summary{
    padding: 16px;
    border-radius: 16px;
  }
}


/* Right column spacing consistency */
.ttt-checkout-v2 .wc-block-checkout__sidebar .wc-block-components-panel,
.ttt-checkout-v2 .wc-block-checkout__sidebar .wc-block-components-totals-wrapper{
  margin-bottom: 14px !important;
}

/* Feefo card: slightly more "native" */
.ttt-checkout-v2 .ttt-feefo-under-summary{
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07), 0 3px 10px rgba(15, 23, 42, 0.04);
}


.ttt-checkout-v2 .ttt-trust-row{
  margin: 10px 0 14px;
  padding: 10px 12px;
  border: 1px solid #eef2f7;
  border-radius: 12px;
  background: #fff;
  font-size: 12.5px;
  color: #475569;
  display: grid;
  gap: 6px;
}
.ttt-checkout-v2 .ttt-trust-row strong{
  color: #0f172a;
  font-weight: 600;
}

.ttt-checkout-v2 .ttt-feefo-under-summary{
  padding: 18px 18px;
}
.ttt-checkout-v2 .ttt-feefo-under-summary a{
  font-weight: 600;
  text-decoration: none;
}

.ttt-checkout-v2 .ttt-feefo-under-summary{
  padding: 18px 18px;
}
.ttt-checkout-v2 .ttt-feefo-under-summary a{
  font-weight: 600;
  text-decoration: none;
}


/* ================================
   TTT TRUST ROW
================================ */

.ttt-checkout-v2 .ttt-trust-row{
    margin: 14px 0 16px;
    padding: 14px 16px;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #eef2f7;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
    font-size: 13px;
    color: #475569;
    display: grid;
    gap: 6px;
    line-height: 1.5;
}

.ttt-checkout-v2 .ttt-trust-row strong{
    color: #0f172a;
    font-weight: 600;
}


/* Trust row sits INSIDE Feefo card */
.ttt-checkout-v2 .ttt-trust-row{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eef2f7;
  display: grid;
  gap: 8px;
  font-size: 13px;
  color: #475569;
  line-height: 1.45;
}

.ttt-checkout-v2 .ttt-trust-item{
  display: flex;
  align-items: center;
  gap: 8px;
}

.ttt-checkout-v2 .ttt-trust-ic{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #64748b;         /* muted */
}

.ttt-checkout-v2 .ttt-trust-item strong{
  color: #0f172a;
  font-weight: 600;
}

.ttt-checkout-v2 .ttt-trust-mail{
  color: #0f172a;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ttt-checkout-v2 .ttt-trust-mail:hover{
  color: #FF6804; /* TTT orange */
}


/* ================================
   TTT TRUST ROW – BRAND POLISH
================================ */

/* Make icons TTT orange */
.ttt-checkout-v2 .ttt-trust-ic{
  color: #FF6804 !important; /* TTT brand orange */
}

/* Support email default = orange */
.ttt-checkout-v2 .ttt-trust-mail{
  color: #FF6804 !important;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

/* Hover / click = black */
.ttt-checkout-v2 .ttt-trust-mail:hover,
.ttt-checkout-v2 .ttt-trust-mail:focus,
.ttt-checkout-v2 .ttt-trust-mail:active{
  color: #0f172a !important;
}



/* =========================================
   TTT CHECKOUT – TYPOGRAPHY SYSTEM
========================================= */

.ttt-checkout-v2{
  --ttt-black: #0f172a;
  --ttt-grey: #64748b;
}

/* -------------------------
   Section Titles
------------------------- */

.ttt-checkout-v2 h2,
.ttt-checkout-v2 .wc-block-components-title{
  font-size: 18px;
  font-weight: 600;
  color: var(--ttt-black);
  letter-spacing: -0.2px;
}

/* Order Summary title */
.ttt-checkout-v2 .wp-block-woocommerce-checkout-order-summary-block h2{
  font-size: 19px;
  font-weight: 600;
}

/* -------------------------
   Form Labels
------------------------- */

.ttt-checkout-v2 label{
  font-size: 13px;
  font-weight: 500;
  color: var(--ttt-grey);
}

/* -------------------------
   Input Text
------------------------- */

.ttt-checkout-v2 input,
.ttt-checkout-v2 select{
  font-size: 14px;
  font-weight: 500;
  color: var(--ttt-black);
}

/* -------------------------
   Order Item Title
------------------------- */

.ttt-checkout-v2 .wc-block-components-product-name{
  font-size: 14px;
  font-weight: 600;
  color: var(--ttt-black);
}

/* Meta text under product */
.ttt-checkout-v2 .wc-block-components-product-metadata{
  font-size: 12px;
  color: var(--ttt-grey);
}

/* -------------------------
   Total Row (Make it strong)
------------------------- */

.ttt-checkout-v2 .wc-block-components-totals-item__label{
  font-size: 16px;
  font-weight: 600;
  color: var(--ttt-black);
}

.ttt-checkout-v2 .wc-block-components-totals-item__value{
  font-size: 18px;
  font-weight: 700;
  color: var(--ttt-black);
}

/* -------------------------
   Payment Method Text
------------------------- */

.ttt-checkout-v2 .wc-block-components-radio-control__label{
  font-size: 14px;
  font-weight: 500;
  color: var(--ttt-black);
}

/* -------------------------
   Trust Row Text Refinement
------------------------- */

.ttt-checkout-v2 .ttt-trust-row{
  font-size: 13px;
  font-weight: 500;
  color: var(--ttt-grey);
}

.ttt-checkout-v2 .ttt-trust-row strong{
  font-weight: 600;
  color: var(--ttt-black);
}

.ttt-checkout-v2 #place_order{
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* Sidebar spacing: tighten */
.ttt-checkout-v2 .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel{
  margin-bottom: 14px !important;
}

/* Trust box visually matches Feefo card */
.ttt-checkout-v2 .ttt-trust-box{
  border: 1px solid #eef2f6 !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06) !important;
}

/* =========================================
   EXPRESS CHECKOUT — remove outer box
   ========================================= */

.ttt-checkout-v2 .wc-block-components-express-payment,
.ttt-checkout-v2 .wc-block-components-express-payment--checkout,
.ttt-checkout-v2 .wc-block-components-express-payment__content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Optional: tighten spacing slightly */
.ttt-checkout-v2 .wc-block-components-express-payment {
  margin-bottom: 18px !important;
}


/* =========================================================
   ORDER SUMMARY: remove hidden subtotal + move divider under Total
   Scoped to: .ttt-checkout-v2
   ========================================================= */

/* 1) Kill the Subtotal block completely (this is the line you’re seeing) */
.ttt-checkout-v2 .wp-block-woocommerce-checkout-order-summary-subtotal-block,
.ttt-checkout-v2 .wc-block-components-totals-item--subtotal,
.ttt-checkout-v2 .wc-block-components-totals-item.subtotal {
  display: none !important;
}

/* 2) Remove any border that Woo adds around totals rows/wrappers */
.ttt-checkout-v2 .wc-block-components-totals-wrapper,
.ttt-checkout-v2 .wc-block-components-totals-wrapper > * {
  border-top: 0 !important;
}

/* 3) Add a clean divider UNDER the Total row (so it separates summary from Feefo) */
.ttt-checkout-v2 .wc-block-components-totals-item.wc-block-components-totals-footer-item,
.ttt-checkout-v2 .wc-block-components-totals-item--total {
  border-top: 0 !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important; /* subtle divider */
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
}

/* =========================================================
   EXPRESS PAYMENTS: remove the outer “box” completely
   ========================================================= */
.ttt-checkout-v2 .wc-block-components-express-payment,
.ttt-checkout-v2 .wc-block-components-express-payment * {
  box-shadow: none !important;
}

.ttt-checkout-v2 .wc-block-components-express-payment {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
}



/* Section Titles */
.ttt-checkout-v2 h1,
.ttt-checkout-v2 h2,
.ttt-checkout-v2 h3,
.ttt-checkout-v2 .wc-block-components-title {
  font-weight: 600 !important;
  letter-spacing: -0.2px;
}

/* Order Summary Title */
.ttt-checkout-v2 .wp-block-woocommerce-checkout-order-summary-block h2 {
  font-weight: 600 !important;
}

/* Labels */
.ttt-checkout-v2 label {
  font-weight: 500 !important;
}

/* Input text */
.ttt-checkout-v2 input,
.ttt-checkout-v2 select,
.ttt-checkout-v2 textarea {
  font-weight: 400 !important;
}

/* Totals */
.ttt-checkout-v2 .wc-block-components-totals-item__label {
  font-weight: 500 !important;
}

.ttt-checkout-v2 .wc-block-components-totals-footer-item {
  font-weight: 600 !important;
  font-size: 16px !important;
}


/* =====================================================
   TTT CHECKOUT — UNIFIED TYPOGRAPHY (Poppins)
   ===================================================== */

.ttt-checkout-v2,
.ttt-checkout-v2 * {
  font-family: 'Poppins', sans-serif !important;
}





/* =========================================================
   TTT Checkout (Woo Blocks) – Field spacing + Country label
   Scoped to: .ttt-checkout-v2
   ========================================================= */

.ttt-checkout-v2{
  --ttt-field-h: 52px;
  --ttt-pad-x: 14px;
  --ttt-pad-top: 18px;   /* pushes entered text down */
  --ttt-pad-bottom: 12px;
  --ttt-label-size: 12px; /* floating label size */
}

/* 1) Give inputs/selects more room so label + value don't feel cramped */
.ttt-checkout-v2 .wc-block-components-text-input input,
.ttt-checkout-v2 .wc-block-components-text-input textarea,
.ttt-checkout-v2 .wc-block-components-select select,
.ttt-checkout-v2 .wc-block-components-combobox__control input{
  min-height: var(--ttt-field-h) !important;
  padding: var(--ttt-pad-top) var(--ttt-pad-x) var(--ttt-pad-bottom) !important;
  line-height: 1.2 !important;
}

/* Slightly increase spacing inside the field wrapper (helps “touching” feeling) */
.ttt-checkout-v2 .wc-block-components-text-input,
.ttt-checkout-v2 .wc-block-components-select,
.ttt-checkout-v2 .wc-block-components-combobox{
  margin-bottom: 12px !important;
}

/* 2) Make floating labels consistent (incl. Country/Region) */
.ttt-checkout-v2 .wc-block-components-text-input label,
.ttt-checkout-v2 .wc-block-components-select label,
.ttt-checkout-v2 .wc-block-components-combobox label,
.ttt-checkout-v2 .wc-block-components-country-input label{
  font-size: var(--ttt-label-size) !important;
  line-height: 1 !important;
}

/* When the field has a value / is active, keep the label the SAME size (Country included) */
.ttt-checkout-v2 .wc-block-components-text-input.is-active label,
.ttt-checkout-v2 .wc-block-components-text-input.has-value label,
.ttt-checkout-v2 .wc-block-components-select.is-active label,
.ttt-checkout-v2 .wc-block-components-select.has-value label,
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select.is-active label,
.ttt-checkout-v2 .wc-block-components-country-input .wc-block-components-select.has-value label{
  font-size: var(--ttt-label-size) !important;
  transform: translateY(-2px) !important; /* small lift, not cramped */
}



/* TEMP DEBUG: force show express payments */
.wc-block-checkout__express-payment,
.wc-block-components-express-payment {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
}

