
/*
 * Centrivac Layout Fix PRO v1.3
 * Correção visual segura para WooCommerce Blocks.
 */

:root{
  --cv-red:#e30613;
  --cv-blue:#0818ff;
  --cv-dark:#061021;
  --cv-muted:#64748b;
  --cv-border:#e5e7eb;
  --cv-bg:#f5f7fb;
  --cv-shadow:0 12px 34px rgba(15,23,42,.08);
}

.centrivac-layout-fix-pro-v13{
  background:var(--cv-bg);
  overflow-x:hidden;
}

/* =========================
   CONTAINER GERAL WOO
========================= */

.centrivac-layout-fix-pro-v13.woocommerce-page main,
.centrivac-layout-fix-pro-v13.woocommerce-page .site-main,
.centrivac-layout-fix-pro-v13.woocommerce-page .entry-content{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* =========================
   CHECKOUT - GRID CORRETO
========================= */

.centrivac-layout-fix-pro-v13.woocommerce-checkout .woocommerce,
.centrivac-layout-fix-pro-v13.woocommerce-checkout .wp-block-woocommerce-checkout,
.centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-checkout{
  width:min(1120px, calc(100% - 40px))!important;
  max-width:1120px!important;
  margin:34px auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-sidebar-layout{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) 360px!important;
  gap:28px!important;
  align-items:start!important;
  width:100%!important;
}

/* Colunas */
.centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-main{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

.centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-sidebar{
  width:100%!important;
  max-width:360px!important;
  padding:18px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid var(--cv-border)!important;
  border-radius:18px!important;
  box-shadow:var(--cv-shadow)!important;
  position:sticky!important;
  top:112px!important;
  box-sizing:border-box!important;
}

/* Cards do checkout */
.centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-checkout-step{
  background:#fff!important;
  border:1px solid var(--cv-border)!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
  padding:24px!important;
  margin-bottom:20px!important;
  box-sizing:border-box!important;
}

/* Espaço interno dos blocos */
.centrivac-layout-fix-pro-v13 .wc-block-components-checkout-step__container{
  margin-top:16px!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-checkout-step__content{
  padding-top:4px!important;
}

/* Títulos */
.centrivac-layout-fix-pro-v13.woocommerce-checkout h1,
.centrivac-layout-fix-pro-v13.woocommerce-checkout h2,
.centrivac-layout-fix-pro-v13.woocommerce-checkout h3,
.centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-title{
  color:var(--cv-dark)!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  line-height:1.15!important;
}

.centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-title{
  font-size:22px!important;
  margin-bottom:16px!important;
}

/* =========================
   CAMPOS CORRIGIDOS
   O problema estava no label sobreposto.
========================= */

.centrivac-layout-fix-pro-v13 .wc-block-components-text-input,
.centrivac-layout-fix-pro-v13 .wc-block-components-combobox,
.centrivac-layout-fix-pro-v13 .wc-block-components-country-input,
.centrivac-layout-fix-pro-v13 .wc-block-components-state-input{
  position:relative!important;
  margin-bottom:18px!important;
  min-height:70px!important;
  box-sizing:border-box!important;
}

/* Input com espaço para o label */
.centrivac-layout-fix-pro-v13 .wc-block-components-text-input input,
.centrivac-layout-fix-pro-v13 .wc-block-components-combobox input,
.centrivac-layout-fix-pro-v13 .wc-block-components-form .wc-block-components-text-input input,
.centrivac-layout-fix-pro-v13.woocommerce-checkout input,
.centrivac-layout-fix-pro-v13.woocommerce-checkout select{
  min-height:56px!important;
  height:56px!important;
  border-radius:12px!important;
  border:1px solid #cbd5e1!important;
  padding:22px 14px 8px 14px!important;
  box-shadow:none!important;
  background:#fff!important;
  font-size:15px!important;
  line-height:1.2!important;
  box-sizing:border-box!important;
  width:100%!important;
}

/* Label sempre pequeno e em cima, nunca por cima do texto */
.centrivac-layout-fix-pro-v13 .wc-block-components-text-input label,
.centrivac-layout-fix-pro-v13 .wc-block-components-combobox label,
.centrivac-layout-fix-pro-v13 .wc-block-components-form .wc-block-components-text-input label{
  position:absolute!important;
  top:8px!important;
  left:14px!important;
  right:auto!important;
  transform:none!important;
  background:transparent!important;
  color:#475569!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:700!important;
  max-width:calc(100% - 28px)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  z-index:2!important;
  pointer-events:none!important;
}

/* Quando campo tem foco, mantém sem animação estranha */
.centrivac-layout-fix-pro-v13 .wc-block-components-text-input.is-active label,
.centrivac-layout-fix-pro-v13 .wc-block-components-text-input.has-value label,
.centrivac-layout-fix-pro-v13 .wc-block-components-combobox.is-active label,
.centrivac-layout-fix-pro-v13 .wc-block-components-combobox.has-value label{
  top:8px!important;
  left:14px!important;
  transform:none!important;
  font-size:11px!important;
}

/* Placeholder e texto não colam */
.centrivac-layout-fix-pro-v13 .wc-block-components-text-input input::placeholder,
.centrivac-layout-fix-pro-v13 input::placeholder{
  color:#94a3b8!important;
  opacity:1!important;
}

/* Mensagens de erro */
.centrivac-layout-fix-pro-v13 .wc-block-components-validation-error,
.centrivac-layout-fix-pro-v13 .wc-block-components-validation-error p{
  margin-top:6px!important;
  font-size:13px!important;
  line-height:1.35!important;
}

/* Campos lado a lado com espaçamento */
.centrivac-layout-fix-pro-v13 .wc-block-components-address-form{
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:16px 18px!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-address-form .wc-block-components-address-form__address_1,
.centrivac-layout-fix-pro-v13 .wc-block-components-address-form .wc-block-components-address-form__address_2,
.centrivac-layout-fix-pro-v13 .wc-block-components-address-form .wc-block-components-address-form__country,
.centrivac-layout-fix-pro-v13 .wc-block-components-address-form .wc-block-components-address-form__email,
.centrivac-layout-fix-pro-v13 .wc-block-components-address-form .wc-block-components-address-form__phone{
  grid-column:1 / -1!important;
}

/* Textarea */
.centrivac-layout-fix-pro-v13 textarea,
.centrivac-layout-fix-pro-v13 .wc-block-components-textarea{
  min-height:94px!important;
  height:auto!important;
  border-radius:12px!important;
  border:1px solid #cbd5e1!important;
  padding:14px!important;
}

/* =========================
   CHECKBOX/RADIO/MÉTODOS PAGAMENTO
========================= */

/* Reset dos marcadores que estavam gigantes */
.centrivac-layout-fix-pro-v13 input[type="checkbox"],
.centrivac-layout-fix-pro-v13 input[type="radio"],
.centrivac-layout-fix-pro-v13 .wc-block-components-checkbox .wc-block-components-checkbox__input,
.centrivac-layout-fix-pro-v13 .wc-block-components-radio-control__input{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:0 10px 0 0!important;
  flex:0 0 18px!important;
  box-sizing:border-box!important;
  transform:none!important;
}

.centrivac-layout-fix-pro-v13 input[type="radio"],
.centrivac-layout-fix-pro-v13 .wc-block-components-radio-control__input{
  border-radius:50%!important;
}

/* Linha de pagamento: marcador, texto e ícone alinhados */
.centrivac-layout-fix-pro-v13 .wc-block-components-radio-control__option,
.centrivac-layout-fix-pro-v13 .wc-block-checkout__payment-method .wc-block-components-radio-control__option{
  min-height:54px!important;
  padding:12px 14px!important;
  display:grid!important;
  grid-template-columns:22px 1fr auto!important;
  align-items:center!important;
  gap:10px!important;
  border-bottom:1px solid var(--cv-border)!important;
  box-sizing:border-box!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-radio-control__label{
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.25!important;
  min-width:0!important;
}

/* Ícones dos métodos */
.centrivac-layout-fix-pro-v13 .wc-block-components-payment-method-icons,
.centrivac-layout-fix-pro-v13 .wc-block-components-radio-control__option img{
  max-width:34px!important;
  max-height:34px!important;
  justify-self:end!important;
}

/* Checkbox normal alinhado */
.centrivac-layout-fix-pro-v13 .wc-block-components-checkbox{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:34px!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-checkbox label{
  font-size:14px!important;
  line-height:1.35!important;
}

/* =========================
   BOTÕES
========================= */

.centrivac-layout-fix-pro-v13 .wc-block-components-button,
.centrivac-layout-fix-pro-v13.woocommerce-checkout #place_order,
.centrivac-layout-fix-pro-v13.woocommerce-cart .checkout-button{
  background:var(--cv-red)!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
  min-height:52px!important;
  font-weight:900!important;
  padding:0 24px!important;
}

/* =========================
   RESUMO DO PEDIDO
========================= */

.centrivac-layout-fix-pro-v13 .wc-block-components-sidebar .wc-block-components-totals-wrapper,
.centrivac-layout-fix-pro-v13 .wc-block-components-order-summary{
  border-color:var(--cv-border)!important;
  padding:12px!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item{
  gap:10px!important;
  padding:12px 0!important;
  display:grid!important;
  grid-template-columns:60px 1fr auto!important;
  align-items:start!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item__image{
  width:56px!important;
  min-width:56px!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item__image img{
  width:52px!important;
  height:52px!important;
  object-fit:cover!important;
  border-radius:10px!important;
  border:1px solid var(--cv-border)!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item__description{
  font-size:13px!important;
  line-height:1.32!important;
  min-width:0!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item__description .wc-block-components-product-name{
  font-weight:800!important;
  color:var(--cv-dark)!important;
}

.centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item__individual-prices,
.centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item__total-price{
  font-size:13px!important;
  white-space:nowrap!important;
}

/* =========================
   PRODUTO INDIVIDUAL
========================= */

.centrivac-layout-fix-pro-v13.single-product div.product{
  width:min(1120px, calc(100% - 40px))!important;
  max-width:1120px!important;
  margin:34px auto 42px!important;
  display:grid!important;
  grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr)!important;
  gap:34px!important;
  align-items:start!important;
  background:#fff!important;
  border:1px solid var(--cv-border)!important;
  border-radius:24px!important;
  box-shadow:var(--cv-shadow)!important;
  padding:26px!important;
  box-sizing:border-box!important;
}

.centrivac-layout-fix-pro-v13.single-product div.product div.images,
.centrivac-layout-fix-pro-v13.single-product div.product .summary{
  width:100%!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}

.centrivac-layout-fix-pro-v13.single-product div.product div.images img{
  border-radius:18px!important;
  border:1px solid var(--cv-border)!important;
  background:#fff!important;
  object-fit:contain!important;
}

.centrivac-layout-fix-pro-v13.single-product .product_title{
  color:var(--cv-dark)!important;
  font-size:clamp(28px,4vw,42px)!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  margin:0 0 14px!important;
}

.centrivac-layout-fix-pro-v13.single-product .price{
  color:#000!important;
  font-size:28px!important;
  font-weight:900!important;
  margin:16px 0!important;
}

.centrivac-layout-fix-pro-v13.single-product form.cart{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin:20px 0!important;
}

.centrivac-layout-fix-pro-v13.single-product form.cart .quantity input.qty{
  min-height:48px!important;
  height:48px!important;
  width:78px!important;
  border-radius:10px!important;
  border:1px solid var(--cv-border)!important;
  padding:0 10px!important;
}

.centrivac-layout-fix-pro-v13.single-product .single_add_to_cart_button{
  min-height:48px!important;
  border-radius:10px!important;
  background:var(--cv-red)!important;
  color:#fff!important;
  font-weight:900!important;
  padding:0 24px!important;
  border:0!important;
}

/* =========================
   LOJA/CARDS
========================= */

.centrivac-layout-fix-pro-v13 ul.products li.product{
  background:#fff!important;
  border:1px solid var(--cv-border)!important;
  border-radius:20px!important;
  padding:14px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
  overflow:hidden!important;
}

.centrivac-layout-fix-pro-v13 ul.products li.product img{
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:14px!important;
}

.centrivac-layout-fix-pro-v13 ul.products li.product .woocommerce-loop-product__title{
  color:var(--cv-red)!important;
  font-size:17px!important;
  line-height:1.28!important;
  font-weight:900!important;
}

.centrivac-layout-fix-pro-v13 ul.products li.product .price{
  color:#000!important;
  font-size:20px!important;
  font-weight:900!important;
}

.centrivac-layout-fix-pro-v13 ul.products li.product .button{
  width:100%!important;
  min-height:46px!important;
  border-radius:11px!important;
  background:var(--cv-red)!important;
  color:#fff!important;
  font-weight:900!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

/* Duplicações antigas */
.centrivac-layout-fix-pro-v13 ul.products li.product .cv-loop-actions,
.centrivac-layout-fix-pro-v13 ul.products li.product .cv-mini-btn,
.centrivac-layout-fix-pro-v13 ul.products li.product .cv-clean-product-action,
.centrivac-layout-fix-pro-v13 ul.products li.product .cvbl-card-actions,
.centrivac-layout-fix-pro-v13 ul.products li.product .cv-secondary-product-link,
.centrivac-layout-fix-pro-v13 ul.products li.product .cvbl-secondary-link{
  display:none!important;
}

/* =========================
   RESPONSIVO
========================= */

@media(max-width:1024px){
  .centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-sidebar-layout{
    grid-template-columns:1fr!important;
  }

  .centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-sidebar{
    max-width:100%!important;
    position:static!important;
    top:auto!important;
  }

  .centrivac-layout-fix-pro-v13.single-product div.product{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
}

@media(max-width:768px){
  .centrivac-layout-fix-pro-v13.woocommerce-checkout .woocommerce,
  .centrivac-layout-fix-pro-v13.woocommerce-checkout .wp-block-woocommerce-checkout,
  .centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-checkout,
  .centrivac-layout-fix-pro-v13.single-product div.product{
    width:calc(100% - 24px)!important;
    margin-top:22px!important;
  }

  .centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-checkout-step,
  .centrivac-layout-fix-pro-v13.woocommerce-checkout .wc-block-components-sidebar{
    padding:16px!important;
    border-radius:16px!important;
  }

  .centrivac-layout-fix-pro-v13 .wc-block-components-address-form{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .centrivac-layout-fix-pro-v13 .wc-block-components-text-input,
  .centrivac-layout-fix-pro-v13 .wc-block-components-combobox,
  .centrivac-layout-fix-pro-v13 .wc-block-components-country-input,
  .centrivac-layout-fix-pro-v13 .wc-block-components-state-input{
    min-height:66px!important;
  }

  .centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item{
    grid-template-columns:54px 1fr!important;
  }

  .centrivac-layout-fix-pro-v13 .wc-block-components-order-summary-item__total-price{
    grid-column:2!important;
    justify-self:start!important;
    margin-top:4px!important;
  }

  .centrivac-layout-fix-pro-v13.single-product .product_title{
    font-size:28px!important;
  }

  .centrivac-layout-fix-pro-v13.single-product form.cart{
    display:block!important;
  }

  .centrivac-layout-fix-pro-v13.single-product form.cart .quantity,
  .centrivac-layout-fix-pro-v13.single-product form.cart .single_add_to_cart_button{
    width:100%!important;
    margin-bottom:10px!important;
  }

  .centrivac-layout-fix-pro-v13.single-product form.cart .quantity input.qty{
    width:100%!important;
  }
}
