/**
 * FYOOL styleguide — WooCommerce Cart & Checkout blocks
 * Fonts, buttons, forms, typography (wc-block-components-*)
 */

/* ─── Scope: block cart & checkout ─── */
.fy-woo-main .wp-block-woocommerce-cart,
.fy-woo-main .wp-block-woocommerce-checkout,
.fy-woo-main .wc-block-cart,
.fy-woo-main .wc-block-checkout,
.fy-woo-main .wc-block-components-totals-wrapper,
.fy-woo-main .wc-block-components-main {
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

/* ─── Headings ─── */
.fy-woo-main .wc-block-components-title,
.fy-woo-main .wc-block-components-checkout-step__title,
.fy-woo-main .wc-block-cart__totals-title,
.fy-woo-main .wc-block-components-sidebar-layout .wc-block-components-title,
.fy-woo-main .wp-block-heading {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px;
  color: var(--text) !important;
}

.fy-woo-main .wc-block-components-checkout-step__title {
  font-size: 22px !important;
  margin-bottom: 16px !important;
}

/* ─── Body text & labels ─── */
.fy-woo-main .wc-block-components-label,
.fy-woo-main .wc-block-components-text-input label,
.fy-woo-main .wc-block-components-checkbox__label,
.fy-woo-main .wc-block-components-radio-control__label,
.fy-woo-main .wc-block-components-totals-item__label,
.fy-woo-main .wc-block-components-product-metadata,
.fy-woo-main .wc-block-components-product-details__description,
.fy-woo-main .wc-block-components-address-card {
  font-family: 'Barlow', sans-serif;
  font-size: 14px;
  color: var(--text);
}

.fy-woo-main .wc-block-components-totals-item__description,
.fy-woo-main .wc-block-components-formatted-money-amount,
.fy-woo-main .wc-block-components-product-price {
  color: var(--muted);
  font-size: 14px;
}

.fy-woo-main .wc-block-components-product-name,
.fy-woo-main .wc-block-components-product-name a {
  font-family: 'Barlow', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: var(--text);
  text-decoration: none;
}

.fy-woo-main .wc-block-components-product-name a:hover {
  color: var(--blue);
}

.fy-woo-main .wc-block-components-formatted-money-amount,
.fy-woo-main .wc-block-components-product-price__value,
.fy-woo-main .wc-block-components-totals-item__value {
  font-weight: 700;
  color: var(--text);
}

/* ─── Primary buttons (matches .fy-btn-main) ─── */
.fy-woo-main .wc-block-components-button:not(.is-link),
.fy-woo-main .wc-block-cart__submit-button,
.fy-woo-main .wc-block-components-checkout-place-order-button,
.fy-woo-main .wc-block-components-checkout-return-to-cart-button,
.fy-woo-main .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
  background: linear-gradient(90deg, var(--blue), #1677d2) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 12px 24px !important;
  min-height: 48px !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
  transition: opacity 0.2s, transform 0.15s !important;
  cursor: pointer;
}

.fy-woo-main .wc-block-components-button:not(.is-link):hover,
.fy-woo-main .wc-block-cart__submit-button:hover,
.fy-woo-main .wc-block-components-checkout-place-order-button:hover {
  opacity: 0.92 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.fy-woo-main .wc-block-components-button:not(.is-link):disabled,
.fy-woo-main .wc-block-components-checkout-place-order-button:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed;
  transform: none !important;
}

/* Link-style buttons */
.fy-woo-main .wc-block-components-button.is-link,
.fy-woo-main .wc-block-components-checkout-order-summary__button,
.fy-woo-main .wc-block-cart-item__remove-link {
  background: transparent !important;
  color: var(--blue) !important;
  border: none !important;
  text-transform: none !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 0 !important;
  min-height: auto !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

.fy-woo-main .wc-block-cart-item__remove-link {
  color: var(--muted) !important;
}

.fy-woo-main .wc-block-cart-item__remove-link:hover {
  color: #b91c1c !important;
  opacity: 1 !important;
}

/* Secondary / outline buttons */
.fy-woo-main .wc-block-components-button.is-secondary {
  background: #fff !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  text-transform: uppercase !important;
}

.fy-woo-main .wc-block-components-button.is-secondary:hover {
  border-color: var(--blue) !important;
  color: var(--blue) !important;
  opacity: 1 !important;
}

/* ─── Text inputs & selects ─── */
.fy-woo-main .wc-block-components-text-input input,
.fy-woo-main .wc-block-components-combobox input,
.fy-woo-main .wc-block-components-combobox-control input,
.fy-woo-main .wc-block-components-select-control__select,
.fy-woo-main .wc-block-components-textarea,
.fy-woo-main .wc-block-components-country-input select,
.fy-woo-main .wc-block-components-state-input select {
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px !important;
  color: var(--text) !important;
  background: #fff !important;
  min-height: 46px;
  box-shadow: none !important;
}

.fy-woo-main .wc-block-components-text-input input:focus,
.fy-woo-main .wc-block-components-combobox input:focus,
.fy-woo-main .wc-block-components-select-control__select:focus,
.fy-woo-main .wc-block-components-textarea:focus {
  outline: none !important;
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.12) !important;
}

.fy-woo-main .wc-block-components-text-input.is-active label,
.fy-woo-main .wc-block-components-text-input label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--text) !important;
}

.fy-woo-main .wc-block-components-validation-error {
  font-size: 13px;
  color: #b91c1c;
  font-weight: 500;
}

/* ─── Checkbox & radio ─── */
.fy-woo-main .wc-block-components-checkbox__input,
.fy-woo-main .wc-block-components-radio-control__input {
  accent-color: var(--blue);
  border-color: var(--border);
}

.fy-woo-main .wc-block-components-radio-control__option,
.fy-woo-main .wc-block-components-radio-control-accordion-option {
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  margin-bottom: 8px;
  background: #fff;
}

.fy-woo-main .wc-block-components-radio-control__option-checked,
.fy-woo-main .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 1px var(--blue) !important;
  background: var(--blue-soft) !important;
}

/* ─── Panels (coupon, shipping, etc.) ─── */
.fy-woo-main .wc-block-components-panel,
.fy-woo-main .wc-block-components-totals-coupon {
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  overflow: hidden;
  background: #fff;
}

.fy-woo-main .wc-block-components-panel__button {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--text) !important;
  padding: 14px 16px !important;
}

.fy-woo-main .wc-block-components-panel__content {
  padding: 0 16px 16px;
}

/* ─── Notices ─── */
.fy-woo-main .wc-block-components-notice-banner {
  border-radius: 12px !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500;
  padding: 14px 18px !important;
  margin-bottom: 16px !important;
}

.fy-woo-main .wc-block-components-notice-banner.is-info,
.fy-woo-main .wc-block-components-notice-banner.is-success {
  border: 1px solid #bfdbfe !important;
  background: var(--blue-soft) !important;
  color: var(--text) !important;
}

.fy-woo-main .wc-block-components-notice-banner.is-error {
  border: 1px solid #fecaca !important;
  background: #fef2f2 !important;
  color: #991b1b !important;
}

/* ─── Quantity selector ─── */
.fy-woo-main .wc-block-components-quantity-selector {
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
}

.fy-woo-main .wc-block-components-quantity-selector__button {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: none !important;
  min-width: 36px;
  min-height: 36px;
  font-size: 18px;
  font-weight: 600;
}

.fy-woo-main .wc-block-components-quantity-selector__input {
  border: none !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600;
  min-height: 36px !important;
}

/* ─── Payment methods (checkout) ─── */
.fy-woo-main .wc-block-components-payment-method-label,
.fy-woo-main .wc-block-components-radio-control__label-group {
  font-weight: 600;
  color: var(--text);
}

.fy-woo-main .wc-block-components-payment-method-icons {
  gap: 8px;
}

/* ─── Order summary / totals ─── */
.fy-woo-main .wc-block-components-order-summary-item,
.fy-woo-main .wc-block-components-totals-item {
  border-color: var(--border) !important;
}

.fy-woo-main .wc-block-components-totals-footer-item {
  border-top: 1px solid var(--border);
  padding-top: 12px;
  margin-top: 8px;
}

.fy-woo-main .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 18px;
  font-weight: 800;
  font-family: 'Barlow Condensed', sans-serif;
  color: var(--text);
}

/* ─── Express payment / wallet buttons area ─── */
.fy-woo-main .wc-block-components-express-payment,
.fy-woo-main .wc-block-components-express-payment-continue-rule {
  font-size: 13px;
  color: var(--muted);
}

/* ─── Loading skeleton ─── */
.fy-woo-main .wc-block-components-skeleton {
  border-radius: 8px;
}

/* ─── Links inside blocks (not product names) ─── */
.fy-woo-main .wc-block-checkout__login-prompt a,
.fy-woo-main .wc-block-components-totals-coupon-link {
  color: var(--blue);
  font-weight: 600;
  text-decoration: none;
}

.fy-woo-main .wc-block-checkout__login-prompt a:hover {
  opacity: 0.85;
}

/* ─── My Account page (content area) ─── */
.fy-woo-page--account .woocommerce-MyAccount-content .button,
.fy-woo-page--account .woocommerce-MyAccount-content a.button,
.fy-woo-page--account .woocommerce-MyAccount-content button.button,
.fy-woo-page--account .woocommerce-form-login .button,
.fy-woo-page--account .woocommerce-form-register .button {
  background: linear-gradient(90deg, var(--blue), #1677d2) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 12px 24px !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
}

.fy-woo-page--account .woocommerce-MyAccount-content input[type='text'],
.fy-woo-page--account .woocommerce-MyAccount-content input[type='email'],
.fy-woo-page--account .woocommerce-MyAccount-content input[type='tel'],
.fy-woo-page--account .woocommerce-MyAccount-content input[type='password'],
.fy-woo-page--account .woocommerce-MyAccount-content select,
.fy-woo-page--account .woocommerce-MyAccount-content textarea,
.fy-woo-page--account .woocommerce-form-login input.input-text,
.fy-woo-page--account .woocommerce-form-register input.input-text {
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 15px !important;
  color: var(--text) !important;
  background: #fff !important;
  min-height: 46px;
  box-shadow: none !important;
}

.fy-woo-page--account .woocommerce-MyAccount-content input:focus,
.fy-woo-page--account .woocommerce-MyAccount-content select:focus,
.fy-woo-page--account .woocommerce-MyAccount-content textarea:focus,
.fy-woo-page--account .woocommerce-form-login input:focus,
.fy-woo-page--account .woocommerce-form-register input:focus {
  outline: none !important;
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(30, 144, 255, 0.12) !important;
}

.fy-woo-page--account .woocommerce-MyAccount-content label,
.fy-woo-page--account .woocommerce-form-login label,
.fy-woo-page--account .woocommerce-form-register label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--text) !important;
}

.fy-woo-page--account .woocommerce-MyAccount-content .woocommerce-message,
.fy-woo-page--account .woocommerce-MyAccount-content .woocommerce-info,
.fy-woo-page--account .woocommerce-MyAccount-content .woocommerce-error {
  border-radius: 12px !important;
  padding: 14px 18px !important;
  margin-bottom: 20px !important;
  list-style: none;
}

.fy-woo-page--account .woocommerce-MyAccount-content .woocommerce-message,
.fy-woo-page--account .woocommerce-MyAccount-content .woocommerce-info {
  border: 1px solid #bfdbfe !important;
  background: var(--blue-soft) !important;
  color: var(--text) !important;
}

.fy-woo-page--account .woocommerce-MyAccount-content .woocommerce-error {
  border: 1px solid #fecaca !important;
  background: #fef2f2 !important;
  color: #991b1b !important;
}
