/**
 * Zyrgon Product Price Calculator - Frontend CSS
 *
 * @author    Zyrgon Network Group <suporte@zyrgon.net>
 * @copyright Since 2024 Zyrgon Network Group
 * @license   https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
 */
#zppc_widget.card {
    border: 1px solid #ccc;
    background-color: #fff;
    padding: 20px;
    margin: 0;
}

/* Quando variants visível está acima, evitar border duplicado */
.product-variants.card.card-block:has(.product-variants-item) + #zppc_widget.card {
    border-top: none;
}

.unit-price {
  font-size: 14px;
  color: #111; }

#unit_price_display {
  font-size: 22px;
  color: #111; }

  #zppc_widget .conversion-units .convert-unit {
    display: inline-block;
    padding: 0 10px;
    height: 30px;
    line-height: 25px;
    text-align: center;
    border: 1px solid #2fb5d2;
    border-radius: 3px;
    min-width: 60px;
    color: #2fb5d2;
    cursor: pointer;
    margin-bottom: 10px; }
  #zppc_widget .conversion-units .selected {
    border-color: #2fb5d2;
    background-color: #2fb5d2;
    color: #fff;
    font-weight: bold; }
  #zppc_widget .zppc-widget-container {
    display: flex;
    flex-direction: column; }
  #zppc_widget .zppc-price-wrapper {
    flex-grow: 100;
    display: flex;
    align-items: center;
    justify-content: center;}
  #zppc_widget .field-image-wrapper {
    display: inline-block;
    position: relative;
    top: -1px;
    cursor: pointer; }
    #zppc_widget .field-image-wrapper span {
      font-size: 12px;
      background-color: #777;
      border-radius: 10px;
      display: inline-block;
      color: #fff;
      width: 16px;
      height: 16px;
      text-align: center;
      line-height: 16px;
      font-weight: bold; }
    #zppc_widget .field-image-wrapper img {
      display: none;
      position: absolute;
      top: 30px;
      z-index: 99;
      padding: 10px;
      border: 2px solid #444;
      background-color: #fff;
      transform: translate(-30%, 0%); }
  #zppc_widget .field-image-wrapper:hover img {
    display: block; }
  #zppc_widget .unit-entry label {
    text-align: right;
    display: inline-block; }
  #zppc_widget .unit-entry {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px; }
    #zppc_widget .unit-entry .field-label-wrapper {
      flex-grow: 100;
      line-height: 30px; }
    #zppc_widget .unit-entry .field-input-wrapper {
        padding-left: 0;
        position: relative;
    }
    #zppc_widget .unit-entry select, #zppc_widget .unit-entry input[type='text'] {
      min-width: 95%;
      width: 95%;
      height: 30px;
      line-height: 30px;
      padding: 5px;
      border-radius: 4px;
      border: 1px solid #ddd;
      text-align: left; }
  #zppc_widget #zppc-price {
    font-size: 20px;
    width: 100%;
    display: flex; 
    color: #39ae46;
    font-weight:bold;
  }
  #zppc_widget #zppc-price .zppc-price-label {
    margin-bottom: 5px;
    margin-right:10px;
    color: #444; 
  }
  #zppc_widget #zppc-area-price,
  #zppc_widget #zppc-total-area {
    margin-top: 5px;
    display: block;
    width: 100%;
    text-align: center; }
  #zppc_widget #zppc-total-area {
    margin-top: 0px;
    font-size: 11px; }

#zppc_widget input.error, #zppc_widget select.error {
  border: 2px solid #aa0000;
  color: #aa0000;
  outline: none; }

#zppc_widget .unit-entry {
  position: relative;
  clear: both; }

/* Hidden: used only as data source for Bootstrap tooltip text */
#zppc_widget .unit-entry .error-unit {
  display: none; }

/* Bootstrap tooltip error styling */
.tooltip.zppc-error-tooltip.show {
  opacity: 1; }
.tooltip.zppc-error-tooltip .tooltip-inner {
  background-color: #bf400d;
  font-size: 12px;
  font-weight: bold;
  padding: 5px 10px;
  max-width: 250px; }
.tooltip.zppc-error-tooltip .arrow::before {
  border-top-color: #bf400d; }
.tooltip.zppc-error-tooltip .tooltip-inner::before {
  border-top-color: #bf400d; }

#zppc_widget .zppc_error {
  color: #fff;
  font-weight: bold;
  background-color: #bf400d;
  margin: 5px 0;
  padding: 5px;
  border-radius: 4px; }

span.zppc_unit_price_suffix {
  font-size: 16px;
  padding-left: 0px;
  padding-right: 4px; }

#our_price_display,
.our_price_display {
  font-size: 22px; }

@media only screen and (max-width: 767px) {
  #zppc_widget {
    display: block; } }
@media screen and (max-width:767px){
}

#zppc_widget .zppc_widget_fields{
    width: 100%;
}
.product-actions .text-extra-mesures{
    margin-bottom:35px;
    font-weight:bold;
}
@media screen and (max-width:374px){
    #zppc_widget .field-label-wrapper label{
        font-size: 12px;
    }
}

/* Info blocks */
#zppc_widget .zppc-infos-wrapper {
    padding-bottom: 10px;
}
#zppc_widget .zppc-info-block {
    display: flex;
    align-items: center;
    margin-top: 6px;
    margin-bottom: 6px;
}
#zppc_widget .zppc-info-block-img {
    margin-right: 10px;
    object-fit: contain;
}
#zppc_widget .zppc-info-block-text {
    font-size: 13px;
    color: #444;
    line-height: 1.4;
}

/* Add to cart button disabled state */
.add-to-cart.disabled,
.add-to-cart:disabled,
button[data-button-action="add-to-cart"].disabled,
button[data-button-action="add-to-cart"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
