/*
 * Kairós Íntimo — o WooCommerce vestido.
 *
 * Por omissão o WooCommerce entrega tabelas com etiquetas empilhadas no telemóvel,
 * avisos cinzentos e um selo amarelo "Promoção!". Numa loja escura isso lê-se como
 * software por acabar. Aqui nada disso aparece: tudo passa a cartões e a botões da casa.
 */

/* ---------- avisos ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,
.woocommerce-noreviews,p.no-comments{
  list-style:none;margin:0 0 16px;padding:15px 17px;border-radius:13px;
  background:var(--card);border:1px solid var(--line);border-left:3px solid var(--ac);
  color:var(--tx);font-size:14.5px;line-height:1.55;display:flex;flex-wrap:wrap;
  align-items:center;gap:12px}
.woocommerce-error{border-left-color:#fb7185;background:rgba(251,113,133,.07)}
.woocommerce-error li{list-style:none;width:100%}
.woocommerce-error li+li{margin-top:5px;padding-top:5px;border-top:1px solid rgba(251,113,133,.16)}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{color:var(--ac);font-weight:700}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}

/* ---------- botões ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.wp-element-button,
button.single_add_to_cart_button,#place_order,.checkout-button{
  background:linear-gradient(135deg,var(--ac),var(--ac2))!important;color:#fff!important;
  border:0!important;border-radius:12px!important;padding:14px 26px!important;
  font-weight:800!important;font-size:15px!important;min-height:50px;cursor:pointer;
  line-height:1.2!important;text-shadow:none!important;box-shadow:0 8px 22px rgba(255,77,141,.22)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{
  filter:brightness(1.08)}
.woocommerce button.button:disabled,.woocommerce button.button[disabled]{
  background:var(--card2)!important;color:var(--dim)!important;box-shadow:none;opacity:1}
.woocommerce .button.wc-backward{background:var(--card2)!important;color:var(--tx)!important;
  border:1px solid var(--line)!important;box-shadow:none}

/* ---------- campos ---------- */
.woocommerce form .form-row{padding:0;margin:0 0 14px}
.woocommerce form .form-row label{display:block;font-size:13px;font-weight:700;color:var(--dim);margin:0 0 6px}
.woocommerce form .form-row .required{color:var(--ac);text-decoration:none;border:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container .select2-selection--single{
  background:var(--card2)!important;border:1px solid var(--line)!important;color:var(--tx)!important;
  border-radius:11px!important;padding:13px 14px!important;min-height:50px!important;width:100%;
  font:inherit;font-size:15px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus{outline:2px solid var(--ac);outline-offset:1px}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#fb7185!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--tx)!important;
  line-height:24px!important;padding-left:0!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:12px!important}
.select2-dropdown{background:var(--card)!important;border-color:var(--line)!important;color:var(--tx)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--ac)!important}
::placeholder{color:var(--dim);opacity:.7}

/* ---------- carrinho: cartões, nunca tabela ---------- */
.woocommerce-cart-form{margin:0 0 22px}
.woocommerce table.shop_table{border:0!important;border-collapse:separate;border-spacing:0 12px;
  width:100%;margin:0;background:none}
.woocommerce table.shop_table thead{display:none}
.woocommerce table.shop_table tbody tr.cart_item,
.woocommerce table.shop_table.cart tbody tr{
  display:grid;grid-template-columns:82px 1fr auto;gap:4px 14px;align-items:center;
  background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.woocommerce table.shop_table td{border:0!important;padding:0!important;background:none}
.woocommerce table.shop_table td::before{display:none!important}
.woocommerce table.shop_table td.product-remove{grid-column:3;grid-row:1;justify-self:end;order:3}
.woocommerce table.shop_table td.product-remove a{width:44px;height:44px;min-width:44px;display:grid;place-items:center;
  border-radius:9px;background:var(--card2);color:var(--dim)!important;font-size:18px;text-decoration:none}
.woocommerce table.shop_table td.product-remove a:hover{background:rgba(251,113,133,.16);color:#fb7185!important}
.woocommerce table.shop_table td.product-thumbnail{grid-column:1;grid-row:1/span 2;display:block}
.woocommerce table.shop_table td.product-thumbnail img{width:82px;height:82px;object-fit:contain;
  background:#fff;border-radius:10px;padding:5px}
.woocommerce table.shop_table td.product-name{grid-column:2;grid-row:1;font-size:14.5px;line-height:1.35}
.woocommerce table.shop_table td.product-name a{color:var(--tx);font-weight:600}
.woocommerce table.shop_table td.product-price{display:none}
.woocommerce table.shop_table td.product-quantity{grid-column:2;grid-row:2;justify-self:start}
.woocommerce table.shop_table td.product-subtotal{grid-column:3;grid-row:2;justify-self:end;
  font-weight:800;font-size:17px}
.woocommerce .quantity{display:inline-flex}
.woocommerce .quantity .qty{width:74px!important;min-height:44px!important;text-align:center;
  background:var(--card2)!important;border:1px solid var(--line)!important;color:var(--tx)!important;
  border-radius:10px!important;padding:8px!important}
.woocommerce table.shop_table td.actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;
  padding-top:12px!important;margin-top:4px;border-top:1px solid var(--line)!important}
.woocommerce .coupon{display:flex;gap:10px;flex:1;min-width:230px}
.woocommerce .coupon input{flex:1;min-width:0}

/* ---------- totais ---------- */
.cart_totals,.woocommerce .cart-collaterals{width:100%!important;float:none!important}
.cart_totals h2,.woocommerce-checkout h3,.woocommerce-billing-fields h3,#order_review_heading{
  font-size:19px;font-weight:800;letter-spacing:-.3px;margin:0 0 14px}
.cart_totals table.shop_table{background:var(--card);border:1px solid var(--line)!important;
  border-radius:14px;padding:6px 16px;border-spacing:0}
.cart_totals table.shop_table tr{display:flex;justify-content:space-between;gap:14px;
  padding:12px 0;border:0;background:none;border-radius:0}
.cart_totals table.shop_table tr+tr{border-top:1px solid rgba(58,31,56,.6)!important}
.cart_totals th{font-weight:600;color:var(--dim);text-align:left;padding:0!important;border:0!important}
.cart_totals td{text-align:right;padding:0!important;border:0!important}
.cart_totals .order-total th,.cart_totals .order-total td{font-size:18px;font-weight:800;color:var(--tx)}
.wc-proceed-to-checkout{padding:16px 0 0!important}
.wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;width:100%}
.woocommerce-shipping-destination,.woocommerce-shipping-methods{font-size:14px}
.woocommerce-shipping-methods li{list-style:none;margin:0 0 6px}
.woocommerce-shipping-totals .woocommerce-Price-amount{color:var(--ok);font-weight:700}

/* ---------- checkout ---------- */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:0}
#customer_details{margin-bottom:22px}
#order_review{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.woocommerce-checkout-review-order-table{background:none!important;border:0!important;
  border-spacing:0!important;margin-bottom:16px!important}
.woocommerce-checkout-review-order-table thead th{color:var(--dim)!important;font-size:11px;
  text-transform:uppercase;letter-spacing:.6px;padding:0 0 10px!important;border-bottom:1px solid var(--line)!important}
.woocommerce-checkout-review-order-table tbody tr{display:flex!important;justify-content:space-between;
  gap:14px;padding:11px 0!important;background:none!important;border:0!important;border-radius:0!important}
.woocommerce-checkout-review-order-table tbody tr+tr{border-top:1px solid rgba(58,31,56,.55)!important}
.woocommerce-checkout-review-order-table tfoot tr{display:flex;justify-content:space-between;gap:14px;
  padding:11px 0}
.woocommerce-checkout-review-order-table tfoot tr+tr{border-top:1px solid rgba(58,31,56,.55)}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td{font-size:19px;font-weight:800;color:var(--tx)}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{
  border:0!important;padding:0!important;background:none!important}

#payment{background:none!important;border-radius:0}
#payment ul.payment_methods{padding:0!important;border:0!important;margin:0 0 16px;list-style:none}
#payment ul.payment_methods li{background:var(--card2);border:1.5px solid var(--line);border-radius:13px;
  padding:14px 16px;margin:0 0 10px;list-style:none}
#payment ul.payment_methods li:has(input:checked){border-color:var(--ac);background:rgba(255,77,141,.07)}
#payment ul.payment_methods li label{display:inline-flex;align-items:center;gap:10px;font-weight:700;
  font-size:15px;color:var(--tx);cursor:pointer;margin:0}
#payment ul.payment_methods li input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--ac);margin:0}
#payment ul.payment_methods li img{max-height:26px;width:auto;margin-left:6px}
#payment div.payment_box{background:transparent!important;border:0!important;margin:12px 0 0!important;
  padding:0!important;color:var(--dim)!important;font-size:13.5px}
#payment div.payment_box::before{display:none!important}
#payment div.payment_box:empty{display:none}
#payment .place-order{padding:0!important;margin-top:6px}
#place_order{width:100%}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:14px;font-size:13.5px;color:var(--dim)}
.woocommerce-privacy-policy-text p{font-size:13px;color:var(--dim)}
.woocommerce-form-coupon-toggle .woocommerce-info{font-size:14px}

/* ---------- produto ---------- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%!important;float:none!important;margin:0!important}
.woocommerce div.product div.images img{background:#fff;border-radius:14px}
.woocommerce div.product .product_title{font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0 0 10px}
.woocommerce div.product p.price{font-size:28px!important;font-weight:800;letter-spacing:-.6px;margin:0 0 16px}
.woocommerce div.product p.price del{font-size:18px;color:var(--dim)!important;font-weight:400;margin-right:8px}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--tx)}
.woocommerce div.product form.cart{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--dim);font-size:15px}
.woocommerce div.product .product_meta{font-size:13px;color:var(--dim);margin-top:16px;
  padding-top:14px;border-top:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 16px!important;border:0!important;
  display:flex;gap:8px;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--card2)!important;border:1px solid var(--line)!important;
  border-radius:10px!important;padding:0!important;margin:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 16px!important;color:var(--dim)!important;font-weight:700}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-color:var(--ac)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--tx)!important}
.woocommerce div.product .woocommerce-tabs .panel{color:var(--dim);font-size:15px;line-height:1.7}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{display:none!important}

/* ---------- arquivo da loja ---------- */
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin:0 0 16px}
.woocommerce .woocommerce-result-count{color:var(--dim);font-size:14px}
.woocommerce .woocommerce-ordering select{max-width:260px}
.woocommerce nav.woocommerce-pagination ul{border:0!important;display:flex;gap:8px;justify-content:center;margin-top:26px}
.woocommerce nav.woocommerce-pagination ul li{border:0!important;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:11px;
  background:var(--card2);color:var(--dim)!important;padding:0 12px;font-weight:700}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ac);color:#fff!important}
.woocommerce-products-header__title,.woocommerce .page-title{font-size:27px;font-weight:800;letter-spacing:-.5px;margin:0 0 6px}
.term-description{color:var(--dim);margin:0 0 18px}

/* ---------- conta e formulários soltos ---------- */
.woocommerce-form,.woocommerce-account .woocommerce{max-width:560px}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:11px 15px;border-radius:10px;
  background:var(--card2);color:var(--dim);font-weight:600;font-size:14px;min-height:44px;
  display:flex;align-items:center}
.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--ac);color:#fff}

@media(max-width:760px){
  .woocommerce div.product{grid-template-columns:1fr;gap:22px}
  .woocommerce table.shop_table tbody tr.cart_item,
  .woocommerce table.shop_table.cart tbody tr{grid-template-columns:68px 1fr auto}
  .woocommerce table.shop_table td.product-thumbnail img{width:68px;height:68px}
  .woocommerce .coupon{min-width:100%}
  .woocommerce table.shop_table td.actions .button{width:100%}
  #order_review{padding:16px}
  .woocommerce div.product p.price{font-size:24px!important}
}

/* ---------- mobília da rede que não pertence a esta loja ----------
 * Os mu-plugins kairos-shop-layout / grid-columns / pagination-premium injetam
 * um seletor de grelha-vs-lista e uma paginação próprios, com botões de 34px e
 * outro visual. São closures anónimas em hooks — não se removem por nome, por
 * isso escondem-se aqui. Ficam intactos para as outras 153 lojas. */
.kairos-shop-toolbar,.kairos-grid-btn,.kairos-list-btn,.kairos-view-toggle,
.kairos-pag,.kairos-pag-btn,.kairos-pagination,.kairos-cols{display:none!important}

/* ---------- caixas de pagamento: os gateways trazem estilo inline claro ----------
 * O Kairós Pay escreve color:#555 e caixas com fundo branco no HTML, à conta de
 * um tema claro. Num tema escuro isso fica cinzento sobre preto — ilegível.
 * O :not() protege os elementos da Stripe, que TÊM de ficar brancos (são iframes
 * do lado deles e o texto do cartão é escuro). */
#payment div.payment_box,
#payment div.payment_box p,
#payment div.payment_box div:not(.StripeElement):not(.__PrivateStripeElement):not([id*="stripe"]),
#payment div.payment_box span:not([class*="stripe"]),
#payment div.payment_box li{
  color:var(--tx)!important;font-size:14px;line-height:1.55}
#payment div.payment_box div[style*="#555"],
#payment div.payment_box div[style*="#666"],
#payment div.payment_box div[style*="#777"]{color:var(--dim)!important}

/* qualquer caixa clara que o gateway injete passa a cartão escuro */
#payment div.payment_box div[style*="background:#f"],
#payment div.payment_box div[style*="background-color:#f"],
#payment div.payment_box div[style*="background:#e"],
#payment div.payment_box div[style*="background: rgb(2"],
#payment div.payment_box .kairos-pay-info,
#payment div.payment_box .mbway-info{
  background:var(--card)!important;border:1px solid var(--line)!important;
  border-radius:11px!important;padding:13px 15px!important;color:var(--tx)!important}

/* o campo do cartão da Stripe fica branco de propósito — mas emoldurado */
#payment .StripeElement{background:#fff!important;border-radius:11px!important;
  padding:14px 13px!important;border:1px solid var(--line)!important;min-height:52px}

/* logótipos: chip claro por trás, senão MB WAY e Multibanco somem no escuro */
#payment ul.payment_methods li img{
  max-height:30px;width:auto;margin-left:8px;background:#fff;border-radius:7px;
  padding:4px 7px;box-sizing:content-box;vertical-align:middle}
#payment ul.payment_methods li label{flex-wrap:wrap}


/* ---------- o scroll do documento ----------
 * Um mu-plugin da rede injeta uma folha INLINE com html,body{overflow-x:hidden}.
 * Inline ganha a uma folha externa, e o hidden faz do body um contentor de scroll:
 * a pagina deixa de rolar no documento e o scroll infinito nunca dispara.
 * O clip corta o transbordo sem criar contentor. Daqui a woo.css carrega DEPOIS,
 * e com !important fica por cima do inline. */
html, body { overflow-x: clip !important; }
