.woocommerce-page .woocommerce{width:100%}.woocommerce-notices-wrapper .woocommerce-message,.woocommerce-notices-wrapper .woocommerce-error,.woocommerce-notices-wrapper .woocommerce-info{border-radius:var(--pni-radius-lg);margin-bottom:var(--pni-space-6);padding:var(--pni-space-4) var(--pni-space-6)}.woocommerce-message{border-top-color:var(--pni-success) !important;background:#F0FFF4}.woocommerce-error{border-top-color:var(--pni-error) !important;background:#FFF5F5}.woocommerce-info{border-top-color:var(--pni-gold) !important;background:var(--pni-cream)}.woocommerce-message .button{background:var(--pni-navy) !important;color:var(--pni-white) !important;border-radius:var(--pni-radius) !important}.pni-wc-wrapper{background:var(--pni-bg-secondary);padding:var(--pni-space-8) 0 var(--pni-space-16)}.woocommerce ul.products{margin:0 !important;padding:0 !important;display:grid !important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--pni-space-6) !important;list-style:none !important}.woocommerce ul.products.pni-list-view{grid-template-columns:1fr !important}.woocommerce ul.products li.product{margin:0 !important;padding:0 !important;float:none !important}.woocommerce ul.products li.product a img{margin-bottom:0 !important}.woocommerce ul.products li.product .button{display:none !important}.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:var(--pni-space-12);align-items:start;margin-top:var(--pni-space-4)}.woocommerce div.product div.images{position:sticky;top:calc(var(--pni-header-h,72px)+2rem)}.woocommerce div.product div.images img{border-radius:var(--pni-radius-lg)}.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image{border-radius:var(--pni-radius-lg);overflow:hidden}.woocommerce div.product .entry-summary h1.product_title{font-size:clamp(1.5rem,3vw,2.25rem);margin-bottom:var(--pni-space-3)}.woocommerce div.product .entry-summary .woocommerce-product-rating{margin-bottom:var(--pni-space-4)}.woocommerce div.product .entry-summary .price{font-size:var(--pni-text-3xl);font-weight:800;color:var(--pni-navy);margin-bottom:var(--pni-space-6)}.woocommerce div.product .entry-summary .price del{font-size:0.7em;color:var(--pni-gray-400);font-weight:400}.woocommerce div.product .entry-summary .price ins{color:#DC2626;text-decoration:none}.woocommerce div.product .woocommerce-tabs{margin-top:var(--pni-space-10);grid-column:1 / -1}.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:2px solid var(--pni-border);display:flex;gap:0;padding:0;margin:0}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:none !important;background:transparent !important;margin:0 !important}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:var(--pni-space-3) var(--pni-space-6);font-size:var(--pni-text-sm);font-weight:600;color:var(--pni-text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--pni-transition)}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--pni-navy);border-bottom-color:var(--pni-gold)}.woocommerce div.product .woocommerce-tabs .panel{padding:var(--pni-space-8) 0}.star-rating span::before,.woocommerce .star-rating span::before{color:var(--pni-gold)}.woocommerce .star-rating{color:var(--pni-gray-300)}.woocommerce section.related{grid-column:1 / -1;margin-top:var(--pni-space-12)}.woocommerce section.related h2,.woocommerce section.upsells h2{font-size:var(--pni-text-3xl);margin-bottom:var(--pni-space-8)}.woocommerce-checkout h3{font-size:var(--pni-text-xl);color:var(--pni-navy);border-bottom:2px solid var(--pni-gold);padding-bottom:var(--pni-space-3);margin-bottom:var(--pni-space-6)}.woocommerce-checkout input,.woocommerce-checkout select,.woocommerce-checkout textarea{border-radius:var(--pni-radius) !important;border-color:var(--pni-border-dark) !important;padding:0.75rem 1rem !important;font-size:var(--pni-text-base) !important}.woocommerce-checkout input:focus,.woocommerce-checkout select:focus{border-color:var(--pni-gold) !important;box-shadow:0 0 0 3px rgba(194,87,143,0.15) !important;outline:none !important}#place_order{background:var(--pni-gold) !important;color:var(--pni-navy) !important;font-size:var(--pni-text-base) !important;font-weight:700 !important;padding:1rem 2.5rem !important;border-radius:var(--pni-radius) !important;border:none !important;transition:all var(--pni-transition-md) !important}#place_order:hover{background:var(--pni-gold-dark) !important;transform:translateY(-2px) !important}.woocommerce-checkout-review-order-table th{background:var(--pni-gray-50);padding:var(--pni-space-3) var(--pni-space-4);font-size:var(--pni-text-sm);font-weight:700;color:var(--pni-navy);text-transform:uppercase;letter-spacing:0.06em}.woocommerce-MyAccount-navigation{border-right:1px solid var(--pni-border);padding-right:var(--pni-space-8)}.woocommerce-MyAccount-navigation ul{list-style:none;display:flex;flex-direction:column;gap:var(--pni-space-1)}.woocommerce-MyAccount-navigation ul a{display:block;padding:var(--pni-space-3) var(--pni-space-4);border-radius:var(--pni-radius);font-size:var(--pni-text-sm);font-weight:600;color:var(--pni-text-secondary);transition:all var(--pni-transition)}.woocommerce-MyAccount-navigation ul a:hover,.woocommerce-MyAccount-navigation ul .is-active a{background:var(--pni-cream);color:var(--pni-navy)}.woocommerce table.shop_table{width:100%;border-collapse:collapse}.woocommerce table.shop_table th{background:var(--pni-gray-50);padding:var(--pni-space-3) var(--pni-space-4);text-align:left;font-size:var(--pni-text-sm);font-weight:700;color:var(--pni-navy);border-bottom:2px solid var(--pni-border)}.woocommerce table.shop_table td{padding:var(--pni-space-4);border-bottom:1px solid var(--pni-border);font-size:var(--pni-text-sm);color:var(--pni-text-secondary)}@media (max-width:768px){.woocommerce div.product{grid-template-columns:1fr;gap:var(--pni-space-6)}.woocommerce div.product div.images{position:static}}
/* Auth page wrapper — no inner container, card self-centers */
.pni-wc-wrapper--auth{background:linear-gradient(160deg,#FFF0F7 0%,#EEF4FB 100%);min-height:70vh;display:flex;flex-direction:column;justify-content:center}

/* Hide WC page title + theme breadcrumbs on the login/register page */
.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper + h1,
.woocommerce-account:not(.logged-in) h1.entry-title,
.woocommerce-account:not(.logged-in) h1.page-title,
.woocommerce-account:not(.logged-in) .pni-breadcrumbs,
.woocommerce-account:not(.logged-in) .pni-page > h1,
.woocommerce-account:not(.logged-in) .pni-page > .pni-breadcrumbs { display: none !important; }

/* Remove container padding/margin on auth page so the card fills cleanly */
.pni-wc-wrapper--auth { background: transparent !important; padding: 0 !important; }
.pni-wc-wrapper--auth .pni-container { padding: 0 !important; max-width: none !important; }
.pni-wc-wrapper--auth .woocommerce { width: 100% !important; }

/* ══════════════════════════════════════════════════════════════
   WooCommerce Checkout Block — Complete Restyle
   Targets the block-based checkout (not the classic shortcode).
   All selectors use real WC block class names from the rendered DOM.
   ══════════════════════════════════════════════════════════════ */

/* ── Page background ─────────────────────────────────────────── */
.woocommerce-checkout,
.wp-block-woocommerce-checkout,
body.woocommerce-checkout {
  background: #F7F4F6 !important;
}

/* ── Main checkout wrapper ───────────────────────────────────── */
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wc-block-checkout__main {
  background: transparent !important;
}

/* ── Section step blocks ─────────────────────────────────────── */
.wc-block-components-checkout-step,
.wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout-additional-information-block {
  background: #ffffff !important;
  border: 1px solid #E8D8E2 !important;
  border-radius: 16px !important;
  padding: 1.6rem 1.6rem 1.5rem !important;
  margin-bottom: 1rem !important;
  box-shadow: 0 1px 4px rgba(30,58,95,.05) !important;
}

/* Step headings */
.wc-block-components-checkout-step__title,
.wc-block-checkout__step-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #1E3A5F !important;
  border-bottom: 1px solid #F0E8ED !important;
  padding-bottom: .85rem !important;
  margin-bottom: 1.2rem !important;
}

/* Step number circle */
.wc-block-components-checkout-step__heading-number {
  background: linear-gradient(135deg, #C2578F, #A3446F) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 28px !important; height: 28px !important;
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  font-size: .72rem !important; font-weight: 800 !important;
  margin-right: .55rem !important;
  box-shadow: 0 3px 10px rgba(194,87,143,.3) !important;
  flex-shrink: 0 !important;
  border: none !important;
  line-height: 1 !important;
}

/* ── Form field groups — fix floating label ──────────────────── */
/* The block uses a "floating label" pattern where the <label> sits
   inside the input visually. We convert it to a standard top-label. */

.wc-block-components-text-input,
.wc-block-components-select,
.wc-block-components-country-input,
.wc-block-components-state-input {
  /* Reset the block's floating-label container */
  position: relative !important;
  margin-bottom: .85rem !important;
  padding-top: 0 !important;
}

/* Label — pull it OUT of the field, above the input */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-country-input label,
.wc-block-components-state-input label,
.wc-block-components-text-input .wc-block-components-form-text-input-label,
.wc-block-components-select .wc-block-components-form-text-input-label {
  position: static !important;
  display: block !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  color: #5C3D4D !important;
  letter-spacing: .03em !important;
  margin-bottom: .36rem !important;
  line-height: 1 !important;
  transform: none !important;
  top: auto !important; left: auto !important;
  pointer-events: auto !important;
  background: transparent !important;
  padding: 0 !important;
  transition: none !important;
  max-width: none !important;
}

/* Input field */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input .wc-block-components-country-input__select,
.wc-block-components-state-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="password"] {
  display: block !important;
  width: 100% !important;
  padding: .75rem 1rem !important;
  border: 1.5px solid #D0BBCA !important;
  border-radius: 10px !important;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: .88rem !important;
  color: #1C0F15 !important;
  background: #FDFBFC !important;
  outline: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
  appearance: none !important;
  line-height: 1.5 !important;
  height: auto !important;
  /* Kill any block-specific top padding used for floating label */
  padding-top: .75rem !important;
}

.wc-block-components-text-input input::placeholder,
.wc-block-components-text-input input::-webkit-input-placeholder {
  color: #C8B0BD !important;
  font-size: .85rem !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-state-input input:focus {
  border-color: #C2578F !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(194,87,143,.13) !important;
}

.wc-block-components-text-input input:hover:not(:focus),
.wc-block-components-select select:hover:not(:focus) {
  border-color: #A88898 !important;
}

/* Select arrow */
.wc-block-components-select select,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
  padding-right: 2.4rem !important;
  cursor: pointer !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239A7485' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right .9rem center !important;
  background-size: 10px !important;
}

/* ── Validation states ───────────────────────────────────────── */
.wc-block-components-text-input.has-error input,
.wc-block-components-text-input input:invalid:not(:placeholder-shown) {
  border-color: #C0392B !important;
}
.wc-block-components-validation-error {
  font-size: .7rem !important;
  color: #C0392B !important;
  margin-top: .25rem !important;
}

/* ── "Or continue below" divider ────────────────────────────── */
.wc-block-checkout__use-address-for-billing,
.wc-block-components-checkout-step__description,
.wc-block-checkout__guest-notice {
  font-size: .8rem !important;
  color: #9A7485 !important;
  margin: .5rem 0 .3rem !important;
}
.wc-block-checkout__login-prompt {
  font-size: .8rem !important;
  color: #9A7485 !important;
}
.wc-block-checkout__login-prompt a { color: #C2578F !important; }

/* ── Payment method radio buttons ────────────────────────────── */
.wc-block-components-payment-method-label,
.wc-block-components-radio-control__option,
.wc-block-components-payment-methods__list-item {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: .9rem 1.1rem !important;
  border: 2px solid #D0BBCA !important;
  border-radius: 12px !important;
  margin-bottom: .55rem !important;
  cursor: pointer !important;
  transition: border-color .18s, background .18s !important;
  background: #fff !important;
}

.wc-block-components-payment-methods__list-item:hover,
.wc-block-components-radio-control__option:hover {
  border-color: #C2578F !important;
  background: #FDF5F9 !important;
}

/* Selected payment method */
.wc-block-components-payment-methods__list-item.is-active,
.wc-block-components-radio-control__option--checked,
.wc-block-components-payment-methods__list-item input:checked ~ * {
  border-color: #C2578F !important;
  background: #FDF5F9 !important;
}

/* ── Radio/Checkbox inputs — fix size and gap ─────────────────── */
/* This is the main fix for the overlapping radio+text issue */
.wc-block-components-radio-control__option input[type="radio"],
.wc-block-components-checkbox-list__item input[type="checkbox"],
.wc-block-components-payment-methods__list-item input[type="radio"],
.wc-block-checkout__add-note input[type="checkbox"],
.wc-block-components-checkout-additional-information-block input[type="checkbox"] {
  /* Remove default styling and replace with custom */
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid #C8B0BD !important;
  border-radius: 50% !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: all .18s ease !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Checked state — radio */
.wc-block-components-radio-control__option input[type="radio"]:checked,
.wc-block-components-payment-methods__list-item input[type="radio"]:checked {
  border-color: #C2578F !important;
  background: #C2578F !important;
}
.wc-block-components-radio-control__option input[type="radio"]:checked::after,
.wc-block-components-payment-methods__list-item input[type="radio"]:checked::after {
  content: '' !important;
  display: block !important;
  width: 7px !important; height: 7px !important;
  border-radius: 50% !important;
  background: #fff !important;
}

/* Checkbox styling */
.wc-block-checkout__add-note input[type="checkbox"],
.wc-block-components-checkout-additional-information-block input[type="checkbox"],
.wc-block-components-checkbox-list__item input[type="checkbox"] {
  border-radius: 5px !important;
}
.wc-block-checkout__add-note input[type="checkbox"]:checked,
.wc-block-components-checkbox-list__item input[type="checkbox"]:checked {
  border-color: #C2578F !important;
  background: #C2578F !important;
}
.wc-block-checkout__add-note input[type="checkbox"]:checked::after,
.wc-block-components-checkbox-list__item input[type="checkbox"]:checked::after {
  content: '✓' !important;
  display: block !important;
  color: #fff !important;
  font-size: .7rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

/* Labels next to radio/checkbox — ensure proper spacing */
.wc-block-components-radio-control__option label,
.wc-block-components-payment-methods__list-item label,
.wc-block-checkout__add-note label,
.wc-block-components-checkbox-list__item label {
  font-size: .88rem !important;
  font-weight: 600 !important;
  color: #1E3A5F !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  line-height: 1.4 !important;
}

/* Payment method name text */
.wc-block-components-payment-method-label__name,
.wc-block-components-radio-control-accordion-option__label-text {
  font-size: .88rem !important;
  font-weight: 700 !important;
  color: #1E3A5F !important;
  flex: 1 !important;
}

/* Payment method description under radio */
.wc-block-components-payment-method-description,
.wc-block-components-radio-control-accordion-option__secondary-label {
  font-size: .78rem !important;
  color: #9A7485 !important;
  margin-top: .3rem !important;
  margin-left: 2.25rem !important; /* aligns under the label, not the radio */
  line-height: 1.5 !important;
}

/* Payment method content (e.g. card fields that expand below radio) */
.wc-block-components-radio-control-accordion-option__content,
.wc-block-components-payment-method-options__option--content {
  padding: .9rem 1.1rem 1rem !important;
  background: #FDF5F9 !important;
  border-top: 1px solid #F0E8ED !important;
  margin-top: -.1rem !important;
  border-radius: 0 0 10px 10px !important;
}

/* ── "Add a note" checkbox row ───────────────────────────────── */
.wc-block-checkout__add-note {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: .85rem 1rem !important;
  background: #FDFBFC !important;
  border: 1.5px solid #E8D8E2 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: border-color .18s !important;
  margin-bottom: .75rem !important;
}
.wc-block-checkout__add-note:hover {
  border-color: #C2578F !important;
}
.wc-block-checkout__add-note .wc-block-checkout__add-note__textarea {
  margin-top: .75rem !important;
  padding: .72rem 1rem !important;
  border: 1.5px solid #D0BBCA !important;
  border-radius: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .85rem !important;
  width: 100% !important;
  resize: vertical !important;
  background: #FDFBFC !important;
  color: #1C0F15 !important;
  outline: none !important;
}
.wc-block-checkout__add-note .wc-block-checkout__add-note__textarea:focus {
  border-color: #C2578F !important;
  box-shadow: 0 0 0 3px rgba(194,87,143,.13) !important;
}

/* ── Order summary sidebar ───────────────────────────────────── */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-order-summary {
  background: #fff !important;
  border: 1px solid #E8D8E2 !important;
  border-radius: 16px !important;
  padding: 1.4rem !important;
  box-shadow: 0 1px 4px rgba(30,58,95,.05) !important;
}

/* Sidebar headings */
.wc-block-order-summary__title,
.wc-block-components-order-summary__title,
.wp-block-woocommerce-checkout-order-summary-block h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #1E3A5F !important;
  border-bottom: 1px solid #F0E8ED !important;
  padding-bottom: .85rem !important;
  margin-bottom: .85rem !important;
}

/* Cart line items */
.wc-block-cart-items__row,
.wc-block-order-summary-item {
  padding: .65rem 0 !important;
  border-bottom: 1px solid #F0E8ED !important;
}

/* Item thumbnail */
.wc-block-order-summary-item__image,
.wc-block-cart-item__image {
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid #E8D8E2 !important;
}

/* Item name */
.wc-block-order-summary-item__full-title,
.wc-block-cart-item__name {
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: #1E3A5F !important;
}

/* Item price */
.wc-block-order-summary-item__individual-prices,
.wc-block-order-summary-item__total-price,
.wc-block-cart-item__total {
  font-size: .84rem !important;
  font-weight: 700 !important;
  color: #1C0F15 !important;
}

/* Totals table rows */
.wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  padding: .4rem 0 !important;
  font-size: .83rem !important;
  color: #5C3D4D !important;
  border: none !important;
}
.wc-block-components-totals-item__label { color: #5C3D4D !important; }
.wc-block-components-totals-item__value { font-weight: 600 !important; color: #1C0F15 !important; }

/* Grand total */
.wc-block-components-totals-footer-item,
.wc-block-components-totals-item.is-total {
  border-top: 2px solid #E8D8E2 !important;
  margin-top: .4rem !important;
  padding-top: .75rem !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: #1E3A5F !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-item.is-total .wc-block-components-totals-item__value {
  color: #C2578F !important;
  font-size: 1.08rem !important;
}

/* Coupon / promo code */
.wc-block-components-totals-coupon__form input,
.wc-block-components-coupon input {
  padding: .55rem .85rem !important;
  border: 1.5px solid #D0BBCA !important;
  border-radius: 8px !important;
  font-size: .8rem !important;
  background: #FDFBFC !important;
  color: #1C0F15 !important;
  outline: none !important;
  transition: border-color .18s !important;
}
.wc-block-components-totals-coupon__form input:focus,
.wc-block-components-coupon input:focus {
  border-color: #C2578F !important;
  box-shadow: 0 0 0 3px rgba(194,87,143,.12) !important;
}
.wc-block-components-totals-coupon__form button,
.wc-block-components-coupon button {
  background: #1E3A5F !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: .55rem 1rem !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  font-family: inherit !important;
  transition: background .18s !important;
}
.wc-block-components-totals-coupon__form button:hover,
.wc-block-components-coupon button:hover {
  background: #C2578F !important;
}

/* Shipping row */
.wc-block-components-totals-shipping {
  color: #5C3D4D !important;
}
.wc-block-components-totals-shipping__via {
  font-size: .72rem !important;
  color: #9A7485 !important;
}

/* ── Place Order button ──────────────────────────────────────── */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__place-order .wc-block-components-button,
button.wc-block-components-checkout-place-order-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 1rem 1.5rem !important;
  background: linear-gradient(135deg, #C2578F 0%, #A3446F 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  letter-spacing: .02em !important;
  box-shadow: 0 5px 20px rgba(194,87,143,.35) !important;
  transition: all .22s ease !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background: linear-gradient(135deg, #A3446F 0%, #1E3A5F 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 28px rgba(194,87,143,.4) !important;
}
.wc-block-components-checkout-place-order-button:disabled {
  opacity: .65 !important;
  transform: none !important;
  cursor: not-allowed !important;
}

/* Terms / privacy notice below button */
.wc-block-checkout__terms {
  font-size: .72rem !important;
  color: #9A7485 !important;
  text-align: center !important;
  margin-top: .6rem !important;
  line-height: 1.55 !important;
}
.wc-block-checkout__terms a { color: #C2578F !important; }

/* ── Trust / security strip ──────────────────────────────────── */
.wc-block-checkout__sidebar .wc-block-components-checkout-step,
.wp-block-woocommerce-checkout-order-summary-shipping-block,
.wc-block-order-summary-shipping {
  font-size: .78rem !important;
  color: #9A7485 !important;
}

/* ── Saved addresses block ───────────────────────────────────── */
.wc-block-components-address-card {
  border: 1px solid #E8D8E2 !important;
  border-radius: 12px !important;
  padding: 1rem 1.2rem !important;
  background: #fff !important;
  font-size: .85rem !important;
  color: #1E3A5F !important;
}
.wc-block-components-address-card__edit {
  color: #C2578F !important;
  font-weight: 700 !important;
  font-size: .8rem !important;
}
.wc-block-components-address-card__edit:hover { color: #A3446F !important; }

/* ── Spinner / loading ───────────────────────────────────────── */
.wc-block-components-spinner,
.wc-block-checkout__spinner {
  border-color: #E8D8E2 !important;
  border-top-color: #C2578F !important;
}

/* ── Notices / alerts ────────────────────────────────────────── */
.wc-block-components-notice-banner.is-error,
.wc-block-store-notices .wc-block-components-notice-banner {
  border-radius: 10px !important;
  border-left: 4px solid #C0392B !important;
  background: #FEF2F2 !important;
  color: #7F1D1D !important;
  padding: .9rem 1.1rem !important;
  margin-bottom: 1rem !important;
}
.wc-block-components-notice-banner.is-success {
  border-left-color: #2E7D5B !important;
  background: #F0FFF4 !important;
  color: #1A4731 !important;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  .wp-block-woocommerce-checkout-contact-information-block,
  .wp-block-woocommerce-checkout-shipping-address-block,
  .wp-block-woocommerce-checkout-billing-address-block,
  .wp-block-woocommerce-checkout-payment-block,
  .wp-block-woocommerce-checkout-additional-information-block {
    padding: 1.2rem 1.1rem !important;
    border-radius: 12px !important;
  }
}
