/* ══════════════════════════════════════
   Griff's BBQ - Checkout & Cart Branding
   Clean version - no duplicates
══════════════════════════════════════ */

/* ── BASE PAGE ── */
body.woocommerce-checkout,
body.woocommerce-cart {
  background: #080808 !important;
  font-family: 'Manrope', sans-serif !important;
}

body.woocommerce-checkout *,
body.woocommerce-cart * {
  color: #FFF3E0 !important;
}

/* ── HIDE ASTRA HEADER & FOOTER ── */
header.site-header,
#masthead,
.site-header,
footer.site-footer,
#colophon,
.site-footer,
.ast-above-header,
.ast-below-header,
.ast-primary-header-bar {
  display: none !important;
}

/* ── GRIFF'S BRANDED HEADER ── */
.griffs-header {
  background: #080808 !important;
  border-bottom: 2px solid #FF3200 !important;
  padding: 14px 5vw !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}

.griffs-header img {
  height: 50px !important;
  width: 50px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 2px solid rgba(255,170,0,0.4) !important;
  filter: none !important;
}

/* ── LABELS ── */
label,
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-checkbox label {
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #FFAA00 !important;
}

/* ── TEXT INPUTS (excludes radio, checkbox, number/qty) ── */
input:not([type="radio"]):not([type="checkbox"]):not([type="number"]),
select,
textarea,
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input {
  background: #222222 !important;
  border: 1.5px solid rgba(255,243,224,0.3) !important;
  color: #FFF3E0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 0.95rem !important;
  border-radius: 2px !important;
  padding: 10px 14px !important;
}

/* ── PLACEHOLDER TEXT ── */
input::placeholder,
textarea::placeholder {
  color: rgba(255,243,224,0.45) !important;
}

/* ── INPUT FOCUS ── */
input:focus,
select:focus,
textarea:focus {
  border-color: #FF3200 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255,50,0,0.15) !important;
}

/* ── RADIO BUTTONS (shipping options) ── */
input[type="radio"],
.wc-block-components-radio-control input[type="radio"],
.wc-block-components-radio-control__input {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  accent-color: #FF3200 !important;
  background: #ffffff !important;
  border: 2px solid #FF3200 !important;
  opacity: 1 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}

/* ── SHIPPING OPTION ROWS ── */
.wc-block-components-radio-control-accordion-option {
  background: #1A1A1A !important;
  border: 1.5px solid rgba(255,243,224,0.15) !important;
  border-radius: 3px !important;
  margin-bottom: 8px !important;
  padding: 12px 16px !important;
}

.wc-block-components-radio-control-accordion-option *:not(input[type="radio"]) {
  background: transparent !important;
  color: #FFAA00 !important;
  opacity: 1 !important;
}

.wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color: #FF3200 !important;
  background: rgba(255,50,0,0.12) !important;
}

/* ── QUANTITY SELECTOR (cart page) ── */
/* Container */
.wc-block-components-quantity-selector {
  display: flex !important;
  align-items: center !important;
  background: #222222 !important;
  border: 1.5px solid rgba(255,243,224,0.3) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  pointer-events: all !important;
}

/* Number input inside quantity selector */
.wc-block-components-quantity-selector input[type="number"] {
  background: #222222 !important;
  color: #FFF3E0 !important;
  border: none !important;
  text-align: center !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 1rem !important;
  padding: 8px 4px !important;
  width: 40px !important;
  pointer-events: all !important;
  -moz-appearance: textfield !important;
}

.wc-block-components-quantity-selector input[type="number"]::-webkit-outer-spin-button,
.wc-block-components-quantity-selector input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
}

/* Plus and minus buttons */
.wc-block-components-quantity-selector__button {
  background: #FF3200 !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer !important;
  pointer-events: all !important;
  padding: 8px 12px !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  transition: background 0.2s !important;
  opacity: 1 !important;
}

.wc-block-components-quantity-selector__button:hover {
  background: #CC2800 !important;
}

.wc-block-components-quantity-selector__button:disabled {
  background: #444444 !important;
  cursor: not-allowed !important;
  opacity: 0.5 !important;
}

/* ── PLACE ORDER BUTTON ── */
#place_order,
.wc-block-components-checkout-place-order-button {
  background: linear-gradient(135deg, #FF3200, #CC2800) !important;
  color: #ffffff !important;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 2px !important;
  padding: 16px 32px !important;
  box-shadow: 0 6px 28px rgba(255,50,0,0.4) !important;
  width: 100% !important;
}

/* ── PRICES ── */
.woocommerce-Price-amount,
.woocommerce-Price-amount * {
  color: #FFAA00 !important;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 700 !important;
}

/* ── ORDER SUMMARY TABLE ── */
table.shop_table {
  background: #1A1A1A !important;
  border: 1px solid rgba(255,243,224,0.1) !important;
}

table.shop_table th {
  background: #111111 !important;
  color: #FFAA00 !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
}

table.shop_table td {
  background: #1A1A1A !important;
  padding: 12px 16px !important;
}

/* ── QUANTITY BADGE ON ORDER SUMMARY ── */
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity * {
  background: #FF3200 !important;
  color: #ffffff !important;
  border: 2px solid #FFAA00 !important;
  font-weight: 900 !important;
  border-radius: 50% !important;
}

/* ── EDIT CART BUTTON ── */
.griffs-edit-cart {
  display: block !important;
  text-align: center !important;
  margin-top: 14px !important;
  padding: 10px !important;
  background: #FF3200 !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.griffs-edit-cart:hover {
  background: #CC2800 !important;
  color: #ffffff !important;
}

/* ── REMOVE LINK ── */
.wc-block-components-order-summary-item__remove-link,
.wc-block-components-order-summary-item__full-remove-link {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #FF3200 !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  margin-top: 6px !important;
}
