/* CV Branding — WooCommerce (carrinho, checkout, produto, conta) */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce button.button.alt,.woocommerce a.button.alt,
.wc-block-components-button:not(.is-link),.wp-element-button{
  background:var(--red)!important;color:#fff!important;border:0!important;border-radius:999px!important;
  min-height:50px;padding:0 26px!important;font:600 16px/50px var(--body)!important;text-transform:none;
  transition:transform .25s var(--ease),background-color .25s!important}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover,
.wc-block-components-button:not(.is-link):hover,.wp-element-button:hover{background:var(--red-deep)!important;transform:translateY(-2px)}
.woocommerce .button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.5;transform:none}

/* Mensagens */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{
  border:0!important;border-radius:18px!important;background:var(--stone)!important;color:var(--ink)!important;
  padding:18px 22px 18px 56px!important;font-size:16px;animation:fade .6s var(--ease) both}
.woocommerce-message::before,.woocommerce-info::before{color:var(--red)!important;top:18px!important;left:22px!important}
.woocommerce-error{background:var(--red-soft)!important}
.woocommerce-error::before{color:var(--red)!important}

/* Campos */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-textarea{
  border:1.5px solid var(--line)!important;border-radius:14px!important;padding:14px 16px!important;font:500 16px var(--body)!important;
  background:#fff!important;transition:border-color .25s,box-shadow .25s}
.woocommerce .select2-container .select2-selection--single{height:auto!important}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,
.wc-block-components-text-input input:focus{border-color:var(--red)!important;box-shadow:0 0 0 4px var(--red-soft)!important;outline:none}
.woocommerce form .form-row label{font-weight:600;font-size:14px;color:var(--ink-2)}
.wc-block-components-text-input label{color:var(--mute)}

/* Tabelas (carrinho, encomenda) */
.woocommerce table.shop_table{border:1.5px solid var(--line)!important;border-radius:22px!important;overflow:hidden;border-collapse:separate!important}
.woocommerce table.shop_table th{font-family:var(--display);font-weight:600;background:var(--stone)}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:18px 20px!important;border-color:var(--line)!important}
.woocommerce a.remove{color:var(--red)!important;transition:transform .25s}
.woocommerce a.remove:hover{background:var(--red)!important;color:#fff!important;transform:rotate(90deg)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,#order_review_heading{font-size:28px;margin:0 0 18px}
.woocommerce .quantity .qty{border:1.5px solid var(--line);border-radius:12px;min-height:46px}

/* Checkout clássico: duas colunas */
@media(min-width:900px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.2fr .8fr;gap:0 48px;align-items:start}
  .woocommerce-checkout form.checkout>*{grid-column:1}
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2}
  .woocommerce-checkout #order_review_heading{grid-row:1}
  .woocommerce-checkout #order_review{grid-row:2 / span 3;position:sticky;top:100px}
  .woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:100%}
}
.woocommerce-checkout #order_review{background:var(--stone);border-radius:26px;padding:28px}
.woocommerce-checkout #order_review table.shop_table{background:#fff}
#add_payment_method #payment,.woocommerce-cart #payment,.woocommerce-checkout #payment{background:#fff!important;border-radius:20px!important;margin-top:18px}
.woocommerce-checkout #payment div.payment_box{background:var(--stone)!important;border-radius:14px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--stone)!important}
#place_order{width:100%;font-size:17px!important}

/* Checkout em blocos (WooCommerce recente) */
.wc-block-checkout,.wc-block-cart{font-family:var(--body)}
.wc-block-components-sidebar .wc-block-components-panel,.wc-block-checkout__sidebar,.wc-block-cart__sidebar{
  background:var(--stone);border-radius:26px;padding:24px!important}
.wc-block-components-title,.wc-block-components-checkout-step__title{font-family:var(--display)!important;letter-spacing:-.02em}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--red);font-family:var(--display)}
.wc-block-components-radio-control__option{border-radius:14px!important}
.wc-block-components-radio-control__input:checked{border-color:var(--red)!important}
.wc-block-components-radio-control__input:checked::before{background:var(--red)!important}

/* Página de produto */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;animation:fade .8s var(--ease) both}
.woocommerce div.product>*{width:auto!important;float:none!important}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related{grid-column:1/-1}
.woocommerce div.product .product_title{font-size:clamp(34px,4.4vw,56px);font-weight:700;letter-spacing:-.04em;margin-bottom:14px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--red)!important;font:700 40px var(--display)!important;letter-spacing:-.03em}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:18px;color:var(--ink-2);margin:18px 0 26px}
.woocommerce div.product form.cart{display:flex;gap:12px;align-items:center;margin:0 0 24px}
.woocommerce div.product .product_meta{font-size:14px;color:var(--mute)}
.woocommerce div.product div.images img{border-radius:28px}
.woocommerce div.product .woocommerce-product-gallery:not(:has(img)){display:none}
.woocommerce div.product:not(:has(.woocommerce-product-gallery img)){grid-template-columns:1fr;max-width:780px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 24px!important;display:flex;gap:10px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.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{border:1.5px solid var(--line)!important;border-radius:999px!important;background:#fff!important;margin:0!important;padding:0 6px!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ink)!important;border-color:var(--ink)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.woocommerce div.product .woocommerce-tabs .panel ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.woocommerce div.product .woocommerce-tabs .panel li{position:relative;padding-left:30px;font-size:17px}
.woocommerce div.product .woocommerce-tabs .panel li::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--red-soft);box-shadow:inset 0 0 0 5px var(--red-soft),inset 0 0 0 9px var(--red)}
@media(max-width:860px){.woocommerce div.product{grid-template-columns:1fr;gap:28px}}

/* Grelha de produtos da loja ([products] e arquivo da loja) */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--line);border-radius:26px;padding:28px!important;transition:transform .45s var(--ease),border-color .3s,box-shadow .45s}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);border-color:var(--ink);box-shadow:0 26px 50px -30px rgba(18,18,18,.35)}
.woocommerce ul.products li.product.featured{background:var(--ink);color:#fff;border-color:var(--ink)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:700 22px/1.15 var(--display)!important;letter-spacing:-.02em;padding:0!important;margin-bottom:10px}
.woocommerce ul.products li.product .price{color:var(--red)!important;font:700 28px var(--display)!important}
.woocommerce ul.products li.product .button{margin-top:auto!important;text-align:center}
.woocommerce ul.products li.product img{border-radius:18px}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:24px}
.woocommerce-products-header__title{font-size:clamp(36px,5vw,64px);margin-bottom:28px}

/* Minha conta */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:12px 18px;border-radius:14px;text-decoration:none;font-weight:600;transition:background-color .2s,color .2s}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:#fff}

/* Página de encomenda recebida */
.woocommerce-order .woocommerce-thankyou-order-received{font:700 clamp(28px,3.4vw,40px)/1.1 var(--display);letter-spacing:-.03em;color:var(--ink);padding:28px 0}
.woocommerce ul.order_details{display:flex;flex-wrap:wrap;gap:12px;padding:0}
.woocommerce ul.order_details li{border:0!important;background:var(--stone);border-radius:16px;padding:16px 20px!important;margin:0!important}
