/*
Theme Name: Enfold Child
Description: A <a href='http://codex.wordpress.org/Child_Themes'>Child Theme</a> for the Enfold Wordpress Theme. If you plan to do a lot of file modifications we recommend to use this Theme instead of the original Theme. Updating will be much easier then.
Version: 1.0
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/

/*Add your own styles here:*/
#full-width-screen .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}

#no-margin-bottom {
  margin-bottom: 0 !important;
}

/* --------------------
   General Layout
-------------------- */
.single-product .product {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.single-product .product .images {
  flex: 1 1 50%;
}

.single-product .product .summary {
  flex: 1 1 45%;
  padding: 20px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

/* --------------------
   Product Title & Price
-------------------- */
.single-product h1.product_title {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #222;
}

.single-product .woocommerce-Price-amount {
  font-size: 24px;
  font-weight: 600;
  color: #1a73e8;
  margin-bottom: 25px;
  display: block;
}

/* --------------------
   Quantity Selector
-------------------- */
.single-product .quantity {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 30px;
  overflow: hidden;
  width: fit-content;
  margin-bottom: 20px;
}

.single-product .quantity input.qty {
  border: none;
  text-align: center;
  width: 60px;
  font-size: 16px;
  padding: 10px 0;
  background: #fff;
  color: #333;
}

/* Remove default number arrows */
.single-product .quantity input.qty::-webkit-outer-spin-button,
.single-product .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.single-product .quantity input.qty[type="number"] {
  -moz-appearance: textfield;
}

/* Plus/Minus buttons */
.single-product .quantity .plus,
.single-product .quantity .minus {
  background: #f5f5f5;
  border: none;
  color: #333;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 18px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.single-product .quantity .plus:hover,
.single-product .quantity .minus:hover {
  background: #1a73e8;
  color: #fff;
}

/* --------------------
   Add to Cart Button
-------------------- */
.single-product .single_add_to_cart_button {
  background: #1a73e8;
  border-radius: 30px;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.single-product .single_add_to_cart_button:hover {
  background: #155ab6;
  transform: translateY(-2px);
}

/* --------------------
   Tabs (Description, Reviews, etc.)
-------------------- */
.woocommerce-tabs.wc-tabs-wrapper {
  margin-top: 50px;
}

.woocommerce-tabs ul.tabs {
  display: flex;
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
}

.woocommerce-tabs ul.tabs li {
  margin: 0 20px 0 0;
  padding: 0;
  background: none;
  border: none;
}

.woocommerce-tabs ul.tabs li a {
  font-size: 16px;
  font-weight: 600;
  color: #555;
  padding-bottom: 8px;
  transition: all 0.3s ease;
}

.woocommerce-tabs ul.tabs li.active a {
  border-bottom: 2px solid #1a73e8;
  color: #1a73e8;
}

.woocommerce-Tabs-panel {
  padding: 10px 0;
  font-size: 15px;
  line-height: 1.7;
  color: #444;
}

/* --------------------
   Related Products
-------------------- */
.related.products {
  margin-top: 60px;
}

.related.products h2 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 25px;
  color: #222;
}

.related.products ul.products li.product {
  border: 1px solid #eee;
  border-radius: 16px;
  padding: 20px;
  transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
.related.products ul.products li.product:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  transform: translateY(-3px);
}

/* Remove background from add-to-cart area */
.single-product .summary .cart,
.single-product .summary .variations_form {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* -------------------------
   Force-hide sidebars on single product pages
   Paste into Enfold Quick CSS or Customizer Additional CSS
------------------------- */
.single-product aside,
.single-product .sidebar,
.single-product #sidebar,
.woocommerce.single-product aside,
.woocommerce-page.single-product .sidebar,
.single-product .widget-area,
.single-product .av-sidebar,
.single-product .sidebar-inner {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Remove extra right margin/padding from single variation wrap */
.single-product .single_variation_wrap {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

/* --------------------
   Cart Table - Modern Card Style
-------------------- */
.woocommerce-cart-form table.shop_table {
  border-collapse: separate !important;
  border-spacing: 10px 20px; /* horizontal + vertical spacing between rows */
  width: 100%;
}
.woocommerce-cart-form table.shop_table tr {
  background: #fff;
  border-radius: 20px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
/* Cells */
.woocommerce-cart-form table.shop_table td {
  padding: 15px 20px !important;
  vertical-align: middle;
  border-radius: 20px !important;
}
/* Product Name */
.woocommerce-cart-form td.product-name a {
  display: block;
  line-height: 1.5;
}
/* Quantity */
.woocommerce-cart-form td.product-quantity .quantity {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.woocommerce-cart-form td.product-quantity input.qty {
  width: 60px;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 6px 0;
  margin: 0 8px;
}
.woocommerce-cart-form td.product-quantity .plus,
.woocommerce-cart-form td.product-quantity .minus {
  background: #f5f5f5;
  border: none;
  padding: 6px 12px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.3s;
}
.woocommerce-cart-form td.product-quantity .plus:hover,
.woocommerce-cart-form td.product-quantity .minus:hover {
  background: #1a73e8;
  color: #fff;
}
/* Price Cell */
.woocommerce-cart-form td.product-subtotal {
  font-weight: 600;
  text-align: right;
}
/* Remove button as "X" */
.woocommerce-cart-form td.product-remove a.remove {
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  color: #999 !important;
  text-decoration: none;
  transition: color 0.3s ease;
}

.woocommerce-cart-form td.product-remove a.remove:hover {
  color: #e53935 !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  margin-bottom: 10px !important; /* adjust px to your liking */
}

/* --------------------
   Mobile Styling
-------------------- */
@media (max-width: 768px) {
  .woocommerce-cart-form table.shop_table thead {
    display: none;
  }
  .woocommerce-cart-form table.shop_table tr {
    display: block;
    margin: 0 10px 20px;
    border-radius: 12px;
    overflow: hidden;
  }
  .woocommerce-cart-form table.shop_table td {
    display: block;
    width: 100%;
    padding: 12px;
    text-align: center;
  }
  .woocommerce-cart-form td.product-thumbnail {
    margin-bottom: 10px;
  }

  /* Product name and remove button on same line */
  .woocommerce-cart-form td.product-name {
    display: inline-block !important;
    width: calc(100% - 70px) !important;
    vertical-align: middle;
    text-align: left;
    padding: 0px 0px 0px 0px !important;
    margin: 10px 0px 0px 0px;
  }
  .woocommerce-cart-form td.product-name a {
    font-size: 16px;
    font-weight: 600;
  }

  /* Remove button inline with product name - visible but normal size */
  .woocommerce-cart-form td.product-remove {
    display: inline-block !important;
    width: 60px !important;
    vertical-align: middle;
    text-align: center;
    padding: 12px 5px !important;
    margin: 0 !important;
    border: none;
  }
  .woocommerce-cart-form td.product-remove a.remove {
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    color: #666 !important;
    text-decoration: none !important;
    padding: 5px 8px;
    margin: 0;
    min-width: 20px;
    text-align: center;
    font-family: Arial, sans-serif !important;
    overflow: hidden;
  }
  .woocommerce-cart-form td.product-remove a.remove:before {
    display: inline-block !important;
    font-size: 18px !important;
    line-height: 1 !important;
    width: 100% !important;
    height: auto !important;
  }
  .woocommerce-cart-form td.product-remove a.remove::after {
    content: "" !important; /* Remove any after content */
  }

  .woocommerce-cart-form td.product-remove a.remove:hover {
    background: #e53935;
    color: #fff !important;
  }

  /* Hide product price column on mobile */
  .woocommerce-cart-form td.product-price {
    display: none !important;
  }

  /* Inline layout for quantity and subtotal */
  .woocommerce-cart-form td.product-quantity,
  .woocommerce-cart-form td.product-subtotal {
    display: inline-block !important;
    width: auto !important;
    vertical-align: middle;
    margin: 10px 0px 10px 0px !important;
    padding: 8px !important;
  }

  /* Quantity controls */
  .woocommerce-cart-form td.product-quantity {
    padding: 0px 0px 0px 0px !important;
    border: none;
  }
  .woocommerce-cart-form td.product-quantity .quantity {
    justify-content: center;
    display: flex !important;
  }
  .woocommerce-cart-form td.product-quantity input.qty {
    width: 50px;
    margin: 0 0 0 0px !important;
  }
  .woocommerce-cart-form td.product-quantity .plus,
  .woocommerce-cart-form td.product-quantity .minus {
    padding: 4px 8px;
    font-size: 14px;
  }

  /* Subtotal styling */
  .woocommerce-cart-form td.product-subtotal {
    font-size: 16px;
    font-weight: 600;
  }

  /* Remove button */
  .woocommerce-cart-form td.product-remove a.remove {
    display: inline-block;
    font-size: 18px;
    margin: 0;
  }
}

/* ========= Add-ons: force each option onto a single horizontal row ========= */
/* Scope to single product pages for safety */
.single-product .wc-pao-addons-container,
.single-product .wc-pao-addons-container * {
  box-sizing: border-box !important;
}

/* Make each option row a flex row (input | label | price) */
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > div,
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > .wc-pao-addon-602-1758309643,
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > .wc-pao-addon-602-1758309905,
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > .wc-pao-addon-602-1758309643-0,
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > .wc-pao-addon-602-1758309643-1,
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > .wc-pao-addon-602-1758309643-2 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  margin: 6px 0 !important;
  padding: 6px 0 !important;
}

/* Inputs sizing & spacing */
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > div input[type="checkbox"],
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > div input[type="radio"] {
  margin: 0 10px 0 0 !important;
  flex: 0 0 auto !important;
  transform: scale(1) !important;
}

/* Make label take remaining space so price can be pushed to the right */
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > div label,
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > div .wc-pao-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 auto !important; /* <-- this makes label fill the row */
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important; /* keep label text on single line when possible */
}

/* Push the price to the far right of the row */
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > div .wc-pao-addon-price,
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > div .wc-pao-price,
.single-product .wc-pao-addons-container .wc-pao-addon-wrap > div .price {
  margin-left: auto !important;
  white-space: nowrap !important;
  font-weight: 500 !important;
}

/* Make list-based outputs behave as rows too */
.single-product .wc-pao-addons-container ul.wc-pao-options,
.single-product .wc-pao-addons-container .wc-pao-options {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

/* Mobile fallback: allow long labels to wrap but keep structure */
@media (max-width: 420px) {
  .single-product .wc-pao-addons-container .wc-pao-addon-wrap > div label {
    white-space: normal !important;
  }
  .single-product .wc-pao-addons-container .wc-pao-addon-wrap > div .wc-pao-addon-price {
    margin-left: 8px !important;
  }
}

.wc-pao-addon-field.wc-pao-addon-checkbox {
  width: auto !important; /* shrink to fit content */
  display: inline-block; /* keep it next to the label */
  vertical-align: middle; /* align with label text */
}

.wc-pao-addon-price,
.wc-pao-addon-price span {
  display: inline !important; /* all inline, no stacking */
  white-space: nowrap; /* prevent wrapping */
  line-height: 1; /* tighten vertical spacing */
}

.wc-pao-addon-price {
  margin-left: 5px; /* small space from label */
  font-size: 14px; /* adjust as needed */
}

/* Fix radio button sizing */
.wc-pao-addon-field.wc-pao-addon-radio {
  width: auto !important; /* don’t force it wide */
  height: auto !important; /* keep default size */
  margin-right: 6px; /* small space before label */
  vertical-align: middle; /* align nicely with text */
}
