/* ============================================================
FRIALTO — CUSTOM.CSS
Versão 4.2 — Estável Woo + Elementor
============================================================ */

/* RESET */

*,
*::before,
*::after{
box-sizing:border-box;
}

html,body{
max-width:100%;
overflow-x:hidden;
}

img,video,iframe{
max-width:100%;
height:auto;
display:block;
}

/* ============================================================
HOME
============================================================ */

.frialto-home{
max-width:1200px;
margin:0 auto;
padding:32px 16px 120px;
}

.frialto-hero{
background:linear-gradient(135deg,#111,#2b2b2b);
color:#fff;
padding:40px 24px;
border-radius:24px;
margin-bottom:32px;
}

.frialto-hero h1{
font-size:clamp(18px,4vw,36px);
margin-bottom:12px;
line-height:1.2;
}

.frialto-hero p{
opacity:.9;
margin-bottom:20px;
font-size:clamp(13px,2.5vw,16px);
}

.frialto-hero a{
display:inline-block;
background:#E11D2E;
padding:12px 22px;
border-radius:999px;
color:#fff;
font-weight:600;
text-decoration:none;
}

/* ============================================================
PROMOS
============================================================ */

.frialto-promos{
display:grid;
gap:16px;
margin-bottom:32px;
}

.frialto-promo{
background:#1f1f1f;
color:#fff;
padding:24px;
border-radius:20px;
}

/* ============================================================
CATEGORIAS
============================================================ */

.frialto-categories{
display:flex;
gap:10px;
overflow-x:auto;
margin-bottom:32px;
scrollbar-width:none;
}

.frialto-categories::-webkit-scrollbar{
display:none;
}

.frialto-category{
flex-shrink:0;
padding:10px 16px;
border-radius:999px;
background:#eee;
font-weight:600;
font-size:13px;
}

.frialto-category.active{
background:#E11D2E;
color:#fff;
}

/* ============================================================
GRID PRODUTOS
============================================================ */

.frialto-products-grid,
.fr-products-grid,
.fr-best-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:16px;
}

/* ============================================================
PRODUCT CARD
============================================================ */

.fr-product-card{
display:flex;
flex-direction:column;
height:100%;
background:#fff;
border-radius:22px;
padding:14px;
box-shadow:0 10px 28px rgba(0,0,0,.06);
transition:.2s;
}

.fr-product-card:hover{
transform:translateY(-2px);
box-shadow:0 16px 36px rgba(0,0,0,.1);
}

.fr-product-card img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
border-radius:14px;
}

.fr-product-card h3{
font-size:clamp(12px,2.5vw,15px);
font-weight:700;
color:#111827;
}

/* PREÇO */

.fr-product-card .price ins{
font-size:clamp(14px,3vw,18px);
font-weight:800;
color:#e4100e;
text-decoration:none!important;
}

.fr-product-card .price del{
color:#9ca3af;
font-size:12px;
}

/* BOTÃO */

.fr-product-card .button{
margin-top:auto;
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:44px;
border-radius:999px;
background:linear-gradient(135deg,#e4100e,#b90d0b);
color:#fff!important;
font-size:14px;
font-weight:700;
border:none;
text-decoration:none!important;
box-shadow:0 8px 22px rgba(228,16,14,.35);
}

/* ============================================================
CARRINHO (ISOLADO)
============================================================ */

body.woocommerce-cart table.shop_table{
border:none;
border-radius:18px;
background:#fff;
box-shadow:0 12px 34px rgba(0,0,0,.08);
overflow:hidden;
width:100%;
}

body.woocommerce-cart table.shop_table thead th{
background:#F9FAFB;
font-size:11px;
font-weight:700;
padding:10px 12px;
}

body.woocommerce-cart table.shop_table tbody td{
padding:12px;
font-size:13px;
}

body.woocommerce-cart .quantity .qty{
width:60px;
border-radius:999px;
border:1px solid #E5E7EB;
text-align:center;
}

body.woocommerce-cart .cart_totals{
border-radius:20px;
background:#fff;
box-shadow:0 10px 30px rgba(0,0,0,.1);
padding:18px;
}

/* BOTÃO FINALIZAR */

body.woocommerce-cart .checkout-button{
display:flex;
align-items:center;
justify-content:center;
width:100%;
border-radius:999px;
padding:16px 24px;
font-size:15px;
font-weight:700;
background:linear-gradient(90deg,#FF6B00,#E80000);
color:#fff!important;
box-shadow:0 16px 40px rgba(255,80,80,.45);
}

/* ============================================================
CHECKOUT
============================================================ */

.woocommerce-checkout #place_order{
border-radius:999px;
padding:16px 24px;
font-weight:700;
background:linear-gradient(90deg,#FF6B00,#E80000);
color:#fff;
}

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

@media(min-width:768px){

.frialto-products-grid,
.fr-products-grid,
.fr-best-grid{
grid-template-columns:repeat(4,1fr);
}

}

/* ============================================================
BOTTOM NAV
============================================================ */

.fr-bottom-nav{

position:fixed;
left:0;
right:0;
bottom:0;

display:flex;
justify-content:space-between;
align-items:center;

padding:8px 12px 10px;
background:#E4100E;
box-shadow:0 -12px 30px rgba(0,0,0,.35);
z-index:9999;

max-width:480px;
margin:0 auto;
border-radius:18px 18px 0 0;

}

@media(min-width:769px){
.fr-bottom-nav{
display:none;
}
}

.fr-bottom-item{
flex:1;
text-align:center;
display:flex;
flex-direction:column;
align-items:center;
color:#ffe4e4;
font-size:10px;
}

.fr-bottom-item i{
font-size:18px;
}

.fr-bottom-item.active{
color:#fff;
font-weight:700;
}

/* =====================================
FRIALTO CHECKOUT LAYOUT
===================================== */

.fr-checkout-page{
width:100%;
max-width:1400px;
margin:auto;
padding:40px 20px;
}

.fr-checkout-container{
width:100%;
display:grid;
grid-template-columns:1fr 420px;
gap:40px;
}

@media(max-width:1000px){

.fr-checkout-container{
grid-template-columns:1fr;
}

}
/* ============================================================
FRIALTO — OCULTAR TEXTO DE PESAGEM
============================================================ */

.woocommerce-checkout-review-order-table p{
color:transparent;
font-size:0;
line-height:0;
}
/* ============================================================
FRIALTO UI SYSTEM — ALTO PADRÃO GLOBAL
============================================================ */

/* ===== BASE ===== */
:root{
  --fr-red:#E4100E;
  --fr-red-dark:#C90F0D;
  --fr-text:#111827;
  --fr-muted:#6B7280;
  --fr-line:#E5E7EB;
  --fr-bg:#F7F7F8;
  --fr-card:#FFFFFF;
  --fr-soft:#F9FAFB;
  --fr-radius-lg:24px;
  --fr-radius-md:18px;
  --fr-radius-sm:14px;
  --fr-shadow-sm:0 10px 24px rgba(0,0,0,.06);
  --fr-shadow-md:0 20px 50px rgba(0,0,0,.08);
  --fr-shadow-lg:0 30px 70px rgba(0,0,0,.12);
}

html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  background:var(--fr-bg);
  color:var(--fr-text);
}

/* ===== CONTAINER GERAL ===== */
.woocommerce,
.woocommerce-page-wrapper,
.frialto-home,
.page-content-wrapper{
  max-width:1280px;
  margin-left:auto;
  margin-right:auto;
}

/* ===== TÍTULOS ===== */
h1,h2,h3,h4,h5,h6,
.product_title,
.entry-title,
.page-title{
  color:var(--fr-text);
  letter-spacing:-0.02em;
}

h1,
.product_title{
  font-weight:900;
}

h2,h3{
  font-weight:800;
}

/* ===== CARDS GERAIS ===== */
.fr-card,
.fr-checkout-card,
.cart_totals,
.woocommerce-account .woocommerce,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  background:var(--fr-card);
  border:1px solid rgba(17,24,39,.04);
  border-radius:var(--fr-radius-lg);
  box-shadow:var(--fr-shadow-md);
}

/* ===== BOTÕES GLOBAIS ===== */
button,
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
#place_order{
  border:none !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--fr-red),var(--fr-red-dark)) !important;
  color:#fff !important;
  font-weight:800 !important;
  box-shadow:0 14px 36px rgba(228,16,14,.22) !important;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}

button:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
#place_order:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
  box-shadow:0 18px 44px rgba(228,16,14,.28) !important;
}

/* ===== INPUTS GLOBAIS ===== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
textarea,
select,
.woocommerce form .input-text{
  width:100%;
  min-height:52px;
  padding:14px 16px;
  border-radius:14px !important;
  border:1px solid var(--fr-line) !important;
  background:#fff;
  color:var(--fr-text);
  box-shadow:none !important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

textarea{
  min-height:110px;
}

input:focus,
textarea:focus,
select:focus,
.woocommerce form .input-text:focus{
  outline:none;
  border-color:var(--fr-red) !important;
  box-shadow:0 0 0 3px rgba(228,16,14,.10) !important;
  background:#fff;
}

/* ===== PRODUTOS — PADRÃO GLOBAL ===== */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:24px !important;
  margin:26px 0 !important;
  padding:0 !important;
}

ul.products li.product{
  list-style:none;
  background:var(--fr-card);
  border:1px solid rgba(17,24,39,.04);
  border-radius:22px;
  padding:14px;
  box-shadow:var(--fr-shadow-sm);
  display:flex !important;
  flex-direction:column !important;
  transition:transform .18s ease, box-shadow .18s ease;
  overflow:hidden;
  height:100%;
}

ul.products li.product:hover{
  transform:translateY(-3px);
  box-shadow:var(--fr-shadow-md);
}

ul.products li.product img{
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  border-radius:16px !important;
  margin:0 0 12px !important;
}

ul.products li.product h2,
ul.products li.product h3,
ul.products li.product .woocommerce-loop-product__title{
  font-size:15px;
  font-weight:800;
  line-height:1.35;
  color:var(--fr-text);
  margin:0 0 8px !important;
  min-height:40px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

ul.products li.product .price{
  margin:0 0 12px !important;
  font-size:16px;
  font-weight:800;
  color:var(--fr-text);
}

ul.products li.product .price del{
  color:#9CA3AF !important;
  text-decoration:line-through !important;
  margin-right:6px;
}

ul.products li.product .price ins{
  color:var(--fr-red) !important;
  text-decoration:none !important;
}

ul.products li.product .button{
  width:100% !important;
  min-height:48px !important;
  padding:12px 16px !important;
  margin-top:auto !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

/* ===== BADGE OFERTA ===== */
.woocommerce span.onsale{
  background:var(--fr-red) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:6px 12px !important;
  min-height:auto !important;
  min-width:auto !important;
  line-height:1 !important;
  font-size:12px !important;
  font-weight:800 !important;
  top:12px !important;
  left:12px !important;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}

/* ===== PRODUTO SINGLE ===== */
.single-product div.product{
  background:transparent;
}

.single-product .summary{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.single-product .summary .price{
  color:var(--fr-red);
  font-weight:900;
}

.single-product .quantity .qty{
  min-height:48px;
  border-radius:14px;
  text-align:center;
}

/* ===== MENSAGEM ADD TO CART ===== */
.woocommerce-notices-wrapper{
  max-width:1280px;
  margin:20px auto;
  padding:0 20px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px !important;
  margin:16px 0 !important;
  font-size:15px;
  font-weight:700;
  color:var(--fr-text);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
  display:none !important;
  content:none !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{
  white-space:nowrap;
  padding:12px 20px !important;
  min-height:auto !important;
}

/* ===== CARRINHO ===== */
.woocommerce-cart table.shop_table{
  border:none !important;
  background:#fff !important;
  border-radius:22px !important;
  overflow:hidden;
  box-shadow:var(--fr-shadow-md);
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td{
  border:none !important;
  padding:14px 16px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals{
  padding:22px;
}

.woocommerce-cart .cart-collaterals .cart_totals > h2{
  font-size:22px;
  font-weight:900;
  margin-bottom:14px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100% !important;
  min-height:54px !important;
  font-size:15px !important;
}

/* ===== CHECKOUT ===== */
.fr-checkout-page{
  max-width:1280px;
  margin:0 auto;
  padding:28px 20px 50px;
}

.fr-checkout-header{
  margin-bottom:22px;
}

.fr-checkout-title{
  margin:0;
  font-size:34px;
  font-weight:900;
}

.fr-checkout-subtitle{
  margin-top:8px;
  color:var(--fr-muted);
  font-size:15px;
}

.fr-checkout-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:24px;
  align-items:start;
}

.fr-checkout-card{
  padding:24px;
}

.fr-card-title{
  margin:0 0 16px;
  font-size:20px;
  font-weight:900;
}

.fr-summary-card{
  position:sticky;
  top:24px;
}

/* Resumo custom */
.fr-review-order{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.fr-review-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.fr-review-item{
  background:#fff;
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(17,24,39,.04);
  box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.fr-review-title{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.fr-review-premium-box{
  background:var(--fr-soft);
  border-radius:14px;
  padding:12px;
}

.fr-review-price-main .label{
  display:block;
  font-size:12px;
  color:var(--fr-muted);
}

.fr-review-price-main .value{
  font-size:18px;
  font-weight:900;
  color:var(--fr-text);
}

.fr-review-support{
  margin-top:8px;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
  color:#374151;
}

.fr-review-totals{
  margin-top:10px;
  padding-top:14px;
  border-top:1px dashed var(--fr-line);
}

.fr-review-total-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:18px;
  font-weight:900;
}

/* Pagamento / aviso */
.fr-checkout-payment-notice{
  background:#FFF7F7;
  border:1px solid rgba(228,16,14,.10);
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 22px rgba(0,0,0,.04);
  line-height:1.6;
  color:#374151;
}

.fr-checkout-payment-notice strong{
  color:var(--fr-text);
  font-weight:900;
}

/* ===== MINHA CONTA / LOGIN ===== */
.woocommerce-account .woocommerce{
  max-width:520px;
  margin:70px auto;
  padding:34px;
  display:flex;
  flex-direction:column;
  gap:28px;
}

.woocommerce-account form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.woocommerce-account h2{
  font-size:30px;
  font-weight:900;
  text-align:center;
  margin:0 0 8px;
}

.woocommerce-account form.login,
.woocommerce-account form.register{
  background:transparent;
  padding:0;
  box-shadow:none;
  border:none;
}

.woocommerce-account .button{
  width:100%;
  min-height:54px;
}

.woocommerce-account .lost_password{
  text-align:center;
  margin-top:4px;
}

.woocommerce-account label{
  display:none;
}

/* ===== FOOTER BOXES / SECÇÕES ===== */
.fr-footer,
footer{
  margin-top:30px;
}

/* ===== RESPONSIVO ===== */
@media (max-width: 1100px){
  ul.products{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }

  .fr-checkout-grid{
    grid-template-columns:1fr;
  }

  .fr-summary-card{
    position:relative;
    top:auto;
  }
}

@media (max-width: 768px){
  .woocommerce,
  .woocommerce-page-wrapper,
  .frialto-home,
  .page-content-wrapper,
  .fr-checkout-page{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  ul.products{
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:16px !important;
  }

  ul.products li.product{
    padding:12px;
    border-radius:18px;
  }

  ul.products li.product img{
    height:180px !important;
  }

  ul.products li.product h2,
  ul.products li.product h3,
  ul.products li.product .woocommerce-loop-product__title{
    font-size:14px;
    min-height:38px;
  }

  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error{
    flex-direction:column;
    align-items:flex-start;
  }

  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button{
    width:100%;
    text-align:center;
  }

  .fr-checkout-title{
    font-size:28px;
  }

  .fr-checkout-card{
    padding:18px;
  }

  .woocommerce-account .woocommerce{
    max-width:100%;
    margin:40px auto;
    padding:24px;
    border-radius:22px;
  }

  .woocommerce-account h2{
    font-size:26px;
  }
}

@media (max-width: 480px){
	/* ============================================================
FRIALTO — MINHA CONTA (UPGRADE UX)
============================================================ */

/* GRID */
.woocommerce-MyAccount-navigation ul{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

/* CARD */
.woocommerce-MyAccount-navigation ul li{
  background:#fff;
  border-radius:16px;
  padding:18px 14px;
  margin-bottom:0;
  transition:all .2s ease;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  text-align:center;
}

/* HOVER */
.woocommerce-MyAccount-navigation ul li:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(0,0,0,.10);
}

/* ATIVO */
.woocommerce-MyAccount-navigation ul li.is-active{
  background:linear-gradient(135deg,#E4100E,#C90F0D);
}

.woocommerce-MyAccount-navigation ul li.is-active a{
  color:#fff !important;
}

/* TEXTO */
.woocommerce-MyAccount-navigation ul li a{
  font-weight:700;
  font-size:14px;
  color:#111827;
  display:block;
}

/* ESCONDER TEXTO FRACO */
.woocommerce-MyAccount-content p{
  display:none;
}
  ul.products{
    grid-template-columns:1fr;
  }

  ul.products li.product .button,
  .woocommerce .button,
  #place_order{
    min-height:50px !important;
    font-size:14px !important;
  }

  .woocommerce-account .woocommerce{
    padding:20px;
  }
}