/*
Theme Name: IKI Custom
Author: Pedro
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700&display=swap');

/* ===== MANIFESTO ===== */
.manifestoSection {
  background: #fff;
  padding: 110px 0;
}

.manifestoText {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 80px;
  font-size: 54px;
  line-height: 1.08;
  font-weight: 300;
  color: #2b2b2b;
  text-align: left;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.manifestoLine { display: block; }

.grecaptcha-badge { visibility: hidden !important; }

/* ===== REVEAL ===== */
.revealOnScroll {
  opacity: 1;
  transform: none;
}

html.reveal-enabled .revealOnScroll {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .8s ease, transform .8s ease;
  will-change: opacity, transform;
}

html.reveal-enabled .revealOnScroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 900px) {
  .manifestoSection { padding: 70px 0; }
  .manifestoText { padding: 0 24px; font-size: 34px; }
}

/* ===== WOOCOMMERCE WRAPPER ===== */
.woocommerceWrapper,
.woocommerceInner {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.woocommerceInner .woocommerce,
.woocommerceInner .woocommerce-page {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

/* ===== OVERFLOW ===== */
html, body {
  overflow-x: hidden !important;
}

/* ===== HEADER ===== */
.woocommerce-cart header,
.woocommerce-checkout header,
.woocommerce-account header,
.woocommerce-page header {
  background: #000000 !important;
  position: relative !important;
}

.woocommerce-cart header .logo,
.woocommerce-checkout header .logo,
.woocommerce-account header .logo,
.woocommerce-page header .logo,
.woocommerce-cart .logo,
.woocommerce-checkout .logo,
.woocommerce-account .logo,
.woocommerce-page .logo {
  height: 28px !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
  filter: none !important;
  opacity: 1 !important;
}

.woocommerce-cart header img,
.woocommerce-checkout header img,
.woocommerce-account header img,
.woocommerce-page header img {
  height: 28px !important;
  width: auto !important;
  max-width: none !important;
}

/* ===== LAYOUT DUAS COLUNAS CARRINHO ===== */
.woocommerce-cart .cartLayout {
  display: grid;
  grid-template-columns: 1fr 490px !important;
  gap: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cartLeft {
  padding: 60px 60px 100px 120px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cartRight {
  background: #f9f9f9 !important;
  min-width: 0 !important;
  min-height: 100vh !important;
  box-sizing: border-box !important;
}

.woocommerce-cart .cartRight .cart_totals {
  position: sticky !important;
  top: 0 !important;
  padding: 60px 40px !important;
  background: transparent !important;
  width: 100% !important;
  box-sizing: border-box !important;
  word-break: break-word;
}

.cartTitle {
  font-size: 48px;
  font-weight: 200;
  color: #111;
  letter-spacing: -.02em;
  margin-bottom: 36px;
  line-height: 1;
}

@media (max-width: 1200px) {
  .woocommerce-cart .cartLayout {
    grid-template-columns: 1fr 400px !important;
  }
  .woocommerce-cart .cartLeft {
    padding: 60px 40px 100px 60px !important;
  }
}

@media (max-width: 1024px) {
  .woocommerce-cart .cartLayout {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-cart .cartLeft {
    padding: 40px 20px !important;
  }
  .woocommerce-cart .cartRight {
    min-height: auto !important;
  }
  .woocommerce-cart .cartRight .cart_totals {
    padding: 40px 20px !important;
    position: static !important;
  }
}

/* ===== CARRINHO: TABELA ===== */
.woocommerce-cart table.shop_table {
  border: none;
  border-collapse: collapse;
  width: 100%;
  font-weight: 300;
  color: #2b2b2b;
  font-size: 15px;
}

.woocommerce-cart table.shop_table thead th {
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2b2b2b;
  border-bottom: 1px solid #e0e0e0;
  padding: 12px 0;
  background: none;
}

.woocommerce-cart table.shop_table tbody td {
  border-bottom: 1px solid #f0f0f0;
  padding: 24px 0;
  background: none;
  vertical-align: middle;
}

.woocommerce-cart table.shop_table .product-remove {
  display: none !important;
}

.woocommerce-cart table.shop_table thead th.product-thumbnail,
.woocommerce-cart table.shop_table tbody td.product-thumbnail {
  width: 52% !important;
  text-align: left !important;
  padding-left: 0 !important;
}

.woocommerce-cart table.shop_table thead th.product-price,
.woocommerce-cart table.shop_table tbody td.product-price {
  width: 16% !important;
  text-align: left !important;
  padding-right: 40px !important;
  vertical-align: middle !important;
}

.woocommerce-cart table.shop_table thead th.product-quantity,
.woocommerce-cart table.shop_table tbody td.product-quantity {
  width: 16% !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.woocommerce-cart table.shop_table thead th.product-subtotal,
.woocommerce-cart table.shop_table tbody td.product-subtotal {
  width: 16% !important;
  text-align: right !important;
  vertical-align: middle !important;
}

/* ===== CÉLULA PRODUTO ===== */
.cartProductCell {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.cartProductImg {
  flex-shrink: 0;
  width: 110px;
  height: 110px;
  background: #f5f5f5;
  overflow: hidden;
}

.cartProductImg img {
  width: 110px !important;
  height: 110px !important;
  object-fit: cover !important;
  display: block !important;
}

.cartProductInfo {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 4px;
}

.cartProductName a,
.cartProductName {
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #111 !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}

.cartProductName a:hover {
  text-decoration: underline !important;
}

.cartRemoveBtn {
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #aaa !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  display: inline-block !important;
  transition: color .2s !important;
}

.cartRemoveBtn:hover {
  color: #111 !important;
}

/* ===== QUANTIDADE ===== */
.woocommerce-cart .quantity input.qty {
  -moz-appearance: textfield !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  border: none !important;
  width: 32px !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 4px !important;
}

.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.woocommerce-cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  justify-content: flex-end !important;
}

.cartQtyBtn {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  border: 1px solid #d0d0d0 !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cartQtyBtn:hover {
  border-color: #111 !important;
  background: #111 !important;
  color: #fff !important;
}

/* ===== CUPOM CARRINHO ===== */
.woocommerce-cart .coupon {
  display: flex;
  align-items: center;
  gap: 10px;
}

.woocommerce-cart .coupon input.input-text {
  flex: 1 !important;
  width: auto !important;
  height: 44px !important;
  padding: 0 16px !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 0 !important;
  font-weight: 300 !important;
  color: #2b2b2b !important;
  font-size: 14px !important;
  background: #fff !important;
}

.woocommerce-cart .coupon .button {
  flex: 1 !important;
  height: 44px !important;
  white-space: nowrap !important;
  text-align: center !important;
  background: #fff !important;
  color: #2b2b2b !important;
  border: 1px solid #2b2b2b !important;
  border-radius: 0 !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  transition: background 0.2s, color 0.2s !important;
  cursor: pointer !important;
}

.woocommerce-cart .coupon .button:hover {
  background: #2b2b2b !important;
  color: #fff !important;
}

.woocommerce-cart .actions button[name="update_cart"] {
  display: none !important;
}

.woocommerce-cart table.shop_table tbody tr:last-child td {
  border-bottom: none !important;
}

.woocommerce-cart table.shop_table tr.actions td {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* ===== RESUMO DO CARRINHO ===== */
.cartRight .cart_totals h2 {
  font-size: 18px;
  font-weight: 300;
  letter-spacing: -.01em;
  color: #111;
  margin-bottom: 28px;
  text-transform: none;
}

.cartRight .cart_totals table {
  width: 100%;
  border: none;
  font-weight: 300;
  color: #2b2b2b;
  font-size: 15px;
}

.cartRight .cart_totals table th,
.cartRight .cart_totals table td {
  font-size: 15px;
  font-weight: 300;
  color: #2b2b2b;
  padding: 12px 0;
  border: none;
  border-bottom: 1px solid #ebebeb;
  background: none;
  overflow-wrap: break-word;
}

.cartRight .cart_totals table .order-total th,
.cartRight .cart_totals table .order-total td {
  font-size: 18px;
  font-weight: 400;
  border-bottom: none;
  padding-top: 20px;
}

.cartRight .wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 0 !important;
  padding: 18px !important;
  text-align: center !important;
  text-decoration: none !important;
  margin-top: 24px !important;
  transition: background 0.2s !important;
  cursor: pointer !important;
}

.cartRight .wc-proceed-to-checkout .checkout-button::after {
  content: "Finalizar pedido" !important;
  font-size: 14px !important;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #fff !important;
}

.cartRight .wc-proceed-to-checkout .checkout-button:hover {
  background: #333 !important;
}

.cartRight .cart_totals > .woocommerce-shipping-calculator {
  display: none !important;
}

.woocommerce-cart .cross-sells {
  display: none !important;
}

/* ===== CARRINHO: BOLINHA VERMELHA ===== */
.headerCartBtn { position: relative; }
.cartDot {
  position: absolute;
  top: -2px;
  right: -4px;
  width: 8px;
  height: 8px;
  background: #e53935;
  border-radius: 50%;
  pointer-events: none;
}

/* ===== OVERLAYS ===== */
.cartNoticeOverlay { display: none !important; }

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

.blockUI.blockOverlay,
.woocommerce .blockUI.blockOverlay,
.woocommerce-cart .blockUI.blockOverlay {
  display: none !important;
}

/* ===== SIMULADOR DE FRETE ===== */
.cartFreteSimulatorRight {
  padding: 16px 0 !important;
  border-bottom: 1px solid #ebebeb !important;
}

.cartFreteSimulatorRight .cartFreteLabel,
.cartFreteLabel {
  font-size: 11px !important;
  font-weight: 300 !important;
  color: #999 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

.cartFreteSimulatorRight .shipping-calculator-button { display: none !important; }
.cartFreteSimulatorRight .woocommerce-shipping-calculator { display: block !important; }
.cartFreteSimulatorRight .shipping-calculator-form { display: block !important; padding: 0 !important; background: none !important; }
.cartFreteSimulatorRight .shipping-calculator-form .form-row { display: none !important; }

.cartFreteSimulatorRight #calc_shipping_postcode_field,
#calc_shipping_postcode_field {
  display: block !important;
  margin: 0 0 8px !important;
}

.cartFreteSimulatorRight #calc_shipping_postcode_field input,
.cartFreteSimulatorRight .shipping-calculator-form input[type="text"] {
  width: 100% !important;
  height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  background: #fff !important;
  box-shadow: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
}

.cartFreteSimulatorRight .shipping-calculator-form button[type="submit"] {
  width: 100% !important;
  height: 40px !important;
  margin-top: 8px !important;
  border-radius: 6px !important;
  border: 1px solid #111 !important;
  background: #fff !important;
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  transition: background .2s, color .2s !important;
}

.cartFreteSimulatorRight .shipping-calculator-form button[type="submit"]:hover {
  background: #111 !important;
  color: #fff !important;
}

/* ===== TRUST BAR CARRINHO ===== */
.cartTrustBar {
  display: flex;
  gap: 32px;
  align-items: center;
  padding: 18px 0;
  margin: 8px 0 32px;
  flex-wrap: wrap;
}

.cartTrustItem {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 300;
  color: #aaa !important;
  letter-spacing: 0.04em;
}

.cartTrustItem svg { opacity: 0.4 !important; flex-shrink: 0; }

@media (max-width: 600px) {
  .cartTrustBar { gap: 16px; flex-direction: column; align-items: flex-start; }
}

/* ===== BOTÃO CONTINUAR COMPRANDO ===== */
.cartContinue { margin-bottom: 40px; }
.cartContinueBtn {
  font-size: 13px;
  font-weight: 300;
  color: #2b2b2b;
  text-decoration: none;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #2b2b2b;
  padding-bottom: 2px;
  transition: opacity 0.2s;
}
.cartContinueBtn:hover { opacity: 0.5; }

/* ===== BUSCA ===== */
.headerSearchBtn {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-right: 18px;
  opacity: .85;
  transition: opacity .2s;
}
.headerSearchBtn:hover { opacity: 1; }

.searchOverlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
  overflow-y: auto;
}
.searchOverlay.isOpen { opacity: 1; visibility: visible; }

.searchOverlayContent {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 80px 80px;
}

.searchOverlayHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

.searchOverlayLabel { font-size: 13px; font-weight: 400; letter-spacing: .12em; color: #999; }

.searchOverlayClose {
  background: none; border: none; font-size: 32px; color: #2b2b2b;
  cursor: pointer; line-height: 1; padding: 0; transition: opacity .2s;
  flex-shrink: 0;
}
.searchOverlayClose:hover { opacity: .6; }

.searchOverlayFieldWrap { display: flex; align-items: center; gap: 20px; margin-bottom: 20px; }

.searchOverlayInput {
  flex: 1; background: none; border: none; outline: none;
  font-size: 36px; font-weight: 600; color: #2b2b2b;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif; padding: 0;
  min-width: 0;
}
.searchOverlayInput::placeholder { color: #ccc; }

.searchOverlayClear {
  background: none; border: none; font-size: 16px; color: #2b2b2b; cursor: pointer;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400; padding: 0; white-space: nowrap; transition: opacity .2s;
  flex-shrink: 0;
}
.searchOverlayClear:hover { opacity: .6; }

.searchOverlayDivider { height: 1px; background: #e0e0e0; margin-bottom: 40px; }

.searchResultsGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px 24px; }

.searchResultCard {
  text-decoration: none; color: inherit; display: flex;
  flex-direction: column; transition: opacity .2s;
}
.searchResultCard:hover { opacity: .75; }

.searchResultImg {
  width: 100%; aspect-ratio: 1 / 1; background: #f5f5f5;
  border-radius: 4px; overflow: hidden; margin-bottom: 12px;
}
.searchResultImg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.searchResultTitle { font-size: 14px; font-weight: 400; color: #2b2b2b; line-height: 1.3; margin-bottom: 6px; }
.searchResultPrices { display: flex; flex-direction: column; gap: 2px; }
.searchResultRegular { font-size: 15px; font-weight: 600; color: #2b2b2b; }
.searchResultPix { font-size: 13px; font-weight: 600; color: #2d8c2f; }
.searchResultPix em { font-style: normal; font-weight: 400; font-size: 12px; }
.searchResultInstallment { font-size: 12px; color: #888; font-weight: 300; }
.searchLoading, .searchNoResults { font-size: 15px; color: #999; padding: 20px 0; font-weight: 300; }

.searchViewAll { text-align: center; margin-top: 40px; }
.searchViewAllBtn {
  display: inline-block; padding: 14px 48px; border: 1px solid #2b2b2b; color: #2b2b2b;
  font-size: 14px; font-weight: 400; font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .04em; text-decoration: none; transition: background .2s, color .2s;
}
.searchViewAllBtn:hover { background: #2b2b2b; color: #fff; }

/* ===== BUSCA — MOBILE ===== */
@media (max-width: 768px) {
  .searchOverlayContent { padding: 20px 20px 40px; }
  .searchOverlayHeader { margin-bottom: 16px; align-items: flex-start; }
  .searchOverlayLabel { font-size: 10px; letter-spacing: .08em; padding-top: 4px; }
  .searchOverlayClose { font-size: 28px; }
  .searchOverlayFieldWrap { gap: 10px; margin-bottom: 14px; }
  .searchOverlayInput { font-size: 20px; font-weight: 500; }
  .searchOverlayClear { font-size: 12px; }
  .searchOverlayDivider { margin-bottom: 20px; }
  .searchResultsGrid { grid-template-columns: repeat(2, 1fr); gap: 16px 12px; }
  .searchResultImg { margin-bottom: 8px; }
  .searchResultTitle { font-size: 12px; }
  .searchResultRegular { font-size: 13px; }
  .searchResultPix { font-size: 11px; }
  .searchResultInstallment { font-size: 10px; }
  .searchViewAll { margin-top: 24px; }
  .searchViewAllBtn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 20px;
    font-size: 12px;
    text-align: center;
  }
}

/* ===== MINHA CONTA ===== */
.woocommerce-account .woocommerce {
    display: flex; gap: 60px; padding: 60px 40px;
    max-width: 1200px; margin: 0 auto; align-items: flex-start;
}
.myaccount-greeting { font-size: 2.2rem; font-weight: 700; color: #111; margin-bottom: 28px; line-height: 1.2; }
.woocommerce-MyAccount-navigation { min-width: 260px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation ul li a {
    display: flex; align-items: center; gap: 12px; font-size: 1rem; color: #111;
    text-decoration: none; padding: 12px 0; border-bottom: 1px solid #ebebeb; transition: color 0.2s;
}
.woocommerce-MyAccount-navigation ul li a:hover { color: #888; }
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a { font-weight: 600; }
.myaccount-nav-icon { display: flex; align-items: center; opacity: 0.75; }
.woocommerce-MyAccount-content { flex: 1; font-size: 1.05rem; line-height: 1.8; color: #111; }
.woocommerce-MyAccount-content > p:first-child { font-size: 1.15rem; margin-bottom: 32px; }
.woocommerce-orders-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.woocommerce-orders-table thead th {
    text-align: left; border-bottom: 2px solid #111; padding: 10px 0;
    font-size: 0.9rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
}
.woocommerce-orders-table tbody td { padding: 14px 0; border-bottom: 1px solid #ebebeb; font-size: 0.95rem; }

@media (max-width: 768px) {
    .woocommerce-account .woocommerce { flex-direction: column; padding: 30px 20px; gap: 30px; }
    .woocommerce-MyAccount-navigation { min-width: unset; width: 100%; }
}

/* ===== PRODUTO ===== */
.spShortDesc { margin-top: 80px; font-size: 20px; font-weight: 200; color: #666; line-height: 1.7; }
.spDivider { height: 1px; background: #ececec; margin: 28px 0; }

.spTabs { margin-top: 60px; padding: 0 0 60px; width: 100%; box-sizing: border-box; }
.spTabsNav { display: flex; gap: 0; justify-content: center; border-bottom: none; margin-bottom: 40px; width: 100%; }
.spTabBtn {
  background: none; border: none; border-bottom: 2px solid transparent;
  padding: 14px 28px; font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 26px; font-weight: 300; letter-spacing: .06em; text-transform: uppercase;
  color: #aaa; cursor: pointer; margin-bottom: -1px; transition: color .2s, border-color .2s;
}
.spTabBtn:hover { color: #111; }
.spTabBtn.isActive { color: #111; border-bottom-color: #111; font-weight: 400; }
.spTabContent { display: none; font-size: 15px; font-weight: 300; line-height: 1.8; color: #444; width: 100%; box-sizing: border-box; }
.spTabContent.isActive { display: block; }

@media (max-width: 768px) {
  .spTabs { padding: 0 0 40px; }
  .spTabBtn { padding: 12px 16px; font-size: 14px; }
}

header a:hover, header button:hover { opacity: 0.6; transition: opacity 0.2s ease; }
.headerEnterBtn:hover { opacity: 1; }
.headerSearchBtn:hover { opacity: 0.6 !important; }

.categoryRail, .readyCarousel { touch-action: pan-x; overscroll-behavior-x: contain; }
.carouselWrap, .readyCarouselWrap { overscroll-behavior: contain; }
.categoryRailWrap, .readyCarouselWrap, .storiesCarouselWrap, .carouselWrap { overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.categoryRail, .readyCarousel, .storiesCarousel { overscroll-behavior-x: contain; touch-action: pan-x pinch-zoom; }

/* ============================================================
   IKI — ABAS DO PRODUTO
   ============================================================ */
.woocommerce-tabs ul.tabs {
    display: flex; gap: 36px; border-bottom: 1px solid #e0e0e0;
    padding: 0; margin: 0 0 40px; list-style: none;
}
.woocommerce-tabs ul.tabs li { padding: 0; margin: 0; border: none; background: none; }
.woocommerce-tabs ul.tabs li a {
    display: block; font-family: 'Inter', sans-serif; font-size: 11px;
    letter-spacing: 0.12em; text-transform: uppercase; color: #aaa;
    padding-bottom: 14px; border-bottom: 2px solid transparent;
    text-decoration: none; transition: color 0.2s, border-color 0.2s;
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover { color: #111; border-bottom-color: #111; }
.woocommerce-tabs .panel { padding: 0 var(--page-x); }

.iki-tab-descricao .iki-desc-texto p { font-size: 15px; line-height: 1.85; color: #333; margin-bottom: 18px; max-width: 760px; }
.iki-desc-obs { border-left: 2px solid #ddd; padding: 12px 18px; margin: 24px 0; font-size: 13px; color: #555; line-height: 1.7; max-width: 680px; }
.iki-desc-assinatura { font-size: 12px; color: #999; letter-spacing: 0.04em; margin-top: 12px; }
.iki-desc-assinatura strong { color: #111; font-weight: 500; }

.iki-tab-medidas { display: flex; gap: 48px; align-items: flex-start; flex-wrap: wrap; }
.iki-medidas-desenho { width: 280px; flex-shrink: 0; border: 0.5px solid #e0e0e0; border-radius: 4px; padding: 24px; background: #fafafa; }
.iki-medidas-desenho img { width: 100%; display: block; }
.iki-medidas-tabela-wrap { flex: 1; min-width: 260px; overflow-x: auto; }
.iki-medidas-tabela { width: 100%; border-collapse: collapse; font-size: 13px; font-family: 'Inter', sans-serif; }
.iki-medidas-tabela th { text-align: left; padding: 10px 14px; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #888; border-bottom: 1px solid #e0e0e0; font-weight: 500; }
.iki-medidas-tabela td { padding: 10px 14px; border-bottom: 0.5px solid #ebebeb; color: #333; vertical-align: top; }
.iki-medidas-tabela td.iki-linha-label { color: #888; }
.iki-medidas-tabela tr.iki-linha-destaque td { font-weight: 500; color: #111; background: #fafafa; }
.iki-medidas-tabela tbody tr:last-child td { border-bottom: none; }

.iki-tecidos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 20px; }
.iki-tecido-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; border-radius: 4px; }
.iki-tecidos-aviso { font-size: 12px; color: #aaa; font-style: italic; }

.iki-materiais-texto p { font-size: 15px; line-height: 1.85; color: #333; margin-bottom: 18px; max-width: 760px; }
.iki-materiais-texto strong { font-weight: 500; color: #111; }

.iki-entrega-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 24px; }
.iki-entrega-card { background: #f8f8f7; border-radius: 8px; padding: 22px; }
.iki-entrega-icone { font-size: 22px; display: block; margin-bottom: 10px; }
.iki-entrega-card h4 { font-size: 13px; font-weight: 500; color: #111; margin: 0 0 6px; font-family: 'Inter', sans-serif; }
.iki-entrega-card p { font-size: 13px; color: #666; line-height: 1.65; margin: 0; }
.iki-entrega-aviso { font-size: 12px; color: #aaa; font-style: italic; border-top: 0.5px solid #e8e8e8; padding-top: 16px; }

.iki-rec-intro { font-size: 15px; color: #555; line-height: 1.8; max-width: 680px; margin-bottom: 24px; }
.iki-rec-lista { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; max-width: 680px; }
.iki-rec-lista li { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; color: #333; line-height: 1.7; }
.iki-rec-lista li::before { content: '—'; color: #bbb; flex-shrink: 0; margin-top: 1px; }

@media (max-width: 768px) {
    .woocommerce-tabs ul.tabs { gap: 20px; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
    .woocommerce-tabs ul.tabs li a { white-space: nowrap; font-size: 10px; }
    .iki-tab-medidas { flex-direction: column; }
    .iki-medidas-desenho { width: 100%; }
    .iki-tecidos-grid { grid-template-columns: repeat(2, 1fr); }
    .iki-entrega-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   IKI — CHECKOUT
   ============================================================ */

.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
}

.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout form.checkout #order_review_heading {
  display: none !important;
}

.checkoutPageTitle {
  font-size: 48px;
  font-weight: 200;
  color: #111;
  letter-spacing: -.02em;
  margin: 0;
  padding: 60px 60px 40px 96px !important;
  line-height: 1;
  box-sizing: border-box;
  width: 100%;
}

.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1fr 840px !important;
  gap: 0 !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout form.checkout .col2-set {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  padding: 0 60px 60px 96px !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

@media (min-width: 961px) {
  body.woocommerce-checkout form.checkout .col2-set {
    padding-left: 96px !important;
  }
  .checkoutPageTitle {
    padding-left: 96px !important;
  }
}

.woocommerce-checkout form.checkout #order_review {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  background: #f9f9f9 !important;
  min-height: 100vh !important;
  padding: 48px 64px 100px 64px !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9 !important;
}

.checkoutReviewTitle {
  font-size: 20px !important;
  font-weight: 200 !important;
  letter-spacing: -.01em !important;
  color: #111 !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.checkoutTrustBar {
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e8e8e8;
  flex-wrap: wrap;
}

.checkoutTrustItem {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 300;
  color: #999;
  letter-spacing: 0.03em;
}

.checkoutTrustItem svg { opacity: 0.45; flex-shrink: 0; color: #555; }

.iki-checkout-coupon {
  padding: 16px 0 4px !important;
  border-top: none !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

.iki-coupon-toggle {
  font-size: 12px !important; font-weight: 300 !important; color: #999 !important;
  cursor: pointer !important; text-decoration: underline !important;
  display: inline-block !important; letter-spacing: .02em !important; transition: color .2s !important;
}
.iki-coupon-toggle:hover { color: #111 !important; }

.iki-coupon-form { display: none; gap: 8px; margin-top: 12px; }
.iki-coupon-form.open { display: flex !important; }

.iki-coupon-form input {
  flex: 1 !important; height: 42px !important; padding: 0 14px !important;
  border: 1px solid #e0e0e0 !important; border-radius: 0 !important;
  font-size: 13px !important; font-weight: 300 !important;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  color: #2b2b2b !important; background: #fff !important; outline: none !important;
  box-sizing: border-box !important; transition: border-color .2s !important;
}
.iki-coupon-form input:focus { border-color: #111 !important; }

.iki-coupon-form button {
  height: 42px !important; padding: 0 18px !important; background: #111 !important;
  color: #fff !important; border: none !important; font-size: 11px !important;
  font-weight: 400 !important; letter-spacing: .1em !important; text-transform: uppercase !important;
  cursor: pointer !important; font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  transition: background .2s !important; white-space: nowrap !important; flex-shrink: 0 !important;
}
.iki-coupon-form button:hover { background: #333 !important; }
.iki-coupon-form button:disabled { opacity: .5 !important; cursor: wait !important; }

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  color: #999 !important;
  margin: 40px 0 24px !important;
  padding: 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields > h3:first-child { margin-top: 0 !important; }

.woocommerce-checkout .form-row { margin-bottom: 16px !important; padding: 0 !important; }

.woocommerce-checkout .form-row label {
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  color: #999 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.woocommerce-checkout .form-row label .required { color: #ccc !important; }

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100% !important; height: 48px !important; padding: 0 16px !important;
  border: 1px solid #e0e0e0 !important; border-radius: 0 !important;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important; font-weight: 300 !important; color: #2b2b2b !important;
  background: #fff !important; box-shadow: none !important; outline: none !important;
  box-sizing: border-box !important; -webkit-appearance: none !important;
  appearance: none !important; transition: border-color .2s !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus { border-color: #111 !important; }

.woocommerce-checkout .form-row textarea {
  height: 110px !important; padding: 14px 16px !important;
  resize: vertical !important; line-height: 1.6 !important;
}

.woocommerce-checkout .form-row select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 16px center !important;
  padding-right: 40px !important; cursor: pointer !important;
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; }

body.woocommerce-checkout .select2-container,
body.woocommerce-checkout .select2-container--default,
body.woocommerce-checkout span.select2-container {
  width: 100% !important;
  max-width: 100% !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single {
  height: 48px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 48px !important;
  padding-left: 16px !important;
  padding-right: 40px !important;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: #2b2b2b !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px !important;
  width: 40px !important;
  right: 0 !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #999 transparent transparent transparent !important;
  border-width: 5px 4px 0 4px !important;
}

body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #999 transparent !important;
  border-width: 0 4px 5px 4px !important;
}

body.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #111 !important;
}

body.woocommerce-checkout .select2-dropdown {
  border: 1px solid #111 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

body.woocommerce-checkout .select2-search--dropdown {
  display: none !important;
}

body.woocommerce-checkout .select2-results__option {
  font-size: 14px !important;
  font-weight: 300 !important;
  padding: 10px 16px !important;
  color: #2b2b2b !important;
}

body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: #111 !important;
  color: #fff !important;
}

body.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected=true] {
  background: #f5f5f5 !important;
  color: #111 !important;
}

.woocommerce-checkout .woocommerce-billing-fields .form-row #billing_country_field strong,
.woocommerce-checkout .woocommerce-billing-fields .form-row strong,
.woocommerce-checkout p.form-row strong,
.woocommerce-checkout .country_to_state strong {
  font-weight: 300 !important;
  font-size: 14px !important;
  color: #2b2b2b !important;
}

.woocommerce-checkout #ship-to-different-address {
  margin: 32px 0 8px !important; display: flex !important;
  align-items: center !important; gap: 10px !important;
}

.woocommerce-checkout #ship-to-different-address label {
  font-size: 13px !important; font-weight: 400 !important; color: #2b2b2b !important;
  text-transform: none !important; letter-spacing: 0 !important;
  cursor: pointer !important; margin: 0 !important;
}

.woocommerce-checkout #ship-to-different-address input[type="checkbox"] {
  width: 16px !important; height: 16px !important; flex-shrink: 0 !important; cursor: pointer !important;
}

.woocommerce-checkout .woocommerce-shipping-fields .shipping_address {
  display: none;
}

body.woocommerce-checkout #colophon,
body.woocommerce-checkout footer.wc-block-components-checkout-return-to-cart-button,
body.woocommerce-checkout .wc-block-checkout__return-to-cart {
  display: none !important;
}

body.woocommerce-checkout .vc_row-has-fill,
body.woocommerce-checkout div[data-vc-full-width="true"] {
  display: none !important;
}

.woocommerce-checkout #order_review table.shop_table {
  width: 100% !important; border-collapse: collapse !important;
  font-size: 14px !important; font-weight: 300 !important;
  color: #2b2b2b !important; border: none !important;
}

.woocommerce-checkout #order_review table.shop_table thead th {
  font-size: 12px !important; font-weight: 400 !important; letter-spacing: .01em !important;
  text-transform: none !important; color: #bbb !important;
  padding: 0 0 14px !important; border-bottom: 1px solid #e0e0e0 !important; background: none !important;
}

.woocommerce-checkout #order_review table.shop_table tbody .cart_item td {
  padding: 14px 0 !important; border-bottom: 1px solid #ebebeb !important;
  background: none !important; vertical-align: middle !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot tr th,
.woocommerce-checkout #order_review table.shop_table tfoot tr td {
  padding: 12px 0 !important; border-bottom: 1px solid #ebebeb !important;
  font-size: 14px !important; font-weight: 300 !important; background: none !important;
}

.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
  font-size: 18px !important; font-weight: 400 !important; color: #111 !important;
  border-bottom: none !important; padding-top: 20px !important;
}

.woocommerce-checkout #order_review .product-name { font-weight: 400 !important; color: #111 !important; line-height: 1.4 !important; }
.woocommerce-checkout #order_review .product-name .product-quantity { color: #bbb !important; font-weight: 300 !important; }

.woocommerce-checkout #payment {
  background: transparent !important; border-radius: 0 !important;
  padding: 0 !important; border: none !important; margin-top: 24px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important; padding: 0 !important; margin: 0 0 16px !important; border: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  border: 1px solid #e0e0e0 !important; margin-bottom: 8px !important;
  padding: 14px 16px !important; background: #fff !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-size: 13px !important; font-weight: 400 !important; color: #2b2b2b !important; cursor: pointer !important;
}

.woocommerce-checkout #payment .payment_box {
  background: #efefef !important; padding: 16px !important; font-size: 13px !important;
  font-weight: 300 !important; color: #666 !important; border-radius: 0 !important; margin-top: 8px !important;
}

.woocommerce-checkout #payment .form-row label {
  font-size: 12px !important; font-weight: 400 !important; letter-spacing: .01em !important;
  text-transform: none !important; color: #999 !important;
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  font-size: 12px !important; font-weight: 300 !important; color: #aaa !important;
  line-height: 1.6 !important; margin-bottom: 16px !important;
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text a { color: #666 !important; text-decoration: underline !important; }

.woocommerce-checkout #payment #place_order {
  display: block !important; width: 100% !important; background: #111 !important;
  color: #fff !important; border: none !important; border-radius: 0 !important;
  height: 56px !important; font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 13px !important; font-weight: 400 !important; letter-spacing: .1em !important;
  text-transform: uppercase !important; cursor: pointer !important;
  margin-top: 0 !important; transition: background .2s !important;
}
.woocommerce-checkout #payment #place_order:hover { background: #333 !important; }

.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
  display: block !important; background: #fafafa !important; border: none !important;
  border-left: 2px solid #e53935 !important; padding: 12px 16px !important;
  font-size: 13px !important; font-weight: 300 !important; color: #555 !important;
  list-style: none !important; margin: 0 0 12px !important;
  width: 100% !important; box-sizing: border-box !important;
}
.woocommerce-checkout .woocommerce-message { border-left-color: #111 !important; }
.woocommerce-checkout .woocommerce-error li { margin: 0 !important; padding: 4px 0 !important; }

.woocommerce-checkout .woocommerce-NoticeGroup {
  display: block !important; width: 100% !important;
  padding: 20px 120px 0 !important; box-sizing: border-box !important;
}

.woocommerce-checkout .woocommerce-billing-fields .form-row,
.woocommerce-checkout .woocommerce-shipping-fields .form-row {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .iki-pair-left {
  float: left !important;
  clear: left !important;
  width: calc(50% - 8px) !important;
  margin-right: 16px !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .iki-pair-right {
  float: left !important;
  clear: none !important;
  width: calc(50% - 8px) !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout #billing_first_name_field { float: left !important; clear: left !important; width: calc(50% - 8px) !important; margin-right: 16px !important; box-sizing: border-box !important; }
.woocommerce-checkout #billing_last_name_field { float: left !important; clear: none !important; width: calc(50% - 8px) !important; margin-right: 0 !important; box-sizing: border-box !important; }
.woocommerce-checkout #shipping_first_name_field { float: left !important; clear: left !important; width: calc(50% - 8px) !important; margin-right: 16px !important; box-sizing: border-box !important; }
.woocommerce-checkout #shipping_last_name_field { float: left !important; clear: none !important; width: calc(50% - 8px) !important; margin-right: 0 !important; box-sizing: border-box !important; }

.woocommerce-checkout #billing_persontype_field { float: left !important; clear: left !important; width: calc(50% - 8px) !important; margin-right: 16px !important; box-sizing: border-box !important; }
.woocommerce-checkout #billing_cpf_field,
.woocommerce-checkout #billing_cnpj_field { float: left !important; clear: none !important; width: calc(50% - 8px) !important; margin-right: 0 !important; box-sizing: border-box !important; }

.woocommerce-checkout #billing_number_field { float: left !important; clear: left !important; width: calc(50% - 8px) !important; margin-right: 16px !important; box-sizing: border-box !important; }
.woocommerce-checkout #billing_neighborhood_field { float: left !important; clear: none !important; width: calc(50% - 8px) !important; margin-right: 0 !important; box-sizing: border-box !important; }

.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #shipping_address_2_field {
  display: none !important;
}

.woocommerce-checkout #billing_city_field { float: left !important; clear: left !important; width: calc(50% - 8px) !important; margin-right: 16px !important; box-sizing: border-box !important; }
.woocommerce-checkout #billing_state_field { float: left !important; clear: none !important; width: calc(50% - 8px) !important; margin-right: 0 !important; box-sizing: border-box !important; }

.woocommerce-checkout #shipping_number_field { float: left !important; clear: left !important; width: calc(50% - 8px) !important; margin-right: 16px !important; box-sizing: border-box !important; }
.woocommerce-checkout #shipping_neighborhood_field { float: left !important; clear: none !important; width: calc(50% - 8px) !important; margin-right: 0 !important; box-sizing: border-box !important; }
.woocommerce-checkout #shipping_city_field { float: left !important; clear: left !important; width: calc(50% - 8px) !important; margin-right: 16px !important; box-sizing: border-box !important; }
.woocommerce-checkout #shipping_state_field { float: left !important; clear: none !important; width: calc(50% - 8px) !important; margin-right: 0 !important; box-sizing: border-box !important; }

.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #shipping_postcode_field,
.woocommerce-checkout #shipping_address_1_field {
  float: none !important;
  clear: both !important;
  width: 100% !important;
}

.woocommerce-checkout .woocommerce-billing-fields::after,
.woocommerce-checkout .woocommerce-shipping-fields::after,
.woocommerce-checkout .col-1::after,
.woocommerce-checkout .col-2::after {
  content: "";
  display: table;
  clear: both;
}

@media (max-width: 1600px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr 720px !important; }
  .woocommerce-checkout form.checkout #order_review { padding: 48px 56px 60px 56px !important; }
}

@media (max-width: 1400px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr 600px !important; }
  body.woocommerce-checkout form.checkout .col2-set { padding: 0 32px 60px 48px !important; }
  .woocommerce-checkout form.checkout #order_review { padding: 48px 48px 60px 48px !important; }
  .checkoutPageTitle { padding: 60px 32px 40px 48px !important; }
}

@media (max-width: 1200px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr 480px !important; }
  body.woocommerce-checkout form.checkout .col2-set { padding: 0 28px 60px 40px !important; }
  .woocommerce-checkout form.checkout #order_review { padding: 40px 40px 60px 40px !important; }
  .checkoutPageTitle { padding: 60px 28px 40px 40px !important; }
  .woocommerce-checkout .woocommerce-NoticeGroup { padding: 20px 40px 0 !important; }
}

@media (max-width: 960px) {
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; }
  body.woocommerce-checkout form.checkout .col2-set { grid-row: 1 !important; padding: 0 24px 32px !important; }
  .woocommerce-checkout form.checkout #order_review {
    grid-column: 1 !important; grid-row: 2 !important;
    position: static !important; padding: 32px 24px 40px !important; min-height: auto !important;
  }
  .checkoutPageTitle { padding: 32px 24px 24px !important; font-size: 32px !important; }
  .woocommerce-checkout .woocommerce-NoticeGroup { padding: 16px 24px 0 !important; }
}

/* ============================================================
   IKI — THANKYOU PAGE
   ============================================================ */

.woocommerce-order-received .woocommerce,
.woocommerce-order-received .entry-content {
  padding: 0 !important;
  max-width: 100% !important;
}

.iki-thankyou {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 40px 120px;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  box-sizing: border-box;
}

.iki-thankyou__hero {
  text-align: center;
  margin-bottom: 56px;
}

.iki-thankyou__hero svg {
  display: block;
  margin: 0 auto 20px;
}

.iki-thankyou__title {
  font-size: 36px;
  font-weight: 200;
  color: #111;
  letter-spacing: -.02em;
  margin: 0 0 12px;
  line-height: 1.1;
}

.iki-thankyou__subtitle {
  font-size: 15px;
  font-weight: 300;
  color: #666;
  margin: 0;
  line-height: 1.6;
}

.iki-thankyou__subtitle strong {
  font-weight: 400;
  color: #111;
}

.iki-thankyou__summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid #e8e8e8;
  margin-bottom: 48px;
}

.iki-thankyou__summary-item {
  padding: 20px 24px;
  border-right: 1px solid #e8e8e8;
  box-sizing: border-box;
}

.iki-thankyou__summary-item:last-child,
.iki-thankyou__summary-item:nth-child(3) {
  border-right: none;
}

.iki-thankyou__summary-item:nth-child(4),
.iki-thankyou__summary-item:nth-child(5) {
  border-top: 1px solid #e8e8e8;
}

.iki-thankyou__summary-label {
  display: block;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  color: #999;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.iki-thankyou__summary-value {
  display: block;
  font-size: 14px;
  font-weight: 300;
  color: #111;
  line-height: 1.4;
}

.iki-thankyou__summary-value--total {
  font-weight: 400;
  font-size: 16px;
}

.iki-thankyou__payment {
  background: #f9f9f9;
  padding: 40px;
  margin-bottom: 48px;
  text-align: center;
  box-sizing: border-box;
}

.iki-thankyou__payment-title {
  font-size: 20px;
  font-weight: 300;
  color: #111;
  margin: 0 0 10px;
  letter-spacing: -.01em;
}

.iki-thankyou__payment-desc {
  font-size: 13px;
  font-weight: 300;
  color: #666;
  margin: 0 0 28px;
  line-height: 1.6;
}

.iki-thankyou__pix-qr {
  display: inline-block;
  margin-bottom: 28px;
}

.iki-thankyou__pix-qr img {
  width: 200px;
  height: 200px;
  display: block;
}

.iki-thankyou__pix-label {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  color: #999;
  text-transform: uppercase;
  margin: 0 0 10px;
}

.iki-thankyou__pix-wrap {
  display: flex;
  gap: 8px;
  max-width: 480px;
  margin: 0 auto;
}

.iki-thankyou__pix-wrap input {
  flex: 1;
  height: 44px;
  padding: 0 14px;
  border: 1px solid #e0e0e0;
  border-radius: 0;
  font-size: 12px;
  font-weight: 300;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #2b2b2b;
  background: #fff;
  outline: none;
  box-sizing: border-box;
}

.iki-thankyou__pix-btn {
  height: 44px;
  padding: 0 20px;
  background: #111;
  color: #fff;
  border: none;
  font-size: 12px;
  font-weight: 400;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .06em;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s;
  flex-shrink: 0;
}

.iki-thankyou__pix-btn:hover { background: #333; }

.iki-thankyou__pix-info {
  font-size: 12px;
  color: #aaa;
  font-weight: 300;
  margin: 20px 0 0;
}

.iki-thankyou__boleto-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 12px;
  color: #999;
  font-weight: 300;
  margin-top: 20px;
}

.iki-thankyou__section-title {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #999;
  margin: 0 0 20px;
}

.iki-thankyou__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  font-weight: 300;
  color: #2b2b2b;
  margin-bottom: 48px;
}

.iki-thankyou__table thead th {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #bbb;
  padding: 0 0 14px;
  border-bottom: 1px solid #e8e8e8;
  text-align: left;
}

.iki-thankyou__table thead th:last-child { text-align: right; }

.iki-thankyou__table tbody td {
  padding: 18px 0;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}

.iki-thankyou__table tbody td:last-child { text-align: right; }

.iki-thankyou__table tbody a {
  color: #111;
  text-decoration: none;
  font-weight: 400;
}

.iki-thankyou__table tbody a:hover { text-decoration: underline; }

.iki-thankyou__qty {
  color: #bbb;
  font-size: 13px;
  margin-left: 6px;
}

.iki-thankyou__table tfoot th,
.iki-thankyou__table tfoot td {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  font-weight: 300;
}

.iki-thankyou__table tfoot td { text-align: right; }

.iki-thankyou__total-row th,
.iki-thankyou__total-row td {
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #111 !important;
  border-bottom: none !important;
  padding-top: 20px !important;
}

.iki-thankyou__addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 48px;
  padding-top: 8px;
}

.iki-thankyou__address-title {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #999;
  margin: 0 0 14px;
}

.iki-thankyou__addresses address {
  font-style: normal;
  font-size: 14px;
  font-weight: 300;
  color: #444;
  line-height: 1.8;
}

.iki-thankyou__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.iki-thankyou__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 32px;
  background: #111;
  color: #fff;
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .08em;
  text-decoration: none;
  border: 1px solid #111;
  transition: background .2s, color .2s;
  cursor: pointer;
}

.iki-thankyou__btn:hover { background: #333; border-color: #333; color: #fff; }

.iki-thankyou__btn--outline {
  background: transparent;
  color: #111;
}

.iki-thankyou__btn--outline:hover {
  background: #111;
  color: #fff;
}

.iki-thankyou__error {
  text-align: center;
  padding: 60px 0;
}

@media (max-width: 768px) {
  .iki-thankyou { padding: 48px 24px 80px; }
  .iki-thankyou__summary { grid-template-columns: 1fr 1fr; }
  .iki-thankyou__summary-item:nth-child(2) { border-right: none; }
  .iki-thankyou__summary-item:nth-child(3) { border-top: 1px solid #e8e8e8; }
  .iki-thankyou__addresses { grid-template-columns: 1fr; gap: 24px; }
  .iki-thankyou__actions { flex-direction: column; }
  .iki-thankyou__btn { width: 100%; }
  .iki-thankyou__payment { padding: 28px 20px; }
}

/* ============================================================
   IKI — CHECKOUT MOBILE
   ============================================================ */

@media (max-width: 768px) {

  /* Título */
  .checkoutPageTitle {
    font-size: 28px !important;
    padding: 72px 16px 20px !important;
  }

  /* Layout: coluna única, formulário em cima, resumo embaixo */
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body.woocommerce-checkout form.checkout .col2-set {
    grid-column: 1 !important;
    grid-row: auto !important;
    padding: 0 16px 24px !important;
    order: 1 !important;
  }

  .woocommerce-checkout form.checkout #order_review {
    grid-column: 1 !important;
    grid-row: auto !important;
    position: static !important;
    min-height: auto !important;
    padding: 28px 16px 48px !important;
    order: 2 !important;
  }

  /* Notices */
  .woocommerce-checkout .woocommerce-NoticeGroup {
    padding: 16px 16px 0 !important;
  }

  /* Campos lado a lado: coluna única no mobile */
  .woocommerce-checkout #billing_first_name_field,
  .woocommerce-checkout #billing_last_name_field,
  .woocommerce-checkout #shipping_first_name_field,
  .woocommerce-checkout #shipping_last_name_field,
  .woocommerce-checkout #billing_persontype_field,
  .woocommerce-checkout #billing_cpf_field,
  .woocommerce-checkout #billing_cnpj_field,
  .woocommerce-checkout #billing_number_field,
  .woocommerce-checkout #billing_neighborhood_field,
  .woocommerce-checkout #billing_city_field,
  .woocommerce-checkout #billing_state_field,
  .woocommerce-checkout #shipping_number_field,
  .woocommerce-checkout #shipping_neighborhood_field,
  .woocommerce-checkout #shipping_city_field,
  .woocommerce-checkout #shipping_state_field {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin-right: 0 !important;
  }

  /* Campos de input menores */
  .woocommerce-checkout .form-row input.input-text,
  .woocommerce-checkout .form-row select,
  .woocommerce-checkout .form-row textarea {
    height: 44px !important;
    font-size: 16px !important;
  }

  /* Select2 */
  body.woocommerce-checkout .select2-container .select2-selection--single {
    height: 44px !important;
  }
  body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
  }
  body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 44px !important;
  }

  /* Cabeçalhos das seções */
  .woocommerce-checkout .woocommerce-billing-fields h3,
  .woocommerce-checkout .woocommerce-shipping-fields h3,
  .woocommerce-checkout .woocommerce-additional-fields h3 {
    margin: 28px 0 16px !important;
  }

  /* Trust bar checkout */
  .checkoutTrustBar {
    flex-direction: column !important;
    gap: 12px !important;
  }

  /* Cupom */
  .iki-coupon-form {
    flex-direction: column !important;
  }
  .iki-coupon-form input,
  .iki-coupon-form button {
    width: 100% !important;
  }

  /* Métodos de pagamento */
  .woocommerce-checkout #payment ul.payment_methods li {
    padding: 12px 14px !important;
  }

  /* Botão finalizar */
  .woocommerce-checkout #payment #place_order {
    height: 52px !important;
    font-size: 13px !important;
    margin-bottom: 32px !important;
  }

  /* Resumo do pedido */
  .checkoutReviewTitle {
    font-size: 16px !important;
    margin-bottom: 16px !important;
  }

  .woocommerce-checkout #order_review table.shop_table thead th {
    font-size: 11px !important;
  }

  .woocommerce-checkout #order_review table.shop_table tbody .cart_item td {
    font-size: 13px !important;
    padding: 12px 0 !important;
  }

  .woocommerce-checkout #order_review table.shop_table tfoot tr th,
  .woocommerce-checkout #order_review table.shop_table tfoot tr td {
    font-size: 13px !important;
    padding: 10px 0 !important;
  }

  .woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
  .woocommerce-checkout #order_review table.shop_table tfoot .order-total td {
    font-size: 16px !important;
  }
}

/* Remove outline/border do link "Já é cliente?" no checkout mobile */
@media (max-width: 768px) {
  .woocommerce-checkout .woocommerce-info,
  .woocommerce-checkout .woocommerce-info a,
  .woocommerce-checkout .showlogin,
  .woocommerce-checkout a.showlogin {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .woocommerce-checkout .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #999 !important;
    border-left: none !important;
    padding: 0 16px 12px !important;
  }
}

/* Fix checkout mobile: link "Já é cliente?" */
@media (max-width: 768px) {
  .woocommerce-checkout .woocommerce-info {
    display: flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #999 !important;
    border-left: 2px solid #e0e0e0 !important;
    background: #fafafa !important;
    padding: 12px 16px !important;
    margin: 0 16px 16px !important;
    box-shadow: none !important;
    outline: none !important;
  }
  .woocommerce-checkout .woocommerce-info a.showlogin,
  .woocommerce-checkout .woocommerce-info a {
    color: #111 !important;
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
    text-decoration: underline !important;
  }
}

/* Remove o ::before azul do woocommerce-info no checkout mobile */
@media (max-width: 768px) {
  .woocommerce-checkout .woocommerce-info::before {
    display: none !important;
    content: none !important;
  }
}

/* Espaço entre "Já é cliente?" e o link no checkout mobile */
@media (max-width: 768px) {
  .woocommerce-checkout .woocommerce-info .showlogin,
  .woocommerce-checkout .woocommerce-info a.showlogin {
    margin-left: 6px !important;
  }
}

/* ============================================================
   IKI — WHATSAPP FAB
   ============================================================ */

/* Botão: quadrado ao invés de redondo */
.whatsappFab {
  border-radius: 0 !important;
}

/* Janela: cantos 100% retos */
.whatsappMenu {
  border-radius: 0 !important;
}

/* Botões da janela: cantos 100% retos */
.whatsappMenuBtn {
  border-radius: 0 !important;
}

/* Título "Olá...": fonte mais fina */
.whatsappMenuTitle {
  font-weight: 200 !important;
}

/* Janela: responsiva no mobile — borda inferior e lateral alinhadas com o botão */
@media (max-width: 768px) {
  .whatsappMenu {
    right: 24px !important;
    left: auto !important;
    width: calc(100vw - 48px) !important;
    min-width: 0 !important;
    bottom: 24px !important;
    padding-bottom: 88px !important;
  }
}