/* PT Site Refresh: ePATH (My Account), Complete your details, Cart, Checkout. CSS ONLY here: no field, order, label or behaviour change. No motion. */

/* ===================================================== page frame ===================================================== */
body.ptsr.woocommerce-page{background:#EDF2F7;}
body.ptsr.woocommerce-page .content-bg,
body.ptsr.woocommerce-page article.entry{background:transparent;box-shadow:none;}
body.ptsr.woocommerce-page .entry-content-wrap{padding:0;}
body.ptsr.woocommerce-checkout #primary.content-area{margin-top:0;margin-bottom:0;}
body.ptsr.woocommerce-page .content-container.site-container{max-width:1280px;padding-left:32px;padding-right:32px;}
body.ptsr.woocommerce-page .entry-content > .woocommerce,
body.ptsr.woocommerce-page .entry-content > .wp-block-spacer{max-width:1216px;margin-left:auto;margin-right:auto;}
body.ptsr.woocommerce-page .entry-content > .wp-block-spacer{height:0 !important;}
body.ptsr.woocommerce-page .entry-content > .woocommerce{padding:40px 0 88px;}
body.ptsr.woocommerce-checkout .entry-content > .woocommerce{padding-top:40px;}
body.ptsr.woocommerce-account:not(.logged-in) .entry-content > .woocommerce{padding-top:0;}

/* ===================================================== title band (account pages, cart) ===================================================== */
body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child,
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child{
	position:relative;overflow:hidden;margin-top:0 !important;background-color:#EDF2F7 !important;background-image:radial-gradient(rgba(19,64,149,.10) 1.2px,transparent 1.3px) !important;background-size:22px 22px !important;
}
body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child::after,
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child::after{
	content:"";position:absolute;right:0;top:0;bottom:0;width:34%;clip-path:polygon(70% 0,100% 0,100% 100%,0 100%);background:linear-gradient(125deg,#2B6CB0 28%,#22DA46 100%);pointer-events:none;z-index:0;
}
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child .kt-blocks-carousel,
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child .kb-blocks-bg-slider,
body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child .kt-row-layout-overlay,
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child .kt-row-layout-overlay{display:none !important;}
body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child > .kt-row-column-wrap,
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child > .kt-row-column-wrap{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:56px 32px 60px;min-height:0;}
body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child .kt-row-column-wrap .kt-row-column-wrap,
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child .kt-row-column-wrap .kt-row-column-wrap{padding:0 !important;min-height:0 !important;max-width:none !important;margin:0 !important;grid-template-columns:minmax(0,1fr) !important;}
body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child .wp-block-kadence-column > .kt-inside-inner-col,
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child .wp-block-kadence-column > .kt-inside-inner-col{padding:0;align-items:flex-start !important;justify-content:flex-start !important;text-align:left;}
body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child .wp-block-kadence-advancedheading,
body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child .wp-block-kadence-advancedheading{
	margin:0;max-width:none;width:100%;align-self:flex-start;text-align:left;font-family:var(--ptsr-display);font-weight:700;font-size:clamp(44px,5vw,64px);line-height:1.02;letter-spacing:-.015em;color:#1A202C;
}
body.ptsr .ptsr-epath__e{color:#64AA53;}
body.ptsr .ptsr-epath__path{color:#134095;}
body.ptsr .ptsr-epath__word{display:inline;}
body.ptsr .ptsr-epath__sub{margin:10px 0 0;font-family:var(--ptsr-display);font-weight:600;font-size:22px;line-height:1.3;color:#1A202C;white-space:nowrap;text-align:left;}
@media (max-width:700px){
	body.ptsr .ptsr-epath__sub{white-space:normal;font-size:19px;max-width:235px;}
	body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child > .kt-row-column-wrap,
	body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child > .kt-row-column-wrap{padding:32px 20px 36px !important;}
	body.ptsr.woocommerce-account .entry-content > .kb-row-layout-wrap:first-child::after,
	body.ptsr.woocommerce-cart .entry-content > .kb-row-layout-wrap:first-child::after{width:44%;opacity:.9;}
	body.ptsr.woocommerce-page .content-container.site-container{padding-left:16px;padding-right:16px;}
	body.ptsr.woocommerce-page .entry-content > .woocommerce{padding:28px 16px 64px;box-sizing:border-box;}
}

/* ===================================================== controls (inputs, labels, selects, buttons) ===================================================== */
body.ptsr.woocommerce-page form .form-row label,
body.ptsr.woocommerce-page .woocommerce-form-login label,
body.ptsr.woocommerce-page label{font-size:14px;font-weight:500;line-height:1.3;color:#1A202C;margin:0 0 8px;display:block;}
body.ptsr.woocommerce-page label .required,
body.ptsr.woocommerce-page abbr.required{color:#C53030;text-decoration:none;border:0;font-weight:500;}
body.ptsr.woocommerce-page label .optional{color:#4A5568;font-weight:400;}
body.ptsr.woocommerce-page input[type=text],
body.ptsr.woocommerce-page input[type=email],
body.ptsr.woocommerce-page input[type=tel],
body.ptsr.woocommerce-page input[type=password],
body.ptsr.woocommerce-page input[type=number],
body.ptsr.woocommerce-page input[type=search],
body.ptsr.woocommerce-page input.input-text,
body.ptsr.woocommerce-page select,
body.ptsr.woocommerce-page .select2-container .select2-selection--single{
	display:block;width:100%;height:48px;min-height:48px;box-sizing:border-box;padding:0 14px;border:1px solid #A0AEC0;border-radius:10px;background-color:#fff;font-family:var(--ptsr-body);font-size:16px;line-height:46px;color:#1A202C;box-shadow:none;
}
body.ptsr.woocommerce-page textarea{display:block;width:100%;min-height:110px;box-sizing:border-box;padding:12px 14px;border:1px solid #A0AEC0;border-radius:10px;background:#fff;font-family:var(--ptsr-body);font-size:16px;color:#1A202C;box-shadow:none;resize:vertical;}
body.ptsr.woocommerce-page input::placeholder,
body.ptsr.woocommerce-page textarea::placeholder{color:#718096;opacity:1;}
body.ptsr.woocommerce-page .select2-container .select2-selection--single .select2-selection__rendered{padding:0;line-height:46px;color:#1A202C;font-size:16px;}
body.ptsr.woocommerce-page .select2-container .select2-selection--single .select2-selection__arrow{display:none;}
body.ptsr.woocommerce-page select,
body.ptsr.woocommerce-page .select2-container .select2-selection--single{
	appearance:none;-webkit-appearance:none;padding-right:40px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234A5568' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;background-size:16px;
}
body.ptsr.woocommerce-page .woocommerce-invalid input.input-text,
body.ptsr.woocommerce-page .woocommerce-invalid select,
body.ptsr.woocommerce-page .woocommerce-invalid .select2-selection--single{border-color:#C53030;box-shadow:0 0 0 1px #C53030;}
body.ptsr.woocommerce-page input[type=checkbox],
body.ptsr.woocommerce-page input[type=radio]{accent-color:#64AA53;width:20px;height:20px;}

/* buttons: filled green pill with INK text; secondary = outline */
body.ptsr.woocommerce-page .button,
body.ptsr.woocommerce-page button.button,
body.ptsr.woocommerce-page a.button,
body.ptsr.woocommerce-page input[type=submit].button,
body.ptsr.woocommerce-page button[type=submit]:not(.show-password-input):not(.pt-pw__toggle){
	display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 32px;border:0;border-radius:999px;background:#64AA53;color:#1A202C;font-family:var(--ptsr-body);font-size:17px;font-weight:700;line-height:1.2;text-decoration:none;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none;
}
body.ptsr.woocommerce-page .button:hover,
body.ptsr.woocommerce-page button.button:hover,
body.ptsr.woocommerce-page a.button:hover{background:#56964a;color:#1A202C;text-decoration:none;}
body.ptsr.woocommerce-page .button:disabled,
body.ptsr.woocommerce-page .button[disabled],
body.ptsr.woocommerce-page button[name=update_cart]:disabled{background:#fff;color:#4A5568;border:1.5px solid #D9E2EC;opacity:1;cursor:not-allowed;}
body.ptsr.woocommerce-page.woocommerce-cart button.button[name=update_cart]{min-height:44px;padding:0 22px;border:1.5px solid #134095 !important;background:#fff !important;color:#134095 !important;font-size:15px;}
body.ptsr.woocommerce-page.woocommerce-cart button.button[name=update_cart]:disabled,body.ptsr.woocommerce-page.woocommerce-cart button.button[name=update_cart][aria-disabled=true]{border-color:#D9E2EC !important;color:#4A5568 !important;opacity:1;}
body.ptsr.woocommerce-page :where(a:not(.button):not(.ptsr-account__chip):not(.ptsr-cart)){color:#134095;}

/* ===================================================== notices: tinted box with an icon ===================================================== */
body.ptsr.woocommerce-page .woocommerce-info,
body.ptsr.woocommerce-page .woocommerce-message,
body.ptsr.woocommerce-page .woocommerce-error{
	position:relative;list-style:none;margin:0 0 16px;padding:16px 18px 16px 52px;border:1px solid #BFD0EE;border-left-width:1px;border-radius:12px;background:#EAF1FB;color:#1A202C;font-size:15px;line-height:1.55;box-shadow:none;
}
body.ptsr.woocommerce-page .woocommerce-info::before,
body.ptsr.woocommerce-page .woocommerce-message::before,
body.ptsr.woocommerce-page .woocommerce-error::before{
	content:"";position:absolute;left:18px;top:17px;width:22px;height:22px;background:#134095;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") center/contain no-repeat;
	font-family:inherit;
}
body.ptsr.woocommerce-page .woocommerce-error{background:#FDECEC;border-color:#F3B9B9;}
body.ptsr.woocommerce-page .woocommerce-error::before{background:#C53030;
	-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E");
	mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E");
}
body.ptsr.woocommerce-page .woocommerce-error li{margin:0 0 2px;padding:0;color:#1A202C;}
body.ptsr.woocommerce-page .woocommerce-info a,
body.ptsr.woocommerce-page .woocommerce-message a,
body.ptsr.woocommerce-page .woocommerce-error a{color:#134095;text-decoration:underline;font-weight:500;}
body.ptsr.woocommerce-page .woocommerce-message .button,
body.ptsr.woocommerce-page .woocommerce-info .button{display:none;}

/* ===================================================== login / register (existing pt-auth markup) ===================================================== */
body.ptsr.woocommerce-account:not(.logged-in) .entry-content > p{margin:0 auto !important;padding:48px 32px 0;max-width:480px;text-align:center;font-size:15px !important;font-style:italic;color:#4A5568 !important;}
body.ptsr .pt-auth{max-width:480px;margin:20px auto 0;}
body.ptsr .pt-auth--register{max-width:780px;}
body.ptsr .pt-auth__card{background:#fff;border:1px solid #D9E2EC;border-radius:20px;box-shadow:none;padding:36px 40px;}
body.ptsr .pt-auth__title{margin:0 0 20px;text-align:left;font-family:var(--ptsr-display);font-weight:700;font-size:30px;line-height:1.15;color:#1A202C;}
body.ptsr .pt-auth__section{font-family:var(--ptsr-display);font-weight:700;color:#1A202C;border-top-color:#D9E2EC;}
body.ptsr .pt-auth .form-row{margin:0 0 20px;}
body.ptsr .pt-auth label{font-size:14px;font-weight:500;color:#1A202C;margin:0 0 8px;}
body.ptsr .pt-auth .input-text,
body.ptsr .pt-auth select,
body.ptsr .pt-auth textarea{min-height:48px;height:48px;border:1px solid #A0AEC0;border-radius:10px;padding:0 14px;font-size:16px;}
body.ptsr .pt-auth input.input-text.pt-ico{padding-left:14px;background-image:none;}
body.ptsr.woocommerce-page .pt-auth label.woocommerce-form-login__rememberme{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:0;font-size:15px;font-weight:400;}
body.ptsr .pt-auth__row{margin:0 0 20px;}
body.ptsr .pt-auth .input-text:focus,
body.ptsr .pt-auth select:focus{border-color:#134095;box-shadow:none;outline:none;}
body.ptsr .pt-auth form.woocommerce-form button.pt-auth__submit.button{min-height:56px;border-radius:999px;background:#64AA53;color:#1A202C;font-size:17px;font-weight:700;margin-top:0;}
body.ptsr .pt-auth form.woocommerce-form button.pt-auth__submit.button:hover,
body.ptsr .pt-auth form.woocommerce-form button.pt-auth__submit.button:focus{background:#56964a;color:#1A202C;}
body.ptsr .pt-auth a,
body.ptsr .pt-auth__alt a,
body.ptsr .pt-auth .lost_password a{color:#134095;font-weight:500;text-decoration:underline;text-underline-offset:3px;}
body.ptsr .pt-auth__alt{border-top:0;padding-top:0;margin-top:4px;color:#4A5568;}
body.ptsr .pt-auth__alt a{font-weight:700;}
body.ptsr .pt-auth__rules{border-color:#D9E2EC;background:#EDF2F7;border-radius:12px;}
@media (max-width:640px){body.ptsr .pt-auth__card{padding:24px 20px;border-radius:16px;}}

/* ===================================================== logged-in account: menu card ===================================================== */
body.ptsr.woocommerce-account.logged-in .entry-content > .woocommerce{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;}
body.ptsr.woocommerce-account.logged-in .woocommerce-MyAccount-content{flex:1 1 560px;min-width:0;order:1;margin:0;float:none;width:auto;}
body.ptsr.woocommerce-account.logged-in .account-navigation-wrap{flex:0 0 260px;min-width:0;order:2;align-self:flex-start;float:none;width:260px;margin:0;background:#fff;border:1px solid #D9E2EC;border-radius:20px;padding:16px;box-shadow:none;}
body.ptsr.woocommerce-account .account-navigation-wrap .kadence-account-avatar{display:flex;align-items:center;gap:10px;padding:6px 14px 12px;margin:0 0 6px;border-bottom:1px solid #D9E2EC;font-weight:700;color:#1A202C;}
body.ptsr.woocommerce-account .account-navigation-wrap .kadence-customer-name{font-weight:700;color:#1A202C;font-size:16px;}
body.ptsr.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
body.ptsr.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0;padding:0;border:0;}
body.ptsr.woocommerce-account .woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:10px;font-size:15px;font-weight:500;color:#1A202C;text-decoration:none;background:transparent;border:0;}
body.ptsr.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#EDF2F7;}
body.ptsr.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:#EAF1FB;color:#134095;font-weight:700;box-shadow:none;border:0;}
body.ptsr.woocommerce-account .woocommerce-MyAccount-navigation .ptd-nav-icon{display:none;}
body.ptsr.woocommerce-account .woocommerce-MyAccount-navigation li a::before,body.ptsr.woocommerce-account .woocommerce-MyAccount-navigation li a::after{display:none !important;}
@media (max-width:860px){
	body.ptsr.woocommerce-account.logged-in .account-navigation-wrap{flex:1 1 100%;width:100%;order:0;}
}

/* ===================================================== Complete your details (Addresses > Billing) ===================================================== */
body.ptsr.woocommerce-edit-address .woocommerce-MyAccount-content > form,
body.ptsr.woocommerce-edit-account .woocommerce-MyAccount-content > form{background:#fff;border:1px solid #D9E2EC;border-radius:20px;padding:36px 40px;box-sizing:border-box;}
body.ptsr.woocommerce-edit-address .woocommerce-MyAccount-content > form > h2,
body.ptsr.woocommerce-page .woocommerce-billing-fields > h3,
body.ptsr.woocommerce-page .woocommerce-shipping-fields > h3,
body.ptsr.woocommerce-page .shipping-title-custom,
body.ptsr.woocommerce-page #order_review_heading{margin:0 0 24px;font-family:var(--ptsr-display);font-weight:700;font-size:28px;line-height:1.15;color:#1A202C;}
body.ptsr.woocommerce-page .woocommerce-address-fields__field-wrapper,
body.ptsr.woocommerce-page .woocommerce-billing-fields__field-wrapper,
body.ptsr.woocommerce-page .woocommerce-shipping-fields__field-wrapper{display:grid !important;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 16px;margin:0 0 24px;}
body.ptsr.woocommerce-page .woocommerce-address-fields__field-wrapper .form-row,
body.ptsr.woocommerce-page .woocommerce-billing-fields__field-wrapper .form-row,
body.ptsr.woocommerce-page .woocommerce-shipping-fields__field-wrapper .form-row{float:none;width:auto;margin:0;padding:0;grid-column:1 / -1;}
@media (min-width:701px){
/* pairings from the approved boards. DOM order is unchanged, only the width of a field changes. */
body.ptsr.woocommerce-page .form-row-first,
body.ptsr.woocommerce-page .form-row-last{grid-column:span 3 !important;}
body.ptsr.woocommerce-page #billing_GST_Number_field,
body.ptsr.woocommerce-page #billing_NABL_TC_no_field,
body.ptsr.woocommerce-page #billing_NABL_Validity_field,
body.ptsr.woocommerce-page #billing_Email_Id_field{grid-column:1 / -1 !important;}
body.ptsr.woocommerce-page #billing_city_field,
body.ptsr.woocommerce-page #billing_postcode_field,
body.ptsr.woocommerce-page #billing_Contact_Person_1_field,
body.ptsr.woocommerce-page #billing_Keycontact_Person_Designation_field,
body.ptsr.woocommerce-page #billing_Phone_Number_Key_Contact_Person_field{grid-column:span 2 !important;}
body.ptsr.woocommerce-page #billing_state_field{grid-column:span 2 !important;}
body.ptsr.woocommerce-page #billing_Pan_No_field,
body.ptsr.woocommerce-page #billing_MSME\/Udyog_Adhaar_No_field,
body.ptsr.woocommerce-page #shipping_state_field,
body.ptsr.woocommerce-page #shipping_postcode_field{grid-column:span 3 !important;}
/* checkout billing: city and country are separate rows in the live order, state and postcode pair up */
body.ptsr.woocommerce-checkout #billing_city_field,
body.ptsr.woocommerce-checkout #billing_country_field,
body.ptsr.woocommerce-checkout #billing_state_field,
body.ptsr.woocommerce-checkout #billing_postcode_field,
body.ptsr.woocommerce-checkout #billing_phone_field,
body.ptsr.woocommerce-checkout #billing_email_field,
body.ptsr.woocommerce-checkout #billing_GST_Number_field,
body.ptsr.woocommerce-checkout #billing_Pan_No_field,
body.ptsr.woocommerce-checkout #billing_Contact_Person_1_field,
body.ptsr.woocommerce-checkout #billing_Keycontact_Person_Designation_field,
body.ptsr.woocommerce-checkout #billing_Phone_Number_Key_Contact_Person_field,
body.ptsr.woocommerce-checkout #billing_Email_Id_field{grid-column:span 3 !important;}
}
body.ptsr.woocommerce-page .woocommerce-input-wrapper{display:block;}
@media (max-width:700px){
	body.ptsr.woocommerce-page .woocommerce-address-fields__field-wrapper,
	body.ptsr.woocommerce-page .woocommerce-billing-fields__field-wrapper,
	body.ptsr.woocommerce-page .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr;}
	body.ptsr.woocommerce-page .woocommerce-address-fields__field-wrapper .form-row,
	body.ptsr.woocommerce-page .woocommerce-billing-fields__field-wrapper .form-row,
	body.ptsr.woocommerce-page .woocommerce-shipping-fields__field-wrapper .form-row{grid-column:1 / -1 !important;}
	body.ptsr.woocommerce-edit-address .woocommerce-MyAccount-content > form,
	body.ptsr.woocommerce-edit-account .woocommerce-MyAccount-content > form{padding:24px 20px;border-radius:16px;}
}

/* ===================================================== Cart ===================================================== */
body.ptsr.woocommerce-cart .kadence-woo-cart-form-wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;}
body.ptsr.woocommerce-cart form.woocommerce-cart-form{flex:1 1 560px;min-width:0;background:#fff;border:1px solid #D9E2EC;border-radius:20px;padding:32px;box-sizing:border-box;margin:0;}
body.ptsr.woocommerce-cart .cart-collaterals{flex:0 1 400px;min-width:0;float:none;width:auto;margin:0;}
body.ptsr.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%;background:#fff;border:1px solid #D9E2EC;border-radius:20px;padding:32px;box-sizing:border-box;}
body.ptsr.woocommerce-cart .cart-summary h2,
body.ptsr.woocommerce-cart .cart_totals > h2{margin:0 0 20px;font-family:var(--ptsr-display);font-weight:700;font-size:26px;line-height:1.15;color:#1A202C;}
body.ptsr.woocommerce-cart table.shop_table{border:0;border-collapse:collapse;width:100%;background:transparent;margin:0;}
body.ptsr.woocommerce-cart table.cart thead th{text-align:left;padding:0 12px 12px;font-size:14px;font-weight:500;color:#4A5568;border:0;background:transparent;text-transform:none;}
body.ptsr.woocommerce-cart table.cart td{padding:20px 12px;border:0;border-top:1px solid #D9E2EC;vertical-align:middle;background:transparent;}
body.ptsr.woocommerce-cart table.cart tr.cart_item:last-of-type td{border-bottom:1px solid #D9E2EC;}
body.ptsr.woocommerce-cart table.cart td.product-name a{font-size:17px;font-weight:700;line-height:1.35;color:#1A202C;text-decoration:none;}
body.ptsr.woocommerce-cart table.cart td.product-price .amount,
body.ptsr.woocommerce-cart table.cart td.product-subtotal .amount{font-family:var(--ptsr-display);font-weight:700;font-size:20px;color:#1A202C;white-space:nowrap;}
body.ptsr.woocommerce-cart table.cart td.product-remove a.remove{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #D9E2EC;border-radius:50%;background:#fff;color:#C53030 !important;font-size:20px;line-height:1;text-decoration:none;}
body.ptsr.woocommerce-cart table.cart td.product-remove a.remove:hover{background:#FDECEC;color:#C53030;}
body.ptsr.woocommerce-cart table.cart td.product-thumbnail img{width:64px;height:64px;border-radius:12px;object-fit:cover;}
body.ptsr.woocommerce-cart .quantity input.qty,
body.ptsr.woocommerce-cart .quantity .qty{width:72px;height:44px;min-height:44px;border:1px solid #A0AEC0;border-radius:999px;text-align:center;font-size:16px;padding:0 8px;line-height:42px;}
body.ptsr.woocommerce-cart td.actions{padding:16px 0 0;border:0;text-align:right;}
body.ptsr.woocommerce-cart .cart_totals table.shop_table th,
body.ptsr.woocommerce-cart .cart_totals table.shop_table td{padding:14px 0;border:0;border-top:1px solid #D9E2EC;font-size:15px;font-weight:500;color:#1A202C;text-align:right;vertical-align:top;background:transparent;}
body.ptsr.woocommerce-cart .cart_totals table.shop_table th{text-align:left;color:#4A5568;font-weight:400;}
body.ptsr.woocommerce-cart .cart_totals .order-total th,
body.ptsr.woocommerce-cart .cart_totals .order-total td{color:#1A202C;font-weight:700;}
body.ptsr.woocommerce-cart .cart_totals .order-total .amount{font-family:var(--ptsr-display);font-size:22px;font-weight:700;}
body.ptsr.woocommerce-cart .cart_totals td ul#shipping_method,body.ptsr.woocommerce-cart .cart_totals td ul.woocommerce-shipping-methods{list-style:none;margin:0;padding:0;text-align:right;}
body.ptsr.woocommerce-cart .cart_totals td .woocommerce-shipping-destination,body.ptsr.woocommerce-cart .cart_totals td .shipping-calculator-button{display:block;margin-top:6px;font-size:14px;font-weight:400;color:#4A5568;text-align:right;}
body.ptsr.woocommerce-cart .cart_totals td .shipping-calculator-button{color:#134095;text-decoration:underline;}
body.ptsr.woocommerce-cart .cart_totals td ul#shipping_method,body.ptsr.woocommerce-cart .cart_totals td ul.woocommerce-shipping-methods{list-style:none;margin:0;padding:0;text-align:right;}
body.ptsr.woocommerce-cart .cart_totals td .woocommerce-shipping-destination,body.ptsr.woocommerce-cart .cart_totals td .shipping-calculator-button{display:block;margin-top:6px;font-size:14px;font-weight:400;color:#4A5568;text-align:right;}
body.ptsr.woocommerce-cart .cart_totals td .shipping-calculator-button{color:#134095;text-decoration:underline;}
body.ptsr.woocommerce-cart .wc-proceed-to-checkout{padding:16px 0 0;}
body.ptsr.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;min-height:56px;margin:0;border-radius:999px;background:#64AA53;color:#1A202C;font-size:17px;font-weight:700;}
@media (max-width:768px){
	body.ptsr.woocommerce-cart form.woocommerce-cart-form,
	body.ptsr.woocommerce-cart .cart-collaterals .cart_totals{padding:20px;border-radius:16px;}
	body.ptsr.woocommerce-cart table.cart thead{display:none;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item{display:grid;grid-template-columns:64px auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;position:relative;padding:16px 0 12px;border-top:1px solid #D9E2EC;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td{display:block;padding:0;border:0;text-align:left;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td::before{content:attr(data-title);display:block;margin-bottom:2px;font-size:13px;font-weight:400;color:#4A5568;float:none;text-align:left;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-thumbnail{grid-column:1;grid-row:1;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-name{grid-column:2 / 5;grid-row:1;padding-right:52px;text-align:left !important;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-price{grid-column:1 / 3;grid-row:2;margin-top:10px;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-quantity{grid-column:3;grid-row:2;margin-top:10px;justify-self:center;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-subtotal{grid-column:4;grid-row:2;margin-top:10px;text-align:right;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-remove{position:absolute;right:0;top:12px;padding:0;}
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-remove::before,
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-thumbnail::before,
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-name::before,
	body.ptsr.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-quantity::before{display:none;}
	body.ptsr.woocommerce-cart .cart_totals table.shop_table_responsive td::before{content:attr(data-title);font-weight:400;color:#4A5568;float:left;}
	body.ptsr.woocommerce-cart .cart_totals table.shop_table_responsive tr td{display:flex;justify-content:space-between;gap:12px;text-align:right;}
	body.ptsr.woocommerce-cart .cart_totals table.shop_table_responsive tr th{display:none;}
	body.ptsr.woocommerce-cart .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td,body.ptsr.woocommerce-cart .cart_totals table.shop_table_responsive tr.shipping td{display:block;}
	body.ptsr.woocommerce-cart .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals td::before,body.ptsr.woocommerce-cart .cart_totals table.shop_table_responsive tr.shipping td::before{float:left;}
}

/* ===================================================== Checkout ===================================================== */
body.ptsr.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);grid-template-rows:auto 1fr;gap:0 24px;align-items:start;}
body.ptsr.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 2;float:none;width:auto;background:#fff;border:1px solid #D9E2EC;border-radius:20px;padding:36px 40px;box-sizing:border-box;}
body.ptsr.woocommerce-checkout #customer_details .col-1,
body.ptsr.woocommerce-checkout #customer_details .col-2{float:none;width:auto;max-width:none;padding:0;}
body.ptsr.woocommerce-checkout #customer_details .col-2{margin-top:32px;}
body.ptsr.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0;padding:32px 32px 0;background:#fff;border:1px solid #D9E2EC;border-bottom:0;border-radius:20px 20px 0 0;float:none;width:auto;}
body.ptsr.woocommerce-checkout #order_review{grid-column:2;grid-row:2;float:none;width:auto;padding:20px 32px 32px;background:#fff;border:1px solid #D9E2EC;border-top:0;border-radius:0 0 20px 20px;box-sizing:border-box;}
body.ptsr.woocommerce-checkout #ship-to-different-address{font-family:var(--ptsr-display);font-weight:700;font-size:20px;}
body.ptsr.woocommerce-checkout #ship-to-different-address label{font-size:inherit;font-weight:inherit;display:flex;align-items:center;gap:10px;margin:0;}
body.ptsr.woocommerce-checkout .woocommerce-additional-fields > h3{display:none;}

/* order review: a clean list, no grid borders. The terms block carries a global table rule: beat it. */
body.ptsr.woocommerce-checkout table.shop_table,
body.ptsr.woocommerce-checkout table.woocommerce-checkout-review-order-table{width:100%;border:0 !important;border-collapse:collapse;margin:0 0 20px;font-family:var(--ptsr-body);background:transparent;}
body.ptsr.woocommerce-checkout table.shop_table th,
body.ptsr.woocommerce-checkout table.shop_table td{padding:14px 0;border:0 !important;border-top:1px solid #D9E2EC !important;font-size:15px;line-height:1.45;font-weight:500;color:#1A202C;text-align:left;vertical-align:top;background:transparent !important;font-family:var(--ptsr-body);}
body.ptsr.woocommerce-checkout table.shop_table thead th{border-top:0 !important;padding:0 0 10px;font-size:13px;font-weight:500;color:#4A5568;}
body.ptsr.woocommerce-checkout table.shop_table td:last-child,
body.ptsr.woocommerce-checkout table.shop_table thead th:last-child,
body.ptsr.woocommerce-checkout table.shop_table tfoot td{text-align:right;white-space:nowrap;}
body.ptsr.woocommerce-checkout table.shop_table td.product-name{color:#4A5568;font-weight:400;white-space:normal;}
body.ptsr.woocommerce-checkout table.shop_table tfoot th{font-weight:400;color:#4A5568;text-align:left;}
body.ptsr.woocommerce-checkout table.shop_table tfoot .order-total th{font-weight:700;color:#1A202C;}
body.ptsr.woocommerce-checkout table.shop_table tfoot .order-total td .amount{font-family:var(--ptsr-display);font-size:24px;font-weight:700;}

/* proforma invoice box: blue outline pill with a document icon; incomplete = grey disabled pill in a dashed box */
body.ptsr.woocommerce-checkout .pt-invoice-box{margin:0 0 20px;padding:0;}
body.ptsr.woocommerce-page.woocommerce-checkout button.button.pt-invoice-box__btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:0 24px;border:1.5px solid #134095;border-radius:999px;background:#fff;color:#134095;font-size:16px;font-weight:700;box-shadow:none;}
body.ptsr.woocommerce-checkout button.pt-invoice-box__btn::before{content:"";width:20px;height:20px;flex:none;background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E") center/contain no-repeat;}
body.ptsr.woocommerce-page.woocommerce-checkout button.button.pt-invoice-box__btn:hover{background:#EAF1FB;color:#134095;}
body.ptsr.woocommerce-page.woocommerce-checkout button.button.pt-invoice-box__btn[aria-disabled="true"]{background:#EDF2F7;border:1.5px solid #D9E2EC;color:#718096;opacity:1;cursor:not-allowed;}
body.ptsr.woocommerce-page.woocommerce-checkout button.button.pt-invoice-box__btn[aria-disabled="true"]:hover{background:#EDF2F7;color:#718096;}
body.ptsr.woocommerce-checkout .pt-invoice-box:has(.pt-invoice-box__btn[aria-disabled="true"]){padding:16px;border:1.5px dashed #A0AEC0;border-radius:14px;background:#fff;}
body.ptsr.woocommerce-checkout .pt-invoice-box__status{margin:12px 0 0;font-size:14px;line-height:1.55;color:#4A5568;}
body.ptsr.woocommerce-checkout .pt-invoice-box__missing{margin:8px 0 0 1.2em;padding:0;font-size:14px;line-height:1.55;color:#4A5568;}

/* payment methods: selectable cards (selected = blue border on #F4F8FD) */
body.ptsr.woocommerce-checkout #payment{background:transparent;border:0;border-radius:0;padding:0;}
body.ptsr.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px;border:0;}
body.ptsr.woocommerce-checkout #payment ul.payment_methods > li{position:relative;margin:0;padding:16px;border:1.5px solid #D9E2EC;border-radius:14px;background:#fff;list-style:none;}
body.ptsr.woocommerce-checkout #payment ul.payment_methods > li:has(input[type=radio]:checked){border-color:#134095;background:#F4F8FD;}
body.ptsr.woocommerce-checkout #payment ul.payment_methods > li > input[type=radio]{position:absolute !important;z-index:2;left:16px;top:17px;width:20px !important;height:20px !important;margin:0;accent-color:#134095;clip:auto !important;clip-path:none !important;overflow:visible !important;opacity:1 !important;appearance:auto !important;-webkit-appearance:radio !important;}
body.ptsr.woocommerce-checkout #payment ul.payment_methods > li > label{display:block;margin:0;padding:0 0 0 32px;min-height:24px;font-size:16px;font-weight:700;line-height:1.4;color:#1A202C;cursor:pointer;background:transparent !important;border:0 !important;border-left:0 !important;box-shadow:none !important;border-radius:0;position:static !important;}
body.ptsr.woocommerce-checkout #payment ul.payment_methods > li > label::before,body.ptsr.woocommerce-checkout #payment ul.payment_methods > li > label::after{display:none !important;}
body.ptsr.woocommerce-checkout #payment div.payment_box{width:auto;max-width:none;box-sizing:border-box;margin:10px 0 0 32px;padding:0;background:transparent;border:0;border-radius:0;font-size:14px;line-height:1.55;color:#4A5568;}
body.ptsr.woocommerce-checkout #payment div.payment_box::before{display:none;}
body.ptsr.woocommerce-checkout #payment div.payment_box p{margin:0 0 8px;}
body.ptsr.woocommerce-checkout #payment div.payment_box .woocommerce-info{margin:12px 0 0 !important;}
body.ptsr.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{margin:0 0 16px;font-size:14px;line-height:1.55;color:#4A5568;}
body.ptsr.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;font-size:15px;font-weight:400;margin:0 0 20px;}
body.ptsr.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox .required{margin-left:-6px;}
body.ptsr.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox input{margin-top:2px;flex:0 0 auto;}
body.ptsr.woocommerce-checkout #place_order{display:flex;width:100%;min-height:56px;float:none;border-radius:999px;background:#64AA53;color:#1A202C;font-size:17px;font-weight:700;}
body.ptsr.woocommerce-checkout #place_order:hover{background:#56964a;}
@media (max-width:900px){
	body.ptsr.woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:24px 0;}
	body.ptsr.woocommerce-checkout #customer_details{grid-column:1;grid-row:auto;padding:24px 20px;border-radius:16px;}
	body.ptsr.woocommerce-checkout #order_review_heading{grid-column:1;grid-row:auto;padding:24px 20px 0;border-radius:16px 16px 0 0;}
	body.ptsr.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;padding:16px 20px 24px;border-radius:0 0 16px 16px;margin-top:-24px;}
}

/* ===================================================== contrast fixes (text on white / ground must reach 4.5:1) ===================================================== */
body.ptsr.woocommerce-cart small,
body.ptsr.woocommerce-checkout small,
body.ptsr.woocommerce-cart .tax_label{color:#4A5568;}
/* dashboard (no board yet: global styles only). Secondary text moves to the palette's text-secondary colour. */
body.ptsr.woocommerce-account .ptd-greeting-sub,
body.ptsr.woocommerce-account .ptd-greeting-sub a,
body.ptsr.woocommerce-account .ptd-stat-label,
body.ptsr.woocommerce-account .ptd-program-meta{color:#4A5568;}
body.ptsr.woocommerce-account .ptd-badge{color:#7A4A00;}


/* ===================================================== form spacing: 20px between fields, 8px label to input, 8px between street address lines ===================================================== */
body.ptsr.woocommerce-page .woocommerce-address-fields__field-wrapper,
body.ptsr.woocommerce-page .woocommerce-billing-fields__field-wrapper,
body.ptsr.woocommerce-page .woocommerce-shipping-fields__field-wrapper,
body.ptsr.woocommerce-page .woocommerce-additional-fields__field-wrapper{row-gap:20px;}
body.ptsr.woocommerce-page form .form-row > label{margin:0 0 8px;padding:0;line-height:1.3;}
body.ptsr.woocommerce-page form p.form-row{margin-top:0;margin-bottom:0;padding:0;}
body.ptsr.woocommerce-page .woocommerce-address-fields__field-wrapper > p[id$="_address_2_field"].form-row,
body.ptsr.woocommerce-page .woocommerce-billing-fields__field-wrapper > p[id$="_address_2_field"].form-row,
body.ptsr.woocommerce-page .woocommerce-shipping-fields__field-wrapper > p[id$="_address_2_field"].form-row{margin-top:-12px;}
body.ptsr.woocommerce-page .woocommerce-address-fields__field-wrapper,
body.ptsr.woocommerce-page .woocommerce-billing-fields__field-wrapper,
body.ptsr.woocommerce-page .woocommerce-shipping-fields__field-wrapper{margin-bottom:20px;}
/* account details (edit-account): the same rhythm */
body.ptsr.woocommerce-edit-account .woocommerce-EditAccountForm p.form-row,
body.ptsr.woocommerce-edit-account .woocommerce-EditAccountForm fieldset p.form-row{margin:0 0 20px;padding:0;}
body.ptsr.woocommerce-edit-account .woocommerce-EditAccountForm fieldset{margin:24px 0 0;padding:0;border:0;}
body.ptsr.woocommerce-edit-account .woocommerce-EditAccountForm fieldset legend{margin:0 0 20px;padding:0;font-family:var(--ptsr-display);font-weight:700;font-size:22px;color:#1A202C;}
