/**
 * Theme Name:     Hello Elementor Child
 * Author:         Elementor Team
 * Template:       hello-elementor
 * Text Domain:    hello-elementor-child
 * Description:    Customized child theme with centralized CSS variables for easy updates.
 */

/* 🎨 CSS Variables */
:root {
  /* Colors */
  --primary-color: #2a9ae2;
  --primary-hover: #1b7fc2;
  --text-color: #222;
  --border-color: #ccc;
  --background-color: #fff;

  /* Typography */
  --letter-spacing-default: 1.5px;
  --line-height-default: 1.4;
  --font-size-default: 15px;
  --font-weight-label: 600;

  /* Spacing */
  --gap: 20px;
  --padding-input: 10px 15px;
  --padding-button: 12px 25px;
  --border-radius: 5px;
  --border-radius-button: 6px;
  --transition: 0.3s ease;
}

/* Hide Page Header */
#content > .page-header {
  display: none;
}

/* Generic Hidden Utility */
.hidden {
  display: none !important;
}

/* WooCommerce Product Titles */
.elementor-element .elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
  letter-spacing: var(--letter-spacing-default);
  line-height: var(--line-height-default);
}

/* Form Layout */
.custom-form-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-group label {
  font-weight: var(--font-weight-label);
  margin-bottom: 5px;
  color: var(--text-color);
}

.form-group input,
.form-group textarea {
  padding: var(--padding-input);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius);
  font-size: var(--font-size-default);
  background-color: var(--background-color);
  transition: border-color var(--transition);
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--primary-color);
  outline: none;
}

.form-group.half {
  flex: 1 1 calc(50% - 10px);
}

.form-group.full {
  flex: 1 1 100%;
}

/* Submit Buttons */
input[type="submit"],
button.wpcf7-submit {
  background-color: var(--primary-color);
  color: white;
  padding: var(--padding-button);
  border: none;
  border-radius: var(--border-radius-button);
  font-size: 16px;
  cursor: pointer;
  transition: background var(--transition);
}

input[type="submit"]:hover,
button.wpcf7-submit:hover {
  background-color: var(--primary-hover);
}

.form-group p {
  margin-bottom: 0;
}

/* WooCommerce Add to Cart Button */
.woocommerce-loop-product__buttons .button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added {
  margin-right: 10px;
}

/* Review Attachment Button */
button.view-review-attachment {
  display: block;
  margin-top: 10px;
}

/* Elementor H2 Override */
.elementor-kit-103 h2 {
  letter-spacing: var(--letter-spacing-default) !important;
}

/* Star Rating Color */
.comment-form-rating p.stars.selected a {
  color: var(--primary-hover);
}

form#commentform {
    display: flex;
    flex-direction: column;
}

form#commentform > * {
    order: 10;
}

form#commentform > p.comment-notes {
    order: 1;
}

form#commentform > .comment-form-rating {
    order: 2;
}

form#commentform > p.comment-form-author {
    order: 3;
}

form#commentform > p.comment-form-email {
    order: 4;
}

form#commentform > p.comment-form-comment {
    order: 5;
}

form#commentform > p.comment-form-file {
    order: 6;
}

.woocommerce #review_form #respond .form-submit input {
    font-family: var( --e-global-typography-520c191-font-family ), Sans-serif;
    font-size: var( --e-global-typography-520c191-font-size );
    font-weight: var( --e-global-typography-520c191-font-weight );
    border-style: solid;
    border-width: 0px 0px 0px 0px;
    border-radius: 5px 5px 5px 5px;
    padding: 14px 28px 14px 28px;
    color: var( --e-global-color-text );
    background-color: var( --e-global-color-d49ac81 );
    border-color: #02010100;
    transition: all 0.2s;
}

.woocommerce #review_form #respond .form-submit input:hover {
    color: var( --e-global-color-text );
    background-color: var( --e-global-color-332724a );
    border-color: #02010100;
}

.fancybox__content{
  padding: 0 !important;
}

.elementor-element .elementor-wc-products ul.products li.product{
  position: relative;
}

.elementor-element .elementor-wc-products ul.products li.product span.tinvwl_add_to_wishlist-text {
    display: none;
}

.elementor-element .elementor-wc-products ul.products li.product a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-position-after.tinvwl-loop {
    position: absolute;
    top: 25px;
    left: 25px;
    font-size: 20px;
    margin: 0;
    /* border: 1px solid black; */
    border-radius: 50%;
    line-height: 0;
}

.elementor-element .elementor-wc-products ul.products li.product a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-position-after.tinvwl-loop::before {
    margin-right: 0;
    height: 25px;
    width: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    color: var(--primary-color);
}

.tinv-wishlist.woocommerce.tinv-wishlist-clear .tinv-header {
    display: none;
}

/* Wishlist Table Matches Cart Table */
.tinvwl-table-manage-list {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.tinvwl-table-manage-list th,
.tinvwl-table-manage-list td {
    padding: 15px;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
    font-size: 15px;
    color: #333;
}

/* Remove extra background */
.tinvwl-table-manage-list th {
    font-weight: 600;
    background: transparent;
}

/* Product Thumbnail */
.tinvwl-table-manage-list .product-thumbnail img {
    width: 50px;
    height: auto;
    border-radius: 4px;
}

/* Remove default icons and extra padding */
.tinvwl-table-manage-list .product-remove button {
    background: transparent;
    border: none;
    color: #999;
    font-size: 18px;
    cursor: pointer;
}

/* Buttons like Cart */
.tinvwl-table-manage-list .button,
.tinvwl-to-right .button,
.tinvwl-to-left .button {
    background: transparent;
    color: #1a1a1a;
    border: 1px solid #3b3b98;
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.tinvwl-table-manage-list .button:hover {
    background: #3b3b98;
    color: #fff;
}

/* Dropdown & Inputs */
.tinvwl-input-group select,
.tinvwl-input-group input {
    border: 1px solid #ddd;
    padding: 8px;
    border-radius: 4px;
}

/* Remove extra spacing at bottom */
.tinvwl-to-right, .tinvwl-to-left {
    margin-top: 10px;
}