/*
Theme Name: RP Fitness v2
Theme URI: https://rpfitness.ee
Author: NEFA Studio OÜ
Author URI: https://veebihai.ee
Description: Dark athletic fitness theme — Tailwind CSS + ACF Pro + WooCommerce
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: Proprietary
Text Domain: rpfitness
*/

/* Hero em accent — green */
h1 em, h2 em {
  color: #CDFF00;
  font-style: normal;
}

/* ═══════════════════════════════════════════
   ACCORDION (services on front page)
   ═══════════════════════════════════════════ */
.srv-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.srv-item.is-open .srv-content {
  max-height: 800px;
}
.srv-item.is-open .srv-icon {
  transform: rotate(45deg);
}

/* ═══════════════════════════════════════════
   WOOCOMMERCE DARK OVERRIDES
   ═══════════════════════════════════════════ */

/* Price display */
.woocommerce .price,
.woocommerce .amount {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  color: #CDFF00;
}
.woocommerce del .amount {
  color: #666;
  font-weight: 400;
}

/* Qty input */
.woocommerce .quantity .qty {
  width: 3rem;
  height: 2.5rem;
  text-align: center;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  -moz-appearance: textfield;
}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

/* Wrap WC add-to-cart in flex row with custom qty */
.rpf-add-to-cart .cart {
  display: flex;
  gap: 0.75rem;
  align-items: stretch;
}
.rpf-add-to-cart .quantity {
  display: flex;
  align-items: center;
  border: 1px solid #2a2a2a;
  position: relative;
}
.rpf-add-to-cart .quantity::before,
.rpf-add-to-cart .quantity::after {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #fff;
  width: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  transition: background 0.15s;
}
.rpf-add-to-cart .quantity::before {
  content: '−';
  border-right: 1px solid #2a2a2a;
}
.rpf-add-to-cart .quantity::after {
  content: '+';
  border-left: 1px solid #2a2a2a;
}
.rpf-add-to-cart .quantity::before:hover,
.rpf-add-to-cart .quantity::after:hover {
  background: #1e1e1e;
}
.rpf-add-to-cart .quantity .qty {
  width: 3rem;
  height: 2.75rem;
  text-align: center;
  background: #1a1a1a;
  border: none;
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  -moz-appearance: textfield;
}

/* Add to cart button override */
.woocommerce .single_add_to_cart_button {
  background: #CDFF00 !important;
  color: #0a0a0a !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
  padding: 0.75rem 1.5rem !important;
  border: none !important;
  transition: all 0.3s !important;
}
.woocommerce .single_add_to_cart_button:hover {
  background: #b8e600 !important;
  box-shadow: 0 0 20px rgba(205, 255, 0, 0.2) !important;
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info {
  background: #161616;
  border: 1px solid #2a2a2a;
  border-left: 4px solid #CDFF00;
  color: #a0a0a0;
  padding: 1rem 1.5rem;
}
.woocommerce-error {
  background: #161616;
  border: 1px solid #2a2a2a;
  border-left: 4px solid #ef4444;
  color: #a0a0a0;
  padding: 1rem 1.5rem;
}

/* WooCommerce forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: 0.75rem 1rem;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  transition: border-color 0.15s;
  outline: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: #CDFF00;
  box-shadow: 0 0 0 3px rgba(205, 255, 0, 0.15);
}
.woocommerce form .form-row label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #a0a0a0;
  margin-bottom: 0.375rem;
  display: block;
}

/* Hide coupon prompt on checkout */
.woocommerce-form-coupon-toggle,
.checkout_coupon,
.woocommerce-form-coupon,
.showcoupon,
.woocommerce-info a.showcoupon,
.woocommerce-info {
  display: none !important;
}

/* Checkout billing form — labels + inputs */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
  margin-bottom: 1rem !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last {
  width: 48% !important;
  display: inline-block !important;
  vertical-align: top !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first {
  margin-right: 4% !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  color: #a0a0a0 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper {
  display: block !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input.input-text,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select,
.woocommerce-checkout .woocommerce-additional-fields textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  background: #1a1a1a !important;
  border: 1px solid #2a2a2a !important;
  color: #fff !important;
  font-size: 14px !important;
  outline: none !important;
  transition: border-color 0.15s !important;
  -webkit-appearance: none !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input.input-text:focus,
.woocommerce-checkout .woocommerce-additional-fields textarea:focus {
  border-color: #CDFF00 !important;
  box-shadow: 0 0 0 3px rgba(205,255,0,0.15) !important;
}

/* Hide Billing details heading */
.woocommerce-billing-fields > h3 {
  display: none !important;
}

/* Hide additional fields heading */
.woocommerce-additional-fields > h3 {
  display: none !important;
}

/* Review order table */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 0.75rem 0;
  border-bottom: 1px solid #2a2a2a;
  font-size: 0.875rem;
  color: #a0a0a0;
}
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  font-size: 1.25rem;
  color: #CDFF00;
  border-top: 1px solid #2a2a2a;
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.wc_payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1rem 0 !important;
}
.wc_payment_method {
  padding: 1rem !important;
  border: 1px solid #2a2a2a !important;
  margin-bottom: 0.75rem !important;
  cursor: pointer;
  transition: border-color 0.15s;
  background: transparent !important;
}
.wc_payment_method:hover {
  border-color: #3a3a3a !important;
}
.wc_payment_method label {
  font-family: 'Barlow Condensed', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 0.875rem !important;
  cursor: pointer !important;
  font-weight: 600 !important;
}
.wc_payment_method .payment_box {
  background: transparent !important;
  color: #a0a0a0 !important;
  font-size: 0.8rem !important;
  padding: 0.75rem 0 0 1.75rem !important;
  margin: 0 !important;
}
.wc_payment_method .payment_box p {
  margin: 0 !important;
}
/* Privacy text below payment */
.woocommerce-checkout .woocommerce-privacy-policy-text {
  margin: 1rem 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text p {
  font-size: 0.75rem !important;
  color: #a0a0a0 !important;
  line-height: 1.5 !important;
}
/* Terms checkbox */
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  font-size: 0.75rem !important;
  color: #a0a0a0 !important;
  margin-bottom: 1rem !important;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox input {
  accent-color: #CDFF00 !important;
  margin-top: 2px !important;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox .required,
.woocommerce-checkout .required,
.woocommerce .required,
abbr.required {
  color: #CDFF00 !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
}
.woocommerce-checkout label .required {
  color: #CDFF00 !important;
}
.woocommerce-terms-and-conditions-link {
  color: #CDFF00 !important;
  text-decoration: underline !important;
}

/* Place order button */
#place_order {
  background: #CDFF00 !important;
  color: #0a0a0a !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
  width: 100% !important;
  padding: 1rem !important;
  font-size: 0.875rem !important;
  border: none !important;
  cursor: pointer;
  transition: all 0.3s !important;
}
#place_order:hover {
  background: #b8e600 !important;
  box-shadow: 0 0 20px rgba(205, 255, 0, 0.2) !important;
}

/* Contact Form 7 dark override */
.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.wpcf7-form p {
  margin: 0;
}
.wpcf7-form label {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #a0a0a0;
  margin-bottom: 0.5rem;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  padding: 0.875rem 1rem;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  outline: none;
  transition: border-color 0.15s;
  -webkit-appearance: none;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #CDFF00;
  box-shadow: 0 0 0 3px rgba(205, 255, 0, 0.15);
}
.wpcf7 select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%23666'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 2.5rem;
  cursor: pointer;
}
.wpcf7 textarea {
  min-height: 160px;
  resize: vertical;
}
.wpcf7 .wpcf7-submit {
  background: #CDFF00;
  color: #0a0a0a;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 1rem 2rem;
  border: none;
  cursor: pointer;
  width: 100%;
  font-size: 0.875rem;
  transition: all 0.3s;
}
.wpcf7 .wpcf7-submit:hover {
  background: #b8e600;
  box-shadow: 0 0 20px rgba(205, 255, 0, 0.2);
}
.wpcf7-response-output {
  border: 1px solid #2a2a2a !important;
  background: #161616;
  color: #a0a0a0;
  padding: 1rem;
  font-size: 0.875rem;
}
.wpcf7-not-valid-tip {
  color: #ef4444;
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

/* Hide WooCommerce default "View cart" link after ajax add to cart */
.woocommerce a.added_to_cart,
.added_to_cart {
  display: none !important;
}

/* Hide default WooCommerce "Billing details" heading */
.woocommerce-billing-fields > h3 {
  display: none !important;
}

/* WooCommerce pagination */
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  gap: 0.25rem;
  justify-content: center;
  list-style: none;
  padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #2a2a2a;
  color: #a0a0a0;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  transition: all 0.15s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: #CDFF00;
  color: #CDFF00;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #CDFF00;
  color: #0a0a0a;
  border-color: #CDFF00;
}
