/* WordPress-only additions to the EKA YOGA shop design. Keep this file small:
   the design itself lives in the other files, copied from the design repo. */

/* Product description coming from WooCommerce (products without design copy) */
.pd-desc > :first-child { margin-top: 0; }

/* Options that cannot be bought (out of stock) */
.pd-size[disabled] { opacity: 0.4; cursor: not-allowed; }
.pd-btn[disabled] { opacity: 0.5; cursor: not-allowed; }
.pd-note { margin: 8px 0 0; font-size: 14px; }

/* ---- WooCommerce checkout form inside the design's checkout page (.co) ---- */
.co .woocommerce { margin: 0; }
.co form.checkout { margin: 0; }
.co .form-row { margin: 0; padding: 0; }
.co .woocommerce-input-wrapper { display: block; }
.co abbr.required { border: 0; text-decoration: none; }
.co .optional { display: none; }
.co .woocommerce-invalid .co-input { border-color: var(--text-error); }
.co .checkout-inline-error-message { margin: 0; color: var(--text-error); font-size: 14px; }
.co [data-notes][hidden] { display: none; }

/* Country / region dropdowns (selectWoo) */
.co .select2-container { width: 100% !important; }
.co .select2-container .select2-selection--single {
  box-sizing: border-box; height: 56px; border: 1px solid var(--brand-green); border-radius: var(--radius-control); background: var(--bg-page);
}
.co .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0 40px 0 16px; color: var(--text-main); font: 400 16px/54px var(--font-sans);
}
.co .select2-container .select2-selection--single .select2-selection__arrow { top: 0; right: 12px; height: 54px; }
.select2-dropdown { border-color: #5D7054; background: #F3F0E4; color: #5D7054; font-family: Lato, sans-serif; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: #5D7054; color: #fff; }
.select2-container--default .select2-search--dropdown .select2-search__field { border-color: #5D7054; background: #F3F0E4; }

/* Messages from WooCommerce */
.co .woocommerce-error, .co .woocommerce-info, .co .woocommerce-message, .co .woocommerce-NoticeGroup ul {
  list-style: none; margin: 0 0 24px; padding: 12px 16px; border: 1px solid var(--brand-green); border-radius: var(--radius-control);
  font-size: 16px; line-height: 1.5;
}
.co .woocommerce-NoticeGroup ul ul { margin: 0; padding: 0; border: 0; }
.co .woocommerce-error { border-color: var(--text-error); color: var(--text-error); }
.co .woocommerce-error a, .co .woocommerce-info a { color: inherit; }

/* Payment methods: one button per method, the method's own fields below the row */
.co #payment ul.wc_payment_methods {
  list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.co #payment li.wc_payment_method { display: contents; }
.co #payment li.wc_payment_method > input.input-radio { position: absolute; width: 1px; height: 1px; opacity: 0; }
.co #payment li.wc_payment_method > label {
  box-sizing: border-box; min-height: 72px; display: flex; align-items: center; gap: 8px; padding: 8px 16px;
  border: 1px solid var(--brand-green); border-radius: var(--radius-control); font: 700 16px/1.2 var(--font-sans); cursor: pointer;
}
.co #payment li.wc_payment_method > input:checked + label { border: 2px solid var(--brand-red); background: rgba(175, 93, 101, 0.06); }
.co #payment li.wc_payment_method > input:focus-visible + label { outline: 2px solid var(--brand-green); outline-offset: 2px; }
.co #payment li.wc_payment_method > label img { max-height: 24px; width: auto; }
.co #payment .payment_box { grid-column: 1 / -1; order: 10; font-size: 16px; line-height: 1.5; }
.co #payment .payment_box p { margin: 0 0 12px; }
.co #payment .payment_box fieldset { margin: 0; padding: 0; border: 0; }
.co #payment .place-order { margin: 0; padding: 0; }
.co #payment .woocommerce-privacy-policy-text { font-size: 14px; line-height: 1.5; }
.co #payment .woocommerce-privacy-policy-text a { color: var(--brand-red); }
.co .co-pay { -webkit-appearance: none; appearance: none; }
.co .co-pay::before {
  content: ""; width: 24px; height: 24px; flex: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='1'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.co .blockUI.blockOverlay { background: var(--bg-page) !important; opacity: 0.6 !important; }

/* Order summary: several delivery options */
.co .co-shipping { width: 100%; margin-top: 16px; border-collapse: collapse; border-bottom: 1px solid var(--brand-green); font-size: 16px; }
.co .co-shipping th { padding: 0 16px 16px 0; text-align: left; vertical-align: top; font-weight: 400; }
.co .co-shipping td { padding: 0 0 16px; text-align: right; }
.co .co-shipping ul { list-style: none; margin: 0; padding: 0; }

@media (max-width: 1100px) {
  .co #payment ul.wc_payment_methods { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .co #payment li.wc_payment_method > label { min-height: 56px; }
}

/* Thank-you page: payment instructions added by a gateway */
.ty .ty-gateway { max-width: 880px; margin: 32px auto 0; font-size: 16px; line-height: 1.5; }
.ty .ty-gateway:empty { display: none; }
