/* ==========================================================================
   Peak Performance Institute — WooCommerce brand skin.

   Recolors WooCommerce (shop, product, cart, checkout, account, Stripe fields,
   block + classic) to the institute palette. Scoped to WooCommerce containers
   so it never leaks into the rest of the site. `!important` beats WooCommerce's
   own inline / plugin styles where needed.
   ========================================================================== */

:root {
  --ppi-red: #C8102E;
  --ppi-dark: #111111;
  --ppi-light: #F8F9FA;
  --ppi-gold: #D4AF37;
}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */
.woocommerce,
.woocommerce-page {
  font-family: 'Inter', sans-serif;
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.woocommerce .product_title {
  font-family: 'Montserrat', sans-serif;
  color: var(--ppi-dark);
}

/* --------------------------------------------------------------------------
   Buttons — primary actions → brand red pill.
   -------------------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .single_add_to_cart_button,
.woocommerce .checkout-button,
.wc-block-components-button:not(.is-link) {
  background-color: var(--ppi-red) !important;
  border: 1px solid var(--ppi-red) !important;
  color: #fff !important;
  border-radius: 9999px !important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.85em 1.8em;
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce .checkout-button:hover,
.wc-block-components-button:not(.is-link):hover {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

/* Secondary / outline buttons (e.g. "Update cart"). */
.woocommerce button.button[name="update_cart"],
.woocommerce a.button.wc-backward {
  background-color: transparent !important;
  color: var(--ppi-red) !important;
  border-color: var(--ppi-red) !important;
}

/* Disabled state (e.g. greyed Update Cart). */
.woocommerce button.button[disabled],
.woocommerce button.button:disabled {
  opacity: 0.45;
}

/* --------------------------------------------------------------------------
   Form fields — branded focus state, rounded corners.
   -------------------------------------------------------------------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input {
  border: 1px solid #d1d5db !important;
  border-radius: 0.5rem !important;
  padding: 0.65rem 0.9rem;
  font-size: 0.8rem;
  transition: border-color .2s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.wc-block-components-text-input input:focus {
  border-color: var(--ppi-red) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--ppi-red) !important;
}

.woocommerce form .form-row label,
.wc-block-components-text-input label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #6b7280;
}

/* Stripe hosted card fields — match the dark slate input aesthetic. */
.wc-stripe-elements-field,
.wc-stripe-iban-element-field,
#wc-stripe-card-element,
.woocommerce .StripeElement {
  border: 1px solid #d1d5db !important;
  border-radius: 0.5rem !important;
  padding: 0.75rem 0.9rem !important;
  background: #fff;
}

.wc-stripe-elements-field.focused,
.woocommerce .StripeElement--focus {
  border-color: var(--ppi-red) !important;
  box-shadow: 0 0 0 1px var(--ppi-red) !important;
}

/* --------------------------------------------------------------------------
   Prices.
   -------------------------------------------------------------------------- */
.woocommerce .price,
.woocommerce .amount,
.woocommerce-Price-amount {
  color: var(--ppi-dark);
  font-weight: 800;
}

.woocommerce .price del .amount {
  color: #9ca3af;
  font-weight: 400;
}

.woocommerce .price ins .amount,
.woocommerce span.onsale {
  color: var(--ppi-red);
}

/* On-sale flash. */
.woocommerce span.onsale {
  background-color: var(--ppi-red) !important;
  color: #fff !important;
  border-radius: 9999px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  min-height: auto;
  min-width: auto;
  line-height: 1;
  padding: 0.5em 0.9em;
}

/* --------------------------------------------------------------------------
   Product grid cards.
   -------------------------------------------------------------------------- */
.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  padding: 1rem 1rem 1.5rem;
  box-shadow: 0 4px 12px -6px rgba(17, 17, 17, 0.08);
  transition: box-shadow .25s ease, transform .25s ease;
}

.woocommerce ul.products li.product:hover {
  box-shadow: 0 18px 35px -18px rgba(17, 17, 17, 0.25);
  transform: translateY(-2px);
}

.woocommerce ul.products li.product img {
  border-radius: 0.75rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--ppi-dark);
}

.woocommerce ul.products li.product .star-rating span,
.woocommerce .star-rating span::before {
  color: var(--ppi-gold);
}

/* --------------------------------------------------------------------------
   Cart & checkout tables / order review.
   -------------------------------------------------------------------------- */
.woocommerce table.shop_table,
.woocommerce .cart-collaterals .cart_totals table,
.woocommerce-checkout #order_review .shop_table {
  border-radius: 1rem;
  border-color: #eceef1;
}

.woocommerce table.shop_table th {
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  color: var(--ppi-dark);
}

.woocommerce-checkout #payment,
.woocommerce .cart-collaterals .cart_totals {
  background: var(--ppi-light);
  border-radius: 1rem;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom-color: #e5e7eb;
}

.woocommerce-checkout #payment div.payment_box {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #fff;
}

.woocommerce .order-total .amount,
.woocommerce-checkout .order-total .amount {
  color: var(--ppi-red);
  font-size: 1.4rem;
}

/* --------------------------------------------------------------------------
   Checkout — branded two-column card layout for the classic
   [woocommerce_checkout] shortcode. Markup: woocommerce/checkout/
   form-checkout.php (columns) + review-order.php (line-item thumbnails).
   -------------------------------------------------------------------------- */
.woocommerce-checkout .ppi-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: start;
  gap: 2rem;
  max-width: 1180px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .woocommerce-checkout .ppi-checkout {
    grid-template-columns: 1fr;
  }
}

/* Card shell for each column. */
.ppi-checkout__col {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 12px 34px -20px rgba(17, 17, 17, 0.18);
}

/* Left column: stack billing and additional-information sections full width. */
.ppi-checkout #customer_details.col2-set {
  display: block;
}
.ppi-checkout #customer_details .col-1,
.ppi-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
  max-width: 100%;
  padding: 0;
}
.ppi-checkout #customer_details .col-2 {
  margin-top: 2.25rem;
}

/* Section headings (Billing details / Additional information / Your order). */
.ppi-checkout h3,
.ppi-checkout #order_review_heading,
.ppi-checkout .woocommerce-billing-fields > h3,
.ppi-checkout .woocommerce-shipping-fields > h3,
.ppi-checkout .woocommerce-additional-fields > h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ppi-dark);
  margin: 0 0 1.5rem;
  padding: 0;
  border: 0;
}

/* Billing fields: First/Last name side by side, everything else full width. */
.ppi-checkout .form-row {
  margin: 0 0 1.15rem;
}
@media (min-width: 640px) {
  .ppi-checkout .woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
  }
  .ppi-checkout .woocommerce-billing-fields__field-wrapper > .form-row {
    float: none !important;
    width: auto !important;
    margin-left: 0;
    margin-right: 0;
  }
  .ppi-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide {
    grid-column: 1 / -1;
  }
}

/* Order review table — borderless, roomy rows, right-aligned totals. */
.ppi-checkout #order_review .shop_table {
  border: 0;
  width: 100%;
  border-radius: 0;
}
.ppi-checkout #order_review .shop_table thead th {
  border-bottom: 1px solid #eceef1;
  padding: 0 0 0.85rem;
  color: #9ca3af;
  font-size: 0.7rem;
}
.ppi-checkout #order_review .shop_table thead th.product-total {
  text-align: right;
}
.ppi-checkout #order_review .cart_item td {
  border-top: 1px solid #f3f4f6;
  padding: 1rem 0;
  vertical-align: middle;
}
.ppi-checkout #order_review .cart_item td.product-total {
  text-align: right;
  font-weight: 800;
  color: var(--ppi-dark);
  white-space: nowrap;
}

/* Line item: thumbnail + name / quantity. */
.ppi-checkout-item {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.ppi-checkout-item__img {
  width: 3rem;
  height: 3rem;
  object-fit: cover;
  border-radius: 0.5rem;
  flex-shrink: 0;
}
.ppi-checkout-item__meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.ppi-checkout-item__name {
  font-weight: 700;
  color: var(--ppi-dark);
  line-height: 1.3;
}
.ppi-checkout #order_review .ppi-checkout-item .product-quantity {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #9ca3af;
}

/* Subtotal / total footer rows. */
.ppi-checkout #order_review tfoot th,
.ppi-checkout #order_review tfoot td {
  padding: 0.7rem 0;
  border: 0;
}
.ppi-checkout #order_review tfoot td {
  text-align: right;
}
.ppi-checkout #order_review tfoot .cart-subtotal th,
.ppi-checkout #order_review tfoot .cart-subtotal td {
  color: #9ca3af;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.03em;
}
.ppi-checkout #order_review tfoot .order-total {
  border-top: 1px solid #eceef1;
}
.ppi-checkout #order_review tfoot .order-total th {
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  color: var(--ppi-dark);
}

/* Payment: methods in a light sub-card, Place order right-aligned below it. */
.ppi-checkout #order_review #payment {
  background: transparent;
  margin-top: 1.5rem;
}
.ppi-checkout #order_review #payment ul.payment_methods {
  background: var(--ppi-light);
  border: 1px solid #e5e7eb;
  border-radius: 0.85rem;
  padding: 1rem 1.25rem;
  margin: 0;
}
.ppi-checkout #order_review #payment .form-row.place-order {
  padding: 1.25rem 0 0;
  margin: 0;
  text-align: right;
  background: transparent;
}
.ppi-checkout #order_review #payment #place_order {
  float: none;
  width: auto;
}

/* Coupon link / qty. */
.woocommerce-cart .quantity .qty {
  border-radius: 0.5rem;
  border: 1px solid #d1d5db;
}

/* --------------------------------------------------------------------------
   Notices — branded message / info / error.
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
  border-top: 3px solid var(--ppi-red);
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 4px 12px -6px rgba(17, 17, 17, 0.1);
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--ppi-red);
}

.woocommerce-error {
  border-top-color: var(--ppi-red);
}

.woocommerce-error::before {
  color: var(--ppi-red);
}

/* --------------------------------------------------------------------------
   My Account.
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #eceef1;
  border-radius: 1rem;
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid #f3f4f6;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 0.85rem 1.25rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ppi-dark);
  transition: background-color .2s ease, color .2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--ppi-red);
  color: #fff;
}

/* Profile header (woocommerce/myaccount/my-account.php). */
.ppi-account {
  max-width: 1180px;
  margin: 0 auto;
}
.ppi-account__header {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  margin-bottom: 2rem;
}
.ppi-account__cover {
  height: 240px;
  background: linear-gradient(120deg, #c8102e 0%, #8e1a6b 30%, #2aa9b0 66%, #1f7ae0 100%);
}
.ppi-account__identity {
  position: absolute;
  left: 2rem;
  bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1.1rem;
}
.ppi-account__avatar img {
  width: 96px;
  height: 96px !important;
  border-radius: 9999px;
  border: 4px solid #fff;
  object-fit: cover;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
  margin: 0;
}
.ppi-account__meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.ppi-account__name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 1.1;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}
.ppi-account__email {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
}

/* Two-column body: navigation + content. */
.ppi-account__body {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}
.ppi-account__body .woocommerce-MyAccount-navigation,
.ppi-account__body .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  margin: 0;
  background-color: #ffffff;
}
.ppi-account__body .woocommerce-MyAccount-content{
  padding: 1.2rem;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  .ppi-account__body {
    grid-template-columns: 1fr;
  }
  .ppi-account__identity {
    left: 1.25rem;
    bottom: 1.25rem;
  }
  .ppi-account__name {
    font-size: 1.2rem;
  }
}

/* Avatar upload control (Account details tab). */
.ppi-avatar-field {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem;
  margin-bottom: 2rem;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  background: var(--ppi-light);
}
.ppi-avatar-field__preview {
  position: relative;
  flex-shrink: 0;
  line-height: 0;
}
.ppi-avatar-field__preview img {
  width: 96px;
  height: 96px !important;
  border-radius: 9999px;
  object-fit: cover;
  border: 1px solid #e5e7eb;
  background: #fff;
  margin: 0;
}
.ppi-avatar-field__camera {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 9999px;
  background: var(--ppi-dark);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  cursor: pointer;
  font-size: 0.8rem;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 0.2s ease;
}
.ppi-avatar-field__camera:hover {
  background: var(--ppi-red);
}
.ppi-avatar-field__input {
  display: none;
}
.ppi-avatar-field__actions {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.ppi-avatar-field__buttons {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.ppi-avatar-field__change,
.ppi-avatar-field__remove {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 1.35rem;
  border-radius: 9999px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ppi-avatar-field__change {
  background: var(--ppi-red);
  color: #fff;
  border: 1px solid var(--ppi-red);
}
.ppi-avatar-field__change:hover {
  background: #000;
  border-color: #000;
}
.ppi-avatar-field__remove {
  background: transparent;
  color: var(--ppi-red);
  border: 1px solid var(--ppi-red);
}
.ppi-avatar-field__remove:hover {
  background: var(--ppi-red);
  color: #fff;
}
.ppi-avatar-field__hint {
  font-size: 0.72rem;
  color: #9ca3af;
}
.ppi-avatar-field__hint.is-selected {
  color: var(--ppi-red);
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Tabs (single product data tabs).
   -------------------------------------------------------------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--ppi-red);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--ppi-red);
}

/* --------------------------------------------------------------------------
   Single product — Reviews tab (themed to brand palette).
   -------------------------------------------------------------------------- */

#reviews .woocommerce-Reviews-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  color: var(--ppi-dark);
  font-size: 1.05rem;
  margin-bottom: 1.5rem;
}

/* Review list */
#reviews ol.commentlist {
  list-style: none;
  margin: 0;
  padding: 0;
}
#reviews ol.commentlist li.review,
#reviews ol.commentlist li.comment {
  padding: 1.5rem 0;
  margin: 0;
  border-bottom: 1px solid #eceef1;
  background: transparent;
}
#reviews ol.commentlist li .comment_container {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
#reviews ol.commentlist li img.avatar {
  position: static;
  float: none;
  width: 56px;
  height: 56px;
  border-radius: 9999px;
  margin: 0;
  padding: 0;
  border: 1px solid #eceef1;
  background: var(--ppi-light);
}
#reviews ol.commentlist li .comment-text {
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  flex: 1;
}
#reviews .comment-text p.meta {
  font-size: 0.95rem;
  margin: 0 0 0.4rem;
  color: #9ca3af;
}
#reviews .comment-text .woocommerce-review__author {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--ppi-dark);
}
#reviews .comment-text .woocommerce-review__dash,
#reviews .comment-text time.woocommerce-review__published-date {
  color: #9ca3af;
  font-weight: 400;
}
#reviews .comment-text .description {
  color: #6b7280;
  font-size: 0.9rem;
  line-height: 1.75;
}
#reviews .comment-text .description p:last-child {
  margin-bottom: 0;
}

/* Star ratings: gold filled, light-grey track */
#reviews .star-rating::before {
  color: #e5e7eb;
}
#reviews .star-rating span::before {
  color: var(--ppi-gold);
}

/* Add a review form */
#review_form #reply-title.comment-reply-title {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  color: var(--ppi-dark);
  font-size: 1.5rem;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}
#review_form .comment-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem 1.5rem;
}
#review_form .comment-form-rating,
#review_form .comment-form-comment,
#review_form .comment-form-cookies-consent,
#review_form .form-submit,
#review_form .comment-notes {
  grid-column: 1 / -1;
}
#review_form .comment-form-author,
#review_form .comment-form-email {
  margin: 0;
}
#review_form .comment-form label {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--ppi-dark);
  font-size: 0.85rem;
  margin-bottom: 0.4rem;
}
#review_form .comment-form .required {
  color: var(--ppi-red);
  border: 0;
}
#review_form .comment-form input[type="text"],
#review_form .comment-form input[type="email"],
#review_form .comment-form textarea {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1px solid #d1d5db;
  border-radius: 0.75rem;
  font-size: 0.9rem;
  color: var(--ppi-dark);
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#review_form .comment-form input[type="text"]:focus,
#review_form .comment-form input[type="email"]:focus,
#review_form .comment-form textarea:focus {
  outline: none;
  border-color: var(--ppi-red);
  box-shadow: 0 0 0 1px var(--ppi-red);
}
#review_form .comment-form textarea {
  min-height: 160px;
  resize: vertical;
}

/* Rating star selector */
#review_form .comment-form-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
#review_form .comment-form-rating label {
  margin-bottom: 0;
}
#review_form p.stars {
  margin: 0;
}
#review_form p.stars a::before,
#review_form p.stars a:hover ~ a::before {
  color: var(--ppi-gold);
}
#review_form p.stars a {
  color: var(--ppi-gold);
}

/* Submit button — brand red */
#review_form .form-submit {
  margin: 0.5rem 0 0;
}
#review_form .form-submit .submit {
  background: var(--ppi-red);
  color: #fff;
  border: 0;
  border-radius: 0.5rem;
  padding: 0.85rem 2.25rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.3s ease;
}
#review_form .form-submit .submit:hover {
  background: #000;
}
.woocommerce-Tabs-panel--description h2 {
    font-weight: 800;
    font-size: 1.05rem;
    margin-bottom: 1.5rem;
}
.woocommerce-product-details__short-description {
    margin-bottom: 2rem;
    margin-top: 1rem;
}
.wc-bookings-booking-form {
    
    margin: 0 0 2em;
}
@media (max-width: 640px) {
  #review_form .comment-form {
    grid-template-columns: 1fr;
  }
}
