/* Refuel shop templates only. No homepage or global scrolling overrides. */
body.refuel-wc-store-page,
body.refuel-wc-store-page *,
body.refuel-wc-store-page *::before,
body.refuel-wc-store-page *::after { box-sizing: border-box; }
body.refuel-wc-store-page .refuel-wc-wrap { width: min(calc(100% - 32px), 1180px); min-width: 0; }
body.refuel-wc-store-page .refuel-wc-brand {
  display: block; position: relative; padding-left: 46px; line-height: 38px;
  flex-shrink: 0; font-size: 18px;
}
body.refuel-wc-store-page .refuel-wc-brand::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; background: url("refuel-logo.png") center / contain no-repeat;
}
body.refuel-wc-store-page .refuel-wc-main { padding: 36px 0; }
body.refuel-wc-store-page .refuel-wc-panel { padding: clamp(16px, 3vw, 28px); }
body.refuel-wc-store-page .refuel-wc-main h1 { margin: 0 0 24px; font-size: clamp(28px, 5vw, 40px); line-height: 1.18; }
body.refuel-wc-store-page .refuel-wc-main h2 { line-height: 1.25; }
body.refuel-wc-store-page .refuel-wc-main .price { color: #85ffc1 !important; }
body.refuel-wc-store-page .woocommerce div.product div.images img {
  max-height: 420px; object-fit: contain; border-radius: 16px; background: #fff;
}
body.refuel-wc-store-page .woocommerce ul.products li.product a img {
  aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 12px;
}
body.refuel-wc-store-page .woocommerce div.product form.cart {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
}
body.refuel-wc-store-page .woocommerce div.product form.cart .quantity { margin: 0; }
body.refuel-wc-store-page .woocommerce .quantity .qty { min-height: 48px; width: 76px; border-radius: 10px; }

/* WooCommerce Blocks do not use the classic .button class. */
body.refuel-wc-store-page .refuel-wc-main .button,
body.refuel-wc-store-page .refuel-wc-main button.button,
body.refuel-wc-store-page .refuel-wc-main input.button,
body.refuel-wc-store-page .refuel-wc-main .wc-block-components-button.wp-element-button {
  min-height: 48px; padding: 14px 20px; border: 1px solid #20eee0 !important;
  border-radius: 12px !important; color: #001315 !important;
  background: linear-gradient(135deg, #20eee0, #85ffc1) !important;
  font-weight: 800 !important; line-height: 1.25; text-align: center;
}
body.refuel-wc-store-page .wc-block-components-button__text { color: inherit; }
body.refuel-wc-store-page .refuel-wc-main button:disabled,
body.refuel-wc-store-page .refuel-wc-main .button.disabled,
body.refuel-wc-store-page .refuel-wc-main [aria-disabled="true"] {
  opacity: .5; cursor: not-allowed;
}
body.refuel-wc-store-page a:focus-visible,
body.refuel-wc-store-page button:focus-visible,
body.refuel-wc-store-page input:focus-visible,
body.refuel-wc-store-page select:focus-visible,
body.refuel-wc-store-page textarea:focus-visible { outline: 3px solid #85ffc1; outline-offset: 3px; }

/* Give both the floating labels and their fields explicit matching colors. */
body.refuel-wc-store-page .refuel-wc-main input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
body.refuel-wc-store-page .refuel-wc-main textarea,
body.refuel-wc-store-page .refuel-wc-main select,
body.refuel-wc-store-page .wc-blocks-components-select .wc-blocks-components-select__container {
  color: #f2ffff !important; background-color: #0d2428 !important;
  border-color: #64848a !important; border-radius: 10px; font-size: 16px;
  caret-color: #20eee0; color-scheme: dark;
}
body.refuel-wc-store-page .refuel-wc-main .wc-block-components-text-input label,
body.refuel-wc-store-page .refuel-wc-main .wc-blocks-components-select__label,
body.refuel-wc-store-page .refuel-wc-main .wc-block-components-combobox label { color: #cbe2e5 !important; opacity: 1; }
body.refuel-wc-store-page .refuel-wc-main input::placeholder,
body.refuel-wc-store-page .refuel-wc-main textarea::placeholder { color: #cbe2e5; opacity: 1; }
body.refuel-wc-store-page .refuel-wc-main input:autofill {
  -webkit-text-fill-color: #f2ffff; box-shadow: 0 0 0 1000px #0d2428 inset;
}
body.refuel-wc-store-page .wc-blocks-components-select__expand { fill: #cbe2e5; }
body.refuel-wc-store-page .wc-block-components-validation-error,
body.refuel-wc-store-page .wc-block-components-validation-error p { color: #ffb8b8; }
body.refuel-wc-store-page .wc-block-components-text-input.has-error input,
body.refuel-wc-store-page .wc-block-components-text-input input[aria-invalid="true"] { border-color: #ff9e9e !important; }
body.refuel-wc-store-page .wc-block-components-radio-control-accordion-content,
body.refuel-wc-store-page .wc-block-components-radio-control__option { color: #f2ffff; background: #0d2428; }
body.refuel-wc-store-page .wc-block-components-radio-control,
body.refuel-wc-store-page .wc-block-components-radio-control-accordion-option { border-color: #64848a; }

body.refuel-wc-store-page .woocommerce-message,
body.refuel-wc-store-page .woocommerce-info,
body.refuel-wc-store-page .woocommerce-error,
body.refuel-wc-store-page .wc-block-components-notice-banner {
  color: #f2ffff !important; background: #0d2428 !important;
  border: 1px solid #64848a; border-radius: 12px; line-height: 1.5;
}
body.refuel-wc-store-page .woocommerce-message,
body.refuel-wc-store-page .wc-block-components-notice-banner.is-success { border-color: #85ffc1; }
body.refuel-wc-store-page .woocommerce-error,
body.refuel-wc-store-page .wc-block-components-notice-banner.is-error { border-color: #ff9e9e; }
body.refuel-wc-store-page .woocommerce-message::before { color: #85ffc1; }
body.refuel-wc-store-page .wc-block-cart-item__image img,
body.refuel-wc-store-page .wc-block-components-order-summary-item__image img {
  object-fit: contain; background: #fff; border-radius: 8px;
}
body.refuel-wc-store-page .wc-block-components-product-name { overflow-wrap: anywhere; }
body.refuel-wc-store-page .wc-block-cart,
body.refuel-wc-store-page .wc-block-checkout { margin-bottom: 0; }
body.refuel-wc-store-page .refuel-wc-footer { font-size: 14px; line-height: 1.6; }

@media (max-width: 820px) {
  /* A normal-flow shop header keeps checkout headings and focused fields visible. */
  body.refuel-wc-store-page .refuel-wc-header { position: relative; top: auto; }
  body.refuel-wc-store-page .refuel-wc-nav { flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 0 8px; min-height: 0; }
  body.refuel-wc-store-page .refuel-wc-brand { font-size: 16px; }
  body.refuel-wc-store-page .refuel-wc-links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; width: 100%; }
  body.refuel-wc-store-page .refuel-wc-links a { min-width: 0; min-height: 44px; padding: 8px 2px; display: grid; align-items: center; text-align: center; font-size: 12px; line-height: 1.25; }
  body.refuel-wc-store-page .refuel-wc-main { padding: 24px 0; }
  body.refuel-wc-store-page .refuel-wc-main .woocommerce,
  body.refuel-wc-store-page .refuel-wc-panel { padding: 16px; }
  body.refuel-wc-store-page .woocommerce div.product div.images img { max-height: 300px; }
  body.refuel-wc-store-page .woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; }
  body.refuel-wc-store-page .woocommerce-message { display: flex; flex-direction: column; gap: 12px; padding: 16px 16px 16px 44px; }
  body.refuel-wc-store-page .woocommerce-message .button { order: 1; float: none; margin: 0; width: 100%; }
  body.refuel-wc-store-page .wc-block-cart-items .wc-block-cart-item__total-price-and-sale-badge-wrapper { overflow-wrap: normal; }
  body.refuel-wc-store-page .wc-block-components-product-metadata { font-size: 13px; line-height: 1.5; }
}
