/*
Theme Name: StayPaw Bubbly Neo-Pop
Theme URI: https://staypaw.com
Author: StayPaw Design Team
Author URI: https://staypaw.com
Description: Specialty Big Dog Apparel (XL - 5XL). Tactile toybox surfaces, bouncy pill shapes, vibrant neo-pop violet & lime palette, and gentle giant ergonomics.
Version: 3.0.0
Text Domain: staypaw
Requires PHP: 8.0
Requires at least: 6.0
*/

/* ==============================================================
   1. RESPONSIVE CONTAINER (FULL WIDTH ON MOBILE, 70% ON DESKTOP)
   ============================================================== */
html, body {
  overflow-x: clip !important;
}

.staypaw-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  .staypaw-container {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

@media (min-width: 1024px) {
  .staypaw-container {
    width: 70% !important;
    max-width: 70% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ==============================================================
   2. OMS SPOKE CONNECTOR UI/UX OVERRIDES (BUBBLY NEO-POP THEME)
   ============================================================== */
:root {
  --oms-store-primary: #630ed4 !important;
  --oms-store-primary-foreground: #ffffff !important;
  --oms-store-font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* A. Contact Form ([oms_contact_form]) */
.oms-contact {
  --primary: #630ed4 !important;
  --primary-foreground: #ffffff !important;
  --accent: #f7f5f9 !important;
  --ring: #7c3aed !important;
  --oc-border: #e6e0ec !important;
  --oc-surface: #f7f5f9 !important;
  --oc-muted: #4a4455 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  width: 100% !important;
}
.oms-contact * {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.oms-contact-form {
  gap: 16px !important;
}
.oms-contact-field > span {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1b1b1e !important;
}
.oms-contact-field input,
.oms-contact-field textarea {
  border: 1.5px solid #e6e0ec !important;
  border-radius: 20px !important;
  background: #f7f5f9 !important;
  color: #1b1b1e !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}
.oms-contact-field input:focus,
.oms-contact-field textarea:focus {
  border-color: #630ed4 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(99, 14, 212, 0.15) !important;
}
.oms-contact-actions button {
  border-radius: 9999px !important;
  background: #630ed4 !important;
  border: 1px solid #630ed4 !important;
  color: #ffffff !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 12px 28px !important;
  box-shadow: 0 8px 18px -4px rgba(99, 14, 212, 0.25) !important;
  transition: all 0.2s ease !important;
}
.oms-contact-actions button:hover {
  background: #7c3aed !important;
  border-color: #7c3aed !important;
  transform: translateY(-2px) !important;
}

/* B. Order Tracking Portal ([oms_order_tracking] - Unified Single Card) */
.oms-tracking-wrapper {
  --action: #630ed4 !important;
  --action-hover: #7c3aed !important;
  --ok: #007557 !important;
  --ok-bg: #c1f100 !important;
  --card: #ffffff !important;
  --sunken: #f7f5f9 !important;
  --line: #e6e0ec !important;
  --line-2: #f0edf2 !important;
  --ink: #1b1b1e !important;
  --ink-2: #4a4455 !important;
  --ink-3: #7b7487 !important;
  --font-sans: 'Plus Jakarta Sans', sans-serif !important;
  --font-mono: 'Plus Jakarta Sans', sans-serif !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}
.oms-tracking-wrapper .oms-lookup {
  width: 100% !important;
  max-width: 540px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.oms-tracking-wrapper .oms-lookup-card {
  background: #ffffff !important;
  border: 1.5px solid #e6e0ec !important;
  border-radius: 28px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 20px rgba(99, 14, 212, 0.04) !important;
}
.oms-tracking-wrapper .oms-lookup-head {
  display: none !important; /* Hide duplicate nested header */
}
.oms-tracking-wrapper .oms-field {
  margin-bottom: 16px !important;
}
.oms-tracking-wrapper .oms-field label {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #1b1b1e !important;
  margin-bottom: 6px !important;
}
.oms-tracking-wrapper input,
.oms-tracking-wrapper .oms-input {
  width: 100% !important;
  height: 50px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #e6e0ec !important;
  background: #f7f5f9 !important;
  padding: 0 20px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1b1b1e !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}
.oms-tracking-wrapper input:focus,
.oms-tracking-wrapper .oms-input:focus {
  border-color: #630ed4 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(99, 14, 212, 0.15) !important;
}
.oms-tracking-wrapper button.oms-submit,
.oms-tracking-wrapper .oms-btn-primary {
  width: 100% !important;
  height: 50px !important;
  border-radius: 9999px !important;
  background: #630ed4 !important;
  color: #ffffff !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 10px 20px -5px rgba(99, 14, 212, 0.25) !important;
  padding: 0 28px !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}
.oms-tracking-wrapper button.oms-submit:hover,
.oms-tracking-wrapper .oms-btn-primary:hover {
  background: #7c3aed !important;
  transform: translateY(-2px) !important;
}
/* Results Portal view */
.oms-tracking-wrapper .oms-portal {
  background: #ffffff !important;
  border: 1.5px solid #e6e0ec !important;
  border-radius: 28px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 20px rgba(99, 14, 212, 0.04) !important;
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}
.oms-tracking-wrapper .oms-hero h1 {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 800 !important;
  color: #1b1b1e !important;
  font-size: 26px !important;
}
.oms-tracking-wrapper .oms-hero .oms-status-eyebrow {
  color: #630ed4 !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
}
.oms-tracking-wrapper .oms-step.is-done .oms-node {
  background: #630ed4 !important;
  color: #ffffff !important;
  border-color: #630ed4 !important;
}
.oms-tracking-wrapper .oms-step.is-current .oms-node {
  background: #c1f100 !important;
  color: #3d4c00 !important;
  box-shadow: 0 0 0 4px rgba(99, 14, 212, 0.2) !important;
}
.oms-tracking-wrapper .oms-step.is-done::before,
.oms-tracking-wrapper .oms-step.is-current::before,
.oms-tracking-wrapper .oms-step.is-done::after {
  background: #630ed4 !important;
}
.oms-tracking-wrapper .oms-step .oms-lbl {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 11px !important;
}
.oms-tracking-wrapper .oms-ship,
.oms-tracking-wrapper .oms-bcard,
.oms-tracking-wrapper .oms-item,
.oms-tracking-wrapper .oms-banner {
  background: #f7f5f9 !important;
  border: 1.5px solid #e6e0ec !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}
.oms-tracking-wrapper .oms-ship-seg button.is-active {
  background: #ffffff !important;
  color: #630ed4 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(99, 14, 212, 0.08) !important;
}
.oms-tracking-wrapper .oms-pill.ok,
.oms-tracking-wrapper .oms-addr .oms-badge.ok {
  background: #c1f100 !important;
  color: #3d4c00 !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
}
.oms-tracking-wrapper .oms-copy {
  border-radius: 9999px !important;
  background: #ffffff !important;
  border: 1px solid #e6e0ec !important;
  color: #1b1b1e !important;
}
.oms-tracking-wrapper .oms-ev.is-latest .oms-enode {
  background: #630ed4 !important;
  border-color: #630ed4 !important;
  box-shadow: 0 0 0 4px rgba(99, 14, 212, 0.15) !important;
}
.oms-tracking-wrapper .oms-ev::before {
  background: #e6e0ec !important;
}

/* C. Reviews & Order Review ([oms_reviews], [oms_order_review]) */
.oms-rvw-wrap {
  --primary: #630ed4 !important;
  --foreground: #1b1b1e !important;
  --card: #ffffff !important;
  --muted: #f7f5f9 !important;
  --muted-foreground: #4a4455 !important;
  --border: #e6e0ec !important;
  --input: #e6e0ec !important;
  --rvw-star: #f59e0b !important;
  --font-sans: 'Plus Jakarta Sans', sans-serif !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  width: 100% !important;
  max-width: 100% !important;
}
.oms-rvw-shell {
  border-radius: 28px !important;
  border: 1px solid #e6e0ec !important;
  box-shadow: 0 4px 20px rgba(99, 14, 212, 0.03) !important;
  overflow: hidden !important;
}
.oms-rvw-head {
  background: linear-gradient(135deg, #f7f5f9 0%, #ede0ff 100%) !important;
  border-bottom: 1px solid #e6e0ec !important;
  padding: 24px !important;
}
.oms-rvw-head h2 {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 800 !important;
  color: #1b1b1e !important;
}
.oms-rvw-control {
  border: 1.5px solid #e6e0ec !important;
  border-radius: 20px !important;
  background: #f7f5f9 !important;
  color: #1b1b1e !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
}
.oms-rvw-control:focus {
  border-color: #630ed4 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(99, 14, 212, 0.15) !important;
}
.oms-rvw-submit {
  border-radius: 9999px !important;
  background: #630ed4 !important;
  color: #ffffff !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  box-shadow: 0 8px 18px -4px rgba(99, 14, 212, 0.25) !important;
  transition: all 0.2s ease !important;
}
.oms-rvw-submit:hover {
  background: #7c3aed !important;
  transform: translateY(-2px) !important;
}
.oms-rvw-photo-picker {
  border-radius: 20px !important;
  background: #f7f5f9 !important;
  border: 1.5px dashed #c1f100 !important;
}
.oms-rvw-photo-action {
  border-radius: 9999px !important;
  background: #ffffff !important;
  border: 1px solid #e6e0ec !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
}

/* D. Reviews Wall ([oms_reviews]) */
.oms-reviews {
  --primary: #630ed4 !important;
  --oms-accent: #630ed4 !important;
  --oms-star: #f59e0b !important;
  --foreground: #1b1b1e !important;
  --card: #ffffff !important;
  --muted: #f7f5f9 !important;
  --muted-foreground: #4a4455 !important;
  --border: #e6e0ec !important;
  --font-sans: 'Plus Jakarta Sans', sans-serif !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}
.oms-rv-heading {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 800 !important;
  color: #1b1b1e !important;
}
.oms-rv-tabs {
  border-bottom: 1.5px solid #e6e0ec !important;
  gap: 8px !important;
}
.oms-rv-tab {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  border-radius: 9999px !important;
  padding: 8px 18px !important;
  margin-bottom: 8px !important;
}
.oms-rv-tab.is-active {
  background: #c1f100 !important;
  color: #3d4c00 !important;
  border-bottom-color: transparent !important;
}
.oms-rv-write {
  background: #630ed4 !important;
  color: #ffffff !important;
  border: 1px solid #630ed4 !important;
  border-radius: 9999px !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  padding: 10px 22px !important;
  box-shadow: 0 8px 16px -4px rgba(99, 14, 212, 0.25) !important;
}
.oms-rv-write:hover {
  background: #7c3aed !important;
}
.oms-rv-sort-btn {
  background: #f7f5f9 !important;
  color: #1b1b1e !important;
  border: 1.5px solid #e6e0ec !important;
  border-radius: 9999px !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
}
.oms-rv-card {
  border-radius: 24px !important;
  border: 1.5px solid #e6e0ec !important;
  box-shadow: 0 4px 20px rgba(99, 14, 212, 0.03) !important;
}
.oms-rv-more {
  border-radius: 9999px !important;
  background: #630ed4 !important;
  color: #ffffff !important;
  border-color: #630ed4 !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
}

/* ==============================================================
   3. WOOCOMMERCE UNIVERSAL BUBBLY NEO-POP STYLING (ALL FORMS)
   ============================================================== */
.woocommerce h2,
.woocommerce h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  color: #1b1b1e !important;
  margin-bottom: 1rem !important;
}

.woocommerce .form-row {
  margin-bottom: 1rem !important;
}

.woocommerce .form-row label,
.woocommerce form label,
.woocommerce-form label {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #1b1b1e !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select,
.woocommerce .input-text {
  width: 100% !important;
  border-radius: 20px !important;
  border: 1.5px solid #e6e0ec !important;
  background: #f7f5f9 !important;
  padding: 12px 18px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #1b1b1e !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce .input-text:focus {
  border-color: #630ed4 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(99, 14, 212, 0.15) !important;
  outline: none !important;
}

/* Universal Buttons */
.woocommerce button.button:not(.single_add_to_cart_button):not(.staypaw-buy-now-btn),
.woocommerce input.button,
.woocommerce a.button:not(.pill-btn),
.woocommerce-button.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  padding: 0 24px !important;
  border-radius: 9999px !important;
  background: #630ed4 !important;
  color: #ffffff !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border: none !important;
  box-shadow: 0 8px 18px -4px rgba(99, 14, 212, 0.25) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce-button.button:hover {
  background: #7c3aed !important;
  transform: translateY(-2px) !important;
}

/* Fieldset styling for My Account & Address Edit */
.woocommerce fieldset {
  border: 1.5px solid #ede0ff !important;
  border-radius: 24px !important;
  padding: 20px !important;
  margin: 16px 0 !important;
  background: #ffffff !important;
}
.woocommerce fieldset legend {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  color: #1b1b1e !important;
  padding: 0 10px !important;
}

/* WooCommerce Checkout Privacy Policy & Terms Card */
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 14px !important;
}
.woocommerce-privacy-policy-text {
  background: #f7f5f9 !important;
  border: 1.5px solid #ede0ff !important;
  border-radius: 18px !important;
  padding: 12px 14px 12px 40px !important;
  position: relative !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: #5c5565 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.woocommerce-privacy-policy-text::before {
  content: 'lock' !important;
  font-family: 'Material Symbols Outlined' !important;
  font-size: 16px !important;
  color: #630ed4 !important;
  position: absolute !important;
  left: 14px !important;
  top: 13px !important;
}
.woocommerce-privacy-policy-text p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: #5c5565 !important;
}
.woocommerce-privacy-policy-text a {
  color: #630ed4 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 1.5rem !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
  padding: 10px 0 !important;
  border-bottom: 1px solid #f0edf2 !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 13px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
  border-top: 1.5px solid #e6e0ec !important;
  border-bottom: none !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #630ed4 !important;
  padding-top: 14px !important;
}

.woocommerce-checkout ul.wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 1rem 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method {
  background: #f7f5f9 !important;
  border: 1.5px solid #e6e0ec !important;
  border-radius: 18px !important;
  padding: 14px 18px !important;
}

.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method label {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
}

.woocommerce-checkout #place_order {
  width: 100% !important;
  height: 52px !important;
  border-radius: 9999px !important;
  background: #630ed4 !important;
  color: #ffffff !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  border: none !important;
  box-shadow: 0 10px 24px -6px rgba(99, 14, 212, 0.3) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.woocommerce-checkout #place_order:hover {
  background: #7c3aed !important;
  transform: translateY(-2px) !important;
}

/* Styled WooCommerce Notices & Alerts */
.woocommerce-notice,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  position: relative !important;
  padding: 14px 20px 14px 46px !important;
  border-radius: 20px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin-bottom: 1.5rem !important;
  border: 1.5px solid !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.03) !important;
  list-style: none !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  position: absolute !important;
  left: 16px !important;
  top: 15px !important;
  font-family: 'Material Symbols Outlined' !important;
  font-size: 20px !important;
  font-weight: normal !important;
  line-height: 1 !important;
}
.woocommerce-message {
  background: #f7f5f9 !important;
  border-color: #c1f100 !important;
  color: #1b1b1e !important;
}
.woocommerce-message::before {
  content: 'check_circle' !important;
  color: #506600 !important;
}
.woocommerce-info {
  background: #f7f5f9 !important;
  border-color: #d2bbff !important;
  color: #25005a !important;
}
.woocommerce-info::before {
  content: 'info' !important;
  color: #630ed4 !important;
}
.woocommerce-error {
  background: #ffdad6 !important;
  border-color: #ba1a1a !important;
  color: #93000a !important;
}
.woocommerce-error::before {
  content: 'error' !important;
  color: #ba1a1a !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button {
  border-radius: 9999px !important;
  background: #630ed4 !important;
  color: #ffffff !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 6px 18px !important;
  float: right !important;
  border: none !important;
}

/* Coupon Toggle & Form */
.woocommerce-form-coupon-toggle .woocommerce-info {
  border-style: dashed !important;
  border-color: #7c3aed !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info a {
  color: #630ed4 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}
form.checkout_coupon {
  border: 1.5px solid #e6e0ec !important;
  border-radius: 24px !important;
  padding: 16px 20px !important;
  background: #ffffff !important;
  margin-bottom: 20px !important;
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
form.checkout_coupon .form-row {
  margin: 0 !important;
  flex: 1 1 200px !important;
}
form.checkout_coupon input.input-text {
  width: 100% !important;
  border-radius: 9999px !important;
  border: 1.5px solid #e6e0ec !important;
  background: #f7f5f9 !important;
  padding: 10px 18px !important;
}
form.checkout_coupon button {
  border-radius: 9999px !important;
  background: #630ed4 !important;
  color: #ffffff !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 700 !important;
  padding: 10px 22px !important;
  border: none !important;
  cursor: pointer !important;
}

/* Clean Flexbox Field Wrappers (No Float Overflows) */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px 16px !important;
  margin: 0 !important;
}
.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
.woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-billing-fields__field-wrapper .form-row-last {
  width: calc(50% - 8px) !important;
  flex: 0 0 calc(50% - 8px) !important;
}
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide {
  width: 100% !important;
  flex: 0 0 100% !important;
}
@media (max-width: 640px) {
  .woocommerce-billing-fields__field-wrapper .form-row-first,
  .woocommerce-billing-fields__field-wrapper .form-row-last {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
}

/* Select2 Country/State Dropdowns */
.select2-container .select2-selection--single {
  height: 50px !important;
  border-radius: 20px !important;
  border: 1.5px solid #e6e0ec !important;
  background: #f7f5f9 !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 14px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 48px !important;
  color: #1b1b1e !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px !important;
  right: 14px !important;
}

/* Shipping Method Selection in Checkout */
#shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#shipping_method li {
  margin-bottom: 6px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
#shipping_method li input {
  accent-color: #630ed4 !important;
  margin-right: 6px !important;
}

/* ==============================================================
   4. CHECKOUT INLINE VALIDATION & SUPPRESS TOP BULK ERROR BOX
   ============================================================== */
.woocommerce-checkout .woocommerce-NoticeGroup-checkout,
.woocommerce-checkout .woocommerce-error {
  display: none !important;
}

.woocommerce-checkout .form-row.woocommerce-invalid input,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid textarea {
  border-color: #ba1a1a !important;
  background-color: #fff8f7 !important;
  box-shadow: 0 0 0 3px rgba(186, 26, 26, 0.12) !important;
}

.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.woocommerce-checkout #payment div.payment_box {
  background: #ede0ff !important;
  color: #25005a !important;
  border-radius: 16px !important;
  padding: 12px 16px !important;
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-size: 12px !important;
  margin-top: 10px !important;
}
.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #ede0ff !important;
}

/* ==============================================================
   5. STRIPE EXPRESS CHECKOUT & UPE NEO-POP OPTIMIZATION
   ============================================================== */
:root {
  --stripe-border-radius: 20px;
  --stripe-color-primary: #630ed4;
  --stripe-color-background: #f7f5f9;
  --stripe-color-text: #1b1b1e;
  --stripe-font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Product Page Express Checkout Card */
.staypaw-woo-cart-form #wc-stripe-express-checkout-element {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 14px !important;
  padding: 16px !important;
  background: #f7f5f9 !important;
  border: 1.5px solid #e6e0ec !important;
  border-radius: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.staypaw-woo-cart-form #wc-stripe-express-checkout-element::before {
  content: 'EXPRESS 1-CLICK CHECKOUT';
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  color: #630ed4 !important;
  text-align: center !important;
  margin-bottom: 8px !important;
}
.staypaw-woo-cart-form #wc-stripe-express-checkout-element > div {
  flex: 1 1 calc(50% - 4px) !important;
  min-width: 130px !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* Checkout Page Express Checkout */
#staypaw-checkout-express-card #wc-stripe-express-checkout-element {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  width: 100% !important;
}
#staypaw-checkout-express-card #wc-stripe-express-checkout-element::before {
  display: none !important;
}
#staypaw-checkout-express-card #wc-stripe-express-checkout-element > div {
  flex: 1 1 calc(50% - 4px) !important;
  min-width: 130px !important;
  max-width: 100% !important;
  margin: 0 !important;
}
#wc-stripe-express-checkout-button-separator {
  display: none !important;
}

/* Prevent Cart & Checkout Product Images from ever expanding */
.woocommerce-cart-form img,
.staypaw-cart-page img,
.staypaw-review-order img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Mobile Sticky Add-to-Bag Bar */
#mobile-sticky-atc-bar {
  transform: translateY(115%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.25s ease !important;
}
#mobile-sticky-atc-bar.is-visible {
  transform: translateY(0%) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Clean Frameless Payment Form (Zero Nested Boxes) */
#payment ul.wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
#payment ul.wc_payment_methods li.wc_payment_method {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
#payment ul.wc_payment_methods li.wc_payment_method > input[type="radio"] {
  display: none !important;
}
#payment ul.wc_payment_methods li.wc_payment_method > label {
  font-family: 'Fredoka', cursive, sans-serif !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  color: #1b1b1e !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 0 10px 0 !important;
  margin: 0 !important;
  border-bottom: 1.5px solid #f0edf2 !important;
}
#payment ul.wc_payment_methods li.wc_payment_method div.payment_box {
  background: transparent !important;
  border: none !important;
  padding: 10px 0 0 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
#payment ul.wc_payment_methods li.wc_payment_method div.payment_box::before {
  display: none !important;
}
.wc-stripe-upe-element {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
#payment fieldset#wc-stripe-upe-form {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ==============================================================
   6. GLOBAL STRIKETHROUGH (SALE) PRICE STYLING
   ============================================================== */
del, 
.price del,
.product del,
.woocommerce-Price-amount del,
#product-display-price del,
#sticky-bar-price del,
.card-modern del {
  text-decoration: line-through !important;
  text-decoration-color: #a49baa !important;
  color: #8f859a !important;
  font-weight: 600 !important;
  font-size: 0.72em !important;
  margin-right: 0.35rem !important;
  opacity: 0.82 !important;
  display: inline-block !important;
  line-height: normal !important;
}

ins,
.price ins,
.product ins,
.woocommerce-Price-amount ins,
#product-display-price ins,
#sticky-bar-price ins,
.card-modern ins {
  text-decoration: none !important;
  color: #630ed4 !important;
  font-weight: 900 !important;
  display: inline-block !important;
}

/* Single Product main price display */
#product-display-price del {
  font-size: 1.125rem !important;
  line-height: 1.2 !important;
  color: #8f859a !important;
  font-weight: 600 !important;
  margin-right: 8px !important;
}
@media (min-width: 640px) {
  #product-display-price del {
    font-size: 1.25rem !important;
  }
}
#product-display-price ins {
  font-size: 1.875rem !important;
  color: #630ed4 !important;
  font-weight: 900 !important;
}
@media (min-width: 640px) {
  #product-display-price ins {
    font-size: 2.25rem !important;
  }
}

/* Product Card price styling */
.card-modern del,
.staypaw-product-card del {
  font-size: 0.8em !important;
  color: #8f859a !important;
  font-weight: 600 !important;
  margin-right: 4px !important;
}
.card-modern ins,
.staypaw-product-card ins {
  text-decoration: none !important;
  color: #630ed4 !important;
  font-weight: 900 !important;
}

/* Mobile Sticky ATC Bar price */
#sticky-bar-price del {
  font-size: 0.8em !important;
  color: #8f859a !important;
  font-weight: 600 !important;
  margin-right: 3px !important;
}
#sticky-bar-price ins {
  text-decoration: none !important;
  color: #630ed4 !important;
  font-weight: 900 !important;
}
