/* ==================================================
   Custom Checkout Shortcode Layout
   ================================================== */

body.woocommerce-checkout {
  background-color: var(--color-background);
}

.adp-checkout-wrapper {
 
}

.adp-checkout-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  color: var(--color-dark);
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
}

.adp-checkout-back-link svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.adp-checkout-back-link:hover {
  color: var(--color-blue-60);
}

.adp-custom-checkout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

.adp-checkout-main {
  flex: 1;
  background: var(--color-white);
  border-radius: var(--card-border-radius, 24px);
  padding: 40px;
  box-shadow: var(--card-shadow);
}

.adp-checkout-sidebar {
  width: 380px;
  background: var(--color-white);
  border-radius: var(--card-border-radius, 24px);
  padding: 40px;
  box-shadow: var(--card-shadow);
  position: sticky;
  top: 40px;
}

/* Headings */
.adp-checkout-section-title,
.adp-checkout-payment-section h3,
#order_review_heading {
  font-size: var(--fz-h4);
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 24px;
  margin-top: 0;
}

.adp-mt-40 {
  margin-top: 40px !important;
}

/* Helper Text */
.adp-checkout-helper-text {
  font-size: 14px;
  color: var(--color-gray);
  margin-top: 8px;
  margin-bottom: 24px;
  display: block;
}

/* Form Fields Layout */
.adp-billing-grid,
.woocommerce-billing-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px 20px !important;
}

/* Force headings and helper texts inside grid wrapper to span full width */
.woocommerce-billing-fields__field-wrapper>h3,
.woocommerce-billing-fields__field-wrapper>p,
.woocommerce-billing-fields__field-wrapper>.adp-checkout-section-title,
.woocommerce-billing-fields__field-wrapper>.adp-checkout-helper-text {
  grid-column: 1 / -1 !important;
}

/* Inherit Navy Color for Asterisks */
.woocommerce-checkout abbr.required,
.woocommerce-checkout .required,
.woocommerce-checkout form.checkout .form-row label abbr.required {
  color: #03141A !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.form-row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}

/* Bulletproof Field Grid Assignments */
#billing_first_name_field {
  grid-column: 1 !important;
}

#billing_last_name_field {
  grid-column: 2 !important;
}

#billing_country_field {
  grid-column: 1 / -1 !important;
}

#billing_address_1_field {
  grid-column: 1 / -1 !important;
}

#billing_address_2_field {
  grid-column: 1 / -1 !important;
}

#billing_city_field {
  grid-column: 1 !important;
}

#billing_state_field {
  grid-column: 2 !important;
}

#billing_postcode_field {
  grid-column: 1 !important;
}

#billing_phone_field {
  grid-column: 2 !important;
}


/* Hide (optional) badge from labels */
.woocommerce-checkout form.checkout .form-row label span.optional {
  display: none !important;
}

/* Inputs styling */
.woocommerce-checkout form.checkout .form-row label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  color: #03141A !important;
  font-weight: 600;
}

.woocommerce-checkout form.checkout .form-row label.checkbox {
  display: inline-flex;
  align-items: center;
  font-weight: 400;
}

.woocommerce-checkout form.checkout .form-row input[type="text"],
.woocommerce-checkout form.checkout .form-row input[type="email"],
.woocommerce-checkout form.checkout .form-row input[type="tel"],
.woocommerce-checkout form.checkout .form-row input[type="password"],
.woocommerce-checkout form.checkout .form-row select {
  height: 48px !important;
  background-color: #F4F5FC !important;
  border: 1px solid rgba(99, 102, 241, 0.08) !important;
  border-radius: 99px !important;
  padding: 0 24px !important;
  width: 100%;
  box-shadow: none !important;
  color: #03141A !important;
  font-size: 14px !important;
}

.woocommerce-checkout form.checkout .form-row textarea {
  background-color: #F4F5FC !important;
  border: 1px solid rgba(99, 102, 241, 0.08) !important;
  border-radius: 20px !important;
  padding: 16px 24px !important;
  width: 100%;
  box-shadow: none !important;
  color: #03141A !important;
  font-size: 14px !important;
  height: auto !important;
}

.woocommerce-checkout form.checkout .form-row input::placeholder,
.woocommerce-checkout form.checkout .form-row textarea::placeholder {
  color: #9CA3AF;
  opacity: 1;
}

/* Select2 Dropdown Styling overrides */
.select2-container--default .select2-selection--single {
  height: 48px !important;
  background-color: #F4F5FC !important;
  border: 1px solid rgba(99, 102, 241, 0.08) !important;
  border-radius: 99px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 24px !important;
  width: 100%;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #9CA3AF !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: normal !important;
  padding: 0 !important;
  color: #03141A !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 24px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Custom premium chevron arrow for Select2 dropdowns */
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border: none !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid #03141A !important;
  border-bottom: 2px solid #03141A !important;
  transform: rotate(45deg) !important;
  margin: 0 !important;
  position: static !important;
  display: inline-block !important;
  opacity: 0.8;
}

/* Payment Section */
.adp-checkout-payment-section {
  margin-top: 40px;
}

#payment {
  background: transparent !important;
  border-radius: 0 !important;
}

#payment ul.payment_methods {
  padding: 0 !important;
  border: none !important;
}

/* Premium Custom Card Fields Layout */
.adp-card-details-fields {
  margin-top: 20px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding-top: 24px;
}

.adp-card-header-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}

.adp-secure-text {
  font-size: 14px;
  color: #635BFF;
  font-weight: 600;
}

.adp-secure-badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: rgba(99, 91, 255, 0.1);
  color: #635BFF;
}

.adp-secure-badge-icon svg {
  width: 12px;
  height: 12px;
}

.adp-card-inputs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.adp-col-span-3 {
  grid-column: 1 / -1;
}

.adp-card-input {
  height: 48px !important;
  background-color: #F4F5FC !important;
  border: 1px solid rgba(99, 102, 241, 0.08) !important;
  border-radius: 99px !important;
  padding: 0 24px !important;
  width: 100%;
  box-shadow: none !important;
  color: #03141A !important;
  font-size: 14px !important;
  font-weight: 400;
  transition: all 0.25s ease !important;
}

.adp-form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.adp-form-group label {
  font-size: 14px;
  color: var(--color-dark);
  font-weight: 600;
}

.adp-card-terms-text {
  font-size: 11px;
  color: #9CA3AF;
  margin-top: 12px;
  line-height: 1.5;
  margin-bottom: 0;
}

/* Inputs Focus Glow Effect */
.woocommerce-checkout form.checkout .form-row input[type="text"]:focus,
.woocommerce-checkout form.checkout .form-row input[type="email"]:focus,
.woocommerce-checkout form.checkout .form-row input[type="tel"]:focus,
.woocommerce-checkout form.checkout .form-row input[type="password"]:focus,
.woocommerce-checkout form.checkout .form-row select:focus,
.woocommerce-checkout form.checkout .form-row textarea:focus,
.adp-card-input:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
  background-color: #fff !important;
  border-color: #6366f1 !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15) !important;
  transition: all 0.25s ease !important;
}

/* Custom Checkbox Toggle for Order Notes */
.adp-note-toggle-wrapper {
  margin-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding-top: 24px;
}

.adp-checkbox-container {
  display: inline-flex;
  align-items: center;
  position: relative;
  padding-left: 32px;
  cursor: pointer;
  font-size: 14px;
  user-select: none;
  color: var(--color-dark);
  font-weight: 500;
}

.adp-checkbox-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.adp-checkmark {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 20px;
  width: 20px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 6px;
  transition: all 0.25s ease;
}

.adp-checkbox-container:hover input~.adp-checkmark {
  border-color: #6366f1;
}

.adp-checkbox-container input:checked~.adp-checkmark {
  background-color: #6366f1;
  border-color: #6366f1;
}

.adp-checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.adp-checkbox-container input:checked~.adp-checkmark:after {
  display: block;
}

.adp-checkbox-container .adp-checkmark:after {
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}

.adp-note-textarea-container {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.adp-note-textarea-container.active {
  max-height: 200px;
  margin-top: 16px;
}

.adp-note-textarea-container textarea {
  background-color: #F8FAFC !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  width: 100%;
  box-shadow: none !important;
  color: var(--color-dark);
  font-size: 14px;
  transition: all 0.25s ease !important;
}

/* Place Order Gradient Button & Terms */
.adp-submit-wrapper {
  margin-top: 24px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding-top: 24px;
  float: none !important;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.adp-terms-declaration-text {
  font-size: 12px;
  color: #9CA3AF;
  line-height: 1.6;
  margin: 0;
}

.adp-terms-declaration-text a {
  color: var(--color-dark);
  text-decoration: underline;
  font-weight: 500;
}

.adp-terms-declaration-text a:hover {
  color: #6366f1;
}

.adp-place-order-btn {
  background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%) !important;
  border-radius: 999px !important;
  color: var(--color-white) !important;
  border: none !important;
  padding: 16px 36px !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer;
  width: fit-content !important;
  min-width: 180px;
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.3) !important;
  margin-top: 12px !important;
  float: none !important;
}

.adp-place-order-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.4) !important;
  filter: brightness(1.05);
}

.adp-place-order-btn:active {
  transform: translateY(0);
}

/* Express Checkout Buttons */
.adp-express-checkout {
  margin-bottom: 40px;
}

.adp-divider {
  display: flex;
  align-items: center;
  text-align: center;
  color: #03141A;
  font-size: 14px;
  font-weight: 600;
  margin: 24px 0;
}

.adp-divider::before,
.adp-divider::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.adp-divider::before {
  margin-right: 16px;
}

.adp-divider::after {
  margin-left: 16px;
}

.adp-express-buttons {
  display: flex;
  gap: 16px;
  align-items: center;
}

.adp-btn-express {
  flex: 1;
  height: 48px;
  border-radius: 999px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  color: #fff;
  gap: 8px;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.adp-btn-express:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  filter: brightness(1.05);
}

.adp-btn-express:active {
  transform: translateY(0);
}

.adp-btn-apple {
  background: #03141A !important;
}

.adp-btn-apple::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 17px;
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='23' viewBox='0 0 19 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.17338 6.372C8.29738 6.372 6.94138 5.376 5.51338 5.412C3.62938 5.436 1.90138 6.504 0.929378 8.196C-1.02662 11.592 0.425378 16.608 2.33338 19.368C3.26938 20.712 4.37338 22.224 5.83738 22.176C7.24138 22.116 7.76938 21.264 9.47338 21.264C11.1654 21.264 11.6454 22.176 13.1334 22.14C14.6454 22.116 15.6054 20.772 16.5294 19.416C17.5974 17.856 18.0414 16.344 18.0654 16.26C18.0294 16.248 15.1254 15.132 15.0894 11.772C15.0654 8.964 17.3814 7.62 17.4894 7.56C16.1694 5.628 14.1414 5.412 13.4334 5.364C11.5854 5.22 10.0374 6.372 9.17338 6.372ZM12.2934 3.54C13.0734 2.604 13.5894 1.296 13.4454 0C12.3294 0.048 10.9854 0.744 10.1814 1.68C9.46138 2.508 8.83738 3.84 9.00538 5.112C10.2414 5.208 11.5134 4.476 12.2934 3.54Z' fill='white'/%3E%3C/svg%3E%0A") !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  margin-right: 8px;
}

.adp-btn-google {
  background: #03141A !important;
}

.adp-btn-google::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.987' fill-rule='evenodd' clip-rule='evenodd' d='M8.93886 0.091125C10.0264 -0.030375 10.6699 -0.030375 11.8384 0.091125C13.9068 0.397268 15.8242 1.35335 17.3134 2.82113C16.307 3.77233 15.314 4.73742 14.3344 5.71612C12.4584 4.12612 10.3644 3.75912 8.05236 4.61513C6.35636 5.39512 5.17536 6.65913 4.50936 8.40713C3.42102 7.59687 2.34686 6.76774 1.28736 5.92013C1.21373 5.88137 1.12964 5.86718 1.04736 5.87962C2.73036 2.63462 5.36036 0.704625 8.93736 0.0896249' fill='%23F44336'/%3E%3Cpath opacity='0.997' fill-rule='evenodd' clip-rule='evenodd' d='M1.04438 5.87978C1.12938 5.86678 1.20988 5.88028 1.28588 5.92028C2.34538 6.7679 3.41954 7.59703 4.50788 8.40728C4.33662 9.08837 4.22866 9.78383 4.18538 10.4848C4.22238 11.1628 4.32988 11.8283 4.50788 12.4813L1.12538 15.1738C-0.347622 12.0958 -0.374622 8.99778 1.04438 5.87978Z' fill='%23FFC107'/%3E%3Cpath opacity='0.999' fill-rule='evenodd' clip-rule='evenodd' d='M17.1529 18.4346C16.0996 17.5058 14.997 16.6345 13.8498 15.8246C14.9998 15.0126 15.6978 13.8986 15.9438 12.4826H10.3083V8.56911C13.5583 8.54211 16.8068 8.56961 20.0539 8.65161C20.6698 11.9966 19.9583 15.0126 17.9193 17.6996C17.6769 17.9573 17.4201 18.2027 17.1529 18.4346Z' fill='%23448AFF'/%3E%3Cpath opacity='0.993' fill-rule='evenodd' clip-rule='evenodd' d='M4.50787 12.4824C5.73787 15.5394 7.99287 16.9664 11.2729 16.7634C12.1936 16.6568 13.0764 16.3352 13.8499 15.8244C14.9979 16.6364 16.0989 17.5064 17.1529 18.4344C15.4828 19.9351 13.3535 20.8255 11.1124 20.9604C10.6032 21.0011 10.0916 21.0011 9.58237 20.9604C5.76437 20.5104 2.94537 18.5814 1.12537 15.1734L4.50787 12.4824Z' fill='%2343A047'/%3E%3C/svg%3E%0A") !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  margin-right: 8px;
}

.adp-btn-link {
  background: #00D66F !important;
  color: #000 !important;
}

.adp-btn-link svg {
  flex-shrink: 0 !important;
}

/* Order Summary Details */
.adp-custom-review-order {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.adp-plan-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.adp-plan-header h4 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-dark);
  margin: 0;
}

.adp-badge {
  background: #B3A6FF;
  color: #fff;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
}

.adp-plan-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.adp-radio-label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-size: 14px;
  color: var(--color-dark);
}

.adp-radio-label input[type="radio"] {
  width: 20px;
  height: 20px;
  accent-color: #6366f1;
  margin: 0;
}

.adp-radio-text del {
  color: var(--color-gray);
  margin: 0 4px;
}

.adp-radio-text strong {
  font-weight: 600;
}

.adp-summary-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: var(--color-gray);
}

.adp-summary-row strong {
  color: var(--color-dark);
  font-weight: 600;
}

.adp-total-row {
  font-size: 18px;
  font-weight: 700;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 24px;
}

.adp-total-row strong {
  font-size: 18px;
}

.adp-coupon-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  color: var(--color-gray);
}

.adp-coupon-input-group {
  display: flex;
  gap: 8px;
}

.adp-coupon-input {
  height: 48px !important;
  background-color: #F4F5FC !important;
  border: 1px solid rgba(99, 102, 241, 0.08) !important;
  border-radius: 99px !important;
  padding: 0 24px !important;
  width: 100%;
  box-shadow: none !important;
  color: #03141A !important;
  flex: 1;
}

.adp-apply-coupon-btn {
  height: 48px !important;
  background-color: #F4F5FC !important;
  border: 1px solid rgba(99, 102, 241, 0.08) !important;
  border-radius: 99px !important;
  color: #03141A !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 0 24px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.adp-apply-coupon-btn:hover {
  background-color: #EBEBFA !important;
  border-color: rgba(99, 102, 241, 0.15) !important;
}

.adp-applied-coupons-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.adp-coupon-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(99, 102, 241, 0.08);
  color: #6366f1;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 999px;
}

.adp-remove-coupon-btn {
  color: #a855f7;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  margin-left: 2px;
}

.adp-remove-coupon-btn:hover {
  color: #dc2626;
}

/* Sidebar Loader & Skeletons */
.adp-sidebar-loading {
  position: relative;
  pointer-events: none;
}

.adp-sidebar-loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(1.5px);
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
  animation: adp-fade-in 0.2s ease-out;
}

.adp-sidebar-loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  border: 3px solid rgba(99, 102, 241, 0.1);
  border-top-color: #6366f1;
  border-radius: 50%;
  animation: adp-spin 0.8s linear infinite;
  z-index: 51;
}

@keyframes adp-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes adp-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* Hide Default WooCommerce Review Table Elements if they appear */
.woocommerce-checkout-review-order-table {
  display: none !important;
}

.adp-custom-review-order.woocommerce-checkout-review-order-table {
  display: flex !important;
}

/* Mobile Responsiveness */
@media screen and (max-width: 992px) {
  .adp-custom-checkout {
    flex-direction: column;
  }

  .adp-checkout-sidebar {
    width: 100%;
    position: static;
  }
}

@media screen and (max-width: 576px) {

  .adp-checkout-main,
  .adp-checkout-sidebar {
    padding: 24px;
  }

  .adp-billing-grid,
  .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .form-row-first,
  .form-row-last {
    grid-column: 1 / -1;
  }

  .adp-card-inputs-grid {
    grid-template-columns: 1fr;
  }
}

/* Simulated Express Checkout Sheets & Modals */
.adp-express-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.adp-express-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.adp-express-sheet {
  background-color: #fff;
  border-radius: 24px;
  width: 100%;
  max-width: 420px;
  padding: 32px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  transform: translateY(20px);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  color: var(--color-dark);
}

.adp-express-overlay.active .adp-express-sheet {
  transform: translateY(0);
}

/* Apple Pay Sheet Styling */
.adp-apple-sheet {
  background-color: #161617;
  color: #fff;
}

.adp-apple-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 16px;
  margin-bottom: 20px;
}

.adp-apple-header svg {
  height: 20px;
}

.adp-apple-close {
  background: transparent !important;
  border: none !important;
  color: #86868b !important;
  cursor: pointer !important;
  font-size: 28px !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: color 0.2s !important;
}

.adp-apple-close:hover {
  color: #fff !important;
}

.adp-apple-row {
  display: flex !important;
  justify-content: space-between !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
  font-size: 14px !important;
}

.adp-apple-row span:first-child {
  color: #86868b !important;
}

.adp-apple-row span:last-child {
  font-weight: 500 !important;
  color: #fff !important;
}

.adp-apple-total {
  border-bottom: none !important;
  padding-top: 20px !important;
  margin-top: 8px !important;
}

.adp-apple-total span:last-child {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #fff !important;
}

.adp-apple-confirm-btn {
  width: 100% !important;
  background-color: #fff !important;
  color: #000 !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  margin-top: 24px !important;
  cursor: pointer !important;
  transition: background-color 0.2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 4px 12px rgba(255, 255, 255, 0.15) !important;
}

.adp-apple-confirm-btn:hover {
  background-color: #f5f5f7 !important;
}

/* Google Pay Sheet Styling */
.adp-google-sheet {
  background-color: #fff;
  color: #202124;
}

.adp-google-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.adp-google-header svg {
  height: 22px;
}

.adp-google-close {
  background: transparent !important;
  border: none !important;
  color: #5f6368 !important;
  cursor: pointer !important;
  font-size: 28px !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: color 0.2s !important;
}

.adp-google-close:hover {
  color: #202124 !important;
}

.adp-google-account {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background-color: #f8f9fa !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  margin-bottom: 20px !important;
}

.adp-google-avatar {
  width: 32px !important;
  height: 32px !important;
  background: linear-gradient(135deg, #4285f4, #ea4335) !important;
  color: #fff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: bold !important;
  font-size: 14px !important;
}

.adp-google-acc-details {
  display: flex !important;
  flex-direction: column !important;
}

.adp-google-acc-details span:first-child {
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #202124 !important;
}

.adp-google-acc-details span:last-child {
  font-size: 12px !important;
  color: #5f6368 !important;
}

.adp-google-payment-selector {
  border: 1px solid #dadce0 !important;
  border-radius: 12px !important;
  padding: 16px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer !important;
  margin-bottom: 20px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #202124 !important;
}

.adp-google-pay-btn {
  width: 100% !important;
  background-color: #1a73e8 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 16px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  transition: background-color 0.2s !important;
  box-shadow: 0 4px 12px rgba(26, 115, 232, 0.2) !important;
  display: block !important;
}

.adp-google-pay-btn:hover {
  background-color: #1557b0 !important;
}

/* Success Checkmark Screen inside express */
.adp-express-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  text-align: center;
}

.adp-express-success-circle {
  width: 64px;
  height: 64px;
  background-color: #00D66F;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  box-shadow: 0 8px 24px rgba(0, 214, 111, 0.4);
}

.adp-express-success-circle svg {
  width: 32px;
  height: 32px;
}

.adp-express-success h4 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.adp-express-success p {
  font-size: 14px;
  color: #9CA3AF;
  margin: 0;
}

/* Link Autofill Toast Notification */
.adp-link-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background-color: #161617;
  color: #fff;
  padding: 16px 24px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  z-index: 10000;
  display: flex;
  align-items: center;
  gap: 12px;
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.adp-link-toast.active {
  transform: translateY(0);
  opacity: 1;
}

.adp-link-toast-icon {
  width: 24px;
  height: 24px;
  background-color: #00D66F;
  color: #000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.adp-link-toast-details h5 {
  margin: 0 0 2px 0;
  font-size: 13px;
  font-weight: 700;
}

.adp-link-toast-details p {
  margin: 0;
  font-size: 11px;
  color: #a8a8af;
}

/* Suppress default WooCommerce top checkout login/coupon/guest notices */
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon,
.woocommerce-form-login-toggle,
.woocommerce-form-login,
.woocommerce-checkout .woocommerce-info {
  display: none !important;
}

/* Hide Additional Information Heading and Section */
.woocommerce-additional-fields,
.woocommerce-additional-fields__heading {
  display: none !important;
}

/* ==================================================
   Custom Checkout Thank You Page Layout
   ================================================== */
.adp-thankyou-wrapper {
  max-width: 800px;
  margin: 40px auto;
  padding: 0 20px;
}

.adp-thankyou-card {
  background: #ffffff;
  padding: 48px;
  border-radius: 24px;
  box-shadow: var(--card-shadow);
  text-align: left;
}

.adp-thankyou-title {
  font-size: 24px;
  font-weight: 700;
  color: #03141A;
  margin-top: 0;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}

.adp-thankyou-subtext {
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-gray);
  margin-top: 0;
  margin-bottom: 32px;
}

.adp-receipt-card {
  background: #ffffff;
  border: 1px solid rgba(99, 102, 241, 0.08);
  border-radius: 20px;
  padding: 24px 32px;
  margin-bottom: 32px;
  max-width: 450px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.01);
}

.adp-receipt-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.adp-receipt-plan {
  font-size: 18px;
  font-weight: 600;
  color: #03141A;
}

.adp-receipt-badge {
  background: #B3A6FF;
  color: #ffffff;
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}

.adp-receipt-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.adp-receipt-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: var(--color-gray);
}

.adp-receipt-row .adp-receipt-value {
  color: #03141A;
  font-weight: 500;
}

.adp-receipt-total-row {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding-top: 16px;
  margin-top: 4px;
  font-size: 16px;
  color: #03141A;
  font-weight: 700;
  align-items: center;
}

.adp-receipt-total-row .adp-receipt-value {
  font-size: 22px;
  font-weight: 700;
  color: #03141A;
}

.adp-thankyou-actions {
  display: flex;
  gap: 16px;
}

.adp-btn-activate {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  background: linear-gradient(90deg, #6C00FF 0%, #0076FF 100%) !important;
  color: #ffffff !important;
  border-radius: 99px !important;
  padding: 0 32px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 12px rgba(108, 0, 255, 0.2) !important;
  border: none !important;
  cursor: pointer !important;
}

.adp-btn-activate:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(108, 0, 255, 0.3) !important;
}

.adp-btn-account {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  background: #F4F5FC !important;
  color: #03141A !important;
  border-radius: 99px !important;
  padding: 0 32px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  border: none !important;
  cursor: pointer !important;
}

.adp-btn-account:hover {
  background: #EBEBFA !important;
}

/* Responsive fixes for thankyou */
@media screen and (max-width: 576px) {
  .adp-thankyou-card {
    padding: 32px 24px;
  }

  .adp-receipt-card {
    padding: 20px 24px;
  }

  .adp-thankyou-actions {
    flex-direction: column;
    gap: 12px;
  }

  .adp-btn-activate,
  .adp-btn-account {
    width: 100% !important;
  }
}

/* Hide all visual elements on Thank You page except the main card */
.adp-thankyou-wrapper> :not(.adp-thankyou-card) {
  display: none !important;
}

.adp-checkout-logout-notice {
  display: none !important;
}