@charset "utf-8";
@font-face{font-family:'ico';src:url(../fonts/m/icomoon.eot?blwqkv);src:url(../fonts/m/icomoon.eot?blwqkv#iefix) format("embedded-opentype"),url(../fonts/m/icomoon.ttf?blwqkv) format("truetype"),url(../fonts/m/icomoon.woff?blwqkv) format("woff"),url(../fonts/m/icomoon.svg?blwqkv#icomoon) format("svg");font-weight:400;font-style:normal;font-display:swap}
[class^="star-"],[class*=" star-"],.ico{font-family:'ico'!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.star-empty:before{content:"\e9d7"}
.star-half:before{content:"\e9d8"}
.star-full:before{content:"\e9d9"}
body{padding:0;margin:0;font-family:'Poppins',sans-serif;font-size:18px;font-weight:300;color:#000;overflow-x:hidden;letter-spacing:-.02em}
h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{font-family:'Poppins',sans-serif;font-weight:600}
p{font-family:'Poppins',sans-serif;font-weight:300;font-size:14px;line-height:24px}
a,a:hover,a:active{text-decoration:none!important}
*{box-sizing:border-box}
.pt-checkout{display:flex;flex-wrap:wrap;min-height:100vh; flex-direction: row-reverse;}
.pt-checkout > div{flex:0 0 auto;width:50%;padding:35px 95px;display:flex;flex-wrap:wrap;justify-content:center;align-items:start}
.pt-checkout > div.checkout-content-box{background-color:#f7f7f7!important}
.wl-log-section{text-align:center}
.pt-checkout .pt-content-view{display:block;width:100%}
.durationSelected{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 25px}
.durationSelected li{display:flex;flex:1;padding:0;margin:0;cursor:pointer}
.durationSelected li > div{display:block;padding:10px;text-align:center;border:1px solid #ccc;border-radius:6px;background-color:#fff;width:100%}
.durationSelected li > div span.duration{font-size:14px;display:block;font-weight:600;margin-bottom:0}
.durationSelected li.active > div{background-color:#000;border-color:#000;color:#fff}
.durationSelected li del{display:block;font-size:12px;line-height:14px;padding-bottom:4px}
.durationSelected li ins{display:block;font-size:26px;line-height:26px;text-decoration:none;font-weight:600;color:#0B9AB8}
.checkout-info-box{background-color:#fff}
.pt-form{display:block;width:100%;max-width:600px;margin:auto;clear:both;float:none}
.pt-form .form-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}
.pt-form .form-row .form-col{flex:1 0 0}
.pt-form .form-row .form-col label{display:block;font-size:16px;line-height:26px}
.pt-form .form-row .form-col input[type=email],.pt-form .form-row .form-col input[type=password],.pt-form .form-row .form-col input[type=text],.pt-form .form-row .form-col input[type=tel], input#billing_phone{height:46px;line-height:46px;font-size:18px;position:relative;padding:6px 16px;direction:block;width:100%;border:1px solid #ccc;border-radius:4px}
.pt-form .form-row .form-col.center-col{text-align:center}
.pt-form .form-row .form-col.center-col button{background:#0B9AB8;border-radius:7px;border:1px solid #0B9AB8;margin-inline-start:0;width:45%;min-width:320px;border:none;margin-top:30px;font-weight:400;color:#fff;font-size:20px;height:54px;box-shadow:0 2px 4px rgba(0,0,0,.25)}
.pt-form .form-row .form-col.center-col a{color:#0B9AB8}
.googleSignInBtn{width:100%;height:54px;border:2px solid #fff;max-width:320px;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);text-align:center;display:flex;margin:auto;clear:both;border-radius:7px;justify-content:center;align-items:center;font-size:20px;line-height:20px;color:#000;margin-bottom:45px}
.googleSignInBtn img{width:26px;height:26px;margin-right:10px}
.page-title{text-align:center}
.pt-dropdown-btn{display:inline-block;position:relative;margin:0;clear:both}
.pt-dropdown-btn:after,.pt-dropdown-btn:before{content:'';display:table;clear:both}
.pt-dropdown-btn button{display:inline-block;width:300px;padding:12px 32px 12px 16px;background:#0B9AB8;color:#fff;border:1px solid #0B9AB8;border-radius:4px}
.pt-dropdown-btn ul.dropDownList{position:absolute;top:100%;left:0;list-style-type:none;padding:0;margin:0;display:none;width:100%;border:1px solid #ccc;border-radius:4px;overflow:hidden}
.pt-dropdown-btn ul.dropDownList li{display:block;padding:12px 16px;background-color:#fff;border-bottom:1px solid #ccc;cursor:pointer}
.pt-dropdown-btn ul.dropDownList li:last-child{border-bottom:0}
.pt-dropdown-btn ul.dropDownList li > div{display:flex;width:100%;gap:5px}
.pt-dropdown-btn ul.dropDownList li > div > div,.pt-dropdown-btn ul.dropDownList li > div > span{display:flex;flex:1 0 0;justify-content:end}
.pt-dropdown-btn ul.dropDownList li > div > span{max-width:45%;font-size:18px;justify-content:start;align-items:center}
.pt-dropdown-btn:hover ul.dropDownList{display:block}
.pt-dropdown-btn ul.dropDownList li > div > div > del,.pt-dropdown-btn ul.dropDownList li > div > div > ins{display:flex;flex:auto 0 0;justify-content:end;align-items:center;font-size:13px}
.pt-dropdown-btn ul.dropDownList li > div > div > ins{font-size:20px;text-decoration:none;padding-left:5px}
.pt-dropdown-btn button > div{display:flex}
.pt-dropdown-btn button > div > span{display:flex;flex:1;font-size:16px;max-width:45%;justify-content:start;align-items:center}
.pt-dropdown-btn button > div > div{display:flex;flex:1;justify-content:end}
.pt-dropdown-btn button > div > div del,.pt-dropdown-btn button > div > div ins{display:flex;flex:auto 0 0;justify-content:end;align-items:center;font-size:13px}
.pt-dropdown-btn button > div > div ins{font-size:20px;text-decoration:none;padding-left:5px}
.pt-content-view h2.produt-title{text-align:center;font-size:24px;margin-bottom:35px}
.cart_total{display:block;clear:both;margin-top:20px}
.cart_total > span{display:inline-block;padding:8px 15px;font-size:20px;line-height:20px;background-color:#FDFCDF;border:1px solid #FAFD8E;border-radius:4px}
.pt-custom-error{display:block;max-width:570px;clear:both;float:none;margin:auto}
.pt-custom-error:before,.pt-custom-error:after{content:'';display:table;clear:both}
.pt-custom-error .pt_error{display:block;padding:8px 12px;margin:8px 0;border:1px solid #ebccd1;color:#a94442;background-color:#f2dede;border-radius:4px}
.payments .loginUser{padding-top:5px;padding-bottom:15px;font-size:18px;text-align:center;color:#202020}
.pt-order-information{display:block;background-color:#fff}
.pt-order-information .checkout-info-box{margin:auto;background-color:#fff}
.pt-order-information .checkout-info-box .woocommerce-notice{text-align:center;font-size:20px;margin-bottom:35px}
.pt-order-information .checkout-info-box .woocommerce-order-overview{margin:10px 0 45px!important;list-style-type:none;width:100%!important;padding:0;display:flex}
.pt-order-information .checkout-info-box .woocommerce-order-overview li{display:block;flex:1 0 0;text-align:center;padding:0;margin:0}
.pt-order-information .checkout-info-box .woocommerce{border:1px solid #ccc;padding:15px 20px}
.pt-order-information .checkout-info-box .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading{text-align:center}
.pt-order-information .checkout-info-box .wc-bacs-bank-details{margin:10px 0 35px!important;list-style-type:none;width:100%!important;padding:0;display:flex}
.pt-order-information .checkout-info-box .wc-bacs-bank-details li{display:block;flex:1 0 0;text-align:center;padding:0;margin:0}
.pt-order-information .checkout-info-box .wc-item-meta{padding-left:0;margin-left:0}
.pt-order-information .checkout-info-box .product-total{text-align:right!important}
.pt-order-information .checkout-info-box .woocommerce-table--order-details tfoot td{text-align:right!important}
.sap-or{display:block;padding-top:0;padding-bottom:35px;font-size:32px;font-weight:300;line-height:32px;text-align:center;color:#999}
.woocommerce-input-wrapper input[type=email],.woocommerce-input-wrapper input[type=text]{height:46px;line-height:46px;font-size:18px;position:relative;padding:6px 16px;direction:block;width:100%;border:1px solid #ccc;border-radius:4px}
.checkout-content-box .wl-log-section{display:block}
.checkout-info-box .wl-log-section{display:none}
.payments .page-title{text-align:center;display:flex;justify-content:center;align-items:center;font-size:32px;width:100%;margin-top:0;margin-bottom:0;height:90px}
@media screen and (max-width: 768px) {
.checkout-content-box .wl-log-section{display:block}
.checkout-info-box .wl-log-section{display:none}
.pt-checkout{flex-direction:column-reverse}
.pt-checkout > div{width:100%;padding:16px}
.durationSelected li{flex:0 0 auto;width:100%}
.durationSelected li ins,.durationSelected li del{display:inline-block;padding-left:3px;padding-right:3px;margin-bottom:0;padding-bottom:0}
.durationSelected li > div span.duration{font-size:16px;margin-bottom:5px}
.durationSelected li ins{font-size:22px}
.durationSelected li del{font-size:14px}
.durationSelected li > div{padding:10px;display:flex}
.durationSelected li > div > span{flex:1 0 0;display:flex;justify-content:start;align-items:center;margin:0!important;padding:0;text-align:left}
.durationSelected li > div > div{flex:1 0 0;display:flex;justify-content:end;align-items:center;margin:0!important;padding:0;text-align:right}
.pt-content-view .priduct-content{display:none!important}
}
.select2-container .select2-selection--single{height:46px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px}
#billing_state_field{width:100%!important}
.productInfoWraper{display:block;margin-bottom:20px}
.productInfoWraper > div{display:flex;flex-wrap:wrap}
.productInfoCol{flex:0 0 auto;width:100%;display:block;padding:5px}
.productInfoCol.image{overflow:hidden;text-align:center}
.productInfoCol.image img{display:block;max-width:580px;margin:auto;clear:both}
.productInfoCol h2.produt-title{margin-top:0;text-align:center;margin-bottom:6px;font-size:26px}
.productInfoCol .description{font-size:14px;font-weight:600;line-height:20px;text-align:left;margin-top:0;margin-bottom:7px;text-align:center}
.productInfoWraper img{display:block}
.productInfoWraper .rating-box-top{padding:0;margin-bottom:6px;font-size:14px;color:#fff;line-height:22px;text-align:center}
.productInfoWraper .rating-box-top span{display:inline-block;font-size:14px;line-height:16px;margin-left:2px;margin-right:2px;color:#222}
.productInfoWraper .rating-box-top span .wooRating{display:inline-block}
.productInfoWraper .rating-box-top span .wooRating .star{margin-left:3px;color:#fec600}
.productInfoWraper .durationSelected{max-width:580px;margin:auto}
.productInfoWraper .cart_total{text-align:center;margin-top:15px}
.checkoutCarousel{border-radius:6px;margin-bottom:25px;position:relative}
.checkoutCarousel .slick-slide{padding:20px;border:1px solid #ccc;border-radius:6px;background-color:#fff}
.checkoutCarousel .slick-slide .title{display:block;font-size:18px;font-weight:400;margin-top:0;margin-bottom:0;color:#0b3696}
.checkoutCarousel .slick-slide .comment{display:block;font-size:14px;line-height:24px;margin-top:0;margin-bottom:0;padding-top:10px;padding-bottom:15px}
.checkoutCarousel .slick-slide .name{text-align:right;font-size:14px;font-weight:600;margin-top:0;margin-bottom:0;font-style:italic;color:#0b3696}
.slick-dots{display:block;text-align:center;list-style-type:none;margin:0;padding:12px 0}
.slick-dots li{margin:0;display:inline-block;padding:0 5px}
.slick-dots li button{font-size:0;line-height:0;width:12px;height:12px;display:block;background-color:#eee;border:1px solid #ccc}
.slick-dots li.slick-active button{font-size:0;line-height:0;width:12px;height:12px;display:block;background-color:#0B9AB8;border:1px solid #0B9AB8}
.checkoutCarousel .slick-slide .wooRating > .star{margin-left:3px;color:#fec600}
.course_features_list{padding:0;display:flex;gap:2%;width:100%;flex-wrap:wrap}
.course_features_list li{padding:0;display:flex;flex:0 0 auto;width:48%}
.course_features_list li > span{display:block;flex:1}
.course_features_list li > span.icon{max-width:24px;background-image:url(../images/check-n.png);background-repeat:no-repeat;background-size:18px 18px;background-position:0 0}
@media screen and (max-width: 768px) {
.productInfoWraper{display:block;border:0}
.productInfoCol h2.produt-title{text-align:center}
.productInfoCol .description{text-align:center}
.productInfoWraper .rating-box-top{text-align:center}
.productInfoWraper{display:block}
.productInfoCol{flex:0 0 auto;width:100%;display:block;padding:5px}
}
#PrepTimerBox{text-align:center;display:inline-block}
.wxtimerx{display:inline-block;padding-left:15px;padding-top:0;padding-bottom:0;margin:auto;color:#cf2e2e;font-size:16px}
.payment_method_bluesnap p{margin-top:0;margin-bottom:0}
.payment_method_bluesnap .form-row{padding-top:2px;padding-bottom:2px}

label span.optional{ display:none !important; }
.woocommerce-checkout #payment ul.payment_methods{ display:none;}

#ppc-button-ppcp-gateway {
  line-height: 0;
  max-width: 700px;
  margin: auto;
}
.woocommerce-terms-and-conditions-wrapper .validate-required{ margin-bottom:0px !important; margin-top:0px !important;}
.woocommerce-checkout-payment{ margin-top:10px; margin-bottom:15px;}


 .checkout-info-box{ position:relative;} 
     .overlaycheckout{ display:none;}
  	.overlaycheckout.active{ display:block; position:absolute; left:0px; right:0px; top:0px; bottom:0px; background-color:rgba(252,252,252,.30);}
	#billing_state_field{ display:none !important;}
	@media only screen and (min-width: 500px) {

                .paypal-button-container {
                    min-width: 500px;
                    max-width: 100% !important;
                }
	}


.gridBoxes .contentTop{ display:flex;}
.gridBoxes .contentTop > div{ flex:1;  }
.gridBoxes .contentTop > div.contentUser{ max-width:70px; margin-right:10px;}
.gridBoxes .contentTop > div.contentUser div{ width:64px; height:64px; border:1px solid #ccc; background-color:#fff; border-radius:50%; overflow:hidden; }
.gridBoxes .contentTop > div.contentUser div img{ max-width:64px;}


.tp-reviews-widgit{ display:bock; width:100%; max-width:600px; font-family:Arial, sans-serif; height: 100%;
  background-color: #fff;
  padding: 10px;
  border-radius: 4px; box-shadow: 0 2px 4px 0 rgba(17,17,17,0.1);}
.tp-reviews-widgit .tp-reviews-header{ display:flex; padding-top:5px; padding-bottom:5px;}
.tp-reviews-widgit .ratingStars{ display:flex; width:100%; max-width:100%; gap:2px;}
.tp-reviews-widgit .ratingStars > span{ background-color:#ccc; color:#fff; width:20px; height:20px;display:flex;justify-content: center; align-items: center; font-size: 16px; line-height: 16px;}
.tp-reviews-widgit .ratingStars > span img{ max-width:14px !important; color:#fff;}

.tp-reviews-widgit .ratingStars > span.red{ background-color:#FF3722;}
.tp-reviews-widgit .ratingStars > span.orange{ background-color:#fe7a1a;}
.tp-reviews-widgit .ratingStars > span.yellow{ background-color:#FFCE00;}
.tp-reviews-widgit .ratingStars > span.green{ background-color:#73CF11;}
.tp-reviews-widgit .ratingStars > span.dark-green{ background-color:#00B67A;}

.tp-reviews-widgit .tp-reviews-body{ padding-top:5px; padding-bottom:5px;}
.tp-reviews-widgit .tp-reviews-body h3{text-align: left; font-family:Arial, sans-serif !important; font-size:14px !important; line-height:21.6px !important; letter-spacing:-0.198px; color:rgb(25, 25, 25); font-weight:700; margin-top:0px; margin-bottom:5px; white-space: nowrap; overflow: hidden;text-overflow: ellipsis;}
.tp-reviews-widgit .tp-reviews-body p{text-align: left; font-family:Arial, sans-serif !important; font-size:13px !important; line-height:20.4px; letter-spacing:0.176px; color:rgb(25, 25, 25); font-weight:400; margin-top:0px; margin-bottom:0px; position:relative;}
.tp-reviews-widgit .tp-reviews-body p br{ line-height:26px;}
.tp-reviews-widgit .tp-reviews-body.collapsed p:before{background: linear-gradient(0deg, rgba(252,252,252,1) 0%, rgba(252,252,252,0.2) 100%); bottom: 0; content: ""; font-size: 0; height: 30px; left: 0; pointer-events: none; position: absolute; width: 100%; }
.tp-reviews-widgit .tp-reviews-body.collapsed p{ max-height: 61px; min-height:41px; overflow: hidden; text-align: left;}
.tp-reviews-widgit .tp-reviews-footer{padding-top:5px; padding-bottom:0px;}
.tp-reviews-widgit .tp-reviews-footer p{text-align: left; font-family:Arial, sans-serif !important; font-size:13px !important; line-height:18.4px; letter-spacing:0.176px; color:rgba(0, 0, 0, 0.6); font-weight:700; margin-top:0px; margin-bottom:0px;}
.tp-reviews-widgit .tp-reviews-footer p span{text-align: left; font-weight:400;}
.tp-reviews-widgit .button { cursor:pointer; color:#007BFF !important; background:none !important;  border:none !important; padding:0px 0px !important; margin-top:5px !important; display:inline-block; width:100% !important; text-align:center !important; color:rgb(0, 182, 122) !important; font-size: 13px !important;}
.tpWidget{ position:relative; padding-left:16px; padding-right:16px;  }
.tpWidget .slick-arrow{ position:absolute; width:24px; height:24px; overflow:hidden; font-size:0px; border-radius:50%; top:50%; margin-top:-14px; border:0px; background-color:transparent; background-position: center center; background-repeat:no-repeat; background-size:cover; background-image:url(previous.svg);}
.tpWidget .slick-arrow.slick-prev{ left:-14px;}
.tpWidget .slick-arrow.slick-next{ right:-14px;transform: rotate(180deg);}
.tp-reviews-box{ height:100%; padding:5px;}
@media (max-width: 768px) {  
.tpWidget .tp-reviews-widgit{ max-width:280px;}
.tpWidget .slick-arrow.slick-prev{ left:0px; z-index:99999; opacity:0;}
.tpWidget .slick-arrow.slick-next{ right:0px; z-index:99999; opacity:0; }
.tpWidget:hover .slick-arrow.slick-prev{ left:15px; z-index:99999; opacity:0.8;}
.tpWidget:hover .slick-arrow.slick-next{ right:15px; z-index:99999; opacity:0.8; }
}

.tp-reviews-grid {
    display: grid;
    grid-gap: 20px;
    margin: 20px;
    grid-template-columns: 1fr; /* Default to one column for mobile devices */
}
.tp-reviews-grid .review-item {
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Media query for tablets and desktops */
@media (min-width: 768px) { /* Adjust this breakpoint to your needs */
    .tp-reviews-grid {
        grid-template-columns: repeat(3, 1fr); /* Three columns for wider screens */
    }
}
 
.tp-reviews-grid .review-item .tp-reviews-box{ padding:0px; }

@media (max-width: 600px) {
	.tpWidget {  padding-left: 0px;   padding-right: 0px; }
	.tpWidget .tp-reviews-widgit{ max-width:260px;}
}
/* ============================================================
   PORT FROM NOVA CHECKOUT — trust signals, badges, sticky sidebar,
   trust bar above pay button, spinner overlay, inline validation.
   See nova/css/newcheckout.css and page-checkout-newlogin.php for
   the source patterns.
   ============================================================ */

/* Sticky sidebar — keep product/price/trust in view as user scrolls. */
@media (min-width: 992px) {
  .pt-checkout .checkout-content-box .pt-content-view { position: sticky; top: 16px; }
}

/* Bestseller / student-count tagline above the product card. */
.pt-product-tagline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 680px;
  margin: 0 auto 12px;
  padding: 8px 14px;
  background: #FFF7E6;
  border: 1px solid #F5DDA0;
  border-radius: 8px;
  font-size: 13px;
  color: #7A4F00;
  font-weight: 600;
  text-align: center;
}
.pt-product-tagline svg { flex-shrink: 0; color: #F69C08; }
.pt-student-count {
  text-align: center;
  font-size: 13px;
  color: #555;
  margin: 6px 0 16px;
}
.pt-student-count b { color: #1A1A1A; font-weight: 700; }

/* Trust badges grid — Money-Back / Secure / Support / Immediate.
   IMPORTANT: legacy rule `.productInfoWraper > div { display: flex;
   flex-wrap: wrap; }` (checkout.css line ~97) outranks an unscoped
   `.pt-trust-badges { display: grid }`. So we scope to the parent
   wrap and use !important to force the row layout. Without this,
   the badges stack vertically (each at width:100%) instead of
   spreading horizontally across the row. */
.productInfoWraper > .pt-trust-badges,
.pt-trust-badges {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  flex-wrap: nowrap !important;
  justify-items: stretch;
  align-items: start;
  gap: 12px;
  width: 100%;
  max-width: 680px;
  margin: 14px auto 0;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #E5E5E5;
  border-radius: 10px;
  box-sizing: border-box;
}
.pt-trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  gap: 8px;
  min-width: 0;
  /* No explicit width: in a grid cell the badge stretches to fill
     its 1fr column automatically. Setting width: 100% combined with
     the legacy flex-wrap parent caused each badge to wrap to its
     own row — the "vertical stacking" bug. */
}
.pt-trust-badge-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #F0FDF4;
  color: #16A34A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 auto;
}
.pt-trust-badge-icon svg { width: 18px; height: 18px; }
.pt-trust-badge h5 {
  font-size: 11px;
  font-weight: 600;
  color: #393131;
  line-height: 1.3;
  margin: 0;
  text-align: center;
  width: 100%;
}
@media (max-width: 600px) {
  .pt-trust-badges { gap: 6px; padding: 12px 10px; }
  .pt-trust-badge-icon { width: 32px; height: 32px; }
  .pt-trust-badge-icon svg { width: 16px; height: 16px; }
  .pt-trust-badge h5 { font-size: 10px; }
}
@media (max-width: 380px) {
  .pt-trust-badges { gap: 4px; padding: 10px 8px; }
  .pt-trust-badge h5 { font-size: 9.5px; line-height: 1.25; }
}

/* Trust bar — injected by JS just above the Place Order button. */
.checkout-trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 10px 14px;
  margin: 0 auto 12px;
  max-width: 506px;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 8px;
  font-size: 12px;
  color: #166534;
  font-weight: 500;
  text-align: center;
  flex-wrap: wrap;
}
.checkout-trust-bar svg { flex-shrink: 0; }
.checkout-trust-bar .tp-star { color: #00B67A; font-size: 14px; letter-spacing: 1px; }
.checkout-trust-bar .sep { color: #C5CAD0; }
@media (max-width: 480px) {
  .checkout-trust-bar { font-size: 11px; gap: 8px; padding: 9px 10px; }
  .checkout-trust-bar .sep { display: none; }
}

/* Place Order spinner — covers the pay button while the gateway processes
   so the user can't double-click and doesn't think the page froze. */
.place-order-wrap {
  position: relative;
  width: 100%;
  max-width: 506px;
  margin: 0 auto;
  display: block;
}
.place-order-spinner {
  display: none;
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.92);
  border-radius: 48px;
  z-index: 10;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #1A4D99;
}
.place-order-spinner.active { display: flex; }
.place-order-spinner .spin {
  width: 20px;
  height: 20px;
  border: 3px solid #E2E8F0;
  border-top-color: #1A4D99;
  border-radius: 50%;
  animation: pt-checkout-spin 0.6s linear infinite;
}
@keyframes pt-checkout-spin { to { transform: rotate(360deg); } }

/* Inline validation hints (shown by JS when a required field is empty
   or an email is malformed). */
.pt-field-error {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: #DC2626;
  font-weight: 500;
}
.pt-field-error::before { content: '⚠ '; }
.woocommerce-billing-fields .form-row.pt-invalid input,
.woocommerce-shipping-fields .form-row.pt-invalid input,
.woocommerce-account-fields .form-row.pt-invalid input {
  border-color: #DC2626 !important;
  background: #FEF2F2;
}

/* Thank-you page enhancements */
.pt-thanks-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 14px 28px;
  background: #1A4D99;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  border-radius: 8px;
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.pt-thanks-cta:hover { background: #133B73; transform: translateY(-1px); color: #fff; }
.pt-thanks-creds {
  margin-top: 14px;
  padding: 12px 14px;
  background: #EFF6FF;
  border-left: 3px solid #2563EB;
  border-radius: 6px;
  font-size: 13px;
  color: #1E3A8A;
  line-height: 1.5;
}
