/*
Theme Name: Iduna Loja
Theme URI: https://idunacosmeticos.com.br/
Description: Tema filho do Blocksy com a identidade da loja Iduna Cosmeticos.
Template: blocksy
Version: 1.0.0
*/

/* ============================================================
   1. TOKENS
   ============================================================ */
:root:root{
  /* :root:root vence o :root que o Blocksy imprime depois deste arquivo */
  /* paleta da marca */
  --idn-sage:#DAE4D0;
  --idn-sage-soft:#EBEFE4;
  --idn-olive:#828240;        /* marca: display, icones, detalhes */
  --idn-olive-dark:#5F5F2D;   /* acao: botoes, links, precos */
  --idn-olive-pale:#F2F3E8;
  --idn-ink:#33393D;          /* texto */
  --idn-ink-soft:#4A5255;
  --idn-paper:#FBFBF9;
  --idn-line:#E7EADF;
  --idn-terra:#A8502E;        /* oferta */
  --idn-terra-pale:#F6EAE4;

  /* raios e sombras */
  --idn-r-sm:10px;
  --idn-r-md:16px;
  --idn-r-lg:22px;
  --idn-r-pill:999px;
  --idn-sh:0 1px 2px rgba(51,57,61,.04),0 8px 24px rgba(51,57,61,.06);
  --idn-sh-up:0 2px 4px rgba(51,57,61,.05),0 14px 34px rgba(51,57,61,.10);

  /* paleta do Blocksy */
  --theme-palette-color-1:#5F5F2D;
  --theme-palette-color-2:#828240;
  --theme-palette-color-3:#33393D;
  --theme-palette-color-4:#4A5255;
  --theme-palette-color-5:#E7EADF;
  --theme-palette-color-6:#F2F3E8;
  --theme-palette-color-7:#FBFBF9;
  --theme-palette-color-8:#FFFFFF;

  --theme-text-color:var(--idn-ink);
  --theme-headings-color:var(--idn-ink);
  --theme-link-initial-color:var(--idn-olive-dark);
  --theme-link-hover-color:var(--idn-olive-dark);
  /* o Blocksy pinta o item de menu atual com --theme-link-active-color,
     caindo em --theme-link-hover-color quando ela nao existe */
  --theme-link-active-color:var(--idn-olive-dark);
  --theme-content-background-color:var(--idn-paper);

  --theme-font-family:'Merriweather Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --theme-headings-font-family:'Merriweather',Georgia,'Times New Roman',serif;

  --theme-button-border-radius:var(--idn-r-pill);
  --theme-button-background-initial-color:var(--idn-olive-dark);
  --theme-button-background-hover-color:#4C4C23;
  --theme-button-text-initial-color:#fff;
  --theme-button-text-hover-color:#fff;
  --theme-form-field-border-radius:12px;
}

/* ============================================================
   2. BASE
   ============================================================ */
body{background:var(--idn-paper);color:var(--idn-ink);
  font-family:var(--theme-font-family)}
h1,h2,h3,h4,h5,h6,.entry-title,.product_title{
  font-family:var(--theme-headings-font-family);font-weight:700;line-height:1.18}
h1,h2{text-wrap:balance}

/* ============================================================
   3. BOTOES
   ============================================================ */
.ct-button,.ct-button-ghost,.wp-block-button__link,.wp-element-button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.wc-block-components-button,.added_to_cart{
  border-radius:var(--idn-r-pill)!important;
  font-family:var(--theme-font-family);
  font-weight:600;letter-spacing:.015em;
  transition:background .2s,color .2s,box-shadow .2s,transform .2s;
}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.wp-block-button__link,.wp-element-button,.wc-block-components-button{
  background:var(--idn-olive-dark);color:#fff;
  padding:14px 30px;border:1.5px solid transparent;
  box-shadow:0 6px 16px rgba(95,95,45,.22);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.wp-block-button__link:hover,
.wp-element-button:hover,.wc-block-components-button:hover{
  background:#4C4C23;color:#fff;
  box-shadow:0 10px 22px rgba(95,95,45,.28);transform:translateY(-1px);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:rgba(255,255,255,.55);color:var(--idn-olive-dark);
  border:1.5px solid rgba(95,95,45,.35);box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background:#fff;border-color:var(--idn-olive-dark);color:var(--idn-olive-dark);
}
:is(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--idn-olive-dark);outline-offset:3px;
}

/* ============================================================
   4. CAMPOS DE FORMULARIO
   ============================================================ */
input[type=text],input[type=email],input[type=tel],input[type=number],
input[type=password],input[type=search],input[type=url],select,textarea,
.wc-block-components-text-input input{
  border-radius:12px!important;border:1px solid var(--idn-line);
  font-family:var(--theme-font-family);
}

/* ============================================================
   5. CARTAO DE PRODUTO
   ============================================================ */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product-template .wc-block-product{
  background:#fff;border:1px solid var(--idn-line);
  border-radius:var(--idn-r-lg);overflow:hidden;
  box-shadow:var(--idn-sh);
  transition:box-shadow .22s,transform .22s;
  padding-bottom:18px;
}
.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover,
.wc-block-product-template .wc-block-product:hover{
  box-shadow:var(--idn-sh-up);transform:translateY(-3px);
}
.woocommerce ul.products li.product .ct-media-container,
.woocommerce ul.products li.product img,
.wc-block-grid__product-image img,
.wc-block-product-template .wc-block-product img{
  background:var(--idn-sage-soft);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .ct-woo-card-extra,
.woocommerce ul.products li.product .button,
.wc-block-grid__product-title,.wc-block-grid__product-price{
  margin-left:16px;margin-right:16px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--theme-font-family);font-size:1rem;font-weight:400;
  color:var(--idn-ink);line-height:1.35;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--theme-headings-font-family);color:var(--idn-olive-dark);
}
.woocommerce ul.products li.product .price del{color:var(--idn-ink-soft);font-size:.82em}
.woocommerce ul.products li.product .button{
  display:block;text-align:center;
  background:transparent;color:var(--idn-olive-dark);
  border:1.5px solid rgba(95,95,45,.35);box-shadow:none;padding:12px;
}
.woocommerce ul.products li.product .button:hover{
  background:var(--idn-olive-dark);border-color:var(--idn-olive-dark);color:#fff;
}

/* selo de oferta */
.woocommerce span.onsale,.wc-block-grid__product-onsale,
.wc-block-components-product-sale-badge{
  background:var(--idn-terra)!important;color:#fff!important;
  border-radius:var(--idn-r-pill)!important;
  font-family:var(--theme-font-family);font-weight:700;
  font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;
  padding:6px 12px!important;min-height:0;min-width:0;line-height:1.2;
  box-shadow:0 4px 12px rgba(168,80,46,.28);border:none!important;
}

/* ============================================================
   6. PAGINA DE PRODUTO E CARRINHO
   ============================================================ */
.woocommerce div.product .woocommerce-product-gallery img,
.woocommerce-cart table.cart img{border-radius:var(--idn-r-md)}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,.wc-block-components-notice-banner{
  border-radius:var(--idn-r-md);
}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,.wc-block-components-sidebar{
  border-radius:var(--idn-r-lg);
}

/* ============================================================
   7. CARROSSEL DA HOME
   ============================================================ */
.idn-hero{background:var(--idn-sage);position:relative}
.idn-hero .idn-in{max-width:1120px;margin:0 auto;
  padding-left:max(16px,env(safe-area-inset-left,0px));
  padding-right:max(16px,env(safe-area-inset-right,0px));
  padding-block:clamp(56px,8vw,96px)}
.idn-slides{display:grid}
.idn-slide{grid-area:1/1;display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(24px,4vw,56px);align-items:center;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease}
.idn-slide.on{opacity:1;visibility:visible;pointer-events:auto}
.idn-eyebrow{font-size:.73rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--idn-olive-dark);font-weight:600;display:block}
.idn-slide h2{font-family:var(--theme-headings-font-family);
  font-size:clamp(2.1rem,5.4vw,3.6rem);color:var(--idn-olive);
  margin:14px 0 0;max-width:12ch;line-height:1.14}
.idn-slide p{margin-top:16px;max-width:46ch;color:var(--idn-ink);font-size:1.02rem}
.idn-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.idn-btn{font-size:.9rem;font-weight:600;letter-spacing:.015em;padding:14px 30px;
  border-radius:var(--idn-r-pill);text-decoration:none;display:inline-block;
  border:1.5px solid transparent;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.idn-btn-solid{background:var(--idn-olive-dark);color:#fff;box-shadow:0 6px 16px rgba(95,95,45,.22)}
.idn-btn-solid:hover{background:#4C4C23;color:#fff;transform:translateY(-1px)}
.idn-btn-ghost{background:rgba(255,255,255,.55);color:var(--idn-olive-dark);
  border-color:rgba(95,95,45,.35)}
.idn-btn-ghost:hover{background:#fff;border-color:var(--idn-olive-dark);transform:translateY(-1px)}
.idn-art{display:flex;align-items:flex-end;justify-content:center;gap:clamp(6px,1.2vw,14px)}
.idn-art img{max-width:100%;height:auto}
.idn-ui{display:flex;align-items:center;gap:12px;margin-top:clamp(26px,3.5vw,40px)}
.idn-dots{display:flex;gap:8px;margin-right:auto;align-items:center}
.idn-dot{width:9px;height:9px;padding:0;border:none;border-radius:var(--idn-r-pill);
  background:rgba(95,95,45,.3);cursor:pointer;transition:width .25s,background .25s}
.idn-dot.on{width:30px;background:var(--idn-olive-dark)}
.idn-arrow{width:44px;height:44px;border-radius:var(--idn-r-pill);
  border:1.5px solid rgba(95,95,45,.3);background:rgba(255,255,255,.6);
  color:var(--idn-olive-dark);display:grid;place-items:center;cursor:pointer;
  transition:background .2s,border-color .2s,transform .2s}
.idn-arrow:hover{background:#fff;border-color:var(--idn-olive-dark);transform:translateY(-1px)}
@media (max-width:900px){.idn-slide{grid-template-columns:1fr}}

/* ============================================================
   8. BLOCOS DA HOME
   ============================================================ */
.idn-band-soft{background:var(--idn-olive-pale)}
.idn-band-sale{background:var(--idn-terra-pale)}
.idn-step{background:rgba(255,255,255,.72);border:1px solid #E4E6D6;
  border-radius:var(--idn-r-md);padding:20px 20px 22px;height:100%}
.idn-step em{font-family:var(--theme-headings-font-family);font-style:normal;
  font-size:.78rem;color:#fff;background:var(--idn-olive);letter-spacing:.1em;
  text-transform:uppercase;display:inline-block;margin-bottom:12px;
  padding:5px 13px;border-radius:var(--idn-r-pill)}
.idn-step h4{font-size:1rem;color:var(--idn-ink);margin:0}
.idn-step p{font-size:.82rem;color:var(--idn-ink-soft);margin-top:7px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}


/* ============================================================
   9. CONTEINER E SECOES EM HTML DA HOME
   ============================================================ */
.idn-in{max-width:1120px;margin:0 auto;
  padding-left:max(16px,env(safe-area-inset-left,0px));
  padding-right:max(16px,env(safe-area-inset-right,0px))}
.idn-hero .idn-in{padding-block:clamp(56px,8vw,96px)}

.idn-trust{background:#fff;border-bottom:1px solid var(--idn-line)}
.idn-trust .idn-in{padding-block:clamp(28px,4vw,44px);
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.idn-trust .idn-in > div{display:flex;gap:11px;align-items:flex-start;min-width:0}
.idn-trust b{display:block;font-size:.84rem;font-weight:600;color:var(--idn-ink)}
.idn-trust span{font-size:.76rem;color:var(--idn-ink-soft);line-height:1.45}
.idn-trust svg{flex:0 0 auto;margin-top:2px}

.idn-band-soft .idn-in{padding-block:clamp(40px,6vw,72px)}
.idn-h2{font-family:var(--theme-headings-font-family);font-weight:700;
  font-size:clamp(1.5rem,3vw,2.05rem);color:var(--idn-ink);text-align:center;margin:0;line-height:1.18}
.idn-sub{font-size:.9rem;color:var(--idn-ink-soft);text-align:center;margin:6px auto 30px;max-width:60ch}
.idn-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,30px)}

.idn-sec,.idn-band-sale{width:100%}
.idn-band-sale h2{color:var(--idn-terra)}

@media (max-width:900px){
  .idn-trust .idn-in,.idn-steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .idn-trust .idn-in,.idn-steps{grid-template-columns:1fr}
}

/* titulo do produto: texto, nao link sublinhado */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a{
  text-decoration:none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a{color:var(--idn-ink)}
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover{color:var(--idn-olive-dark)}


/* ============================================================
   10. BARRA DE AVISO
   ============================================================ */
.idn-topbar{background:var(--idn-olive-dark);color:#F4F5EC}
.idn-topbar .idn-in{padding-block:9px;text-align:center;
  font-size:.76rem;letter-spacing:.09em;text-transform:uppercase}

/* ============================================================
   11. CABECALHO
   ============================================================ */
.ct-header [data-id="logo"] .site-title,
.ct-header [data-id="logo"] .site-title a{
  font-family:var(--theme-headings-font-family);
  font-size:1.45rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--idn-olive);text-decoration:none;
}
.ct-header [data-id="logo"] .site-description{
  font-size:.56rem;letter-spacing:.42em;text-transform:uppercase;color:var(--idn-olive)
}
.ct-header .menu-item > a{
  font-size:.85rem;letter-spacing:.02em;color:var(--idn-ink);
  border-bottom:2px solid transparent;text-decoration:none;
  transition:color .18s,border-color .18s;
}

/* sacola no fim do menu */
.idn-bag-item > a{position:relative;display:inline-flex;align-items:center;color:var(--idn-olive-dark)}
.idn-bag-count{position:absolute;top:-6px;right:-10px;background:var(--idn-terra);color:#fff;
  font-size:.62rem;font-weight:700;min-width:17px;height:17px;border-radius:var(--idn-r-pill);
  display:grid;place-items:center;padding:0 4px;box-shadow:0 2px 8px rgba(168,80,46,.3)}

/* ============================================================
   12. RODAPE DA MARCA
   ============================================================ */
.ct-footer{display:none}
.idn-footer{background:var(--idn-ink);color:#CFD5D0;margin-top:0}
.idn-footer .idn-in{padding-block:clamp(40px,6vw,64px);
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:28px}
.idn-footer h5{font-family:var(--theme-font-family);font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;margin:0 0 14px;font-weight:600}
.idn-footer ul{list-style:none;margin:0;padding:0}
.idn-footer a,.idn-footer li{font-size:.84rem;color:#CFD5D0;text-decoration:none;line-height:2}
.idn-footer a:hover{color:#fff;text-decoration:underline}
.idn-footer .idn-mark{display:flex;flex-direction:column;line-height:1;margin-bottom:14px}
.idn-footer .idn-mark b{font-family:var(--theme-headings-font-family);font-size:1.3rem;
  letter-spacing:.16em;color:#E9EBE2;font-weight:700}
.idn-footer .idn-mark span{font-size:.52rem;letter-spacing:.4em;color:#E9EBE2;margin-top:5px}
.idn-footer .idn-fine{font-size:.78rem;color:#9AA29C;max-width:34ch;line-height:1.6}
.idn-footer .idn-pay{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.idn-footer .idn-pay span{font-size:.66rem;letter-spacing:.06em;border:1px solid #5A615B;
  border-radius:var(--idn-r-sm);padding:5px 9px;color:#B9C0BA}
.idn-bottom{border-top:1px solid #454C50}
.idn-bottom .idn-in{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding-block:16px;font-size:.76rem;color:#9AA29C}
@media (max-width:900px){.idn-footer .idn-in{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.idn-footer .idn-in{grid-template-columns:1fr}}

/* blocos de produto do WooCommerce: titulo e sem sublinhado */
.wc-block-grid__product a,
.wc-block-grid__product-link,
.wc-block-grid__product-title,
.wc-block-grid__product-title a,
.wp-block-woocommerce-product-new a,
.wp-block-woocommerce-product-on-sale a{text-decoration:none}
.wc-block-grid__product-title,
.wc-block-grid__product-title a{
  font-family:var(--theme-font-family);font-size:1rem;font-weight:400;
  color:var(--idn-ink);line-height:1.35;
}
.wc-block-grid__product-title a:hover{color:var(--idn-olive-dark)}
.wc-block-grid__product-price{font-family:var(--theme-headings-font-family);color:var(--idn-olive-dark)}
.wc-block-grid__product-price del{color:var(--idn-ink-soft);font-size:.82em}
.wc-block-grid__product-image img{margin-inline:auto}


/* ============================================================
   13. ESTADOS DE LINK
   Regra da casa: o item ativo nunca se distingue so pela cor.
   Cor + peso + sublinhado, para quem nao distingue matiz tambem ver.
   ============================================================ */

/* --- menu do cabecalho --- */
.ct-header .menu-item > a:hover,
.ct-header .menu-item > a:focus-visible{
  color:var(--idn-olive-dark);
  border-bottom-color:rgba(130,130,64,.45);
}
.ct-header .menu-item > a:active{color:#4C4C23}

.ct-header .current-menu-item > a,
.ct-header .current_page_item > a,
.ct-header .current-menu-ancestor > a,
.ct-header .current-menu-parent > a,
.ct-header .current-product-ancestor > a{
  color:var(--idn-olive-dark);
  border-bottom-color:var(--idn-olive);
}

/* --- links dentro do conteudo --- */
.entry-content a:where(:not(.wp-element-button,.wp-block-button__link,.idn-btn,.button,.idn-atalho,.idn-conta-btn)),
.idn-footer .idn-fine a{
  color:var(--idn-olive-dark);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:rgba(95,95,45,.4);
  transition:color .18s,text-decoration-color .18s;
}
.entry-content a:where(:not(.wp-element-button,.wp-block-button__link,.idn-btn,.button,.idn-atalho,.idn-conta-btn)):hover{
  color:var(--idn-olive);
  text-decoration-color:currentColor;
}

/* --- rodape --- */
.idn-footer a{transition:color .18s}
.idn-footer a:hover,.idn-footer a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
.idn-footer .current-menu-item > a{color:#fff;font-weight:600}

/* --- paginacao e navegacao do WooCommerce --- */
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span{
  border-radius:var(--idn-r-pill);min-width:38px;height:38px;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--idn-ink);text-decoration:none;
}
.woocommerce-pagination .page-numbers li a:hover{background:var(--idn-olive-pale);color:var(--idn-olive-dark)}
.woocommerce-pagination .page-numbers li .current{
  background:var(--idn-olive-dark);color:#fff;font-weight:600;
}

/* --- menu da conta do cliente --- */
.woocommerce-MyAccount-navigation ul li a{
  text-decoration:none;color:var(--idn-ink);
  border-left:3px solid transparent;padding-left:12px;display:block;
}
.woocommerce-MyAccount-navigation ul li a:hover{color:var(--idn-olive-dark)}
.woocommerce-MyAccount-navigation ul li.is-active a{
  color:var(--idn-olive-dark);font-weight:600;border-left-color:var(--idn-olive);
}

/* --- filtros e categorias em lista --- */
.wp-block-woocommerce-product-categories a,
.widget_product_categories a{text-decoration:none;color:var(--idn-ink)}
.wp-block-woocommerce-product-categories a:hover,
.widget_product_categories a:hover{color:var(--idn-olive-dark)}
.widget_product_categories .current-cat > a{color:var(--idn-olive-dark);font-weight:600}

/* --- abas da pagina de produto --- */
.woocommerce div.product .woocommerce-tabs ul.tabs li a{text-decoration:none;color:var(--idn-ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--idn-olive-dark);font-weight:600;
}

/* o tema pinta o item atual com regra mais especifica; aqui garantimos
   o oliva fechado, que passa no contraste, em vez do oliva claro */
.ct-header [data-id="menu"] .menu-item.current-menu-item > a,
.ct-header [data-id="menu"] .menu-item.current_page_item > a,
.ct-header [data-id="menu"] .menu-item.current-menu-ancestor > a,
.ct-header .menu-item.current-menu-item > a,
.ct-header .menu-item.current_page_item > a{
  color:var(--idn-olive-dark);
  border-bottom-color:var(--idn-olive);
}
.ct-header [data-id="menu"] .menu-item > a:hover,
.ct-header .menu-item > a:hover{color:var(--idn-olive-dark)}


/* ============================================================
   14. PAINEL DA CONTA DO CLIENTE
   ============================================================ */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px 1fr;
  gap:clamp(20px,3vw,36px);align-items:start}

/* --- navegacao lateral --- */
.woocommerce-MyAccount-navigation{background:#fff;border:1px solid var(--idn-line);
  border-radius:var(--idn-r-lg);padding:10px;box-shadow:var(--idn-sh)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation ul li{margin:0}
.woocommerce-MyAccount-navigation ul li a{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;border-radius:var(--idn-r-sm);
  font-size:.9rem;color:var(--idn-ink);text-decoration:none;border-left:0;
  transition:background .18s,color .18s;
}
.woocommerce-MyAccount-navigation ul li a:hover{background:var(--idn-olive-pale);color:var(--idn-olive-dark)}
.woocommerce-MyAccount-navigation ul li.is-active a{
  background:var(--idn-olive-dark);color:#fff;font-weight:600;border-left:0;
}
.woocommerce-MyAccount-navigation ul li.is-active a svg,
.woocommerce-MyAccount-navigation ul li.is-active a path{color:#fff;stroke:#fff}
.woocommerce-MyAccount-navigation ul li--logout a{color:var(--idn-terra)}

/* --- cabecalho do painel --- */
.idn-conta-topo{margin-bottom:22px}
.idn-conta-ola{font-family:var(--theme-headings-font-family);font-size:clamp(1.4rem,2.6vw,1.9rem);
  color:var(--idn-ink);margin:0;line-height:1.2}
.idn-conta-ola strong{color:var(--idn-olive-dark)}
.idn-conta-sub{font-size:.92rem;color:var(--idn-ink-soft);margin:6px 0 0}

/* --- ultimo pedido --- */
.idn-ultimo{background:var(--idn-sage-soft);border:1px solid #D5DEC8;
  border-radius:var(--idn-r-md);padding:16px 18px;margin-bottom:22px}
.idn-ultimo-rot{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--idn-olive-dark);font-weight:700;display:block;margin-bottom:10px}
.idn-ultimo-linha{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.idn-ultimo-linha > div{display:flex;flex-direction:column;line-height:1.3}
.idn-ultimo-linha b{font-family:var(--theme-headings-font-family);font-size:1rem;color:var(--idn-ink)}
.idn-ultimo-linha > div span{font-size:.76rem;color:var(--idn-ink-soft)}
.idn-ultimo-total{font-family:var(--theme-headings-font-family);font-size:1.05rem;
  color:var(--idn-olive-dark);margin-left:auto}
.idn-conta-btn{background:var(--idn-olive-dark);color:#fff;text-decoration:none;
  font-size:.8rem;font-weight:600;padding:10px 20px;border-radius:var(--idn-r-pill);
  white-space:nowrap;transition:background .2s}
.idn-conta-btn:hover{background:#4C4C23;color:#fff}

/* --- etiqueta de status --- */
.idn-status{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 12px;border-radius:var(--idn-r-pill);background:#E7EADF;color:var(--idn-ink-soft)}
.idn-status--processing{background:#E3EFE6;color:#2F6B3C}
.idn-status--completed{background:var(--idn-olive-dark);color:#fff}
.idn-status--on-hold,.idn-status--pending{background:var(--idn-terra-pale);color:var(--idn-terra)}
.idn-status--cancelled,.idn-status--failed,.idn-status--refunded{background:#F2E6E2;color:var(--idn-terra)}

/* --- atalhos --- */
.idn-atalhos{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:22px}
.idn-atalho{display:block;background:#fff;border:1px solid var(--idn-line);
  border-radius:var(--idn-r-md);padding:18px;text-decoration:none;
  box-shadow:var(--idn-sh);transition:box-shadow .22s,transform .22s,border-color .22s}
.idn-atalho:hover{box-shadow:var(--idn-sh-up);transform:translateY(-2px);border-color:#D5DEC8}
.idn-atalho svg{width:22px;height:22px;color:var(--idn-olive);display:block;margin-bottom:10px}
.idn-atalho b{display:block;font-size:.98rem;color:var(--idn-ink);margin-bottom:4px}
.idn-atalho span{display:block;font-size:.8rem;color:var(--idn-ink-soft);line-height:1.5}
.idn-atalho--loja{background:var(--idn-olive-pale)}

/* --- ajuda --- */
.idn-conta-ajuda{border-top:1px solid var(--idn-line);padding-top:16px}
.idn-conta-ajuda b{display:block;font-size:.9rem;color:var(--idn-ink)}
.idn-conta-ajuda span{font-size:.82rem;color:var(--idn-ink-soft)}

/* --- tabelas de pedidos --- */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table{
  border:1px solid var(--idn-line);border-radius:var(--idn-r-md);
  border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff}
.woocommerce-account table.shop_table th{
  background:var(--idn-olive-pale);font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--idn-ink-soft);font-weight:600}
.woocommerce-account table.shop_table td,
.woocommerce-account table.shop_table th{padding:14px 16px;border-top:0}
.woocommerce-account table.shop_table tbody tr + tr td{border-top:1px solid var(--idn-line)}

/* --- formularios da conta e login --- */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields{
  background:#fff;border:1px solid var(--idn-line);border-radius:var(--idn-r-lg);
  padding:clamp(20px,3vw,30px);box-shadow:var(--idn-sh)}
.woocommerce-account .woocommerce-form-login .button,
.woocommerce-account .woocommerce-EditAccountForm .button{width:auto}
.woocommerce-account:not(.logged-in) .woocommerce{grid-template-columns:1fr;max-width:460px;margin-inline:auto}
.woocommerce-account .woocommerce-form-login-toggle,
.woocommerce-account .woocommerce-form-register{margin-top:16px}

@media (max-width:860px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .idn-atalhos{grid-template-columns:1fr}
  .idn-ultimo-total{margin-left:0}
}


/* ============================================================
   15. CORRECOES DE ORDEM DE CARGA
   O woocommerce.min.css do tema e enfileirado depois deste arquivo,
   entao estas regras precisam de especificidade maior para valer.
   ============================================================ */

/* item ativo da conta: estava saindo oliva sobre oliva, contraste 1:1 */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a:hover{
  background:var(--idn-olive-dark);
  color:#fff;
  /* o tema pinta o texto do link com -webkit-text-fill-color, que ganha de color */
  -webkit-text-fill-color:#fff;
  font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:hover > a{
  background:var(--idn-olive-pale);
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active:hover > a{
  -webkit-text-fill-color:#fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active:hover > a{
  background:var(--idn-olive-dark);color:#fff;
}

/* cartoes de atalho sao blocos, nao links de texto: sem sublinhado */
.entry-content .idn-atalho,
.entry-content .idn-atalho:hover,
.entry-content .idn-conta-btn,
.entry-content .idn-conta-btn:hover,
.idn-atalho,.idn-conta-btn{text-decoration:none}
.entry-content .idn-atalho b,
.entry-content .idn-atalho span{text-decoration:none}

/* navegacao da conta nao e link de texto corrido */
.woocommerce-account .woocommerce-MyAccount-navigation ul li > a{text-decoration:none}


/* ============================================================
   16. HIERARQUIA DO CARTAO DE PRODUTO
   O tema entrega titulo > preco > categoria. A categoria depois do
   preco quebra a leitura: ela e contexto, nao conclusao. Aqui ela
   sobe para sobrelinha, e o botao e empurrado para a base para que
   os cartoes da mesma fileira alinhem mesmo com titulos de tamanhos
   diferentes.
   ============================================================ */
.woocommerce ul.products li.product{flex-direction:column;padding-bottom:20px}
.woocommerce ul.products li.product > figure{order:1;margin:0 0 0}
.woocommerce ul.products li.product .entry-meta{order:2}
.woocommerce ul.products li.product .woocommerce-loop-product__title{order:3}
.woocommerce ul.products li.product .price{order:4}
.woocommerce ul.products li.product .ct-woo-card-actions{order:5;margin-top:auto}

/* sobrelinha de categoria */
.woocommerce ul.products li.product .entry-meta{
  list-style:none;padding:0;margin:16px 18px 0;
  display:flex;flex-wrap:wrap;gap:6px;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--idn-olive);font-weight:600;
}
.woocommerce ul.products li.product .entry-meta li{margin:0}
.woocommerce ul.products li.product .entry-meta a{
  color:var(--idn-olive);-webkit-text-fill-color:var(--idn-olive);text-decoration:none;
}
.woocommerce ul.products li.product .entry-meta a:hover{
  color:var(--idn-olive-dark);-webkit-text-fill-color:var(--idn-olive-dark);
}

/* titulo com altura de duas linhas, para os precos alinharem na fileira */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin:7px 18px 0;font-size:1rem;line-height:1.35;min-height:2.7em;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a{
  color:var(--idn-ink);-webkit-text-fill-color:var(--idn-ink);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover{
  color:var(--idn-olive-dark);-webkit-text-fill-color:var(--idn-olive-dark);
}

/* preco */
.woocommerce ul.products li.product .price{
  margin:6px 18px 0;font-size:1.12rem;line-height:1.3;
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.woocommerce ul.products li.product .price ins{text-decoration:none;order:0}
.woocommerce ul.products li.product .price del{order:1;opacity:1}

/* botao */
.woocommerce ul.products li.product .ct-woo-card-actions{margin-left:18px;margin-right:18px;padding-top:14px}

/* ============================================================
   17. BARRA DE ORDENACAO DO CATALOGO
   ============================================================ */
.woocommerce .woocommerce-result-count{
  font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--idn-ink-soft);margin:0;
}
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--idn-line);border-radius:var(--idn-r-pill)!important;
  background:#fff;padding:11px 42px 11px 18px;
  font-family:var(--theme-font-family);font-size:.86rem;color:var(--idn-ink);
}
.woocommerce .woocommerce-ordering select:focus-visible{outline:2px solid var(--idn-olive-dark);outline-offset:2px}

/* ============================================================
   18. ICONES DE CONTA E SACOLA NO MENU
   ============================================================ */
.idn-conta-item > a,.idn-bag-item > a{
  position:relative;display:inline-flex;align-items:center;gap:7px;
  color:var(--idn-olive-dark);-webkit-text-fill-color:var(--idn-olive-dark);
  border-bottom:0!important;
}
.idn-conta-item > a:hover,.idn-bag-item > a:hover{color:var(--idn-olive);-webkit-text-fill-color:var(--idn-olive)}
.idn-icone-texto{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}
@media (max-width:860px){
  .idn-conta-item > a,.idn-bag-item > a{gap:10px}
  .idn-icone-texto{position:static;width:auto;height:auto;overflow:visible;
    clip:auto;clip-path:none;font-size:.85rem}
}

/* o numero da sacola tambem cai no -webkit-text-fill-color herdado do link */
.idn-bag-item > a .idn-bag-count{
  color:#fff;-webkit-text-fill-color:#fff;
  top:-7px;right:-9px;font-weight:700;line-height:1;
}


/* ============================================================
   19. VITRINES DA HOME
   As secoes da home agora usam o mesmo loop do catalogo, pelo
   shortcode [products], em vez dos blocos do WooCommerce. Um unico
   componente de cartao em toda a loja: mesma sobrelinha, mesmo
   titulo, mesmo botao, manutencao num lugar so.
   ============================================================ */
.idn-sec .woocommerce,
.idn-band-sale .woocommerce{margin-top:4px}
.idn-sec ul.products,
.idn-band-sale ul.products{margin-bottom:0}
.idn-band-sale ul.products li.product{background:#fff}

/* ============================================================
   20. TESTE: HOVER EM TERRACOTA
   O terracota e a cor de oferta. Aqui ele aparece so no hover, que
   e transitorio e nunca convive com o selo estatico no mesmo
   elemento. Para reverter, basta apagar esta secao inteira.
   ============================================================ */
.ct-header .menu-item > a:hover,
.ct-header [data-id="menu"] .menu-item > a:hover{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
  border-bottom-color:rgba(168,80,46,.45);
}
.idn-conta-item > a:hover,.idn-bag-item > a:hover{
  color:var(--idn-terra);-webkit-text-fill-color:var(--idn-terra);
}
.entry-content a:where(:not(.wp-element-button,.wp-block-button__link,.idn-btn,.button,.idn-atalho,.idn-conta-btn)):hover{
  color:var(--idn-terra);-webkit-text-fill-color:var(--idn-terra);
  text-decoration-color:currentColor;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover{
  color:var(--idn-terra);-webkit-text-fill-color:var(--idn-terra);
}
.woocommerce ul.products li.product .entry-meta a:hover{
  color:var(--idn-terra);-webkit-text-fill-color:var(--idn-terra);
}
.idn-footer a:hover,.idn-footer a:focus-visible{
  color:#E8A98C;-webkit-text-fill-color:#E8A98C;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:not(.is-active):hover > a{
  background:var(--idn-terra-pale);
  color:var(--idn-terra);-webkit-text-fill-color:var(--idn-terra);
}
.woocommerce-pagination .page-numbers li a:hover{
  background:var(--idn-terra-pale);color:var(--idn-terra);
}


/* ============================================================
   21. CHECKOUT — Finalizacao de compra
   ============================================================ */

/* 21.1 Proporcao das colunas --------------------------------- */
.woocommerce-checkout form.checkout.woocommerce-checkout{
  grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);
  align-items:start;
  gap:48px;
}
.woocommerce-checkout #customer_details{display:block}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%;float:none;margin:0}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:38px}

/* 21.2 Titulos das secoes ------------------------------------ */
.woocommerce-checkout form.checkout h3,
.woocommerce-checkout #order_review_heading{
  font-family:var(--theme-headings-font-family);
  font-size:19px;font-weight:600;letter-spacing:.2px;
  color:var(--idn-ink);
  margin:0 0 22px;padding-bottom:12px;
  border-bottom:1px solid var(--idn-line);
}

/* 21.3 Grade dos campos de cobranca -------------------------- */
#billing_country_field,
#billing_persontype_field,
#billing_cpf_field,
#billing_cnpj_field,
#billing_phone_country_field{display:none !important}

.woocommerce-billing-fields__field-wrapper{
  display:grid;grid-template-columns:repeat(12,1fr);
  column-gap:16px;row-gap:0;
}
.woocommerce-billing-fields__field-wrapper > .form-row{
  grid-column:1/-1;margin:0;padding:0 0 18px;float:none;width:auto;
}
#billing_first_name_field,#billing_last_name_field,
#billing_document_field,#billing_postcode_field,
#billing_cellphone_field,#billing_email_field{grid-column:span 6}
#billing_address_1_field{grid-column:span 8}
#billing_number_field{grid-column:span 4}
#billing_address_2_field{grid-column:span 12}
#billing_neighborhood_field{grid-column:span 5}
#billing_city_field{grid-column:span 4}
#billing_state_field{grid-column:span 3}

/* 21.4 Rotulos e campos -------------------------------------- */
.woocommerce-checkout form.checkout .form-row label{
  display:block;font-size:13px;font-weight:600;letter-spacing:.2px;
  color:var(--idn-ink-soft);margin:0 0 7px;
}
.woocommerce-checkout form.checkout .form-row label .required{
  color:var(--idn-terra);text-decoration:none;border:0;
}
.woocommerce-checkout form.checkout .form-row .woocommerce-input-wrapper{width:100%;display:block}
.woocommerce-checkout form.checkout .form-row input.input-text,
.woocommerce-checkout form.checkout .form-row textarea,
.woocommerce-checkout form.checkout .form-row select{
  width:100%;min-height:50px;padding:12px 14px;
  background:#fff;border:1px solid var(--idn-line);
  border-radius:var(--idn-r-sm);
  font-family:var(--theme-font-family);font-size:15px;
  color:var(--idn-ink);-webkit-text-fill-color:var(--idn-ink);
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.woocommerce-checkout form.checkout .form-row textarea{min-height:112px;resize:vertical;line-height:1.5}
.woocommerce-checkout form.checkout .form-row input.input-text:focus,
.woocommerce-checkout form.checkout .form-row textarea:focus,
.woocommerce-checkout form.checkout .form-row select:focus{
  outline:none;border-color:var(--idn-olive);
  box-shadow:0 0 0 3px rgba(130,130,64,.16);
}
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid input.input-text{
  border-color:var(--idn-terra);box-shadow:0 0 0 3px rgba(168,80,46,.12);
}
.woocommerce-checkout form.checkout .form-row.woocommerce-validated input.input-text{border-color:var(--idn-line)}

/* "S/N" dentro do campo Numero */
#billing_number_field .woocommerce-input-wrapper{position:relative}
#billing_number_field #lkn_billing_checkbox_wrapper{
  position:absolute;right:9px;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;gap:6px;
  padding:5px 9px;border-radius:var(--idn-r-pill);
  background:var(--idn-sage-soft);border:1px solid var(--idn-line);
  font-size:12px;font-weight:700;color:var(--idn-ink-soft);line-height:1;
}
#billing_number_field #lkn_billing_checkbox_wrapper label{margin:0;font-size:12px;color:inherit}
#billing_number_field #lkn_billing_checkbox{
  width:15px;height:15px;min-height:0;margin:0;padding:0;accent-color:var(--idn-olive-dark);
}
#billing_number_field input#billing_number{padding-right:86px}

/* 21.5 Painel "Seu pedido" ----------------------------------- */
.woocommerce-checkout .ct-order-review{
  background:var(--idn-paper);
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-lg);
  padding:28px;top:110px;
  box-shadow:0 10px 30px rgba(51,57,61,.05);
}
.woocommerce-checkout-review-order-table{width:100%;border:0;margin:0;border-collapse:collapse}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
  border:0;padding:14px 0;font-size:14.5px;
  color:var(--idn-ink-soft);background:transparent;
}
.woocommerce-checkout-review-order-table thead th{
  font-size:11px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;
  color:var(--idn-ink-soft);padding:0 0 12px;
  border-bottom:1px solid var(--idn-line);
}
.woocommerce-checkout-review-order-table thead th.product-total{text-align:right}
.woocommerce-checkout-review-order-table tbody tr{border-bottom:1px solid var(--idn-line)}
.woocommerce-checkout-review-order-table tbody td.product-name{
  display:flex;align-items:center;gap:11px;
  color:var(--idn-ink);font-weight:600;line-height:1.35;padding-right:14px;
}
.woocommerce-checkout-review-order-table tbody td.product-name .product-quantity{
  display:inline-block;margin-left:6px;padding:2px 8px;
  border-radius:var(--idn-r-pill);background:var(--idn-sage-soft);
  color:var(--idn-olive-dark);font-size:12px;font-weight:700;vertical-align:middle;
}
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table tfoot td{text-align:right;white-space:nowrap}
.woocommerce-checkout-review-order-table tfoot th{
  text-align:left;font-weight:600;color:var(--idn-ink-soft);font-size:14.5px;
}
.woocommerce-checkout-review-order-table tfoot tr{border:0}
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td{
  padding-top:16px;border-top:1px solid var(--idn-line);
  color:var(--idn-ink);font-size:16px;font-weight:700;
}
.woocommerce-checkout-review-order-table tfoot .order-total td .amount,
.woocommerce-checkout-review-order-table tfoot .order-total td bdi{
  color:var(--idn-olive-dark);-webkit-text-fill-color:var(--idn-olive-dark);
  font-size:21px;font-weight:700;
}

/* Miniatura do produto no resumo */
.idn-resumo-item{display:contents}
.idn-resumo-nome{flex:1 1 auto;min-width:0}
.woocommerce-checkout-review-order-table tbody td.product-name .product-quantity{flex:0 0 auto;margin-left:0}
.idn-resumo-thumb{
  width:52px;height:52px;flex:0 0 52px;
  border-radius:var(--idn-r-sm);overflow:hidden;
  background:var(--idn-sage-soft);border:1px solid var(--idn-line);
}
.idn-resumo-thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}

/* 21.6 Pagamento --------------------------------------------- */
.woocommerce-checkout #payment{background:transparent;border:0;padding:0;margin:24px 0 0;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0 0 20px;list-style:none}
.woocommerce-checkout #payment ul.payment_methods > li{
  border:1px solid var(--idn-line);border-radius:var(--idn-r-md);
  background:#fff;padding:14px 16px;margin:0 0 10px;list-style:none;
}
.woocommerce-checkout #payment ul.payment_methods > li label{font-weight:600;color:var(--idn-ink);margin:0}
.woocommerce-checkout #payment .woocommerce-info{
  background:var(--idn-olive-pale);border:1px solid var(--idn-line);
  border-radius:var(--idn-r-md);color:var(--idn-ink-soft);
  padding:14px 16px;margin:0;font-size:14px;line-height:1.55;
}
.woocommerce-checkout #payment ul.payment_methods > li:has(.woocommerce-info){
  border:0;padding:0;background:transparent;
}
.woocommerce-checkout #payment .woocommerce-info a{color:var(--idn-olive-dark);font-weight:600}
.woocommerce-checkout #payment .place-order{padding:0;margin:0}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{
  font-size:12.5px;line-height:1.6;color:var(--idn-ink-soft);margin:0 0 18px;
}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text a{
  color:var(--idn-olive-dark);text-decoration:underline;text-underline-offset:2px;
}
.woocommerce-checkout #payment #place_order{
  display:block;width:100%;
  background:var(--idn-olive-dark);color:#fff;-webkit-text-fill-color:#fff;
  border:0;border-radius:var(--idn-r-pill);
  padding:17px 24px;font-size:16px;font-weight:700;letter-spacing:.3px;
  box-shadow:0 8px 20px rgba(95,95,45,.22);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #payment #place_order:focus{
  background:#4E4E25;transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(95,95,45,.3);
}

/* 21.7 Avisos ------------------------------------------------ */
.woocommerce-checkout .woocommerce-error{
  background:var(--idn-terra-pale);
  border:1px solid rgba(168,80,46,.28);
  border-left:3px solid var(--idn-terra);
  border-radius:var(--idn-r-md);
  color:#7A3A20;-webkit-text-fill-color:#7A3A20;
  list-style:none;padding:15px 18px;margin:0 0 26px;font-size:14.5px;
}
.woocommerce-checkout .woocommerce-error li{list-style:none;margin:0}
.woocommerce-checkout .woocommerce-error::before{display:none}

/* 21.8 Selos de confianca sob o botao ------------------------ */
.idn-checkout-selos{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin:20px 0 0;padding-top:20px;border-top:1px solid var(--idn-line);
}
.idn-checkout-selos span{
  display:flex;flex-direction:column;align-items:center;gap:7px;
  text-align:center;font-size:11.5px;line-height:1.35;
  color:var(--idn-ink-soft);font-weight:600;
}
.idn-checkout-selos svg{
  width:20px;height:20px;stroke:var(--idn-olive-dark);fill:none;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}

/* 21.9 Responsivo -------------------------------------------- */
@media (max-width:999px){
  /* minmax(0,1fr) e obrigatorio: um 1fr puro tem piso de min-content,
     e a coluna ficava mais larga que o formulario, comendo a margem direita. */
  .woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:minmax(0,1fr);gap:34px}
  .woocommerce-checkout form.checkout > *{min-width:0}
  .woocommerce-checkout .ct-order-review{position:static;padding:24px}
}
@media (max-width:600px){
  .woocommerce-billing-fields__field-wrapper > .form-row{grid-column:1/-1}
  .woocommerce-checkout .ct-order-review{padding:20px;border-radius:var(--idn-r-md)}
  #billing_number_field input#billing_number{padding-right:86px}
}


/* ============================================================
   22. MOBILE — margem lateral padrao (30px) e menu lateral
   ============================================================ */

/* 22.1 Margem lateral unica em toda a loja ------------------- */
@media (max-width:767px){
  :root:root{
    --idn-gutter:30px;
    --theme-container-width:calc(100% - 60px);
  }
  .idn-in{
    padding-left:var(--idn-gutter);
    padding-right:var(--idn-gutter);
  }
	/* ZERO de proposito no celular: o bloco interno destas secoes ja recebe
	   30px de recuo do proprio layout do WordPress. Com mais 30px daqui, o
	   titulo e a vitrine ficavam a 60px da borda — o dobro do resto do site —
	   e a listagem parecia espremida no meio da tela. */
	.entry-content .idn-sec,
	.entry-content .idn-band-sale{
		padding-left:0 !important;
		padding-right:0 !important;
	}
  .ct-container,
  .ct-container-narrow{padding-left:0;padding-right:0}
}

/* 22.2 Painel do menu (offcanvas) ---------------------------- */
#offcanvas,
#offcanvas .ct-panel-inner{
  --panel-background:var(--idn-paper);
  --theme-palette-color-8:var(--idn-paper);
}
#offcanvas .ct-panel-inner{
  background:var(--idn-paper) !important;
  border-left:1px solid var(--idn-line);
}
#offcanvas .ct-panel-actions{
  padding:18px 30px 0;
  display:flex;
  justify-content:flex-end;
  background:transparent;
  border:0;
}
#offcanvas .ct-toggle-close{
  width:40px;height:40px;padding:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--idn-sage-soft) !important;
  border:1px solid var(--idn-line) !important;
  border-radius:var(--idn-r-pill) !important;
  color:var(--idn-ink) !important;
  -webkit-text-fill-color:var(--idn-ink);
}
#offcanvas .ct-toggle-close svg{width:13px;height:13px;fill:currentColor}
#offcanvas .ct-panel-content{padding:0}
#offcanvas .ct-panel-content-inner{padding:14px 30px 44px}

#offcanvas nav.mobile-menu ul{margin:0;padding:0;list-style:none}
#offcanvas nav.mobile-menu li{border-bottom:1px solid var(--idn-line);margin:0}
#offcanvas nav.mobile-menu > ul > li:last-child{border-bottom:0}
#offcanvas nav.mobile-menu .ct-menu-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:16px 0;
  font-family:var(--theme-headings-font-family);
  font-size:17px;
  font-weight:500;
  letter-spacing:.2px;
  line-height:1.3;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
  border:0;
  text-decoration:none;
}
#offcanvas nav.mobile-menu .current-menu-item > .ct-menu-link,
#offcanvas nav.mobile-menu .current_page_item > .ct-menu-link{
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  font-weight:700;
}
#offcanvas nav.mobile-menu .ct-menu-link:hover,
#offcanvas nav.mobile-menu .ct-menu-link:focus{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
}
#offcanvas nav.mobile-menu .sub-menu{padding-left:14px}
#offcanvas nav.mobile-menu .sub-menu .ct-menu-link{
  font-family:var(--theme-font-family);
  font-size:15px;
  color:var(--idn-ink-soft);
  -webkit-text-fill-color:var(--idn-ink-soft);
  padding:12px 0;
}

/* acoes (conta e sacola) dentro do painel */
#offcanvas nav.mobile-menu li.idn-conta-item,
#offcanvas nav.mobile-menu li.idn-bag-item{border-bottom:0}
#offcanvas nav.mobile-menu li.idn-conta-item > a,
#offcanvas nav.mobile-menu li.idn-bag-item > a{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  margin-top:12px;
  padding:14px 18px;
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-pill);
  background:var(--idn-sage-soft);
  font-family:var(--theme-font-family);
  font-size:14.5px;
  font-weight:700;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
}
#offcanvas nav.mobile-menu li.idn-bag-item > a{
  background:var(--idn-olive-dark);
  border-color:var(--idn-olive-dark);
  color:#fff;
  -webkit-text-fill-color:#fff;
}
#offcanvas nav.mobile-menu li.idn-bag-item .idn-bag-count{
  background:#fff;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
}
#offcanvas nav.mobile-menu li.idn-bag-item .idn-acao-valor{margin-left:auto}


/* 22.3 Busca e contador dentro do painel --------------------- */
#offcanvas nav.mobile-menu li.idn-busca-item{border-bottom:0;margin-bottom:6px}
#offcanvas .idn-busca-item form{display:flex;gap:8px;align-items:center}
#offcanvas .idn-busca-item input[type="search"],
#offcanvas .idn-busca-item input.search-field{
  flex:1 1 auto;min-width:0;min-height:46px;
  padding:10px 16px;
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-pill);
  background:#fff;
  font-family:var(--theme-font-family);
  font-size:15px;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
}
#offcanvas .idn-busca-item input[type="search"]:focus{
  outline:none;border-color:var(--idn-olive);
  box-shadow:0 0 0 3px rgba(130,130,64,.16);
}
#offcanvas .idn-busca-item button{
  flex:0 0 auto;
  min-height:46px;padding:0 18px;
  border:0;border-radius:var(--idn-r-pill);
  background:var(--idn-sage-soft);
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  font-size:13.5px;font-weight:700;
}
#offcanvas nav.mobile-menu li.idn-bag-item .idn-bag-count{
  position:absolute;
  top:-7px;right:-9px;
  display:flex;align-items:center;justify-content:center;
  min-width:17px;height:17px;line-height:1;
  padding:0 4px;
  border-radius:var(--idn-r-pill);
  background:#fff;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  font-size:11px;font-weight:700;text-align:center;
}


/* ============================================================
   23. CABECALHO — bloco de acoes (conta, sacola, busca)
   ============================================================ */
header nav.header-menu-1 > ul{align-items:center}

header nav.header-menu-1 > ul > li.idn-conta-item{
  margin-left:16px;
  padding-left:20px;
  border-left:1px solid var(--idn-line);
}
header nav.header-menu-1 > ul > li.idn-acao{display:flex;align-items:center}
header nav.header-menu-1 > ul > li.idn-acao > a{
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 11px;
  font-family:var(--theme-font-family);
  font-size:12px;
  font-weight:700;
  letter-spacing:.9px;
  text-transform:uppercase;
  line-height:1;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
  text-decoration:none;
  border:0;
  transition:color .18s ease;
}
header nav.header-menu-1 > ul > li.idn-acao > a:hover,
header nav.header-menu-1 > ul > li.idn-acao > a:focus{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
}
header nav.header-menu-1 .idn-icone-caixa{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:23px;height:23px;flex:0 0 23px;
}
header nav.header-menu-1 .idn-icone-caixa svg{
  width:22px;height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.5;
}
header nav.header-menu-1 .idn-bag-count{
  position:absolute;
  top:-7px;right:-9px;
  min-width:17px;height:17px;
  padding:0 4px;
  display:flex;align-items:center;justify-content:center;
  border-radius:var(--idn-r-pill);
  background:var(--idn-terra);
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
}
header nav.header-menu-1 .idn-acao-valor{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.3px;
  white-space:nowrap;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
}
header nav.header-menu-1 > ul > li.idn-acao > a:hover .idn-acao-valor{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
}

header .ct-header-search{
  width:38px;height:38px;
  margin-left:4px;
  display:flex;align-items:center;justify-content:center;
  border-radius:var(--idn-r-pill);
  background:transparent;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
  transition:background .18s ease,color .18s ease;
}
header .ct-header-search:hover,
header .ct-header-search:focus{
  background:var(--idn-sage-soft);
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
}
header .ct-header-search svg{width:20px;height:20px;fill:currentColor}


/* ============================================================
   24. BUSCA — painel em tela cheia
   ============================================================ */
#search-modal,
#search-modal .ct-panel-inner{
  --panel-background:var(--idn-paper);
  --theme-palette-color-8:var(--idn-paper);
}
#search-modal,
#search-modal .ct-panel-inner{
  background:rgba(251,251,249,.985) !important;
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
#search-modal .ct-panel-actions{
  padding:22px 30px 0;
  display:flex;
  justify-content:flex-end;
  background:transparent;
  border:0;
}
#search-modal .ct-toggle-close{
  width:40px;height:40px;padding:0;
  display:flex;align-items:center;justify-content:center;
  background:var(--idn-sage-soft) !important;
  border:1px solid var(--idn-line) !important;
  border-radius:var(--idn-r-pill) !important;
  color:var(--idn-ink) !important;
  -webkit-text-fill-color:var(--idn-ink);
}
#search-modal .ct-toggle-close svg{width:13px;height:13px;fill:currentColor}

#search-modal .ct-panel-content{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 30px;
}
#search-modal .ct-search-form{width:min(620px,100%);margin:0 auto}
#search-modal .ct-search-form::before{
  content:"O que você procura?";
  display:block;
  text-align:center;
  font-family:var(--theme-headings-font-family);
  font-size:clamp(23px,3.4vw,32px);
  font-weight:600;
  line-height:1.2;
  color:var(--idn-ink);
  margin:0 0 24px;
}
#search-modal .ct-search-form::after{
  content:"Busque pelo nome do produto, por “kit” ou por “protetor solar”.";
  display:block;
  text-align:center;
  margin-top:18px;
  font-size:13px;
  line-height:1.5;
  color:var(--idn-ink-soft);
}
#search-modal .ct-search-form-inner{
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-pill);
  padding:6px 6px 6px 22px;
  box-shadow:0 14px 36px rgba(51,57,61,.09);
}
#search-modal .ct-search-form-inner:focus-within{
  border-color:var(--idn-olive);
  box-shadow:0 0 0 3px rgba(130,130,64,.16),0 14px 36px rgba(51,57,61,.09);
}
#search-modal input.modal-field{
  flex:1 1 auto;
  min-width:0;
  background:transparent;
  border:0;
  outline:none;
  padding:12px 0;
  font-family:var(--theme-font-family);
  font-size:17px;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
}
#search-modal input.modal-field::placeholder{
  color:#9AA193;
  -webkit-text-fill-color:#9AA193;
}
#search-modal .ct-search-form-inner button{
  flex:0 0 46px;
  width:46px;height:46px;
  padding:0;
  display:flex;align-items:center;justify-content:center;
  border:0;
  border-radius:var(--idn-r-pill);
  background:var(--idn-olive-dark);
  color:#fff;
  -webkit-text-fill-color:#fff;
  transition:background .18s ease;
}
#search-modal .ct-search-form-inner button:hover{background:#4E4E25}
#search-modal .ct-search-form-inner button svg{width:17px;height:17px;fill:#fff}

#search-modal .ct-search-form.ct-has-dropdown::after{display:none}
#search-modal .ct-search-results{
  margin-top:14px;
  background:#fff;
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-md);
  overflow:hidden auto;
  max-height:min(52vh,420px);
  text-align:left;
  box-shadow:0 14px 34px rgba(51,57,61,.1);
}
#search-modal .ct-search-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  border-bottom:1px solid var(--idn-line);
  color:var(--idn-ink) !important;
  -webkit-text-fill-color:var(--idn-ink);
  text-decoration:none;
  font-size:14.5px;
  line-height:1.35;
  transition:background .15s ease;
}
#search-modal .ct-search-item:last-child{border-bottom:0}
#search-modal .ct-search-item:hover,
#search-modal .ct-search-item:focus{
  background:var(--idn-sage-soft);
  color:var(--idn-olive-dark) !important;
  -webkit-text-fill-color:var(--idn-olive-dark);
}
#search-modal .ct-search-item img{
  width:44px;height:44px;flex:0 0 44px;
  border-radius:var(--idn-r-sm);
  object-fit:cover;
  background:var(--idn-sage-soft);
  border:1px solid var(--idn-line);
}
#search-modal .ct-search-item > span{flex:1 1 auto;min-width:0}
#search-modal .ct-search-item .product-search-meta{
  display:flex;align-items:center;gap:9px;margin-top:4px;
}
#search-modal .ct-search-item .price{
  font-size:13px;font-weight:700;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
}
#search-modal .ct-search-item .price del{opacity:.5;font-weight:400;margin-right:5px}
#search-modal .ct-search-item .stock-status::before{display:none}
#search-modal .ct-search-item .stock-status{
  font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  padding:3px 9px;border-radius:var(--idn-r-pill);
  background:var(--idn-olive-pale);
  color:var(--idn-ink-soft);
  -webkit-text-fill-color:var(--idn-ink-soft);
}


/* ============================================================
   25. HOME — seções coladas (sem faixa branca)
   ============================================================ */
/* o WordPress aplica margin-bottom:24px em cada bloco de grupo
   e o Blocksy ainda soma 60px acima e abaixo da área de conteúdo.
   Na home as seções são full-width e devem encostar umas nas outras. */
.home .ct-container-full{padding-top:0;padding-bottom:0}
.home .entry-content > .wp-block-group.alignfull{margin-top:0;margin-bottom:0}
.home .entry-content > *:last-child{margin-bottom:0}


/* ============================================================
   26. PRODUTO — página individual
   ============================================================ */

/* 26.1 Galeria ------------------------------------------------ */
.single-product .ct-product-gallery-container{position:relative}
.single-product .ct-product-gallery-container figure.ct-media-container{
  aspect-ratio:1/1;
  margin:0;
  border-radius:var(--idn-r-lg);
  overflow:hidden;
  background:var(--idn-sage-soft);
  border:1px solid var(--idn-line);
}
.single-product .ct-product-gallery-container figure.ct-media-container img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.single-product .ct-product-gallery-container > span.onsale{
  position:absolute;top:16px;left:16px;z-index:3;
}

/* 26.2 Título e preço ---------------------------------------- */
.single-product .summary .product_title{
  font-size:clamp(25px,2.6vw,33px);
  line-height:1.16;
  margin:0 0 14px;
  color:var(--idn-ink);
}
.single-product .summary p.price{
  margin:0 0 18px;
  font-size:27px;
  font-weight:700;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  line-height:1.1;
}
.single-product .summary p.price ins{text-decoration:none}
.single-product .summary p.price del{
  font-size:17px;
  font-weight:400;
  opacity:.5;
  margin-right:10px;
}
.single-product .summary .woocommerce-product-details__short-description{
  font-size:15.5px;
  line-height:1.65;
  color:var(--idn-ink-soft);
}

/* 26.3 Disponibilidade --------------------------------------- */
.single-product .summary p.stock{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
  padding:6px 13px;
  border-radius:var(--idn-r-pill);
  background:var(--idn-olive-pale);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.3px;
  color:var(--idn-ink-soft);
  -webkit-text-fill-color:var(--idn-ink-soft);
}
.single-product .summary p.stock::before{
  content:"";
  width:7px;height:7px;flex:0 0 7px;
  border-radius:50%;
  background:#4E7A3A;
}
.single-product .summary p.stock.out-of-stock{
  background:var(--idn-terra-pale);
  color:#7A3A20;
  -webkit-text-fill-color:#7A3A20;
}
.single-product .summary p.stock.out-of-stock::before{background:var(--idn-terra)}

/* 26.4 Quantidade e botão de compra ------------------------- */
.single-product form.cart .ct-cart-actions{
  display:flex;
  align-items:stretch;
  gap:12px;
  flex-wrap:wrap;
}
.single-product form.cart .quantity{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  background:#fff;
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-pill);
  overflow:hidden;
}
.single-product form.cart .quantity input.qty{
  width:48px;
  min-height:54px;
  padding:0;
  text-align:center;
  border:0;
  background:transparent;
  box-shadow:none;
  font-size:15px;
  font-weight:700;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
  -moz-appearance:textfield;
}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.single-product form.cart .quantity .ct-increase,
.single-product form.cart .quantity .ct-decrease{
  position:static;
  top:auto;right:auto;bottom:auto;left:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  min-height:54px;
  cursor:pointer;
  color:var(--idn-ink-soft);
  transition:color .15s ease,background .15s ease;
}
.single-product form.cart .quantity .ct-increase:hover,
.single-product form.cart .quantity .ct-decrease:hover{
  color:var(--idn-olive-dark);
  background:var(--idn-sage-soft);
}
.single-product form.cart .quantity svg{width:11px;height:11px;fill:currentColor}
.single-product form.cart .quantity .ct-decrease{order:1}
.single-product form.cart .quantity input.qty{order:2}
.single-product form.cart .quantity .ct-increase{order:3}
.single-product form.cart button.single_add_to_cart_button{
  flex:1 1 230px;
  min-height:54px;
  padding:0 28px;
  border:0;
  border-radius:var(--idn-r-pill);
  background:var(--idn-olive-dark);
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-size:15.5px;
  font-weight:700;
  letter-spacing:.3px;
  box-shadow:0 8px 20px rgba(95,95,45,.22);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.single-product form.cart button.single_add_to_cart_button:hover{
  background:#4E4E25;
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(95,95,45,.3);
}

/* 26.5 SKU e categoria --------------------------------------- */
.single-product .product_meta{font-size:11.5px;letter-spacing:.5px;line-height:1.9}
.single-product .product_meta a{
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  text-decoration:none;
}
.single-product .product_meta a:hover{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
  text-decoration:underline;
}

/* 26.6 Abas --------------------------------------------------- */
.woocommerce-tabs ul.tabs{
  display:flex;
  gap:30px;
  margin:0 0 30px;
  padding:0;
  border-bottom:1px solid var(--idn-line);
  justify-content:flex-start;
}
.woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;background:transparent}
.woocommerce-tabs ul.tabs li a{
  display:block;
  padding:0 0 14px;
  border:0;
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--idn-ink-soft);
  -webkit-text-fill-color:var(--idn-ink-soft);
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover{
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
}
.woocommerce-tabs ul.tabs li.active{box-shadow:inset 0 -2px 0 var(--idn-olive-dark)}
.woocommerce-tabs .woocommerce-Tabs-panel{font-size:15.5px;line-height:1.75;color:var(--idn-ink-soft)}

/* 26.7 Garantias ao lado do botão --------------------------- */
.idn-produto-selos{
  display:grid;
  gap:13px;
  margin:24px 0 0;
  padding:18px 20px;
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-md);
  background:var(--idn-paper);
}
.idn-produto-selos > span{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:13px;
  line-height:1.45;
  color:var(--idn-ink-soft);
}
.idn-produto-selos > span > span{display:block}
.idn-produto-selos strong{
  display:block;
  margin-bottom:1px;
  font-size:13.5px;
  font-weight:700;
  color:var(--idn-ink);
}
.idn-produto-selos svg{
  width:19px;height:19px;flex:0 0 19px;margin-top:2px;
  stroke:var(--idn-olive-dark);
  fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
}

/* 26.8 Responsivo -------------------------------------------- */
@media (max-width:767px){
  .single-product form.cart button.single_add_to_cart_button{flex:1 1 100%}
  .woocommerce-tabs ul.tabs{gap:20px;overflow-x:auto}
  .woocommerce-tabs ul.tabs li a{white-space:nowrap}
}

/* folga extra para o contador nao encostar no valor */
header nav.header-menu-1 > ul > li.idn-bag-item > a{gap:14px}

/* resultados ao vivo da busca */
#search-modal .ct-search-results{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  margin-top:16px;
  background:var(--idn-line);
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-md);
  overflow:hidden;
  box-shadow:0 14px 34px rgba(51,57,61,.1);
}
#search-modal a.ct-search-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 18px;
  background:#fff;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
  text-decoration:none;
  font-size:14.5px;
  font-weight:600;
  line-height:1.35;
  transition:background .15s ease,color .15s ease;
}
#search-modal a.ct-search-item:hover,
#search-modal a.ct-search-item:focus{
  background:var(--idn-sage-soft);
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
}
#search-modal a.ct-search-item img{
  width:46px;height:46px;flex:0 0 46px;
  object-fit:cover;
  border-radius:var(--idn-r-sm);
  background:var(--idn-sage-soft);
}
#search-modal .product-search-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
}
#search-modal .product-search-meta .price{
  font-size:13.5px;
  font-weight:700;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
}
#search-modal .product-search-meta .price del,
#search-modal .product-search-meta .price del .amount{
  color:var(--idn-ink-soft);
  -webkit-text-fill-color:var(--idn-ink-soft);
  font-weight:400;
}
#search-modal .product-search-meta .stock-status{
  display:inline-block;
  padding:3px 9px;
  border-radius:var(--idn-r-pill);
  background:var(--idn-olive-pale);
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  font-size:10px;
  font-weight:700;
  letter-spacing:.7px;
  text-transform:uppercase;
  line-height:1.4;
}
@media (max-width:600px){
  #search-modal .ct-search-results{grid-template-columns:1fr}
}

/* o Blocksy define gap:30px com mais peso; a grade aqui e de fio de 1px */
#search-modal .ct-search-results{
  row-gap:1px !important;
  column-gap:1px !important;
}
#search-modal a.ct-search-item{border-radius:0}
#search-modal a.ct-search-more{
  grid-column:1/-1;
  display:block;
  padding:14px 18px;
  background:#fff;
  text-align:center;
  font-size:13px;
  font-weight:700;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  text-decoration:none;
  transition:background .15s ease;
}
#search-modal a.ct-search-more:hover{
  background:var(--idn-sage-soft);
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
}

/* a lista de abas do produto ignorava a margem lateral no mobile */
@media (max-width:767px){
  .woocommerce-tabs ul.tabs{margin-left:auto;margin-right:auto}
}


/* ============================================================
   27. CARRINHO
   ============================================================ */
.woocommerce-cart table.shop_table.cart{border:0;border-collapse:collapse;width:100%;margin:0}
.woocommerce-cart table.cart thead th{
  border:0;
  border-bottom:1px solid var(--idn-line);
  padding:0 0 14px;
  font-size:11px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  font-weight:700;
  color:var(--idn-ink-soft);
  text-align:left;
  background:transparent;
}
.woocommerce-cart table.cart thead th.product-subtotal{text-align:right}
.woocommerce-cart table.cart tbody tr.cart_item{border-bottom:1px solid var(--idn-line)}
.woocommerce-cart table.cart td{
  border:0;
  padding:20px 0;
  vertical-align:middle;
  background:transparent;
}
.woocommerce-cart table.cart td.product-thumbnail{width:102px;padding-right:18px}
.woocommerce-cart table.cart td.product-thumbnail img{
  width:84px;height:84px;
  object-fit:cover;
  border-radius:var(--idn-r-md);
  border:1px solid var(--idn-line);
  background:var(--idn-sage-soft);
}
.woocommerce-cart table.cart td.product-name a{
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
  font-size:15.5px;
  font-weight:600;
  line-height:1.35;
  text-decoration:none;
  border:0;
}
.woocommerce-cart table.cart td.product-name a:hover{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
}
.woocommerce-cart table.cart td.product-name .woocommerce-Price-amount{
  display:block;
  margin-top:5px;
  font-size:13.5px;
  font-weight:400;
  color:var(--idn-ink-soft);
  -webkit-text-fill-color:var(--idn-ink-soft);
}
.woocommerce-cart table.cart td.product-subtotal{
  text-align:right;
  white-space:nowrap;
  font-weight:700;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
}
.woocommerce-cart table.cart td.product-remove{width:44px;text-align:right}
.woocommerce-cart table.cart td.product-remove a{
  color:var(--idn-ink-soft);
  -webkit-text-fill-color:var(--idn-ink-soft);
  opacity:.75;
  transition:color .15s ease,opacity .15s ease;
}
.woocommerce-cart table.cart td.product-remove a:hover{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
  opacity:1;
}

/* cupom e atualizar */
.woocommerce-cart table.cart td.actions{padding:24px 0 0}
.woocommerce-cart .coupon{display:flex;gap:10px;align-items:center}
.woocommerce-cart .coupon input#coupon_code{
  min-height:48px;
  padding:12px 18px;
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-pill);
  background:#fff;
  font-size:14.5px;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
}
.woocommerce-cart .coupon input#coupon_code:focus{
  outline:none;
  border-color:var(--idn-olive);
  box-shadow:0 0 0 3px rgba(130,130,64,.16);
}
.woocommerce-cart td.actions button{
  min-height:48px;
  padding:0 22px;
  border-radius:var(--idn-r-pill);
  font-size:14px;
  font-weight:700;
  letter-spacing:.3px;
  border:1px solid var(--idn-olive-dark);
  background:transparent;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  transition:background .18s ease,color .18s ease;
}
.woocommerce-cart td.actions button:hover:not(:disabled){
  background:var(--idn-olive-dark);
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.woocommerce-cart td.actions button:disabled{opacity:.45;cursor:not-allowed}

/* resumo */
.woocommerce-cart .cart_totals{
  background:var(--idn-paper);
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-lg);
  padding:28px;
  box-shadow:0 10px 30px rgba(51,57,61,.05);
  position:sticky;
  top:110px;
}
.woocommerce-cart .cart_totals h2{
  font-family:var(--theme-headings-font-family);
  font-size:18px;
  font-weight:600;
  color:var(--idn-ink);
  margin:0 0 20px;
  padding-bottom:12px;
  border-bottom:1px solid var(--idn-line);
}
.woocommerce-cart .cart_totals table{width:100%;border:0;border-collapse:collapse;margin:0}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  border:0;
  padding:13px 0;
  font-size:14.5px;
  color:var(--idn-ink-soft);
  background:transparent;
}
.woocommerce-cart .cart_totals table th{text-align:left;font-weight:600}
.woocommerce-cart .cart_totals table td{text-align:right;white-space:nowrap}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td{
  padding-top:16px;
  border-top:1px solid var(--idn-line);
  color:var(--idn-ink);
  font-weight:700;
  font-size:16px;
}
.woocommerce-cart .cart_totals tr.order-total td .amount,
.woocommerce-cart .cart_totals tr.order-total td bdi{
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  font-size:21px;
  font-weight:700;
}
.woocommerce-cart .wc-proceed-to-checkout{padding:20px 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block;
  width:100%;
  text-align:center;
  background:var(--idn-olive-dark);
  color:#fff;
  -webkit-text-fill-color:#fff;
  border:0;
  border-radius:var(--idn-r-pill);
  padding:17px 24px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.3px;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(95,95,45,.22);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  background:#4E4E25;
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(95,95,45,.3);
}

/* voltar a loja */
.idn-voltar-loja{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:24px;
  font-size:14px;
  font-weight:600;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  text-decoration:none;
}
.idn-voltar-loja:hover{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
}

/* carrinho vazio */
.woocommerce-cart .cart-empty{
  font-family:var(--theme-headings-font-family);
  font-size:20px;
  color:var(--idn-ink);
  text-align:center;
  margin:0 0 18px;
}
.woocommerce-cart .return-to-shop{text-align:center}
.woocommerce-cart .return-to-shop a.button{
  display:inline-block;
  background:var(--idn-olive-dark);
  color:#fff;
  -webkit-text-fill-color:#fff;
  border-radius:var(--idn-r-pill);
  padding:15px 30px;
  font-weight:700;
  text-decoration:none;
}

@media (max-width:767px){
  .woocommerce-cart .cart_totals{position:static;padding:22px}
  .woocommerce-cart table.cart thead{display:none}
  .woocommerce-cart table.cart td.product-thumbnail{width:78px;padding-right:14px}
  .woocommerce-cart table.cart td.product-thumbnail img{width:64px;height:64px}
  .woocommerce-cart .coupon{flex-wrap:wrap}
  .woocommerce-cart .coupon input#coupon_code{flex:1 1 160px}
}


/* ============================================================
   28. ENTRAR E CRIAR CONTA
   ============================================================ */
.woocommerce-account:not(.logged-in) #customer_login{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
  align-items:start;
}
.woocommerce-account #customer_login > div{width:auto;float:none;margin:0}
.woocommerce-account .woocommerce-form.login,
.woocommerce-account .woocommerce-form.register{
  background:var(--idn-paper);
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-lg);
  padding:30px;
  margin:0;
  box-shadow:0 10px 30px rgba(51,57,61,.05);
}
.woocommerce-account #customer_login h2{
  font-family:var(--theme-headings-font-family);
  font-size:19px;
  font-weight:600;
  color:var(--idn-ink);
  margin:0 0 6px;
}
.woocommerce-account .woocommerce-form-row{margin:0 0 18px}
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account form .form-row label{
  display:block;
  font-size:13px;
  font-weight:600;
  letter-spacing:.2px;
  color:var(--idn-ink-soft);
  margin:0 0 7px;
}
.woocommerce-account .woocommerce-form-row label .required,
.woocommerce-account form .form-row label .required{
  color:var(--idn-terra);
  text-decoration:none;
  border:0;
}
.woocommerce-account form input.input-text,
.woocommerce-account form input[type="password"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form select,
.woocommerce-account form textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  background:#fff;
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-sm);
  font-family:var(--theme-font-family);
  font-size:15px;
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus{
  outline:none;
  border-color:var(--idn-olive);
  box-shadow:0 0 0 3px rgba(130,130,64,.16);
}
.woocommerce-account .woocommerce-form-login__rememberme,
.woocommerce-account .woocommerce-form__label-for-checkbox{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:14px;
  font-weight:500;
  color:var(--idn-ink-soft);
  margin:0 0 18px;
}
.woocommerce-account .woocommerce-form__input-checkbox{
  width:17px;height:17px;min-height:0;margin:0;padding:0;
  accent-color:var(--idn-olive-dark);
}
.woocommerce-account button.woocommerce-button,
.woocommerce-account button.woocommerce-form-login__submit,
.woocommerce-account button.woocommerce-form-register__submit,
.woocommerce-account .woocommerce-Button{
  display:block;
  width:100%;
  background:var(--idn-olive-dark);
  color:#fff;
  -webkit-text-fill-color:#fff;
  border:0;
  border-radius:var(--idn-r-pill);
  padding:16px 24px;
  font-size:15.5px;
  font-weight:700;
  letter-spacing:.3px;
  box-shadow:0 8px 20px rgba(95,95,45,.22);
  transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}
.woocommerce-account button.woocommerce-button:hover,
.woocommerce-account button.woocommerce-form-login__submit:hover,
.woocommerce-account button.woocommerce-form-register__submit:hover,
.woocommerce-account .woocommerce-Button:hover{
  background:#4E4E25;
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(95,95,45,.3);
}
.woocommerce-account .woocommerce-LostPassword{margin:16px 0 0;text-align:center}
.woocommerce-account .woocommerce-LostPassword a{
  font-size:13.5px;
  font-weight:600;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}
.woocommerce-account .woocommerce-LostPassword a:hover{
  color:var(--idn-terra);
  -webkit-text-fill-color:var(--idn-terra);
}
.woocommerce-account .woocommerce-privacy-policy-text p,
.woocommerce-account .woocommerce-form-register p:not(.form-row):not(.woocommerce-form-row){
  font-size:12.5px;
  line-height:1.6;
  color:var(--idn-ink-soft);
}
.woocommerce-account .woocommerce-privacy-policy-text a{
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}

@media (max-width:860px){
  .woocommerce-account:not(.logged-in) #customer_login{grid-template-columns:1fr;gap:22px}
  .woocommerce-account .woocommerce-form.login,
  .woocommerce-account .woocommerce-form.register{padding:24px}
}

/* ============================================================
   29. AVISOS DA LOJA (padrao unico em todas as telas)
   ============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius:var(--idn-r-md);
  padding:15px 18px;
  margin:0 0 24px;
  font-size:14.5px;
  line-height:1.55;
  list-style:none;
}
.woocommerce-message{
  background:var(--idn-olive-pale);
  border:1px solid var(--idn-line);
  border-left:3px solid var(--idn-olive-dark);
  color:var(--idn-ink);
  -webkit-text-fill-color:var(--idn-ink);
}
.woocommerce-info{
  background:var(--idn-sage-soft);
  border:1px solid var(--idn-line);
  border-left:3px solid var(--idn-olive);
  color:var(--idn-ink-soft);
  -webkit-text-fill-color:var(--idn-ink-soft);
}
.woocommerce-error{
  background:var(--idn-terra-pale);
  border:1px solid rgba(168,80,46,.28);
  border-left:3px solid var(--idn-terra);
  color:#7A3A20;
  -webkit-text-fill-color:#7A3A20;
}
.woocommerce-message a.button,
.woocommerce-info a.button{
  background:var(--idn-olive-dark);
  color:#fff;
  -webkit-text-fill-color:#fff;
  border-radius:var(--idn-r-pill);
  padding:9px 18px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.woocommerce-message li,
.woocommerce-info li,
.woocommerce-error li{list-style:none;margin:0}

/* botao de entrar/criar conta ocupa a largura do cartao */
.woocommerce-account form.login button[name="login"],
.woocommerce-account form.register button[name="register"]{width:100%;display:block}

.woocommerce-cart a.idn-voltar-loja{text-decoration:none;border:0}
.woocommerce-cart a.idn-voltar-loja:hover{text-decoration:underline;text-underline-offset:3px}
.woocommerce-cart .coupon input#coupon_code{border-radius:var(--idn-r-pill) !important}

@media (max-width:767px){
  .woocommerce-cart .coupon{flex-wrap:wrap;align-items:stretch;gap:10px}
  .woocommerce-cart .coupon input#coupon_code{flex:1 1 100%;height:48px;min-height:48px;max-height:48px}
  .woocommerce-cart td.actions button{width:100%}
  .woocommerce-cart td.actions{display:flex;flex-direction:column;gap:10px}
}


/* ============================================================
   30. CORRECOES DE MOBILE
   ============================================================ */

/* 30.1 O icone do WooCommerce nos avisos era posicionado em absoluto
   sobre a primeira letra do texto. Nao usamos a fonte de icones dele. */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{content:none;display:none}

/* 30.2 Checkout: a grade de 12 colunas nao colapsava no celular.
   Os seletores de id venciam a media query por especificidade,
   entao e preciso repetir os ids aqui. */
@media (max-width:767px){
  .woocommerce-billing-fields__field-wrapper{column-gap:0}
  #billing_first_name_field,
  #billing_last_name_field,
  #billing_document_field,
  #billing_postcode_field,
  #billing_address_1_field,
  #billing_number_field,
  #billing_address_2_field,
  #billing_neighborhood_field,
  #billing_city_field,
  #billing_state_field,
  #billing_cellphone_field,
  #billing_email_field{grid-column:1/-1}
}

/* 30.3 Carrinho: a celula de acoes herdava a largura de uma coluna
   da tabela (112px). Em bloco ela ocupa a linha inteira. */
@media (max-width:767px){
  /* a linha precisa continuar sendo linha de tabela: e o colspan=6
     que faz a celula ocupar a largura inteira. Tirar do fluxo de tabela
     fazia a celula herdar a largura da coluna da miniatura (112px). */
  .woocommerce-cart table.cart tr:has(> td.actions){display:table-row}
  .woocommerce-cart table.cart td.actions{
    display:table-cell;
    width:auto;
    padding:22px 0 0;
  }
  .woocommerce-cart .coupon{display:block;width:100%}
  .woocommerce-cart .coupon input#coupon_code{display:block;width:100%;margin-bottom:10px}
  .woocommerce-cart td.actions button{display:block;width:100%;margin-bottom:10px}
}

/* 30.4 Resumo do pedido mais compacto no celular */
@media (max-width:767px){
  .idn-resumo-thumb{width:44px;height:44px;flex:0 0 44px}
  .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout-review-order-table td{font-size:13.5px}
  .woocommerce-checkout-review-order-table tbody td.product-name{gap:9px}
}

/* 30.5 Enderecos da conta: titulo e link disputavam a mesma linha */
.woocommerce-account .woocommerce-Addresses{gap:16px}
.woocommerce-account .woocommerce-Address{
  background:var(--idn-paper);
  border:1px solid var(--idn-line);
  border-radius:var(--idn-r-md);
  padding:20px;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{
  font-size:17px;
  margin:0;
  line-height:1.3;
}
.woocommerce-account .woocommerce-Address-title a.edit{
  font-size:13.5px;
  font-weight:600;
  color:var(--idn-olive-dark);
  -webkit-text-fill-color:var(--idn-olive-dark);
  text-decoration:underline;
  text-underline-offset:2px;
  white-space:nowrap;
}
@media (max-width:767px){
  .woocommerce-account .woocommerce-Address-title{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
}


/* ============================================================
   31. MOBILE — um tamanho unico de botao
   ============================================================ */
/* No celular os botoes tinham cinco tamanhos diferentes (48, 52, 54,
   55 e 60px de altura; larguras de 174 a 337). Aqui todos passam a
   ocupar a largura do bloco em que estao, com 52px de altura. */
@media (max-width:767px){
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce-page a.button,
  .woocommerce-page button.button,
  .woocommerce .single_add_to_cart_button,
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
  .woocommerce-cart td.actions button,
  .woocommerce-checkout #payment #place_order,
  .woocommerce-account button.woocommerce-Button,
  .woocommerce-account form.login button[name="login"],
  .woocommerce-account form.register button[name="register"],
  .woocommerce-message a.button,
  .woocommerce-info a.button,
  .woocommerce-error a.button,
  .return-to-shop a.button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100% !important;
    min-height:52px;
    padding:12px 22px;
    font-size:15px;
    line-height:1.25;
    letter-spacing:.3px;
    border-radius:var(--idn-r-pill);
    text-align:center;
    box-sizing:border-box;
  }
  .woocommerce input.button,
  .woocommerce input[type="submit"]{
    display:block;
    width:100% !important;
    min-height:52px;
    padding:12px 22px;
    font-size:15px;
    border-radius:var(--idn-r-pill);
  }
}

/* a regra da pagina de produto e mais especifica e mantinha 54px */
@media (max-width:767px){
  .single-product form.cart button.single_add_to_cart_button{min-height:52px;font-size:15px}
}


/* ============================================================
   32. MOBILE — resumo "Seu pedido" do checkout
   ============================================================ */
/* Em 306px de largura o nome do produto ficava espremido entre
   miniatura, selo de quantidade e preco, quebrando em 3 ou 4 linhas.
   Aqui a secao deixa de se comportar como tabela: cada item vira uma
   grade de duas linhas — nome em cima, quantidade e preco embaixo. */
@media (max-width:767px){
  .woocommerce-checkout-review-order-table{display:block}
  .woocommerce-checkout-review-order-table thead{display:none}
  .woocommerce-checkout-review-order-table tbody,
  .woocommerce-checkout-review-order-table tfoot{display:block}

  .woocommerce-checkout-review-order-table tbody tr{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    column-gap:12px;
    row-gap:4px;
    align-items:center;
    padding:14px 0;
    border-bottom:1px solid var(--idn-line);
  }
  .woocommerce-checkout-review-order-table tbody tr:last-child{border-bottom:0}
  .woocommerce-checkout-review-order-table tbody td.product-name{display:contents}
  .woocommerce-checkout-review-order-table tbody .idn-resumo-thumb{
    grid-column:1;
    grid-row:1/3;
    align-self:center;
  }
  .woocommerce-checkout-review-order-table tbody .idn-resumo-nome{
    grid-column:2/-1;
    grid-row:1;
    font-size:14px;
    line-height:1.3;
  }
  .woocommerce-checkout-review-order-table tbody td.product-name .product-quantity{
    grid-column:2;
    grid-row:2;
    justify-self:start;
    margin:0;
    padding:0;
    background:none;
    font-size:12.5px;
    font-weight:600;
    color:var(--idn-ink-soft);
    -webkit-text-fill-color:var(--idn-ink-soft);
  }
  .woocommerce-checkout-review-order-table tbody td.product-total{
    display:block;
    grid-column:3;
    grid-row:2;
    justify-self:end;
    padding:0;
    font-size:14px;
    white-space:nowrap;
  }

  .woocommerce-checkout-review-order-table tfoot tr{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:12px;
    padding:12px 0;
    border:0;
  }
  .woocommerce-checkout-review-order-table tfoot th,
  .woocommerce-checkout-review-order-table tfoot td{display:block;padding:0;border:0}
  .woocommerce-checkout-review-order-table tfoot .order-total{
    border-top:1px solid var(--idn-line);
    padding-top:14px;
  }
  .woocommerce-checkout-review-order-table tfoot .order-total th,
  .woocommerce-checkout-review-order-table tfoot .order-total td{border-top:0;padding-top:0}
}

/* ============================================================
   33. CATÁLOGO — barra de ordenação e botões dos cards
   ============================================================ */

/* 33.1 Barra superior do catálogo ---------------------------- */
.woocommerce .woo-listing-top{
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:16px 24px;
	padding-bottom:18px;
	margin-bottom:30px;
	border-bottom:1px solid var(--idn-line);
}
.woocommerce .woo-listing-top .woocommerce-result-count{
	margin:0;
	font-size:11.5px;
	letter-spacing:1.1px;
	text-transform:uppercase;
	font-weight:600;
	color:var(--idn-ink-soft);
}

/* 33.2 Controle de ordenação --------------------------------- */
.woocommerce .woo-listing-top form.woocommerce-ordering{
	display:flex;
	align-items:center;
	gap:10px;
	width:auto;
	margin:0;
}
.woocommerce .woo-listing-top form.woocommerce-ordering::before{
	content:"Ordenar por";
	font-size:11.5px;
	letter-spacing:1.1px;
	text-transform:uppercase;
	font-weight:600;
	color:var(--idn-ink-soft);
	white-space:nowrap;
}
.woocommerce .woo-listing-top select.orderby{
	/* O Chrome centraliza o texto do select na altura da caixa de conteudo.
	   Sem altura explicita essa caixa fica em ~16px e corta o "ç" e o "p"
	   de "Ordenação padrão". A altura fixa resolve o corte. */
	width:auto;
	min-width:200px;
	height:44px;
	padding:0 44px 0 18px;
	background-color:#fff;
	background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5255' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 17px center;
	background-size:15px 15px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-pill);
	font-family:var(--theme-font-family);
	font-size:14px;
	font-weight:600;
	letter-spacing:.2px;
	line-height:1.2;
	color:var(--idn-ink);
	-webkit-text-fill-color:var(--idn-ink);
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
	box-shadow:none;
	transition:border-color .18s ease,box-shadow .18s ease;
}
.woocommerce .woo-listing-top select.orderby:hover{border-color:rgba(95,95,45,.45)}
.woocommerce .woo-listing-top select.orderby:focus{
	outline:none;
	border-color:var(--idn-olive);
	box-shadow:0 0 0 3px rgba(130,130,64,.16);
}

/* 33.3 Botões dos cards — tamanho único e centralizados ------ */
.woocommerce ul.products li.product .ct-woo-card-actions{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:9px;
	/* nada de width:100% aqui: o .ct-woo-card-actions tem margin:0 18px,
	   entao 100% da largura do card estoura 18px para a direita e desloca
	   o botao centralizado. width:auto deixa as duas margens valerem. */
	width:auto;
	text-align:center;
}
.woocommerce ul.products li.product .ct-woo-card-actions > a.button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:100%;
	max-width:214px;
	min-height:48px;
	margin:0;
	padding:11px 20px;
	font-size:14.5px;
	line-height:1.25;
	letter-spacing:.3px;
	text-align:center;
	border-radius:var(--idn-r-pill);
	box-sizing:border-box;
}
.woocommerce ul.products li.product .ct-woo-card-actions > a.added_to_cart{
	max-width:none;
	min-height:0;
	margin:0;
	padding:0;
	border:0;
	background:none;
	font-size:12.5px;
	font-weight:600;
	color:var(--idn-olive-dark);
	-webkit-text-fill-color:var(--idn-olive-dark);
	text-decoration:underline;
	text-underline-offset:3px;
}

/* 33.4 Hover em terracota ------------------------------------ */
.woocommerce ul.products li.product .ct-woo-card-actions a.button:hover,
.woocommerce ul.products li.product .ct-woo-card-actions a.button:focus-visible,
.woocommerce ul.products li.product .ct-woo-card-actions a.button.added{
	background-color:var(--idn-terra);
	border-color:var(--idn-terra);
	color:#fff;
	-webkit-text-fill-color:#fff;
	box-shadow:0 8px 18px rgba(168,80,46,.22);
	transform:translateY(-1px);
}
/* o foco nao pode depender so da cor */
.woocommerce ul.products li.product .ct-woo-card-actions a.button:focus-visible{
	outline:2px solid var(--idn-terra);
	outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
	.woocommerce ul.products li.product .ct-woo-card-actions a.button:hover,
	.woocommerce ul.products li.product .ct-woo-card-actions a.button:focus-visible{transform:none}
}

/* 33.5 Responsivo -------------------------------------------- */
@media (max-width:767px){
	.woocommerce .woo-listing-top{
		flex-direction:column;
		align-items:stretch;
		gap:12px;
		padding-bottom:16px;
		margin-bottom:24px;
	}
	.woocommerce .woo-listing-top form.woocommerce-ordering{width:100%}
	.woocommerce .woo-listing-top select.orderby{flex:1 1 auto;width:100%;min-width:0}
	/* no mobile vale o tamanho unico da secao 31 */
	.woocommerce ul.products li.product .ct-woo-card-actions > a.button{max-width:none;min-height:52px;font-size:15px}
}


/* ============================================================
   34. HOME — diferenciais e "nossa essência"
   ============================================================ */

/* 34.1 Diferenciais ------------------------------------------ */
.idn-valores{padding:84px 0 92px;background:var(--idn-paper)}
.idn-valores .idn-eyebrow{
	display:block;
	text-align:center;
	margin:0 0 14px;
}
.idn-valores .idn-h2{
	text-align:center;
	margin:0 auto 20px;
	max-width:900px;
	font-size:clamp(32px,3.6vw,52px);
	line-height:1.14;
}
.idn-valores .idn-sub{
	text-align:center;
	margin:0 auto;
	max-width:760px;
	font-size:16px;
	line-height:1.7;
}
.idn-valores-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:56px 40px;
	margin:66px 0 0;
	padding:0;
	list-style:none;
}
.idn-valor{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	margin:0;
	list-style:none;
}
.idn-valor-icone{
	display:flex;
	align-items:center;
	justify-content:center;
	width:96px;
	height:96px;
	margin:0 0 18px;
	color:var(--idn-olive);
}
/* os SVGs de origem nao trazem fill proprio: herdam do currentColor */
.idn-valor-icone svg{
	width:100%;
	height:100%;
	display:block;
	fill:currentColor;
}
.idn-valor-titulo{
	font-family:var(--theme-headings-font-family);
	font-size:25px;
	line-height:1.25;
	font-weight:700;
	color:var(--idn-ink);
	margin:0 0 14px;
	max-width:15ch;
}
.idn-valor-texto{
	font-size:15.5px;
	line-height:1.62;
	color:var(--idn-ink-soft);
	margin:0;
	max-width:34ch;
}

/* 34.2 A história por trás da nossa essência ------------------ */
.idn-essencia{
	background:var(--idn-sage-soft);
	overflow:hidden;
}
.idn-essencia-in{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
	align-items:end;
	gap:40px;
	max-width:1290px;
	margin:0 auto;
	padding:0 30px;
}
.idn-essencia-foto{
	/* a foto fica inteira dentro da faixa: nada de margem negativa,
	   que era o que cortava os pes dela no rodape da secao. */
	align-self:end;
	margin-top:0;
	padding-top:48px;
}
.idn-essencia-foto img{
	display:block;
	width:100%;
	max-width:520px;
	height:auto;
	margin:0 0 0 auto;
}
.idn-essencia-texto{
	padding:88px 0 96px 20px;
	max-width:58ch;
}
.idn-essencia-texto .idn-h2{
	text-align:left;
	margin:0 0 22px;
	max-width:18ch;
}
.idn-essencia-texto p{
	font-size:16.5px;
	line-height:1.72;
	color:var(--idn-ink-soft);
	margin:0 0 30px;
}
.idn-essencia-texto p strong{color:var(--idn-olive-dark);font-weight:700}

/* 34.3 Responsivo -------------------------------------------- */
@media (max-width:1100px){
	.idn-valores-grid{gap:48px 32px}
	.idn-essencia-in{gap:28px}
	.idn-essencia-texto{padding:70px 0 76px 0}
}
@media (max-width:900px){
	.idn-valores-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.idn-essencia-in{
		grid-template-columns:minmax(0,1fr);
		align-items:start;
		gap:0;
	}
	.idn-essencia-foto{margin-top:0;order:1}
	.idn-essencia-foto img{max-width:360px;margin:0 auto}
	.idn-essencia-texto{order:2;padding:8px 0 64px;max-width:none}
	.idn-essencia-texto .idn-h2{max-width:none}
}
@media (max-width:767px){
	.idn-valores{padding:60px 0 64px}
	.idn-valores-grid{
		grid-template-columns:minmax(0,1fr);
		gap:44px;
		margin-top:48px;
	}
	.idn-valores .idn-h2,
	.idn-valores .idn-sub{max-width:none}
	/* o <br> do titulo so faz sentido no desktop */
	.idn-valores .idn-h2 br{display:none}
	.idn-valor-icone{width:82px;height:82px}
	.idn-valor-titulo{font-size:22px;max-width:none}
	.idn-valor-texto{max-width:none}
	.idn-essencia-in{padding:0 var(--idn-gutter,30px)}
	.idn-essencia-foto img{max-width:300px}
	.idn-essencia-texto{padding:4px 0 54px}
	.idn-essencia-texto .idn-btn{width:100%;justify-content:center}
}


/* ============================================================
   35. PÁGINA SOBRE
   ============================================================ */
.idn-essencia-topo .idn-essencia-texto{padding-top:64px}
.idn-essencia-topo .idn-eyebrow{display:block;margin:0 0 10px;text-align:left}
.idn-essencia-topo .idn-h2{margin-bottom:20px}
@media (max-width:900px){
	.idn-essencia-topo .idn-essencia-texto{padding-top:0}
	.idn-essencia-topo .idn-eyebrow{text-align:left}
}


/* 35.1 Largura de leitura nas páginas de conteúdo ------------ */
/* 1290px dava 139 caracteres por linha; o confortável fica entre 60 e 75. */
.page:not(.home):not(.woocommerce-page) .entry-content > p,
.page:not(.home):not(.woocommerce-page) .entry-content > h2,
.page:not(.home):not(.woocommerce-page) .entry-content > h3,
.page:not(.home):not(.woocommerce-page) .entry-content > h4,
.page:not(.home):not(.woocommerce-page) .entry-content > ul,
.page:not(.home):not(.woocommerce-page) .entry-content > ol,
.page:not(.home):not(.woocommerce-page) .entry-content > table,
.page:not(.home):not(.woocommerce-page) .entry-content > blockquote,
.single-post .entry-content > p,
.single-post .entry-content > h2,
.single-post .entry-content > h3,
.single-post .entry-content > ul,
.single-post .entry-content > ol,
.single-post .entry-content > blockquote{
	/* em px, nao em ch: ch e relativo ao font-size do proprio elemento,
	   entao um h2 ficava bem mais largo que os paragrafos e a coluna
	   de texto saia desalinhada. */
	max-width:720px;
	/* alinhado a esquerda para bater com o titulo da pagina,
	   que o tema imprime fora do entry-content */
	margin-left:0;
	margin-right:auto;
}
.page:not(.home):not(.woocommerce-page) .entry-content > p.has-text-align-center{text-align:center}


/* ============================================================
   36. PÁGINA SOBRE — editorial
   ============================================================ */
.idn-sobre-bloco{padding:92px 0}
.idn-faixa-oliva{background:var(--idn-olive-pale)}
.idn-faixa-sage{background:var(--idn-sage-soft)}
.idn-centro{text-align:center}

/* 36.1 Credenciais ------------------------------------------- */
.idn-sobre-credenciais{background:var(--idn-paper)}
.idn-cred-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	margin:0;
	padding:0;
	list-style:none;
	border-bottom:1px solid var(--idn-line);
}
.idn-cred-grid li{
	display:flex;
	flex-direction:column;
	gap:14px;
	margin:0;
	padding:52px 40px;
	list-style:none;
	border-left:1px solid var(--idn-line);
}
.idn-cred-grid li:first-child{border-left:0;padding-left:0}
.idn-cred-grid li:last-child{padding-right:0}
.idn-cred-num{
	display:flex;
	align-items:baseline;
	gap:9px;
	font-family:var(--theme-headings-font-family);
	font-size:46px;
	line-height:1;
	font-weight:700;
	color:var(--idn-olive-dark);
}
.idn-cred-num small{
	font-family:var(--theme-font-family);
	font-size:12.5px;
	font-weight:700;
	letter-spacing:1.1px;
	text-transform:uppercase;
	color:var(--idn-ink-soft);
}
.idn-cred-grid p{margin:0;font-size:15.5px;line-height:1.62;color:var(--idn-ink-soft)}

/* 36.2 Bloco de duas colunas --------------------------------- */
.idn-duas{
	display:grid;
	grid-template-columns:minmax(0,.7fr) minmax(0,1fr);
	gap:60px;
	align-items:start;
}
.idn-col-titulo .idn-eyebrow{display:block;margin:0 0 12px;text-align:left}
.idn-col-titulo .idn-h2{margin:0;text-align:left;font-size:clamp(28px,3vw,42px);line-height:1.14}
.idn-col-texto p{margin:0 0 20px;font-size:16.5px;line-height:1.78;color:var(--idn-ink-soft)}
.idn-col-texto p:last-child{margin-bottom:0}

/* 36.3 Citação ----------------------------------------------- */
.idn-citacao{
	margin:30px 0;
	padding:2px 0 2px 26px;
	border-left:3px solid var(--idn-terra);
	background:none;
	quotes:none;
}
.idn-citacao p{
	margin:0;
	font-family:var(--theme-headings-font-family);
	font-size:20.5px;
	line-height:1.5;
	color:var(--idn-ink);
}
.idn-citacao::before,.idn-citacao::after{content:none}

/* 36.4 Ativos ------------------------------------------------ */
.idn-sobre-bloco .idn-h2.idn-centro{
	margin:0 auto 16px;
	max-width:20ch;
	text-align:center;
	font-size:clamp(28px,3vw,42px);
	line-height:1.14;
}
.idn-sobre-bloco .idn-sub.idn-centro{
	margin:0 auto 54px;
	max-width:660px;
	text-align:center;
	font-size:16px;
	line-height:1.7;
}
.idn-sobre-bloco .idn-eyebrow.idn-centro{display:block;text-align:center;margin:0 0 14px}
.idn-ativos{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	margin:0;
	padding:0;
	list-style:none;
}
.idn-ativos li{
	margin:0;
	padding:28px 26px;
	list-style:none;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
}
.idn-ativos strong{
	display:block;
	margin:0 0 9px;
	font-family:var(--theme-headings-font-family);
	font-size:19px;
	font-weight:700;
	color:var(--idn-olive-dark);
}
.idn-ativos span{display:block;font-size:15px;line-height:1.62;color:var(--idn-ink-soft)}

/* 36.5 Missão e visão ---------------------------------------- */
.idn-mv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0 0 56px}
.idn-mv article{
	background:var(--idn-paper);
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
	padding:34px 32px;
}
.idn-mv h3{
	margin:0 0 12px;
	font-family:var(--theme-headings-font-family);
	font-size:22px;
	font-weight:700;
	color:var(--idn-ink);
}
.idn-mv p{margin:0;font-size:16px;line-height:1.72;color:var(--idn-ink-soft)}
.idn-mv-rotulo{display:block;text-align:center;margin:0 0 16px}

/* 36.6 Valores numerados ------------------------------------- */
.idn-valores-lista{
	counter-reset:idnv;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:0 44px;
	margin:0;
	padding:0;
	list-style:none;
}
.idn-valores-lista li{
	counter-increment:idnv;
	display:flex;
	align-items:baseline;
	gap:14px;
	margin:0;
	padding:18px 0;
	list-style:none;
	border-top:1px solid rgba(95,95,45,.2);
	font-size:16.5px;
	line-height:1.5;
	color:var(--idn-ink);
}
.idn-valores-lista li::before{
	content:counter(idnv,decimal-leading-zero);
	flex:0 0 auto;
	font-family:var(--theme-font-family);
	font-size:12px;
	font-weight:700;
	letter-spacing:1px;
	color:var(--idn-olive-dark);
}

/* 36.7 Chamada final ----------------------------------------- */
.idn-sobre-cta{background:var(--idn-terra-pale);padding:78px 0;text-align:center}
.idn-sobre-cta .idn-h2{
	margin:0 auto 14px;
	max-width:18ch;
	text-align:center;
	font-size:clamp(26px,2.6vw,36px);
	line-height:1.18;
}
.idn-sobre-cta p{margin:0 auto 30px;max-width:56ch;font-size:16.5px;line-height:1.7;color:var(--idn-ink-soft)}

/* 36.8 Responsivo -------------------------------------------- */
@media (max-width:980px){
	.idn-sobre-bloco{padding:72px 0}
	.idn-duas{grid-template-columns:minmax(0,1fr);gap:26px}
	.idn-ativos{grid-template-columns:repeat(2,minmax(0,1fr))}
	.idn-cred-grid{grid-template-columns:minmax(0,1fr);border-bottom:0}
	.idn-cred-grid li{border-left:0;border-top:1px solid var(--idn-line);padding:30px 0;gap:10px}
	.idn-cred-grid li:first-child{border-top:0;padding-top:40px}
	.idn-mv{grid-template-columns:minmax(0,1fr)}
	.idn-valores-lista{grid-template-columns:minmax(0,1fr);gap:0}
}
@media (max-width:767px){
	.idn-sobre-bloco{padding:58px 0}
	.idn-ativos{grid-template-columns:minmax(0,1fr)}
	.idn-sobre-bloco .idn-h2.idn-centro,
	.idn-sobre-bloco .idn-sub.idn-centro{max-width:none}
	.idn-cred-num{font-size:40px}
	.idn-citacao p{font-size:18.5px}
	.idn-sobre-cta{padding:56px 0}
	.idn-sobre-cta .idn-h2{max-width:none}
	.idn-sobre-cta .idn-btn{display:flex;width:100%;justify-content:center}
}


/* ============================================================
   37. PÁGINA DE CONTATO
   ============================================================ */
.idn-contato-topo{padding:74px 0 10px;background:var(--idn-paper)}
.idn-contato-topo .idn-eyebrow{display:block;text-align:center;margin:0 0 14px}
.idn-contato-topo .idn-h2{
	margin:0 auto 16px;
	max-width:18ch;
	text-align:center;
	font-size:clamp(30px,3.4vw,48px);
	line-height:1.14;
}
.idn-contato-topo .idn-sub{
	margin:0 auto;
	max-width:620px;
	text-align:center;
	font-size:16px;
	line-height:1.7;
}
.idn-modelo{
	max-width:620px;
	margin:26px auto 0;
	padding:12px 18px;
	border:1px dashed rgba(168,80,46,.4);
	border-radius:var(--idn-r-sm);
	background:var(--idn-terra-pale);
	color:#7A3A20;
	font-size:13px;
	line-height:1.5;
	text-align:center;
}

/* 37.1 Cartões de canal -------------------------------------- */
.idn-canais{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	margin:0;
	padding:0;
	list-style:none;
}
.idn-canal{
	display:flex;
	flex-direction:column;
	margin:0;
	padding:32px 28px;
	list-style:none;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
}
.idn-canal-icone{
	display:flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	margin:0 0 18px;
	border-radius:var(--idn-r-pill);
	background:var(--idn-sage-soft);
	color:var(--idn-olive-dark);
}
.idn-canal-icone svg{width:23px;height:23px;display:block}
.idn-canal h3{
	margin:0 0 6px;
	font-family:var(--theme-headings-font-family);
	font-size:20px;
	font-weight:700;
	color:var(--idn-ink);
}
.idn-canal-dado{
	margin:0 0 12px !important;
	font-size:15.5px;
	font-weight:700;
	color:var(--idn-olive-dark);
	word-break:break-word;
}
.idn-canal p{margin:0;font-size:15px;line-height:1.62;color:var(--idn-ink-soft)}

/* 37.2 Horário ----------------------------------------------- */
.idn-horario{margin:0 0 24px;padding:0;list-style:none}
.idn-horario li{
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:18px;
	margin:0;
	padding:15px 0;
	list-style:none;
	border-bottom:1px solid rgba(95,95,45,.2);
}
.idn-horario li:first-child{border-top:1px solid rgba(95,95,45,.2)}
.idn-horario span{font-size:16px;color:var(--idn-ink-soft)}
.idn-horario strong{font-size:15.5px;font-weight:700;color:var(--idn-ink);text-align:right}

/* 37.3 Atalhos ----------------------------------------------- */
ul.idn-atalhos{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
	margin:0;
	padding:0;
	list-style:none;
}
ul.idn-atalhos > li{margin:0;padding:0;list-style:none}
ul.idn-atalhos > li > a{
	display:block;
	height:100%;
	padding:26px 26px 26px 24px;
	background:var(--idn-paper);
	border:1px solid var(--idn-line);
	border-left:3px solid var(--idn-olive);
	border-radius:var(--idn-r-md);
	text-decoration:none;
	transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
ul.idn-atalhos > li > a:hover,ul.idn-atalhos > li > a:focus-visible{
	border-left-color:var(--idn-terra);
	box-shadow:0 10px 24px rgba(51,57,61,.07);
	transform:translateY(-2px);
}
ul.idn-atalhos > li > a:focus-visible{outline:2px solid var(--idn-terra);outline-offset:3px}
ul.idn-atalhos strong{
	display:block;
	margin:0 0 7px;
	font-family:var(--theme-headings-font-family);
	font-size:19px;
	font-weight:700;
	color:var(--idn-ink);
}
ul.idn-atalhos span{display:block;font-size:15px;line-height:1.6;color:var(--idn-ink-soft)}

/* 37.4 Rodapé de dados --------------------------------------- */
.idn-contato-rodape{padding:76px 0 90px;background:var(--idn-olive-pale)}
.idn-contato-rodape .idn-duas{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.idn-dados h3{
	margin:0 0 16px;
	font-family:var(--theme-font-family);
	font-size:11.5px;
	font-weight:700;
	letter-spacing:1.2px;
	text-transform:uppercase;
	color:var(--idn-olive-dark);
}
.idn-dados h3 + h3{margin-top:34px}
.idn-dados p{margin:0 0 14px;font-size:15.5px;line-height:1.7;color:var(--idn-ink-soft)}
.idn-dados dl{margin:0;padding:0}
.idn-dados dl > div{
	display:grid;
	grid-template-columns:minmax(0,.55fr) minmax(0,1fr);
	gap:16px;
	padding:12px 0;
	border-bottom:1px solid rgba(95,95,45,.18);
}
.idn-dados dt{margin:0;font-size:14px;color:var(--idn-ink-soft)}
.idn-dados dd{margin:0;font-size:15px;font-weight:600;color:var(--idn-ink)}
.idn-nota{margin-top:18px !important;font-size:13.5px !important;line-height:1.6 !important}

/* 37.5 Responsivo -------------------------------------------- */
@media (max-width:980px){
	.idn-canais{grid-template-columns:repeat(2,minmax(0,1fr))}
	.idn-contato-rodape .idn-duas{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media (max-width:767px){
	.idn-contato-topo{padding:52px 0 6px}
	.idn-contato-topo .idn-h2{max-width:none}
	.idn-canais{grid-template-columns:minmax(0,1fr)}
	.idn-atalhos{grid-template-columns:minmax(0,1fr)}
	.idn-contato-rodape{padding:56px 0 64px}
	.idn-dados dl > div{grid-template-columns:minmax(0,1fr);gap:4px}
	.idn-horario li{flex-direction:column;align-items:flex-start;gap:4px}
	.idn-horario strong{text-align:left}
}

/* 37.6 Sobre e Contato trazem o proprio titulo dentro do conteudo:
   o cabecalho padrao do tema viraria um titulo repetido. */

.page-id-81 .ct-container-full > article > .entry-content,
.page-id-77 .ct-container-full > article > .entry-content{margin-top:0}


/* ============================================================
   38. CHECKOUT — nome completo em um campo só
   ============================================================ */
/* o sobrenome continua no formulário (o pedido precisa dele),
   mas é preenchido pelo PHP a partir do nome completo. */
/* ESCOPO OBRIGATORIO: sem o .woocommerce-checkout na frente, essa regra
   escondia tambem o Sobrenome do formulario de endereco de Minha conta,
   onde ele e obrigatorio — o cliente salvava e recebia erro num campo invisivel. */
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #shipping_last_name_field,
.woocommerce-checkout .idn-campo-oculto{display:none !important}

.woocommerce-billing-fields__field-wrapper #billing_first_name_field,
.woocommerce-shipping-fields__field-wrapper #shipping_first_name_field{grid-column:1/-1}


/* ============================================================
   39. PÁGINAS DE DOCUMENTO (entrega, trocas, privacidade)
   ============================================================ */
.idn-doc-topo{
	padding:72px 0 48px;
	background:var(--idn-paper);
	border-bottom:1px solid var(--idn-line);
}
.idn-doc-topo .idn-eyebrow{display:block;margin:0 0 14px}
.idn-doc-topo h1.idn-h2{
	margin:0 0 16px;
	text-align:left;
	font-size:clamp(30px,3.4vw,48px);
	line-height:1.12;
}
.idn-doc-topo .idn-sub{
	margin:0;
	max-width:62ch;
	text-align:left;
	font-size:16.5px;
	line-height:1.7;
}
.idn-doc-data{
	display:inline-block;
	margin:24px 0 0;
	padding:7px 15px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-pill);
	background:#fff;
	font-size:12.5px;
	letter-spacing:.3px;
	color:var(--idn-ink-soft);
}
.idn-doc-data strong{color:var(--idn-olive-dark)}
.idn-doc-topo .idn-modelo{margin:22px 0 0;text-align:left}

/* 39.1 Grade: índice + corpo ---------------------------------- */
.idn-doc{padding:62px 0 84px}
.idn-doc-grid{
	display:grid;
	grid-template-columns:250px minmax(0,1fr);
	gap:64px;
	align-items:start;
}
.idn-doc-indice{position:sticky;top:110px}
.idn-doc-indice .idn-eyebrow{display:block;margin:0 0 14px}
.idn-doc-lista{counter-reset:idnd;margin:0;padding:0;list-style:none}
.idn-doc-lista li{counter-increment:idnd;margin:0;padding:0;list-style:none}
.idn-doc-lista a{
	display:flex;
	align-items:baseline;
	gap:11px;
	padding:10px 0;
	border-top:1px solid var(--idn-line);
	font-size:14.5px;
	line-height:1.45;
	color:var(--idn-ink-soft);
	text-decoration:none;
	transition:color .16s ease;
}
.idn-doc-lista li:last-child a{border-bottom:1px solid var(--idn-line)}
.idn-doc-lista a::before{
	content:counter(idnd,decimal-leading-zero);
	flex:0 0 auto;
	font-size:11px;
	font-weight:700;
	letter-spacing:.8px;
	color:var(--idn-olive);
}
.idn-doc-lista a:hover,.idn-doc-lista a:focus-visible{color:var(--idn-terra);text-decoration:underline;text-underline-offset:3px}
.idn-doc-lista a:focus-visible{outline:2px solid var(--idn-terra);outline-offset:2px}

/* 39.2 Corpo do documento ------------------------------------ */
.idn-doc-corpo{max-width:720px}
.idn-doc-intro{
	margin:0 0 14px;
	padding:0 0 10px;
}
.idn-doc-intro p{
	margin:0 0 16px;
	font-size:17.5px;
	line-height:1.72;
	color:var(--idn-ink);
}
.idn-doc-sec{
	/* o cabecalho fica fixo no topo: sem isso a ancora para embaixo dele */
	scroll-margin-top:120px;
	padding:36px 0 0;
	margin:36px 0 0;
	border-top:1px solid var(--idn-line);
}
.idn-doc-corpo > .idn-doc-sec:first-of-type{padding-top:0;margin-top:0;border-top:0}
.idn-doc-sec h2{
	margin:0 0 16px;
	font-family:var(--theme-headings-font-family);
	font-size:25px;
	line-height:1.24;
	font-weight:700;
	color:var(--idn-ink);
}
.idn-doc-sec p{margin:0 0 16px;font-size:16.5px;line-height:1.78;color:var(--idn-ink-soft)}
.idn-doc-sec p:last-child{margin-bottom:0}
.idn-doc-sec strong{color:var(--idn-ink)}
.idn-doc-sec a{color:var(--idn-olive-dark);text-decoration:underline;text-underline-offset:3px}
.idn-doc-sec a:hover{color:var(--idn-terra)}
.idn-doc-sec ul,.idn-doc-sec ol{margin:0 0 18px;padding:0 0 0 2px;list-style:none}
.idn-doc-sec ul li{
	position:relative;
	margin:0 0 10px;
	padding-left:22px;
	font-size:16.5px;
	line-height:1.7;
	color:var(--idn-ink-soft);
}
.idn-doc-sec ul li::before{
	content:"";
	position:absolute;
	left:2px;
	top:11px;
	width:6px;
	height:6px;
	border-radius:50%;
	background:var(--idn-olive);
}
.idn-doc-sec ol{counter-reset:idno;padding-left:0}
.idn-doc-sec ol li{
	counter-increment:idno;
	position:relative;
	margin:0 0 10px;
	padding-left:30px;
	font-size:16.5px;
	line-height:1.7;
	color:var(--idn-ink-soft);
}
.idn-doc-sec ol li::before{
	content:counter(idno);
	position:absolute;
	left:0;
	top:3px;
	width:20px;
	height:20px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--idn-sage-soft);
	color:var(--idn-olive-dark);
	font-size:11px;
	font-weight:700;
}
.idn-doc-sec table{
	width:100%;
	margin:0 0 18px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	font-size:15.5px;
}
.idn-doc-sec table th,.idn-doc-sec table td{
	padding:13px 16px;
	text-align:left;
	border-bottom:1px solid var(--idn-line);
	color:var(--idn-ink-soft);
}
.idn-doc-sec table thead th{
	background:var(--idn-olive-pale);
	font-size:11.5px;
	letter-spacing:1px;
	text-transform:uppercase;
	font-weight:700;
	color:var(--idn-olive-dark);
}
.idn-doc-sec table tr:last-child th,
.idn-doc-sec table tr:last-child td{border-bottom:0}

/* 39.3 Rodapé do documento ----------------------------------- */
.idn-doc-rodape{padding:70px 0 84px;background:var(--idn-olive-pale)}
.idn-doc-rodape .idn-atalhos{grid-template-columns:repeat(3,minmax(0,1fr))}
.idn-doc-rodape .idn-atalhos a{background:#fff}

/* 39.4 O título do documento já está no conteúdo ------------- */


/* 39.5 Responsivo -------------------------------------------- */
@media (max-width:1000px){
	.idn-doc-grid{grid-template-columns:minmax(0,1fr);gap:36px}
	.idn-doc-indice{
		position:static;
		padding:22px 24px;
		background:var(--idn-paper);
		border:1px solid var(--idn-line);
		border-radius:var(--idn-r-md);
	}
	.idn-doc-corpo{max-width:none}
	.idn-doc-rodape .idn-atalhos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
	.idn-doc-topo{padding:52px 0 36px}
	.idn-doc{padding:44px 0 60px}
	.idn-doc-rodape{padding:52px 0 60px}
	.idn-doc-rodape .idn-atalhos{grid-template-columns:minmax(0,1fr)}
	.idn-doc-sec h2{font-size:22px}
	.idn-doc-sec table{display:block;overflow-x:auto}
}


/* ============================================================
   40. HOVER DE BLOCO — cartões de atalho
   ============================================================ */
/* Mesma cor do item do menu lateral de Minha conta: terracota claro. */
.idn-atalho,
ul.idn-atalhos > li > a{
	transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}
.idn-atalho:hover,
.idn-atalho:focus-visible,
ul.idn-atalhos > li > a:hover,
ul.idn-atalhos > li > a:focus-visible{
	background-color:var(--idn-terra-pale);
	border-color:rgba(168,80,46,.28);
	border-left-color:var(--idn-terra);
	box-shadow:0 10px 26px rgba(168,80,46,.14);
	transform:translateY(-2px);
}
.idn-atalho:hover b,
.idn-atalho:focus-visible b,
.idn-atalho:hover svg,
.idn-atalho:focus-visible svg,
ul.idn-atalhos > li > a:hover strong,
ul.idn-atalhos > li > a:focus-visible strong{color:var(--idn-terra)}
.idn-atalho:hover span,
.idn-atalho:focus-visible span,
ul.idn-atalhos > li > a:hover span,
ul.idn-atalhos > li > a:focus-visible span{color:#7A3A20}
/* o foco por teclado nao pode depender so da cor */
.idn-atalho:focus-visible,
ul.idn-atalhos > li > a:focus-visible{outline:2px solid var(--idn-terra);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
	.idn-atalho:hover,
	ul.idn-atalhos > li > a:hover{transform:none}
}


/* ============================================================
   41. PERGUNTAS FREQUENTES
   ============================================================ */
/* O hero do tema nestas paginas e desligado no PHP (idn_desliga_hero em
   functions.php). Esconder por CSS deixava um segundo <h1> invisivel no
   documento, que leitor de tela e buscador continuavam lendo. */

/* 41.1 Bloco de SAC no topo ---------------------------------- */
.idn-faq-sac{padding:44px 0 0;background:var(--idn-paper)}
.idn-faq-sac .idn-atalhos{grid-template-columns:repeat(3,minmax(0,1fr))}
.idn-faq-sac .idn-atalhos a{background:#fff}

/* 41.2 Aviso de orientação ----------------------------------- */
.idn-faq-aviso{
	margin:0 0 34px;
	padding:16px 20px;
	border:1px solid var(--idn-line);
	border-left:3px solid var(--idn-olive);
	border-radius:var(--idn-r-md);
	background:var(--idn-olive-pale);
	font-size:15px;
	line-height:1.65;
	color:var(--idn-ink-soft);
}

/* 41.3 Sanfona ----------------------------------------------- */
.idn-faq{border-top:1px solid var(--idn-line)}
.idn-faq-item{border-bottom:1px solid var(--idn-line)}
.idn-faq-item > summary{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:20px;
	padding:18px 2px;
	cursor:pointer;
	list-style:none;
	font-size:16.5px;
	line-height:1.5;
	font-weight:600;
	color:var(--idn-ink);
	transition:color .16s ease;
}
.idn-faq-item > summary::-webkit-details-marker{display:none}
.idn-faq-item > summary::marker{content:""}
.idn-faq-item > summary:hover{color:var(--idn-terra)}
.idn-faq-item > summary:focus-visible{
	outline:2px solid var(--idn-terra);
	outline-offset:2px;
	border-radius:var(--idn-r-sm);
}
.idn-faq-item > summary svg{
	flex:0 0 auto;
	width:19px;
	height:19px;
	margin-top:3px;
	color:var(--idn-olive);
	transition:transform .2s ease,color .16s ease;
}
.idn-faq-item[open] > summary{color:var(--idn-olive-dark)}
.idn-faq-item[open] > summary svg{transform:rotate(180deg);color:var(--idn-terra)}
.idn-faq-resp{padding:0 46px 20px 2px}
.idn-faq-resp p{
	margin:0;
	font-size:16px;
	line-height:1.74;
	color:var(--idn-ink-soft);
}
.idn-faq-resp a{color:var(--idn-olive-dark);text-decoration:underline;text-underline-offset:3px}
.idn-faq-resp a:hover{color:var(--idn-terra)}
@media (prefers-reduced-motion:reduce){
	.idn-faq-item > summary svg{transition:none}
}

/* 41.4 Responsivo -------------------------------------------- */
@media (max-width:980px){
	.idn-faq-sac .idn-atalhos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
	.idn-faq-sac{padding:32px 0 0}
	.idn-faq-sac .idn-atalhos{grid-template-columns:minmax(0,1fr)}
	.idn-faq-item > summary{font-size:15.5px;gap:14px;padding:16px 0}
	.idn-faq-resp{padding:0 32px 18px 0}
}


/* ============================================================
   42. CHECKOUT — pagamento na coluna esquerda e forma do MP
   ============================================================ */

/* 42.1 Nova disposição ---------------------------------------- */
.woocommerce-checkout .ct-order-review{position:sticky}
/* a secao 21.2 ja define margin para "form.checkout h3"; precisa
   de mais especificidade para a margem de topo valer aqui */
.woocommerce-checkout form.checkout .ct-customer-details h3.idn-titulo-pagamento{
	font-family:var(--theme-headings-font-family);
	font-size:19px;
	font-weight:600;
	letter-spacing:.2px;
	color:var(--idn-ink);
	margin:40px 0 22px;
	padding-bottom:12px;
	border-bottom:1px solid var(--idn-line);
}
.ct-customer-details .woocommerce-checkout-payment{margin:0}
.woocommerce-checkout #payment ul.payment_methods{margin-bottom:24px}
.woocommerce-checkout #payment ul.payment_methods > li{padding:16px 18px}

/* 42.2 Formulário do Mercado Pago ----------------------------- */
/* Os campos de número, validade e CVV são iframes do Mercado Pago:
   dá para estilizar a caixa, não o texto digitado dentro dela. */
#payment .mp-checkout-container,
#payment .mp-checkout-custom-container{font-family:var(--theme-font-family)}

#payment .mp-input-label{
	font-family:var(--theme-font-family);
	font-size:13px;
	font-weight:600;
	letter-spacing:.2px;
	color:var(--idn-ink-soft);
	margin-bottom:7px;
}
#payment .mp-checkout-custom-card-input,
#payment .mp-checkout-custom-security-code-input{
	height:50px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-sm);
	background:#fff;
	transition:border-color .18s ease,box-shadow .18s ease;
}
#payment input#form-checkout__cardholderName,
#payment input#identificationNumber,
#payment .mp-checkout-custom-card-form input[type="text"],
#payment .mp-checkout-custom-card-form input[type="tel"]{
	width:100%;
	height:50px;
	padding:12px 14px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-sm);
	background:#fff;
	font-family:var(--theme-font-family);
	font-size:15px;
	color:var(--idn-ink);
	-webkit-text-fill-color:var(--idn-ink);
	box-shadow:none;
	transition:border-color .18s ease,box-shadow .18s ease;
}
#payment .mp-checkout-custom-card-input:focus-within,
#payment .mp-checkout-custom-security-code-input:focus-within,
#payment .mp-checkout-custom-card-form input:focus{
	outline:none;
	border-color:var(--idn-olive);
	box-shadow:0 0 0 3px rgba(130,130,64,.16);
}
#payment .mp-helper-message{
	font-family:var(--theme-font-family);
	font-size:12.5px;
	color:var(--idn-ink-soft);
}

/* bandeiras aceitas */
#payment .mp-checkout-custom-card-flags{margin:0 0 18px}
#payment .mp-checkout-custom-card-flags-list{gap:7px;padding:0;margin:0}

/* aviso de modo teste */
#payment .mp-test-mode-card{
	background:var(--idn-olive-pale);
	border:1px solid var(--idn-line);
	border-left:3px solid var(--idn-olive);
	border-radius:var(--idn-r-md);
	padding:14px 16px;
}
#payment .mp-test-mode-title{
	font-family:var(--theme-font-family);
	font-size:13.5px;
	font-weight:700;
	color:var(--idn-ink);
}
#payment .mp-test-mode-description{
	font-family:var(--theme-font-family);
	font-size:13px;
	line-height:1.55;
	color:var(--idn-ink-soft);
}
#payment .mp-test-mode-link{color:var(--idn-olive-dark);text-decoration:underline;text-underline-offset:2px}

/* bloco da carteira Mercado Pago (o botão amarelo é marca deles) */
#payment .mp-wallet-button-container-wrapper{
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	background:var(--idn-paper);
	padding:20px 18px;
	margin:22px 0;
}
#payment .mp-wallet-button-title{
	font-family:var(--theme-font-family);
	font-size:14.5px;
	font-weight:600;
	line-height:1.4;
	color:var(--idn-ink);
}
#payment .mp-privacy-policy-footer,
#payment .mp-privacy-policy-footer a{
	font-family:var(--theme-font-family);
	font-size:12px;
	color:var(--idn-ink-soft);
}
#payment .mp-privacy-policy-footer a{color:var(--idn-olive-dark);text-decoration:underline}

/* 42.3 Responsivo --------------------------------------------- */
@media (max-width:999px){
	.woocommerce-checkout form.checkout .ct-customer-details h3.idn-titulo-pagamento{margin-top:32px}
	.woocommerce-checkout .ct-order-review{position:static}
}
@media (max-width:767px){
	#payment .mp-checkout-custom-card-input,
	#payment .mp-checkout-custom-security-code-input,
	#payment .mp-checkout-custom-card-form input{height:52px}
}


/* 42.4 Ajustes finos do bloco do Mercado Pago ---------------- */
/* o container do MP traz padding proprio: somado ao do <li> os campos
   ficavam mais estreitos que o resto do formulario */
/* o CSS do Mercado Pago vem de CDN externo e nao aparece no CSSOM para
   eu conferir a origem; mesmo com seletor de ID o padding nao cedeu, entao
   aqui o !important e necessario e nao preguica. */
#payment .mp-checkout-custom-container{padding-left:0 !important;padding-right:0 !important;padding-bottom:8px !important}
#payment .mp-wallet-button-container-wrapper{
	border:0;
	background:transparent;
	padding:0;
	margin:20px 0;
}
#payment .mp-wallet-button-container{
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	background:var(--idn-paper);
	padding:20px 18px;
}


/* 42.5 Mobile: devolver largura aos campos -------------------- */
@media (max-width:767px){
	.woocommerce-checkout #payment ul.payment_methods > li{padding:14px 12px}
}


/* ============================================================
   43. MINHA CONTA — estados vazios
   ============================================================ */
/* O WooCommerce usa um aviso comum para "nao ha nada aqui ainda" e
   joga o botao dentro dele: vira uma barra com um botao de 782px.
   O :has() isola so os avisos que trazem botao, sem tocar nos
   avisos normais de erro e confirmacao. */
.woocommerce-MyAccount-content .woocommerce-info:has(> a.woocommerce-Button){
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	gap:0;
	padding:58px 32px 54px;
	background:var(--idn-paper);
	border:1px solid var(--idn-line);
	border-left:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
	font-family:var(--theme-headings-font-family);
	font-size:19px;
	line-height:1.45;
	color:var(--idn-ink);
	max-width:560px;
	margin-left:auto;
	margin-right:auto;
}
.woocommerce-MyAccount-content .woocommerce-info:has(> a.woocommerce-Button)::before{
	content:"";
	/* o aviso original do WooCommerce posiciona o ::before em absoluto;
	   sem zerar isso o icone fica grudado no canto esquerdo */
	position:static;
	display:block;
	width:44px;
	height:44px;
	margin:0 0 20px;
	left:auto;
	top:auto;
	background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23828240' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16l-1.2 12.2a2 2 0 0 1-2 1.8H7.2a2 2 0 0 1-2-1.8Z'/%3E%3Cpath d='M9 7V5.6A3 3 0 0 1 12 3a3 3 0 0 1 3 2.6V7'/%3E%3C/svg%3E") center/contain no-repeat;
}
.woocommerce-MyAccount-content .woocommerce-info:has(> a.woocommerce-Button) > a.woocommerce-Button{
	order:2;
	flex:0 0 auto;
	width:auto;
	min-width:0;
	max-width:none;
	/* o aviso do WooCommerce empurra o botao com margin-left:auto
	   em regra !important; por isso o auto dos dois lados aqui */
	margin:24px auto 0 !important;
	padding:14px 32px;
	font-family:var(--theme-font-family);
	font-size:15px;
}

@media (max-width:767px){
	.woocommerce-MyAccount-content .woocommerce-info:has(> a.woocommerce-Button){
		padding:44px 22px 40px;
		font-size:17.5px;
	}
	.woocommerce-MyAccount-content .woocommerce-info:has(> a.woocommerce-Button) > a.woocommerce-Button{
		width:100%;
		max-width:300px;
	}
}


/* ============================================================
   44. MINHA CONTA — formulários de endereço e dados
   ============================================================ */

/* 44.1 Endereço em grade -------------------------------------- */
/* A loja só entrega no Brasil: o país já vem fixo, como no checkout. */
/* o JS do WooCommerce escreve display inline neste campo, como no checkout */
.woocommerce-edit-address #billing_country_field,
.woocommerce-edit-address #shipping_country_field{display:none !important}

.woocommerce-address-fields__field-wrapper{
	display:grid;
	grid-template-columns:repeat(12,1fr);
	column-gap:16px;
	row-gap:0;
}
.woocommerce-address-fields__field-wrapper > .form-row{
	grid-column:1/-1;
	margin:0;
	padding:0 0 18px;
	float:none;
	width:auto;
}
/* prefixo com a classe do wrapper para vencer os IDs soltos da seção 21 */
.woocommerce-address-fields__field-wrapper #billing_first_name_field,
.woocommerce-address-fields__field-wrapper #shipping_first_name_field,
.woocommerce-address-fields__field-wrapper #billing_last_name_field,
.woocommerce-address-fields__field-wrapper #shipping_last_name_field{grid-column:span 6}
.woocommerce-address-fields__field-wrapper #billing_document_field,
.woocommerce-address-fields__field-wrapper #billing_postcode_field,
.woocommerce-address-fields__field-wrapper #shipping_postcode_field{grid-column:span 6}
.woocommerce-address-fields__field-wrapper #billing_address_1_field,
.woocommerce-address-fields__field-wrapper #shipping_address_1_field{grid-column:span 8}
.woocommerce-address-fields__field-wrapper #billing_number_field,
.woocommerce-address-fields__field-wrapper #shipping_number_field{grid-column:span 4}
.woocommerce-address-fields__field-wrapper #billing_address_2_field,
.woocommerce-address-fields__field-wrapper #shipping_address_2_field{grid-column:1/-1}
.woocommerce-address-fields__field-wrapper #billing_neighborhood_field,
.woocommerce-address-fields__field-wrapper #shipping_neighborhood_field{grid-column:span 5}
.woocommerce-address-fields__field-wrapper #billing_city_field,
.woocommerce-address-fields__field-wrapper #shipping_city_field{grid-column:span 4}
.woocommerce-address-fields__field-wrapper #billing_state_field,
.woocommerce-address-fields__field-wrapper #shipping_state_field{grid-column:span 3}
.woocommerce-address-fields__field-wrapper #billing_cellphone_field,
.woocommerce-address-fields__field-wrapper #shipping_cellphone_field,
.woocommerce-address-fields__field-wrapper #billing_email_field{grid-column:span 6}

/* 44.2 Campos e rótulos --------------------------------------- */
.woocommerce-account .woocommerce-address-fields .form-row label,
.woocommerce-account .woocommerce-EditAccountForm .form-row label{
	display:block;
	font-size:13px;
	font-weight:600;
	letter-spacing:.2px;
	color:var(--idn-ink-soft);
	margin:0 0 7px;
}
.woocommerce-account .form-row input.input-text,
.woocommerce-account .form-row select,
.woocommerce-account .form-row textarea{
	width:100%;
	min-height:50px;
	padding:12px 14px;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-sm);
	font-family:var(--theme-font-family);
	font-size:15px;
	color:var(--idn-ink);
	-webkit-text-fill-color:var(--idn-ink);
	transition:border-color .18s ease,box-shadow .18s ease;
}
.woocommerce-account .form-row input.input-text:focus,
.woocommerce-account .form-row select:focus,
.woocommerce-account .form-row textarea:focus{
	outline:none;
	border-color:var(--idn-olive);
	box-shadow:0 0 0 3px rgba(130,130,64,.16);
}
.woocommerce-account .form-row .required{color:var(--idn-terra);text-decoration:none;border:0}

/* 44.3 Alteração de senha ------------------------------------- */
/* o <fieldset> padrao vem com borda pontilhada do navegador */
.woocommerce-EditAccountForm fieldset{
	margin:30px 0 26px;
	padding:26px 24px 8px;
	background:var(--idn-paper);
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
}
.woocommerce-EditAccountForm fieldset legend{
	padding:0 10px;
	font-family:var(--theme-font-family);
	font-size:11.5px;
	font-weight:700;
	letter-spacing:1.1px;
	text-transform:uppercase;
	color:var(--idn-olive-dark);
}

/* 44.4 Lista de endereços ------------------------------------- */
.woocommerce-account .woocommerce-Addresses{gap:22px}
.woocommerce-account .woocommerce-Address-title{
	padding-bottom:14px;
	margin-bottom:16px;
	border-bottom:1px solid var(--idn-line);
}
.woocommerce-account .woocommerce-Address-title a{
	font-size:13.5px;
	font-weight:600;
	color:var(--idn-olive-dark);
	text-decoration:underline;
	text-underline-offset:3px;
}
.woocommerce-account .woocommerce-Address-title a:hover{color:var(--idn-terra)}
.woocommerce-account .woocommerce-Address address{
	font-style:normal;
	font-size:15.5px;
	line-height:1.7;
	color:var(--idn-ink-soft);
}

/* 44.5 Aviso de sucesso com mais presença --------------------- */
.woocommerce-account .woocommerce-message{
	display:flex;
	align-items:flex-start;
	gap:16px;
	padding:22px 24px;
	background:var(--idn-sage-soft);
	border:1px solid rgba(95,95,45,.22);
	border-left:3px solid var(--idn-olive-dark);
	border-radius:var(--idn-r-md);
	font-size:16px;
	line-height:1.55;
	color:var(--idn-ink);
	margin:0 0 28px;
}
.woocommerce-account .woocommerce-message::before{
	content:"";
	position:static;
	flex:0 0 auto;
	display:block;
	width:26px;
	height:26px;
	margin:0;
	left:auto;
	top:auto;
	background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F5F2D' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12.2 2.4 2.4 4.6-4.9'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* 44.6 Responsivo --------------------------------------------- */
@media (max-width:767px){
	.woocommerce-address-fields__field-wrapper{column-gap:0}
	.woocommerce-address-fields__field-wrapper > .form-row{grid-column:1/-1 !important}
	.woocommerce-EditAccountForm fieldset{padding:22px 18px 6px}
	/* Nome e Sobrenome lado a lado em 397px ficam apertados demais */
	.woocommerce-EditAccountForm .form-row-first,
	.woocommerce-EditAccountForm .form-row-last{width:100%;float:none;margin-right:0}
	.woocommerce-account .woocommerce-message{padding:18px 18px;font-size:15.5px;gap:13px}
}


/* ============================================================
   45. DADOS DA CONTA — nome completo e avisos
   ============================================================ */
/* o sobrenome deixou de ser digitado: o PHP o deriva do nome completo */
/* as linhas do formulario de conta nao tem id proprio: so da para
   alcancar pelo campo que elas contem */
.woocommerce-EditAccountForm .form-row:has(#account_last_name){display:none}
.woocommerce-EditAccountForm .form-row:has(#account_first_name){width:100%;float:none;margin-right:0}

/* 45.1 Espaço ao redor dos links dentro dos avisos ------------ */
/* a string traduzida do WooCommerce cola o link no texto:
   "revise o seuhistórico de compraantes de refazer" */
.woocommerce-error a,
.woocommerce-info a,
.woocommerce-message a,
.woocommerce-NoticeGroup a{margin-inline:4px}
.woocommerce-error a.button,
.woocommerce-info a.button,
.woocommerce-message a.button{margin-inline:0}


/* ============================================================
   46. PEDIDOS — trilha, tabelas e hierarquia de botões
   ============================================================ */

/* 46.1 Trilha de navegação ------------------------------------ */
.idn-trilha{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0;
	margin:0 0 26px;
	font-size:13px;
	line-height:1.5;
	color:var(--idn-ink-soft);
}
.idn-trilha a{
	color:var(--idn-ink-soft);
	text-decoration:none;
	border-bottom:1px solid transparent;
	transition:color .16s ease,border-color .16s ease;
}
.idn-trilha a:hover,.idn-trilha a:focus-visible{
	color:var(--idn-terra);
	border-bottom-color:currentColor;
}
.idn-trilha > * + *::before{
	content:"/";
	margin:0 9px;
	color:var(--idn-line);
	font-weight:400;
}
.idn-trilha span[aria-current]{color:var(--idn-ink);font-weight:600}

/* 46.2 Tabelas de pedido -------------------------------------- */
/* o padrão do WooCommerce usa bordas pontilhadas; o resto da loja
   trabalha com filete contínuo */
.woocommerce-account table.shop_table,
.woocommerce-checkout table.shop_table.order_details{
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	margin:0 0 30px;
	font-size:15px;
}
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td,
.woocommerce-checkout table.shop_table.order_details th,
.woocommerce-checkout table.shop_table.order_details td{
	border:0;
	border-bottom:1px solid var(--idn-line);
	padding:16px 18px;
	vertical-align:middle;
	color:var(--idn-ink-soft);
	background:transparent;
}
.woocommerce-account table.shop_table thead th,
.woocommerce-checkout table.shop_table.order_details thead th{
	background:var(--idn-olive-pale);
	font-size:11px;
	letter-spacing:1.1px;
	text-transform:uppercase;
	font-weight:700;
	color:var(--idn-olive-dark);
	padding:13px 18px;
}
.woocommerce-account table.shop_table tbody tr:last-child td{border-bottom:0}
.woocommerce-account table.shop_table tfoot th,
.woocommerce-checkout table.shop_table.order_details tfoot th{
	font-weight:600;
	color:var(--idn-ink-soft);
	background:var(--idn-paper);
}
.woocommerce-account table.shop_table tfoot td,
.woocommerce-checkout table.shop_table.order_details tfoot td{
	background:var(--idn-paper);
	font-weight:600;
	color:var(--idn-ink);
}
.woocommerce-account table.shop_table tfoot tr:last-child th,
.woocommerce-account table.shop_table tfoot tr:last-child td{border-bottom:0}
.woocommerce-account table.shop_table a:not(.button),
.woocommerce-checkout table.shop_table.order_details a:not(.button){
	color:var(--idn-olive-dark);
	font-weight:600;
	text-decoration:underline;
	text-underline-offset:3px;
}
.woocommerce-account table.shop_table a:not(.button):hover{color:var(--idn-terra)}
.woocommerce-orders-table__cell-order-number a{white-space:nowrap}

/* 46.3 Hierarquia dos botões de pedido ------------------------ */
.woocommerce-account .woocommerce-orders-table__cell-order-actions,
.woocommerce-account td.woocommerce-table__product-name .actions,
.woocommerce-account table.shop_table td.actions{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-items:center;
	gap:8px;
}
.woocommerce-account table.shop_table a.button{
	width:auto !important;
	min-width:0;
	min-height:0;
	margin:0;
	padding:10px 20px;
	font-size:13.5px;
	line-height:1.2;
	letter-spacing:.2px;
	border-radius:var(--idn-r-pill);
	text-decoration:none;
}
/* primário */
.woocommerce-account table.shop_table a.button.pay{
	background:var(--idn-olive-dark);
	border:1px solid var(--idn-olive-dark);
	color:#fff;
	-webkit-text-fill-color:#fff;
}
.woocommerce-account table.shop_table a.button.pay:hover{background:#4E4E25;border-color:#4E4E25}
/* secundário */
.woocommerce-account table.shop_table a.button.view{
	background:transparent;
	border:1px solid rgba(95,95,45,.4);
	color:var(--idn-olive-dark);
	-webkit-text-fill-color:var(--idn-olive-dark);
}
.woocommerce-account table.shop_table a.button.view:hover{
	background:var(--idn-terra-pale);
	border-color:var(--idn-terra);
	color:var(--idn-terra);
	-webkit-text-fill-color:var(--idn-terra);
}
/* destrutivo: presente, mas nunca com o mesmo peso de "Pagar" */
.woocommerce-account table.shop_table a.button.cancel{
	background:transparent;
	border:1px solid transparent;
	color:var(--idn-ink-soft);
	-webkit-text-fill-color:var(--idn-ink-soft);
	text-decoration:underline;
	text-underline-offset:3px;
	padding:10px 12px;
}
.woocommerce-account table.shop_table a.button.cancel:hover{
	color:var(--idn-terra);
	-webkit-text-fill-color:var(--idn-terra);
	background:var(--idn-terra-pale);
	text-decoration:none;
}

/* 46.4 Endereços do pedido ------------------------------------ */
.woocommerce-account .woocommerce-customer-details address,
.woocommerce-checkout .woocommerce-customer-details address{
	font-style:normal;
	font-size:15.5px;
	line-height:1.75;
	color:var(--idn-ink-soft);
	background:var(--idn-paper);
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	padding:22px 24px;
}
.woocommerce-account .woocommerce-column__title,
.woocommerce-account .woocommerce-order-details__title,
.woocommerce-checkout .woocommerce-column__title{
	font-family:var(--theme-headings-font-family);
	font-size:19px;
	font-weight:600;
	color:var(--idn-ink);
	margin:30px 0 16px;
}

/* 46.5 Responsivo --------------------------------------------- */
@media (max-width:767px){
	.idn-trilha{font-size:12.5px;margin-bottom:20px}
	.woocommerce-account table.shop_table th,
	.woocommerce-account table.shop_table td{padding:13px 14px}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions{justify-content:flex-start}
	.woocommerce-account table.shop_table a.button{padding:11px 18px}
}


/* 46.6 Acoes da lista de pedidos -------------------------------
   Pagar continua escrito: e a acao que fecha a venda e nao pode
   depender de o cliente adivinhar um simbolo. Visualizar e Cancelar
   viram icones (olho e X), com o rotulo aparecendo no hover -- e o
   texto segue no HTML para leitores de tela. */
.woocommerce-orders-table__header-order-actions,
.woocommerce-orders-table__cell-order-actions{width:206px;min-width:206px}
.woocommerce-account .woocommerce-orders-table__cell-order-actions{flex-wrap:nowrap}
.woocommerce-account table.shop_table a.button{padding:9px 16px;font-size:13px}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.pay{flex:0 0 auto;margin:0;white-space:nowrap}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.view,
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.cancel{
	position:relative;
	flex:0 0 auto;
	width:38px !important;
	height:38px;
	min-height:38px;
	margin:0;
	align-self:center;
	padding:0;
	font-size:0;
	line-height:0;
	align-items:center;
	justify-content:center;
	border-radius:var(--idn-r-pill);
	background:#fff;
	box-shadow:none;
	text-decoration:none;
	transition:background .18s,border-color .18s;
}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.view{border:1px solid rgba(95,95,45,.35)}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.cancel{border:1px solid var(--idn-line)}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.view::before,
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.cancel::before{
	content:"";
	/* o .button do Blocksy ja usa ::before como camada de hover
	   (absoluta, opacity 0, z-index -1) -- aqui ele vira o icone */
	position:static;
	display:block;
	opacity:1;
	z-index:auto;
	width:19px;
	height:19px;
	-webkit-mask:center/19px no-repeat;
	mask:center/19px no-repeat;
	background-color:var(--idn-olive-dark);
	transition:background-color .18s;
}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.view::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.8-6.5 10-6.5 10 6.5 10 6.5-3.8 6.5-10 6.5S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.8-6.5 10-6.5 10 6.5 10 6.5-3.8 6.5-10 6.5S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E")}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.cancel::before{background-color:var(--idn-ink-soft);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E")}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.view:hover{background:var(--idn-olive-pale);border-color:var(--idn-olive-dark)}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.cancel:hover{background:var(--idn-terra-pale);border-color:var(--idn-terra)}
.woocommerce-account table.shop_table .woocommerce-orders-table__cell-order-actions a.button.cancel:hover::before{background-color:var(--idn-terra)}
/* o rotulo vira tooltip nativo (atributo title, posto via JS) --
   um tooltip em CSS seria cortado pelo overflow da tabela */
@media (max-width:767px){
	.woocommerce-orders-table__header-order-actions,
	.woocommerce-orders-table__cell-order-actions{width:auto;min-width:0}
}


/* 46.7 Ações dentro dos detalhes do pedido -------------------- */
/* Aqui o <td> nao tem classe nenhuma, entao as regras da lista nao
   alcancavam. Nao transformo a celula em flex de proposito: display:flex
   num <td> cria celula anonima e ele herda a largura de outra coluna. */
.woocommerce-account table.shop_table tfoot td a.button + a.button,
.woocommerce-checkout table.shop_table.order_details tfoot td a.button + a.button{
	margin-left:10px;
}
.woocommerce-account table.shop_table a.button.cancel,
.woocommerce-checkout table.shop_table a.button.cancel{
	/* a sombra do botao base desenhava uma pilula clara
	   atras de um elemento transparente */
	box-shadow:none;
}
.woocommerce-account table.shop_table tfoot td a.button.pay,
.woocommerce-checkout table.shop_table tfoot td a.button.pay{
	padding:11px 24px;
	font-size:14px;
}


/* 46.8 Acabamento dos botões de pedido ------------------------ */
/* Dentro de uma linha de tabela a sombra do botão vira ruído: ela
   sugere elevação onde não há camada nenhuma. */
.woocommerce-account table.shop_table a.button,
.woocommerce-account table.shop_table a.button:hover,
.woocommerce-checkout table.shop_table a.button{
	box-shadow:none;
	transform:none;
}
.woocommerce-account table.shop_table a.button{
	min-height:38px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-weight:600;
}
/* secundário com contorno que se enxerga */
.woocommerce-account table.shop_table a.button.view{
	border-color:rgba(95,95,45,.55);
	background:#fff;
}
.woocommerce-account table.shop_table a.button.view:hover{
	background:var(--idn-terra-pale);
	border-color:var(--idn-terra);
}
/* terciário: sublinhado leve, alinhado à direita dos outros dois */
.woocommerce-orders-table__cell-order-actions a.button.cancel{
	min-height:0;
	padding:2px 0 1px;
	margin-top:10px;
	font-size:12.5px;
	font-weight:600;
	text-decoration:none;
	border-bottom:1px solid rgba(74,82,85,.35);
	border-radius:0;
	align-self:flex-end;
	flex:0 0 auto;
	margin-left:auto;
}
.woocommerce-orders-table__cell-order-actions a.button.cancel:hover{
	background:transparent;
	border-bottom-color:var(--idn-terra);
	color:var(--idn-terra);
	-webkit-text-fill-color:var(--idn-terra);
}
/* a primeira coluna vazava do canto arredondado da tabela */
.woocommerce-account table.shop_table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--idn-r-md)}
.woocommerce-account table.shop_table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--idn-r-md)}

/* com border-collapse:separate sobra uma faixa entre a ultima celula e a
   borda arredondada da tabela; o fundo branco fecha o cartao */
.woocommerce-account table.shop_table,
.woocommerce-checkout table.shop_table.order_details{background:#fff}


/* ============================================================
   47. PEDIDO — informações adicionais e versão para impressão
   ============================================================ */

/* 47.1 Informações adicionais --------------------------------- */
/* o plugin de campos brasileiros imprime um h2 de 24px sem margem
   de topo: encostava no cartão de endereço e destoava dos outros títulos */
.woo-better-additional-info > h2,
.woo-better-additional-info > h3{
	font-family:var(--theme-headings-font-family);
	/* o h2 vem do editor de blocos com font-size:clamp(...) INLINE (tipografia
	   fluida do Blocksy). Estilo inline so cede para !important — sem ele o
	   titulo renderiza em 23.6px contra os 19px dos irmaos. */
	font-size:19px !important;
	font-weight:600;
	line-height:1.3;
	color:var(--idn-ink);
	margin:30px 0 16px;
}
.woo-better-additional-info__list{
	background:var(--idn-paper);
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	padding:20px 24px;
	font-size:15.5px;
	line-height:1.75;
	color:var(--idn-ink-soft);
}
.woo-better-additional-info__list strong,
.woo-better-additional-info__list b{color:var(--idn-ink);font-weight:600}
.woo-better-additional-info__list p{margin:0}

/* 47.2 Botão de impressão ------------------------------------- */
.idn-imprimir{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0 0 24px;
	padding:9px 18px;
	background:#fff;
	border:1px solid rgba(95,95,45,.55);
	border-radius:var(--idn-r-pill);
	font-family:var(--theme-font-family);
	font-size:13px;
	font-weight:600;
	color:var(--idn-olive-dark);
	cursor:pointer;
	transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.idn-imprimir svg{width:16px;height:16px}
.idn-imprimir:hover{
	background:var(--idn-terra-pale);
	border-color:var(--idn-terra);
	color:var(--idn-terra);
}
.idn-imprimir:focus-visible{outline:2px solid var(--idn-terra);outline-offset:3px}
.idn-print-cabecalho{display:none}

/* 47.3 Folha de impressão ------------------------------------- */
@media print{
	#wpadminbar,
	.ct-header, header.site-header, .site-header,
	.ct-footer, footer.site-footer, .site-footer,
	.woocommerce-MyAccount-navigation,
	.idn-trilha,
	.idn-imprimir,
	.woocommerce-notices-wrapper,
	.woocommerce-message,.woocommerce-info,.woocommerce-error,
	.ct-back-to-top,
	.woocommerce-MyAccount-content a.button{display:none !important}

	html,body{background:#fff !important;margin:0 !important;padding:0 !important}
	body{font-size:11pt;color:#1a1a1a}

	.ct-container,.ct-container-full,.entry-content,
	.woocommerce-account .woocommerce,
	.woocommerce-MyAccount-content{
		width:100% !important;
		max-width:none !important;
		margin:0 !important;
		padding:0 !important;
		display:block !important;
		float:none !important;
	}

	.idn-print-cabecalho{
		display:flex !important;
		flex-direction:column;
		gap:3px;
		margin:0 0 18px;
		padding:0 0 12px;
		border-bottom:1.5pt solid #333;
	}
	.idn-print-cabecalho strong{font-family:var(--theme-headings-font-family);font-size:16pt;letter-spacing:.5px}
	.idn-print-cabecalho span{font-size:9.5pt;color:#555}

	.woocommerce-account table.shop_table{
		border:1pt solid #999 !important;
		border-radius:0 !important;
		box-shadow:none !important;
		width:100% !important;
	}
	.woocommerce-account table.shop_table thead th{
		background:#efefe7 !important;
		color:#333 !important;
		-webkit-print-color-adjust:exact;
		print-color-adjust:exact;
	}
	.woocommerce-account table.shop_table th,
	.woocommerce-account table.shop_table td{
		border-bottom:0.5pt solid #bbb !important;
		padding:8pt 10pt !important;
	}
	.woocommerce-account .woocommerce-customer-details address,
	.woo-better-additional-info__list{
		border:0.5pt solid #bbb !important;
		border-radius:0 !important;
		background:#fff !important;
		padding:10pt 12pt !important;
	}
	.woocommerce-column__title,
	.woocommerce-order-details__title,
	.woo-better-additional-info > h2{font-size:12pt !important;margin:16pt 0 8pt !important}
	a{text-decoration:none !important;color:#1a1a1a !important}
	/* nao quebrar blocos no meio da folha */
	table,address,.woo-better-additional-info{break-inside:avoid;page-break-inside:avoid}
	@page{margin:14mm}
}


/* ============================================================
   48. BLOG — listagem e artigo
   ============================================================ */

/* 48.1 Cabecalho do arquivo ---------------------------------- */
.idn-blog-topo{
	padding:8px 0 42px;
	margin:0 0 38px;
	border-bottom:1px solid var(--idn-line);
}
.idn-blog-topo .idn-eyebrow{margin:0 0 12px}
.idn-blog-topo .idn-h2{
	/* no arquivo o cabecalho e alinhado a esquerda, como numa capa de
	   revista: a grade de cartoes abaixo ja da simetria a pagina. */
	text-align:left;
	max-width:18ch;
	font-size:clamp(28px,3.2vw,42px);
	line-height:1.14;
}
.idn-blog-topo .idn-sub{
	text-align:left;
	margin:14px 0 0;
	max-width:62ch;
	font-size:16px;
	line-height:1.7;
}

/* 48.2 Cartoes da listagem ----------------------------------- */
/* a grade do tema ja e responsiva (3 / 2 / 1 colunas); aqui so o cartao.
   O seletor leva [data-cards] na frente de proposito: o tema declara
   [data-cards="boxed"] .entry-card{padding:30px;border-radius:...} com o
   mesmo peso que .entries .entry-card, e entries.min.css e carregado DEPOIS
   do style.css do child — entao empate era derrota, e o cartao ficava com
   30px de recheio e canto reto, com a imagem vazando para a direita.
   O atributo data-cards fica NA propria .entries, nao num ancestral. */
.entries[data-cards] .entry-card{
	position:relative;
	display:flex;
	flex-direction:column;
	height:100%;
	padding:0;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
	box-shadow:none;
	overflow:hidden;
	transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
/* ordem visual: capa, categoria, titulo, resumo, data */
.entries .entry-card > .ct-media-container{order:1}
.entries .entry-card > .entry-meta:has(.meta-categories){order:2}
.entries .entry-card > .entry-title{order:3}
.entries .entry-card > .entry-excerpt{order:4}
.entries .entry-card > .entry-meta:has(.meta-author){order:5}

.entries .entry-card > .ct-media-container{
	margin:0;
	border-radius:0;
	aspect-ratio:16/10;
	overflow:hidden;
	background:var(--idn-olive-pale);
}
.entries .entry-card > .ct-media-container img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .4s ease;
}
.entries .entry-card > .entry-meta:has(.meta-categories){
	margin:22px 24px 10px;
	padding:0;
}
.entries .entry-card .meta-categories a{
	font-size:11.5px;
	letter-spacing:.14em;
	text-transform:uppercase;
	font-weight:600;
	color:var(--idn-olive-dark);
	text-decoration:none;
}
.entries .entry-card > .entry-title{
	margin:0 24px 12px;
	font-size:20px;
	line-height:1.32;
	font-weight:700;
}
.entries .entry-card > .entry-title a{
	/* tres linhas tambem no titulo: com titulos de 3 e 4 linhas na mesma
	   fileira, os resumos comecavam em alturas diferentes e a grade ficava
	   irregular. */
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
	color:var(--idn-ink);
	text-decoration:none;
	transition:color .2s ease;
}
.entries .entry-card > .entry-excerpt{margin:0 24px 20px}
.entries .entry-card > .entry-excerpt p{
	margin:0;
	font-size:15px;
	line-height:1.65;
	color:var(--idn-ink-soft);
	/* tres linhas para todos os cartoes ficarem com a mesma altura de texto */
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.entries .entry-card > .entry-meta:has(.meta-author){
	margin:auto 24px 0;
	padding:14px 0 20px;
	border-top:1px solid var(--idn-line);
	font-size:12.5px;
	color:var(--idn-ink-soft);
}

/* o cartao inteiro vira area clicavel, sem aninhar links:
   o link do titulo se estica por cima da caixa. */
.entries .entry-card > .entry-title a::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:2;
}
.entries .entry-card > .ct-media-container{position:relative;z-index:1}
/* a etiqueta de categoria precisa ficar ACIMA do link esticado, senao
   clicar nela abre o artigo em vez de filtrar pela categoria */
.entries .entry-card .meta-categories{position:relative;z-index:3}
.entries .entry-card .meta-categories a:hover{color:var(--idn-terra);text-decoration:underline;text-underline-offset:3px}

.entries .entry-card:hover,
.entries .entry-card:focus-within{
	border-color:rgba(168,80,46,.45);
	box-shadow:0 14px 28px rgba(51,57,61,.10);
	transform:translateY(-2px);
}
.entries .entry-card:hover > .entry-title a,
.entries .entry-card:focus-within > .entry-title a{color:var(--idn-terra)}
.entries .entry-card:hover > .ct-media-container img{transform:scale(1.04)}
.entries .entry-card:focus-within{outline:2px solid var(--idn-terra);outline-offset:3px}

/* autor escondido ate o usuario real da redacao existir (ver functions.php) */
.idn-sem-autor .meta-author{display:none !important}

/* 48.3 Artigo ------------------------------------------------ */
body.single-post .page-title{
	text-align:left;
	font-size:clamp(29px,3.4vw,41px);
	line-height:1.16;
	margin:0 0 16px;
}
body.single-post .hero-section .entry-meta{
	margin:0;
	font-size:12.5px;
	letter-spacing:.04em;
	color:var(--idn-ink-soft);
}
body.single-post .hero-section .entry-meta a{color:var(--idn-ink-soft);text-decoration:none}
body.single-post .hero-section .entry-meta a:hover{color:var(--idn-terra)}

.idn-post-capa{
	/* a capa e o rodape sao filhos diretos do container full do artigo, que
	   nao tem recuo lateral: no celular encostavam nas bordas enquanto o texto
	   respeitava os 30px. O calc reproduz esse recuo; acima de ~780px o
	   max-width assume e o calc nao tem efeito. */
	width:calc(100% - 60px);
	/* a capa e filha direta do container full do artigo, entao sem limite
	   ela sai com 1543px enquanto o titulo e o texto ficam em 750/720.
	   Alinhar pela mesma largura do titulo (--theme-narrow-container-max-width). */
	max-width:720px;
	margin:30px auto 38px;
	padding:0;
	border-radius:var(--idn-r-lg);
	overflow:hidden;
	background:var(--idn-olive-pale);
	aspect-ratio:16/7;
}
.idn-post-capa img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

body.single-post .entry-content p{
	font-size:17px;
	line-height:1.78;
	color:var(--idn-ink-soft);
	margin:0 0 24px;
}
body.single-post .entry-content p strong{color:var(--idn-ink);font-weight:700}
body.single-post .entry-content h2,
body.single-post .entry-content h3,
body.single-post .entry-content h4{
	font-family:var(--theme-headings-font-family);
	color:var(--idn-ink);
	line-height:1.22;
}
body.single-post .entry-content h2{font-size:27px;font-weight:700;margin:46px 0 16px}
body.single-post .entry-content h3{font-size:21px;font-weight:700;margin:36px 0 14px}
body.single-post .entry-content h4{font-size:18px;font-weight:700;margin:30px 0 12px}
/* os artigos vieram do site institucional com os niveis de titulo escolhidos
   pelo tamanho da fonte, nao pela estrutura: tem post com h4 de secao e h6 de
   subsecao, outro com h5. Ate a revisao editorial, h5 e h6 sao estilizados
   como subsecao para a leitura nao quebrar. */
body.single-post .entry-content h5,
body.single-post .entry-content h6{
	font-size:17.5px;
	font-weight:700;
	margin:28px 0 10px;
	text-transform:none;
	letter-spacing:normal;
}
/* linhas quebradas com <br> dentro do mesmo paragrafo ficavam coladas;
   o respiro e menor que o espaco entre paragrafos para nao achatar a hierarquia */
body.single-post .entry-content p br{
	content:"";
	display:block;
	margin-bottom:9px;
}
body.single-post .entry-content ul,
body.single-post .entry-content ol{margin:0 0 24px;padding-left:22px}
body.single-post .entry-content li{
	font-size:17px;
	line-height:1.72;
	color:var(--idn-ink-soft);
	margin:0 0 9px;
}
body.single-post .entry-content li::marker{color:var(--idn-olive)}
body.single-post .entry-content a{
	color:var(--idn-terra);
	text-decoration:underline;
	text-underline-offset:3px;
}
body.single-post .entry-content blockquote{
	margin:30px 0;
	padding:2px 0 2px 26px;
	border-left:3px solid var(--idn-terra);
	background:none;
}
body.single-post .entry-content blockquote p{
	font-family:var(--theme-headings-font-family);
	font-size:20px;
	line-height:1.5;
	color:var(--idn-ink);
}
body.single-post .entry-content hr{
	margin:40px 0;
	border:0;
	border-top:1px solid var(--idn-line);
}
body.single-post .entry-content img{border-radius:var(--idn-r-md)}

/* 48.4 Rodape do artigo -------------------------------------- */
.idn-post-rodape{
	width:calc(100% - 60px);
	/* filho direto do container full do artigo: sem limite sairia em 1543px */
	max-width:720px;
	margin:46px auto 0;
	padding:28px 0 0;
	border-top:1px solid var(--idn-line);
}
.idn-voltar{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:12px 26px;
	border:1.5px solid rgba(95,95,45,.55);
	border-radius:var(--idn-r-pill);
	background:#fff;
	font-size:14px;
	font-weight:600;
	color:var(--idn-olive-dark);
	text-decoration:none;
	transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.idn-voltar::before{content:"\2190";font-size:15px;line-height:1}
/* 48.4.1 Coluna de leitura unica -----------------------------
   O paragrafo saia em 720px (regra da secao de paginas, que lista
   so p/h2/h3) e o h4/h5/h6 em 750px, herdados do tema: 15px de
   desalinhamento visivel entre titulo de secao e texto. Aqui todos
   os filhos diretos do artigo passam a usar a mesma largura e a
   mesma borda esquerda — inclusive o titulo e a capa. */
body.single-post .page-title{max-width:720px;margin-left:auto;margin-right:auto}
body.single-post .entry-content > p,
body.single-post .entry-content > h2,
body.single-post .entry-content > h3,
body.single-post .entry-content > h4,
body.single-post .entry-content > h5,
body.single-post .entry-content > h6,
body.single-post .entry-content > ul,
body.single-post .entry-content > ol,
body.single-post .entry-content > figure,
body.single-post .entry-content > blockquote,
body.single-post .entry-content > hr{
	max-width:720px;
	margin-left:auto;
	margin-right:auto;
}

.idn-voltar:hover,
.idn-voltar:focus-visible{
	background:var(--idn-terra);
	border-color:var(--idn-terra);
	color:#fff;
}

/* 48.5 Responsivo -------------------------------------------- */
@media (max-width:767px){
	.idn-blog-topo{padding:4px 0 32px;margin-bottom:28px}
	.idn-blog-topo .idn-h2{max-width:none}
		/* 'auto' nas laterais: com margin 0 a capa perdia a centralizacao que o
	   calc do width exige e ficava 30px deslocada para a esquerda */
	.idn-post-capa{margin:24px auto 30px;aspect-ratio:16/9;border-radius:var(--idn-r-md)}
	body.single-post .entry-content p,
	body.single-post .entry-content li{font-size:16.5px}
	body.single-post .entry-content h2{font-size:23px;margin-top:38px}
	.idn-voltar{display:flex;justify-content:center;width:100%}
}
@media (prefers-reduced-motion:reduce){
	.entries .entry-card,
	.entries .entry-card > .ct-media-container img{transition:none}
	.entries .entry-card:hover,
	.entries .entry-card:focus-within{transform:none}
	.entries .entry-card:hover > .ct-media-container img{transform:none}
}


/* ============================================================
   49. FAIXAS — encostar os blocos de largura total
   ============================================================ */

/* As paginas construidas em faixas (Sobre, Contato, FAQ, documentos, home)
   mostravam listras claras entre as faixas coloridas. Eram duas origens:
   1) .ct-container-full do Blocksy traz padding:50px 0 — isso abria uma
      listra entre o cabecalho e a primeira faixa, e outra entre a ultima
      faixa e o rodape;
   2) cada wp-block-group de largura total carrega o block gap do WordPress
      (margin-bottom:24px), que aparecia sempre que duas faixas coloridas
      ficavam lado a lado.
   O :has() limita a correcao as paginas que realmente usam faixas: uma
   pagina de texto comum continua com o respiro de 50px do tema. */
.ct-container-full:has(> article > .entry-content > .alignfull),
.ct-container-full:has(> .entry-content > .alignfull){
	padding-top:0;
	padding-bottom:0;
}
.entry-content > .wp-block-group.alignfull{
	margin-top:0;
	margin-bottom:0;
}


/* ============================================================
   50. CORRECOES DE TELA PEQUENA E BLOCOS DE ENDERECO
   ============================================================ */

/* 50.1 Seta dupla na ordenacao ------------------------------- */
/* O Blocksy injeta a propria seta como um <svg> posicionado de forma
   absoluta dentro do form. Como o form virou flex na secao 33, a seta
   perdeu a referencia de posicionamento e caia EM CIMA do texto
   ("Padrao da loja" com um risco no meio). A seta desta caixa e
   desenhada no background do select, entao a do tema sai de cena. */
.woocommerce .woo-listing-top form.woocommerce-ordering > svg{display:none}

/* 50.2 Retrato da Leda no empilhamento ----------------------- */
/* No desktop ela fica apoiada na base da faixa (align-self:end), entao o
   recorte do PNG nao aparece. Empilhado no celular a foto termina no meio
   da faixa e ela parece flutuando. A mascara dissolve a base do recorte
   na propria cor da faixa. */
@media (max-width:900px){
	.idn-essencia-foto{padding-top:0}
	.idn-essencia-foto img{
		-webkit-mask-image:linear-gradient(to bottom,#000 74%,transparent 100%);
		mask-image:linear-gradient(to bottom,#000 74%,transparent 100%);
	}
}

/* 50.3 Atalhos do Contato em coluna unica -------------------- */
/* Em duas colunas de 176px as palavras quebravam no meio
   ("devolucoe/s", "privacidad/e"). */
@media (max-width:767px){
	ul.idn-atalhos{grid-template-columns:minmax(0,1fr)}
}

/* 50.4 Enderecos de cobranca e entrega ----------------------- */
.woocommerce-Addresses{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:22px;
	margin:26px 0 0;
}
.woocommerce-Addresses .woocommerce-Address{
	float:none;
	width:auto;
	margin:0;
	padding:24px 26px 26px;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
}
.woocommerce-Addresses .woocommerce-Address-title{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	margin:0 0 16px;
	padding:0 0 14px;
	border-bottom:1px solid var(--idn-line);
}
.woocommerce-Addresses .woocommerce-Address-title h2{
	margin:0;
	font-family:var(--theme-headings-font-family);
	font-size:18px;
	font-weight:600;
	line-height:1.25;
	color:var(--idn-ink);
}
.woocommerce-Addresses .woocommerce-Address-title a.edit{
	flex:0 0 auto;
	padding:7px 16px;
	border:1px solid rgba(95,95,45,.5);
	border-radius:var(--idn-r-pill);
	font-size:12.5px;
	font-weight:600;
	line-height:1.2;
	color:var(--idn-olive-dark);
	text-decoration:none;
	white-space:nowrap;
	transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.woocommerce-Addresses .woocommerce-Address-title a.edit:hover,
.woocommerce-Addresses .woocommerce-Address-title a.edit:focus-visible{
	background:var(--idn-terra);
	border-color:var(--idn-terra);
	color:#fff;
}
.woocommerce-Addresses .woocommerce-Address address{
	margin:0;
	font-style:normal;
	font-size:15px;
	line-height:1.85;
	color:var(--idn-ink-soft);
}
/* a primeira linha do endereco e sempre o nome de quem recebe */
.woocommerce-Addresses .woocommerce-Address address::first-line{
	font-weight:700;
	color:var(--idn-ink);
}
@media (max-width:767px){
	.woocommerce-Addresses{grid-template-columns:minmax(0,1fr);gap:16px}
	.woocommerce-Addresses .woocommerce-Address{padding:20px 20px 22px}
	.woocommerce-Addresses .woocommerce-Address-title{
		flex-wrap:wrap;
		align-items:flex-start;
		gap:10px;
	}
}


/* ============================================================
   51. MENU PRINCIPAL
   ============================================================ */

/* 51.1 Fio de base do cabecalho ------------------------------ */
/* Sem ele o cabecalho branco flutua sobre o conteudo branco e a
   pagina perde o inicio. */
#header{border-bottom:1px solid var(--idn-line)}

/* 51.1.1 Uma marca so ---------------------------------------- */
/* Uma regra antiga minha dava border-bottom:2px aos links do cabecalho
   (transparente parado, oliva no ativo, terracota no hover). Com o risco
   novo o item ativo ficava com DUAS linhas, em dois tons de oliva, e o
   item do submenu ganhava um tracinho solto embaixo da pilula.
   A borda continua ocupando o espaco — so deixa de pintar. */
#header .menu .menu-item > a,
#header .menu .menu-item > a:hover,
#header .menu .menu-item > a:focus-visible,
#header .menu .menu-item:hover > a,
#header .menu li.current-menu-item > a,
#header .menu li.current_page_item > a{
	border-bottom-color:transparent;
}

/* 51.2 Links de navegacao ------------------------------------ */
/* Estavam em 13.6px/700 com 0.02em de entreletra. Caixa alta precisa de
   mais abertura para nao virar um bloco; o conjunto Minha conta/sacola ja
   usava 12px/700/0.075em, entao os links passam a falar a mesma lingua.
   A cor tambem muda: antes TODOS eram oliva, igual ao item ativo, e a
   pagina atual se distinguia so pelo risco. Agora o oliva e reservado
   para o estado — ativo e hover. */
#header .menu > li.menu-item:not(.idn-acao) > a{
	position:relative;
	display:inline-flex;
	align-items:center;
	padding:0 12.5px;
	font-size:12.5px;
	font-weight:700;
	letter-spacing:.075em;
	text-transform:uppercase;
	color:var(--idn-ink-soft);
	text-decoration:none;
	transition:color .2s ease;
}
/* o risco nasce do centro e cresce; fica abaixo do texto, nao no pe
   do cabecalho, para acompanhar a palavra */
#header .menu > li.menu-item:not(.idn-acao) > a::after{
	content:"";
	position:absolute;
	left:12.5px;
	right:12.5px;
	bottom:-9px;
	height:2px;
	border-radius:2px;
	background:var(--idn-olive);
	transform:scaleX(0);
	transform-origin:center;
	transition:transform .22s ease;
}
/* O hover precisa valer para o ITEM, nao so para o link: nos itens com
   submenu a setinha fica fora do <a>, entao passar o mouse nela mudava a
   cor (regra do tema) mas nao acendia o risco. Daqui o estado e um so.
   Cor: terracota no hover, oliva na pagina atual — assim hover e "voce
   esta aqui" nao se confundem, e o hover fala a mesma lingua do botao
   Adicionar ao carrinho. */
#header .menu > li.menu-item:not(.idn-acao):hover > a,
#header .menu > li.menu-item:not(.idn-acao) > a:hover,
#header .menu > li.menu-item:not(.idn-acao) > a:focus-visible{
	color:var(--idn-terra);
}
#header .menu > li.menu-item:not(.idn-acao):hover > a::after,
#header .menu > li.menu-item:not(.idn-acao) > a:hover::after,
#header .menu > li.menu-item:not(.idn-acao) > a:focus-visible::after{
	transform:scaleX(1);
	background:var(--idn-terra);
}
#header .menu > li.menu-item:not(.idn-acao) > a:focus-visible{
	outline:2px solid var(--idn-olive);
	outline-offset:4px;
	border-radius:3px;
}

/* 51.3 Pagina atual ------------------------------------------ */
#header .menu > li.current-menu-item:not(.idn-acao) > a,
#header .menu > li.current_page_item:not(.idn-acao) > a,
#header .menu > li.current-menu-parent:not(.idn-acao) > a,
#header .menu > li.current-menu-ancestor:not(.idn-acao) > a,
#header .menu > li.current-product-ancestor:not(.idn-acao) > a{
	color:var(--idn-olive-dark);
}
#header .menu > li.current-menu-item:not(.idn-acao) > a::after,
#header .menu > li.current_page_item:not(.idn-acao) > a::after,
#header .menu > li.current-menu-parent:not(.idn-acao) > a::after,
#header .menu > li.current-menu-ancestor:not(.idn-acao) > a::after,
#header .menu > li.current-product-ancestor:not(.idn-acao) > a::after{
	transform:scaleX(1);
	background:var(--idn-olive-dark);
}

/* 51.4 Separador antes de Minha conta ------------------------ */
#header .menu > li.idn-conta-item{position:relative}
#header .menu > li.idn-conta-item::before{
	content:"";
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	width:1px;
	height:20px;
	background:var(--idn-line);
}

/* 51.5 Conta e sacola ---------------------------------------- */
#header .menu > li.idn-acao > a{transition:color .2s ease}
#header .menu > li.idn-acao > a:hover,
#header .menu > li.idn-acao > a:focus-visible{color:var(--idn-olive-dark)}
#header .menu > li.idn-acao > a:hover .idn-acao-valor{color:var(--idn-terra)}
#header .menu > li.idn-acao > a:focus-visible{
	outline:2px solid var(--idn-olive);
	outline-offset:4px;
	border-radius:var(--idn-r-pill);
}
#header .idn-icone-caixa{transition:transform .2s ease}
#header .menu > li.idn-acao > a:hover .idn-icone-caixa{transform:translateY(-1px)}
/* o anel branco separa o contador do desenho da sacola */
#header .idn-bag-count{box-shadow:0 0 0 2px #fff}
#header .idn-acao-valor{transition:color .2s ease}

/* 51.6 Botao de busca ---------------------------------------- */
#header .ct-header-search{
	border-radius:var(--idn-r-pill);
	transition:background-color .2s ease,color .2s ease;
}
#header .ct-header-search:hover,
#header .ct-header-search:focus-visible{
	background-color:var(--idn-olive-pale);
	color:var(--idn-olive-dark);
}

@media (prefers-reduced-motion:reduce){
	#header .menu > li.menu-item > a::after{transition:none}
	#header .menu > li.idn-acao > a:hover .idn-icone-caixa{transform:none}
}


/* ============================================================
   52. SUBMENU (DROPDOWN)
   ============================================================ */

/* O padrao do Blocksy vinha com fundo cinza-escuro (#4A5255) e texto em
   cinza-escuro por cima — ilegivel — alem de canto de 2px, que nao existe
   em lugar nenhum do site. Aqui o dropdown passa a ser um cartao branco
   com o mesmo raio, fio e sombra dos outros cartoes. */
#header .menu .sub-menu{
	min-width:218px;
	padding:8px;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	box-shadow:0 16px 34px rgba(51,57,61,.12);
	overflow:hidden;
}
#header .menu .sub-menu li{margin:0}
#header .menu .sub-menu > li > a{
	display:block;
	padding:10px 14px;
	border-radius:10px;
	font-size:13px;
	font-weight:600;
	letter-spacing:.01em;
	text-transform:none;
	line-height:1.35;
	color:var(--idn-ink-soft);
	text-decoration:none;
	transition:background-color .18s ease,color .18s ease;
}
#header .menu .sub-menu > li > a::after{content:none}
#header .menu .sub-menu > li > a:hover,
#header .menu .sub-menu > li > a:focus-visible{
	background:var(--idn-olive-pale);
	color:var(--idn-olive-dark);
}
#header .menu .sub-menu > li.current-menu-item > a,
#header .menu .sub-menu > li.current_page_item > a{
	color:var(--idn-olive-dark);
	background:var(--idn-sage-soft);
}
#header .menu .sub-menu > li > a:focus-visible{
	outline:2px solid var(--idn-olive);
	outline-offset:-2px;
}

/* 52.1 Seta do item com filhos ------------------------------- */
#header .menu > li.menu-item-has-children > a .ct-toggle-dropdown-desktop,
#header .menu > li.menu-item-has-children > .ct-toggle-dropdown-desktop{
	margin-left:5px;
	color:currentColor;
	opacity:.7;
	transition:transform .22s ease,opacity .2s ease;
}
#header .menu > li.menu-item-has-children:hover > a .ct-toggle-dropdown-desktop,
#header .menu > li.menu-item-has-children:hover > .ct-toggle-dropdown-desktop{
	opacity:1;
	transform:rotate(180deg);
}

/* 52.2 Submenu no painel do celular -------------------------- */
#offcanvas .sub-menu{
	margin:0;
	padding:0 0 6px 14px;
	background:none;
	border:0;
	border-left:2px solid var(--idn-line);
	border-radius:0;
	box-shadow:none;
}
#offcanvas .sub-menu > li > a{
	padding:11px 0;
	font-size:15.5px;
	font-weight:500;
	color:var(--idn-ink-soft);
}
#offcanvas .sub-menu > li.current-menu-item > a{color:var(--idn-olive-dark);font-weight:700}

/* 52.3 Contador da sacola no painel -------------------------- */
/* .idn-bag-count e absoluto com top:-7px/right:-9px, mas a .idn-icone-caixa
   do painel nao tinha referencia de posicionamento: o contador escapava
   para o canto superior do painel inteiro. */
.idn-icone-caixa{position:relative}


/* ============================================================
   53. ENVIO — endereco e opcoes de frete
   ============================================================ */

/* 53.1 Endereco de entrega vazando --------------------------- */
/* .woocommerce-cart .cart_totals table td carrega white-space:nowrap —
   regra minha, para o preco nao quebrar no meio. So que a mesma celula
   recebe o endereco de destino inteiro: ele saia 460px para fora do
   cartao de totais. A excecao vale so para o destino. */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-destination strong{
	white-space:normal;
	overflow-wrap:anywhere;
}
.woocommerce-shipping-destination{
	margin:14px 0 0;
	font-size:13.5px;
	line-height:1.6;
	color:var(--idn-ink-soft);
}
.woocommerce-shipping-destination strong{color:var(--idn-ink);font-weight:600}

/* 53.2 Opcoes de frete --------------------------------------- */
/* Cada opcao vira uma faixa clicavel com marcador proprio. O radio do
   sistema continua no DOM e acessivel ao teclado, apenas invisivel —
   por isso 1px/opacity em vez de display:none. */
ul#shipping_method{
	display:flex;
	flex-direction:column;
	gap:8px;
	margin:0;
	padding:0;
	list-style:none;
}
ul#shipping_method li{
	position:relative;
	margin:0;
	padding:0;
	list-style:none;
}
ul#shipping_method li::before{content:none}
ul#shipping_method input[type="radio"]{
	position:absolute;
	width:1px;
	height:1px;
	opacity:0;
	margin:0;
	pointer-events:none;
}
ul#shipping_method label{
	display:flex;
	align-items:flex-start;
	gap:11px;
	margin:0;
	padding:12px 14px;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	font-size:14px;
	line-height:1.45;
	font-weight:500;
	color:var(--idn-ink-soft);
	white-space:normal;
	cursor:pointer;
	transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
ul#shipping_method label::before{
	content:"";
	flex:0 0 auto;
	width:18px;
	height:18px;
	margin-top:1px;
	border:1.5px solid rgba(95,95,45,.45);
	border-radius:50%;
	background:#fff;
	transition:border-color .18s ease,background .18s ease;
}
ul#shipping_method label:hover{
	border-color:rgba(95,95,45,.45);
	background:var(--idn-paper);
}
ul#shipping_method input[type="radio"]:checked + label{
	border-color:var(--idn-olive);
	background:var(--idn-olive-pale);
	color:var(--idn-ink);
	font-weight:600;
}
ul#shipping_method input[type="radio"]:checked + label::before{
	border-color:var(--idn-olive-dark);
	background:radial-gradient(circle,var(--idn-olive-dark) 0 42%,#fff 47% 100%);
}
ul#shipping_method input[type="radio"]:focus-visible + label{
	outline:2px solid var(--idn-olive);
	outline-offset:2px;
}
.woocommerce-checkout ul#shipping_method label{font-size:13.5px;padding:11px 13px}
@media (prefers-reduced-motion:reduce){
	ul#shipping_method label,
	ul#shipping_method label::before{transition:none}
}


/* ============================================================
   54. PIX — bloco de pagamento
   ============================================================ */

.idn-pix{
	max-width:100%;
	margin:0 auto 42px;
	padding:30px 32px 26px;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
	box-shadow:0 16px 34px rgba(51,57,61,.08);
	text-align:center;
}
.idn-pix-selo{
	display:inline-block;
	margin:0 0 14px;
	padding:6px 14px;
	background:var(--idn-terra-pale);
	border-radius:var(--idn-r-pill);
	font-size:11.5px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--idn-terra);
}
.idn-pix-titulo{
	margin:0 0 8px;
	font-family:var(--theme-headings-font-family);
	font-size:24px;
	font-weight:700;
	line-height:1.25;
	color:var(--idn-ink);
}
.idn-pix-sub{
	margin:0 auto 22px;
	max-width:46ch;
	font-size:15px;
	line-height:1.6;
	color:var(--idn-ink-soft);
}

/* 54.1 Contagem regressiva ----------------------------------- */
.idn-pix-prazo{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:7px;
	margin:0 0 26px;
	font-size:13px;
	color:var(--idn-ink-soft);
}
.idn-pix-relogio{
	font-family:var(--theme-headings-font-family);
	font-size:26px;
	font-weight:700;
	line-height:1;
	color:var(--idn-ink);
	font-variant-numeric:tabular-nums;
}
.idn-pix-barra{
	display:block;
	width:100%;
	max-width:320px;
	height:5px;
	border-radius:999px;
	background:var(--idn-line);
	overflow:hidden;
}
.idn-pix-barra i{
	display:block;
	height:100%;
	width:100%;
	border-radius:999px;
	background:var(--idn-olive);
	transition:width 1s linear;
}
.idn-pix-expirado .idn-pix-relogio{color:var(--idn-terra)}
.idn-pix-expirado .idn-pix-barra i{background:var(--idn-terra)}

/* 54.2 QR e codigo ------------------------------------------- */
.idn-pix-corpo{
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	gap:28px;
	align-items:center;
	padding:24px;
	background:var(--idn-paper);
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	text-align:left;
}
.idn-pix-qr{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:10px;
	margin:0;
}
/* o QR do Mercado Pago vem em 168px; aqui ele ganha tamanho de leitura */
.idn-pix-qr img{
	display:block;
	width:190px;
	height:190px;
	padding:10px;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-sm);
}
.idn-pix-qr figcaption{
	font-size:12.5px;
	line-height:1.4;
	color:var(--idn-ink-soft);
	text-align:center;
	max-width:190px;
}
.idn-pix-rotulo{
	margin:0 0 9px;
	font-size:12.5px;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:var(--idn-olive-dark);
}
/* o codigo tem 162 caracteres: fonte monoespacada, duas linhas e corte */
.idn-pix-caixa{
	padding:11px 13px;
	background:#fff;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-sm);
}
.idn-pix-caixa code{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:12px;
	line-height:1.5;
	color:var(--idn-ink-soft);
	word-break:break-all;
}
.idn-pix-copiar{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
	margin:12px 0 0;
	padding:14px 20px;
	background:var(--idn-olive-dark);
	border:0;
	border-radius:var(--idn-r-pill);
	font-family:var(--theme-font-family);
	font-size:14.5px;
	font-weight:700;
	letter-spacing:.02em;
	color:#fff;
	cursor:pointer;
	transition:background-color .2s ease,transform .15s ease;
}
.idn-pix-copiar:hover{background:var(--idn-terra)}
.idn-pix-copiar:active{transform:translateY(1px)}
.idn-pix-copiar:focus-visible{outline:2px solid var(--idn-olive);outline-offset:3px}
.idn-pix-copiado .idn-pix-copiar{background:var(--idn-olive)}
.idn-pix-aviso{
	margin:9px 0 0;
	min-height:18px;
	font-size:13px;
	font-weight:600;
	color:var(--idn-olive-dark);
}

/* 54.3 Passos ------------------------------------------------ */
.idn-pix-passos{
	counter-reset:idnp;
	display:flex;
	gap:20px;
	margin:24px 0 0;
	padding:20px 0 0;
	border-top:1px solid var(--idn-line);
	list-style:none;
	text-align:left;
}
.idn-pix-passos li{
	counter-increment:idnp;
	flex:1 1 0;
	margin:0;
	padding:0;
	list-style:none;
	font-size:13.5px;
	line-height:1.5;
	color:var(--idn-ink-soft);
}
.idn-pix-passos li::before{
	content:counter(idnp);
	display:flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	margin:0 0 7px;
	background:var(--idn-sage-soft);
	border-radius:50%;
	font-size:11.5px;
	font-weight:700;
	color:var(--idn-olive-dark);
}

/* 54.4 Responsivo -------------------------------------------- */
@media (max-width:767px){
	.idn-pix{padding:24px 20px 20px;margin-bottom:30px}
	.idn-pix-titulo{font-size:21px}
	.idn-pix-corpo{
		grid-template-columns:minmax(0,1fr);
		gap:22px;
		padding:18px;
		justify-items:center;
	}
	.idn-pix-lado{width:100%}
	.idn-pix-passos{flex-direction:column;gap:14px}
	.idn-pix-passos li::before{margin-bottom:5px}
}
@media (prefers-reduced-motion:reduce){
	.idn-pix-barra i,
	.idn-pix-copiar{transition:none}
}


/* 54.1 Relogio so aparece quando ha prazo real */
.idn-pix-prazo[hidden]{display:none !important}

/* 54.2 Legenda do QR em uma linha so */
.idn-pix-qr figcaption{font-size:12px;text-wrap:balance}

/* 55. Enquanto a Iduna nao tiver os tres kits cadastrados, a grade
   de tres colunas fica torta com um card so. Centralizar resolve sem
   precisar mexer no layout quando os outros dois entrarem. */
.idn-band-sale ul.products:has(> li:nth-child(1):last-child),
.idn-band-sale ul.products:has(> li:nth-child(2):last-child){
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.idn-band-sale ul.products:has(> li:nth-child(1):last-child) > li,
.idn-band-sale ul.products:has(> li:nth-child(2):last-child) > li{width:410px;max-width:100%}

/* 56. Enquanto so existirem os kits, a secao Destaques fica sem
   produtos (ela exclui a categoria Kits para nao repetir a vitrine
   do topo). Secao vazia some sozinha e volta quando houver avulsos. */
.idn-sec:not(:has(li.product)){display:none}

/* 57. SIMULACAO DE FRETE (pagina do produto) --------------------
   O plugin entrega cada opcao como uma linha corrida de texto; o JS
   em functions.php separa transportadora, prazo e valor, e aqui a
   linha vira uma comparacao: nome a esquerda, preco a direita. */
.calculatorRow > .row > .col-75 > p{
	margin:0 0 9px;
	font-size:12px;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--idn-olive-dark);
}
.resultado-frete table{width:100%;border-collapse:collapse;margin:4px 0 0}
.resultado-frete thead{display:none}
.resultado-frete tr.idn-frete-linha > td{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:11px 0;
	border:0;
	border-top:1px solid var(--idn-line);
}
.resultado-frete tbody tr:first-child > td{border-top:0}
.idn-frete-servico{display:flex;flex-direction:column;gap:3px;min-width:0}
.idn-frete-nome{font-size:14.5px;font-weight:600;line-height:1.25;color:var(--idn-ink)}
.idn-frete-prazo{font-size:12.5px;line-height:1.2;color:var(--idn-ink-soft)}
.idn-frete-valor{
	flex:0 0 auto;
	font-size:17px;
	font-weight:700;
	line-height:1.1;
	color:var(--idn-olive-dark);
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}
/* a opcao mais barata e a informacao que o cliente procura primeiro */
.resultado-frete tr.idn-frete-melhor .idn-frete-valor{color:var(--idn-terra)}
.resultado-frete tr.idn-frete-melhor .idn-frete-nome::after{
	content:"mais barato";
	display:inline-block;
	margin-left:8px;
	padding:2px 7px 3px;
	border-radius:var(--idn-r-pill);
	background:var(--idn-terra-pale);
	color:var(--idn-terra);
	font-size:10px;
	font-weight:700;
	letter-spacing:.07em;
	text-transform:uppercase;
	vertical-align:1px;
	white-space:nowrap;
}
.idn-frete-nota{
	display:block;
	margin-top:11px;
	padding-top:11px;
	border-top:1px solid var(--idn-line);
	font-size:12px;
	line-height:1.5;
	color:var(--idn-ink-soft);
}
@media (max-width:420px){
	.resultado-frete tr.idn-frete-linha > td{gap:10px}
	.idn-frete-valor{font-size:16px}
}

/* 58. AVISO DE ERRO NO CHECKOUT ---------------------------------
   O recado vinha com titulo e explicacao na mesma linha, colados,
   sem nada indicando que ali houve um problema. Vira icone + titulo
   em cima + explicacao embaixo. A grade mantem o icone na primeira
   linha mesmo quando o WooCommerce empilha varios avisos. */
.woocommerce-checkout .woocommerce-error{
	display:grid;
	grid-template-columns:20px 1fr;
	column-gap:13px;
	align-items:start;
	padding:16px 18px 17px;
	line-height:1.5;
}
.woocommerce-checkout .woocommerce-error::before{
	content:"";
	display:block;
	position:static;
	grid-column:1;
	grid-row:1;
	width:20px;
	height:20px;
	margin:1px 0 0;
	background-color:var(--idn-terra);
	-webkit-mask:center/20px no-repeat;
	mask:center/20px no-repeat;
	-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.6 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.6a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9.5v4'/%3E%3Cpath d='M12 17.2h.01'/%3E%3C/svg%3E");
	mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.6 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.6a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9.5v4'/%3E%3Cpath d='M12 17.2h.01'/%3E%3C/svg%3E");
}
/* o WooCommerce faz esse li virar flex (.woocommerce ul.woocommerce-error li),
   o que colava titulo e explicacao lado a lado; o body no seletor so existe
   para passar na frente dessa regra sem recorrer a !important */
body.woocommerce-checkout .woocommerce ul.woocommerce-error li,
.woocommerce-checkout .woocommerce-error li{grid-column:2;display:block}
.woocommerce-checkout .woocommerce-error li + li{margin-top:9px}
.woocommerce-checkout .woocommerce-error li > b,
.woocommerce-checkout .woocommerce-error li > strong{
	display:block;
	margin-bottom:3px;
	font-size:15px;
	font-weight:700;
	line-height:1.35;
	color:#6E3219;
	-webkit-text-fill-color:#6E3219;
}
.woocommerce-checkout .woocommerce-error li > a{
	color:#6E3219;
	-webkit-text-fill-color:#6E3219;
	text-underline-offset:3px;
}

/* 59. ABAS DA PAGINA DE PRODUTO ---------------------------------
   A lista de abas ficava colada na borda esquerda da tela enquanto
   o conteudo delas seguia a coluna central do site: pareciam de
   paginas diferentes. Agora as duas usam a mesma coluna. */
/* o Blocksy centraliza a fila de abas; aqui ela volta a comecar
   onde o texto comeca, senao abas e conteudo ficam desencontrados */
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-tabs ul.tabs{margin-left:auto;margin-right:auto;margin-bottom:0;gap:34px;justify-content:flex-start}
.woocommerce-tabs .woocommerce-Tabs-panel{padding-top:28px}
.woocommerce-tabs .woocommerce-Tabs-panel > *:first-child{margin-top:0}
.woocommerce-Tabs-panel p{margin-bottom:14px}
/* subtitulo dentro da descricao, na escala dos rotulos da marca */
.woocommerce-Tabs-panel h3{
	font-size:13px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--idn-olive-dark);
	margin-top:34px;
	margin-bottom:10px;
	line-height:1.3;
}
/* Informacao adicional: ficha em linhas, nao tabela de banco de dados */
/* sem width nem max-width: a tabela herda a largura de conteudo do
   tema, igual aos paragrafos da aba Descricao. Qualquer um dos dois
   quebra esse limite e joga a ficha para fora da margem. */
.woocommerce-Tabs-panel table.shop_attributes{border:0;border-collapse:collapse}
.woocommerce-Tabs-panel table.shop_attributes tr{border-top:1px solid var(--idn-line)}
.woocommerce-Tabs-panel table.shop_attributes tr:first-child{border-top:0}
.woocommerce-Tabs-panel table.shop_attributes th,
.woocommerce-Tabs-panel table.shop_attributes td{
	border:0;
	padding:12px 0;
	font-size:14.5px;
	line-height:1.5;
	background:transparent;
	font-style:normal;
}
.woocommerce-Tabs-panel table.shop_attributes th{width:230px;font-weight:700;color:var(--idn-ink);text-align:left}
.woocommerce-Tabs-panel table.shop_attributes td{color:var(--idn-ink-soft)}
.woocommerce-Tabs-panel table.shop_attributes td p{margin:0}
/* Avaliacoes: o aviso de lista vazia era texto solto no meio do nada */
#reviews .woocommerce-noreviews{
	margin:0 0 22px;
	padding:15px 18px;
	border:1px dashed var(--idn-line);
	border-radius:var(--idn-r-md);
	background:var(--idn-paper);
	font-size:14.5px;
}
/* Relacionados: secao propria, nao rabo da aba de descricao */
.related.products{margin-top:62px;padding-top:38px;border-top:1px solid var(--idn-line)}
.related.products > h2{margin:0 0 22px;font-size:22px}
@media (max-width:767px){
	.woocommerce-tabs ul.tabs{
		gap:22px;
		flex-wrap:nowrap;
		overflow-x:auto;
		scrollbar-width:none;
	}
	.woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none}
	.woocommerce-tabs ul.tabs li{flex:0 0 auto}
	.woocommerce-tabs ul.tabs li a{white-space:nowrap;font-size:11.5px;letter-spacing:.08em}
	.woocommerce-tabs .woocommerce-Tabs-panel{padding-top:22px;font-size:15px}
	.woocommerce-Tabs-panel table.shop_attributes tr{display:block}
	.woocommerce-Tabs-panel table.shop_attributes th{display:block;width:auto;padding:12px 0 0}
	.woocommerce-Tabs-panel table.shop_attributes td{display:block;padding:2px 0 12px}
	.related.products{margin-top:44px;padding-top:28px}
}

/* ---------------------------------------------------------------
   59.1 — ABAS DO PRODUTO: linha rolavel no mobile
   O Blocksy aplica flex-direction:column abaixo de 768px, o que
   empilha as tres abas numa coluna de ~196px. Aqui a linha volta
   a ser horizontal, com rolagem lateral sem barra visivel e com
   o filete inferior de ponta a ponta.
--------------------------------------------------------------- */
@media (max-width:767px){
	.woocommerce div.product div.woocommerce-tabs ul.tabs,
	.woocommerce div.product .woocommerce-tabs ul.tabs,
	.woocommerce-tabs ul.tabs{
		flex-direction:row;
		flex-wrap:nowrap;
		width:100%;
		max-width:none;
		box-sizing:border-box;
		align-items:stretch;
		gap:0;
		margin-left:0;
		margin-right:0;
		padding-left:30px;
		padding-right:30px;
		overflow-x:auto;
		overflow-y:hidden;
		-webkit-overflow-scrolling:touch;
		overscroll-behavior-x:contain;
	}
	.woocommerce div.product div.woocommerce-tabs ul.tabs li,
	.woocommerce div.product .woocommerce-tabs ul.tabs li,
	.woocommerce-tabs ul.tabs li{
		flex:0 0 auto;
		width:auto;
		max-width:none;
		border-top:0;
		border-bottom:0;
	}
	.woocommerce div.product div.woocommerce-tabs ul.tabs li + li,
	.woocommerce div.product .woocommerce-tabs ul.tabs li + li,
	.woocommerce-tabs ul.tabs li + li{margin-left:24px}
	.woocommerce div.product div.woocommerce-tabs ul.tabs li a,
	.woocommerce div.product .woocommerce-tabs ul.tabs li a,
	.woocommerce-tabs ul.tabs li a{
		padding-left:0;
		padding-right:0;
		padding-top:12px;
		padding-bottom:13px;
	}
	.woocommerce-tabs .woocommerce-Tabs-panel{padding-top:24px}
}

/* ---------------------------------------------------------------
   59.2 — VIDEO DENTRO DA DESCRICAO DO PRODUTO
   Vale para URL colada sozinha (oEmbed do YouTube/Vimeo), bloco
   Video/Incorporar e iframe manual.
--------------------------------------------------------------- */
.woocommerce-Tabs-panel .wp-block-embed,
.woocommerce-Tabs-panel figure.wp-block-video,
.woocommerce-Tabs-panel .wp-video{
	margin:28px 0;
	max-width:100%;
}
.woocommerce-Tabs-panel .wp-block-embed__wrapper{position:relative}
.woocommerce-Tabs-panel .wp-block-embed iframe,
.woocommerce-Tabs-panel > iframe,
.woocommerce-Tabs-panel p > iframe{
	width:100%;
	aspect-ratio:16/9;
	height:auto;
	display:block;
	border:0;
	border-radius:var(--idn-r-md);
	background:var(--idn-olive-pale);
}
.woocommerce-Tabs-panel figure.wp-block-video video,
.woocommerce-Tabs-panel .wp-video video{
	width:100%;
	height:auto;
	display:block;
	border-radius:var(--idn-r-md);
}
.woocommerce-Tabs-panel figure figcaption{
	font-size:13px;
	color:var(--idn-ink-soft);
	margin-top:10px;
	text-align:left;
}
@media (max-width:767px){
	.woocommerce-Tabs-panel .wp-block-embed,
	.woocommerce-Tabs-panel figure.wp-block-video,
	.woocommerce-Tabs-panel .wp-video{margin:22px 0}
}

/* ---------------------------------------------------------------
   60 — AVALIACOES DO PRODUTO
--------------------------------------------------------------- */
/* sem formulario (visitante), o grid de 2 colunas do Blocksy deixa
   metade da largura vazia: volta para uma coluna de leitura */
.woocommerce #reviews:not(:has(#review_form_wrapper)){display:block}
.woocommerce #reviews #comments{max-width:780px}
.woocommerce #reviews > p.woocommerce-verification-required{
	max-width:780px;
	margin:26px 0 0;
	padding:14px 18px;
	background:var(--idn-olive-pale);
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	font-size:13.5px;
	line-height:1.5;
	color:var(--idn-ink-soft);
}
.woocommerce #reviews .woocommerce-Reviews-title{
	font-family:inherit;
	font-size:13px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--idn-olive-dark);
	margin:0 0 4px;
}
.woocommerce #reviews ol.commentlist{margin:0;padding:0;list-style:none}
.woocommerce #reviews ol.commentlist li.review{padding:24px 0;margin:0}
.woocommerce #reviews ol.commentlist li.review:last-child{padding-bottom:4px}
.woocommerce #reviews ol.commentlist li.review .comment_container{
	display:block;
	position:relative;
	padding-left:62px;
	border:0;
	background:transparent;
}
.woocommerce #reviews ol.commentlist li.review img.avatar{
	position:absolute;
	left:0;
	top:0;
	width:46px;
	height:46px;
	padding:0;
	border:1px solid var(--idn-line);
	border-radius:50%;
	background:var(--idn-paper);
}
.woocommerce #reviews .comment-text{margin:0;padding:0;border:0}
.woocommerce #reviews .star-rating{
	float:none;
	margin:2px 0 7px;
	color:var(--idn-line);
}
.woocommerce #reviews .star-rating span,
.woocommerce #reviews .star-rating span::before{color:var(--idn-terra)}
.woocommerce #reviews p.meta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:9px;
	margin:0 0 9px;
}
.woocommerce #reviews .woocommerce-review__author{
	font-size:15px;
	font-weight:700;
	color:var(--idn-ink);
}
.woocommerce #reviews .woocommerce-review__dash{display:none}
.woocommerce #reviews .woocommerce-review__published-date{
	font-size:11px;
	letter-spacing:.06em;
	color:var(--idn-ink-soft);
	opacity:.75;
}
.woocommerce #reviews .woocommerce-review__verified{
	font-style:normal;
	font-size:10px;
	font-weight:700;
	letter-spacing:.08em;
	line-height:1;
	color:var(--idn-olive-dark);
	background:var(--idn-sage-soft);
	padding:5px 9px;
	border-radius:var(--idn-r-pill);
}
.woocommerce #reviews .description p{margin-bottom:0;font-size:15px;line-height:1.65}
.woocommerce #reviews .description p + p{margin-top:10px}
@media (max-width:767px){
	.woocommerce #reviews ol.commentlist li.review .comment_container{padding-left:50px}
	.woocommerce #reviews ol.commentlist li.review img.avatar{width:38px;height:38px}
	.woocommerce #reviews ol.commentlist li.review{padding:20px 0}
	.woocommerce #reviews .description p{font-size:14.5px}
}

/* ---------------------------------------------------------------
   61 — REDES SOCIAIS NO RODAPE
--------------------------------------------------------------- */
.idn-footer .idn-social{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 14px}
.idn-footer .idn-social a{display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:var(--idn-r-pill);font-size:12.5px;letter-spacing:.02em;text-decoration:none;color:inherit;opacity:.85;transition:opacity .18s ease,border-color .18s ease,background-color .18s ease}
.idn-footer .idn-social a:hover,
.idn-footer .idn-social a:focus-visible{opacity:1;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.07)}
.idn-footer .idn-social svg{flex:0 0 auto}
.idn-footer .idn-fine a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28)}
.idn-footer .idn-fine a:hover{border-bottom-color:currentColor}
@media (max-width:767px){.idn-footer .idn-social{gap:8px;margin:14px 0 12px}}

/* ---------------------------------------------------------------
   62 — OPCOES DE ENTREGA: linha estavel entre os estados
   Grade de tres colunas (radio | nome+prazo | valor). O valor nunca
   quebra e o texto tem coluna propria, entao marcar uma opcao nao
   muda a altura nem o alinhamento da caixa.
--------------------------------------------------------------- */
ul#shipping_method li label{
	display:grid;
	grid-template-columns:18px minmax(0,1fr) auto;
	align-items:center;
	column-gap:12px;
	text-align:left;
	min-height:54px;
	padding:9px 14px;
}
ul#shipping_method li label::before{
	grid-column:1;
	align-self:center;
	margin:0;
}
ul#shipping_method li label .idn-env-texto{
	grid-column:2;
	display:flex;
	flex-direction:column;
	gap:3px;
	min-width:0;
}
ul#shipping_method li label .idn-env-nome{
	font-size:14.5px;
	line-height:1.25;
	color:var(--idn-ink);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
ul#shipping_method li label .idn-env-prazo{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
ul#shipping_method li label .idn-env-prazo{
	font-size:11.5px;
	line-height:1.2;
	letter-spacing:.03em;
	color:var(--idn-ink-soft);
	opacity:.82;
	font-weight:500;
}
ul#shipping_method li label .idn-env-valor{
	grid-column:3;
	justify-self:end;
	white-space:nowrap;
	font-variant-numeric:tabular-nums;
	font-size:15px;
	color:var(--idn-ink);
}
ul#shipping_method li label .idn-env-gratis{
	color:var(--idn-olive-dark);
	font-weight:700;
	text-transform:uppercase;
	font-size:12px;
	letter-spacing:.08em;
}
/* selecionado: so o que nao altera a largura do texto */
ul#shipping_method input[type="radio"]:checked + label{font-weight:500}
ul#shipping_method input[type="radio"]:checked + label .idn-env-nome{font-weight:700}
ul#shipping_method input[type="radio"]:checked + label .idn-env-valor{font-weight:700;color:var(--idn-olive-dark)}
@media (max-width:767px){
	ul#shipping_method li label{column-gap:10px;padding:9px 12px;min-height:50px}
	ul#shipping_method li label .idn-env-nome{font-size:14px}
	ul#shipping_method li label .idn-env-valor{font-size:14.5px}
}

/* ---------------------------------------------------------------
   63 — BANNER COM IMAGEM DE FUNDO
   Substitui o visual do slider antigo. Desktop em 16:9 com teto de
   altura para nao virar um paredao em tela larga; celular em 4:5.
   O veu de leitura muda de direcao junto com o formato.
--------------------------------------------------------------- */
.idn-hero{
	position:relative;
	width:100%;
	margin:0;
	padding:0;
	aspect-ratio:16/9;
	max-height:min(76vh,720px);
	min-height:430px;
	overflow:hidden;
	background:var(--idn-sage-soft);
	isolation:isolate;
}
.idn-slides{position:absolute;inset:0;margin:0;padding:0}
.idn-slide{
	position:absolute;
	inset:0;
	display:block;
	opacity:0;
	visibility:hidden;
	transition:opacity .55s ease;
}
.idn-slide.on{opacity:1;visibility:visible}

/* a foto */
.idn-slide-img{position:absolute;inset:0;display:block;z-index:0}
.idn-slide-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* sem veu: o contraste vem da propria foto */

/* o texto */
.idn-slide-conteudo{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.idn-hero .idn-in{width:100%;max-width:1290px;margin-inline:auto;padding-inline:clamp(20px,5vw,60px)}
.idn-slide-texto{max-width:min(48%,540px)}
.idn-slide-texto .idn-eyebrow{display:block;margin-bottom:14px}
.idn-slide-texto h2{margin:0 0 16px;line-height:1.08}
.idn-slide-texto p{margin:0 0 26px;max-width:46ch}
.idn-slide-texto .idn-cta{margin:0}

.idn-slide-texto,
.idn-slide-texto h2,
.idn-slide-texto .idn-eyebrow{color:#fff}
.idn-slide-texto p{color:rgba(255,255,255,.94)}
.idn-slide .idn-btn-ghost{border-color:rgba(255,255,255,.65);color:#fff;background:transparent}
.idn-slide .idn-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.14)}

/* slide ainda sem foto: o fundo e claro, entao o texto volta ao escuro */
.idn-sem-foto .idn-slide-texto,
.idn-sem-foto .idn-slide-texto p{color:var(--idn-ink)}
.idn-sem-foto .idn-slide-texto h2,
.idn-sem-foto .idn-slide-texto .idn-eyebrow{color:var(--idn-olive-dark)}
.idn-sem-foto .idn-btn-ghost{border-color:var(--idn-line);color:var(--idn-ink);background:var(--idn-paper)}
.idn-sem-foto .idn-btn-ghost:hover{border-color:var(--idn-olive);background:#fff}

/* setas e pontos sobre a foto */
.idn-ui{position:absolute;left:0;right:0;bottom:clamp(18px,3vw,30px);z-index:3;padding:0}
.idn-ui .idn-in{display:flex;align-items:center;justify-content:space-between;gap:16px}
.idn-dots{display:flex;align-items:center;gap:9px;margin:0}
.idn-dots button{width:26px;height:4px;padding:0;border:0;border-radius:var(--idn-r-pill);background:rgba(51,57,61,.28);cursor:pointer;transition:background .2s ease,width .2s ease}
.idn-dots button[aria-selected="true"]{width:40px;background:var(--idn-olive-dark)}
.idn-setas{display:flex;gap:9px}
.idn-seta{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(51,57,61,.18);border-radius:50%;background:rgba(255,255,255,.82);color:var(--idn-ink);cursor:pointer;transition:background .2s ease,border-color .2s ease}
.idn-seta:hover{background:#fff;border-color:rgba(51,57,61,.4)}
.idn-seta svg{display:block}
/* sobre foto os controles sao claros; no slide sem foto voltam ao escuro */
.idn-hero:not(:has(.idn-slide.on.idn-sem-foto)) .idn-dots button{background:rgba(255,255,255,.45)}
.idn-hero:not(:has(.idn-slide.on.idn-sem-foto)) .idn-dots button[aria-selected="true"]{background:#fff}
.idn-hero:not(:has(.idn-slide.on.idn-sem-foto)) .idn-seta{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5);color:#fff}
.idn-hero:not(:has(.idn-slide.on.idn-sem-foto)) .idn-seta:hover{background:rgba(255,255,255,.32);border-color:#fff}

@media (prefers-reduced-motion:reduce){.idn-slide{transition:none}}

@media (max-width:767px){
	.idn-hero{aspect-ratio:4/5;max-height:none;min-height:0}
	.idn-slide-conteudo{align-items:flex-end;padding-bottom:clamp(64px,16vw,96px)}
	.idn-slide-texto{max-width:none}
	.idn-slide-texto p{max-width:none}
	.idn-slide.idn-tom-escuro::after{background:linear-gradient(180deg,rgba(251,251,249,0) 20%,rgba(251,251,249,.55) 46%,rgba(251,251,249,.93) 72%)}
	.idn-slide.idn-tom-claro::after{background:linear-gradient(180deg,rgba(28,31,26,0) 18%,rgba(28,31,26,.45) 46%,rgba(28,31,26,.82) 74%)}
	.idn-ui .idn-in{justify-content:center}
	.idn-setas{display:none}
	/* o texto precisa caber dentro do 4:5 sem encostar no cabecalho */
	.idn-slide-texto .idn-eyebrow{margin-bottom:9px}
	.idn-slide-texto h2{font-size:clamp(25px,7vw,31px);margin-bottom:12px}
	.idn-slide-texto p{font-size:14.5px;line-height:1.5;margin-bottom:20px}
	.idn-slide-texto .idn-cta{display:flex;flex-wrap:wrap;gap:9px}
	.idn-slide-texto .idn-btn{padding:12px 20px;font-size:13px}
}

/* ---------------------------------------------------------------
   63.1 — CORRECOES DO BANNER
   A faixa dos controles ocupa a largura toda e cobria os botoes do
   slide, engolindo o clique. Agora ela so recebe clique nos proprios
   controles; o resto passa direto para o conteudo.
--------------------------------------------------------------- */
.idn-hero .idn-ui{pointer-events:none;padding:0;min-height:0}
.idn-hero .idn-ui .idn-in{padding-top:0;padding-bottom:0;min-height:0}
.idn-hero .idn-ui .idn-dots,
.idn-hero .idn-ui .idn-setas{pointer-events:auto}
.idn-hero .idn-slide-conteudo{pointer-events:none}
.idn-hero .idn-slide-texto{pointer-events:auto}

/* cor do texto escolhida slide a slide, na tela do painel */
.idn-slide.idn-cor-propria .idn-slide-texto h2,
.idn-slide.idn-cor-propria .idn-slide-texto .idn-eyebrow{color:inherit}
.idn-slide.idn-cor-propria .idn-slide-texto p{color:inherit;opacity:.94}

/* ---------------------------------------------------------------
   63.2 — BANNER NO CELULAR: leitura do texto
   Degrade escuro subindo da base (so no celular, so quando ha foto),
   texto menor e ancorado mais embaixo. O computador continua sem
   nenhuma camada sobre a imagem.
--------------------------------------------------------------- */
@media (max-width:767px){
	.idn-slide:not(.idn-sem-foto)::after{
		content:"";
		position:absolute;
		inset:0;
		z-index:1;
		pointer-events:none;
		background:linear-gradient(180deg,rgba(26,29,24,0) 12%,rgba(26,29,24,.30) 34%,rgba(26,29,24,.62) 55%,rgba(26,29,24,.84) 78%,rgba(26,29,24,.92) 100%);
	}

	/* texto mais baixo, perto da base */
	.idn-slide-conteudo{padding-bottom:42px}

	/* e menor, para caber na faixa escura */
	.idn-slide-texto .idn-eyebrow{font-size:10.5px;letter-spacing:.13em;margin-bottom:7px;opacity:.9}
	.idn-slide-texto h2{font-size:clamp(22px,6vw,26px);line-height:1.14;margin-bottom:9px}
	.idn-slide-texto p{font-size:13.5px;line-height:1.45;margin-bottom:16px}
	.idn-slide-texto .idn-btn{padding:11px 18px;font-size:12.5px}

	/* pontinhos colados na base */
	.idn-hero .idn-ui{bottom:14px}
}

/* ---------------------------------------------------------------
   63.3 — BANNER NO CELULAR: texto colado na base
   O .idn-in do tema traz 56px de respiro vertical, que no celular
   empurrava o texto para longe da faixa escura.
--------------------------------------------------------------- */
@media (max-width:767px){
	.idn-hero .idn-slide-conteudo .idn-in{padding-top:0;padding-bottom:0}
}

/* ---------------------------------------------------------------
   64 — BARRA DE AVISO DO TOPO EM UMA LINHA NO CELULAR
--------------------------------------------------------------- */
@media (max-width:767px){
	.idn-topbar .idn-in{
		font-size:clamp(9.5px,2.7vw,12px);
		letter-spacing:.03em;
		white-space:nowrap;
		padding-left:10px;
		padding-right:10px;
		overflow:hidden;
		text-overflow:ellipsis;
	}
}

/* ---------------------------------------------------------------
   63.4 — HEADLINE DO BANNER NO CELULAR
   O h2 herdava um max-width de ~186px dentro de uma coluna de 335px,
   o que empurrava o titulo para tres linhas. Solto, o equilibrio de
   linhas do navegador resolve em duas.
--------------------------------------------------------------- */
@media (max-width:767px){
	.idn-hero .idn-slide-texto h2,
	.idn-hero .idn-slide-texto p,
	.idn-hero .idn-slide-texto .idn-eyebrow{max-width:none}
}

/* ---------------------------------------------------------------
   65 — PAGINA DE PAGAMENTO PIX
   O Mercado Pago imprime o proprio bloco de QR + copia e cola, que
   repete o nosso. Aqui o bloco deles sai, o nosso sobe para a
   primeira dobra e o resumo do pedido vira uma faixa discreta com o
   valor em destaque. Tudo escopado ao :has(.idn-pix), para nao
   afetar a pagina de obrigado do cartao e do boleto.
--------------------------------------------------------------- */
.woocommerce-order:has(.idn-pix){display:flex;flex-direction:column;gap:0}

/* o que sai: bloco duplicado do Mercado Pago */
.woocommerce-order:has(.idn-pix) .mp-details-title,
.woocommerce-order:has(.idn-pix) .mp-details-pix{display:none !important}

/* ordem nova */
.woocommerce-order:has(.idn-pix) > .woocommerce-notice{order:1}
.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview{order:2}
.woocommerce-order:has(.idn-pix) > .idn-pix{order:3}
.woocommerce-order:has(.idn-pix) > .woocommerce-order-details{order:4}
.woocommerce-order:has(.idn-pix) > .woocommerce-customer-details{order:5}

/* aviso de recebido: uma linha, sem caixa */
.woocommerce-order:has(.idn-pix) > .woocommerce-notice{
	margin:0 0 6px;
	padding:0;
	border:0;
	background:none;
	font-size:13px;
	color:var(--idn-ink-soft);
}
.woocommerce-order:has(.idn-pix) > .woocommerce-notice::before{display:none}

/* resumo do pedido: faixa horizontal, valor em destaque */
.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview{
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:6px 26px;
	margin:0 0 18px;
	padding:0 0 16px;
	border:0;
	border-bottom:1px solid var(--idn-line);
	border-radius:0;
	background:none;
	list-style:none;
}
.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview li{
	display:flex;
	align-items:baseline;
	gap:7px;
	margin:0;
	padding:0;
	border:0;
	font-size:12.5px;
	color:var(--idn-ink-soft);
	text-transform:none;
	letter-spacing:0;
}
.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview li strong{
	font-size:13px;
	font-weight:600;
	color:var(--idn-ink);
}
/* o valor é a informacao que importa aqui */
.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview li.total{
	margin-left:auto;
	font-size:13px;
}
.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview li.total strong{
	font-size:22px;
	font-weight:700;
	color:var(--idn-olive-dark);
	letter-spacing:-.01em;
}
/* e-mail e metodo nao ajudam a pagar */
.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview li.email,
.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview li.method{display:none}

@media (max-width:767px){
	.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview{gap:4px 18px;padding-bottom:14px;margin-bottom:14px}
	.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview li.total{margin-left:auto}
	.woocommerce-order:has(.idn-pix) > .woocommerce-order-overview li.total strong{font-size:20px}
}


/* ---------------------------------------------------------------
   66 — PROPORCAO DO BANNER EM CADA TELA
   O teto fixo de 720px achatava a moldura conforme a tela crescia:
   em 2560px ela virava 3,5:1 e a foto perdia metade da altura. Agora
   cada faixa tem proporcao propria e constante, entao o enquadramento
   e o mesmo de 1280px a 2560px. Tablet ganha faixa so dele.
--------------------------------------------------------------- */

/* computador: moldura panoramica fixa, sem teto em pixel */
@media (min-width:1025px){
	.idn-hero{
		aspect-ratio:21/9;
		/* o teto deixa os controles do carrossel acima da dobra */
		max-height:min(92vh,calc(100vh - 175px));
		min-height:440px;
	}
	.idn-slide-texto{max-width:min(46%,560px)}
}

/* tablet: a moldura acompanha a foto de computador (16:10), entao
   nada e cortado; o texto desce para a base com veu, porque uma
   coluna de 48% aperta demais nessa largura. */
@media (min-width:768px) and (max-width:1024px){
	.idn-hero{aspect-ratio:16/10;max-height:80vh;min-height:420px}
	.idn-hero .idn-slide-conteudo{align-items:flex-end;padding-bottom:clamp(58px,9vw,92px)}
	.idn-hero .idn-slide-texto{max-width:min(80%,620px)}
	.idn-hero .idn-slide-texto h2{font-size:clamp(30px,4.4vw,42px);margin-bottom:14px}
	.idn-hero .idn-slide-texto p{font-size:16px;line-height:1.55;max-width:50ch;margin-bottom:22px}
	.idn-hero .idn-slide-texto .idn-btn{padding:13px 22px;font-size:13.5px}
	.idn-hero .idn-slide:not(.idn-sem-foto)::after{
		content:"";
		position:absolute;
		inset:0;
		z-index:1;
		pointer-events:none;
		background:linear-gradient(180deg,rgba(26,29,24,0) 20%,rgba(26,29,24,.26) 44%,rgba(26,29,24,.58) 70%,rgba(26,29,24,.80) 100%);
	}
	.idn-hero .idn-setas{display:none}
	.idn-hero .idn-ui .idn-in{justify-content:center}
}

/* enquadramento escolhido no painel: define que faixa da foto
   sobrevive ao corte da moldura panoramica. */
.idn-slide.idn-foco-topo .idn-slide-img img{object-position:center 20%}
.idn-slide.idn-foco-centro .idn-slide-img img{object-position:center 50%}
.idn-slide.idn-foco-base .idn-slide-img img{object-position:center 80%}


/* ---------------------------------------------------------------
   67 — FAIXA DE BENEFICIOS NA DOBRA, VEU ATRAS DO TEXTO E TABLET
   Em tela muito larga a moldura cede altura para a faixa de
   beneficios entrar junto. O veu e a cor do botao vem do painel,
   slide a slide. No tablet o texto sobe para o meio e encolhe.
--------------------------------------------------------------- */

@media (min-width:2200px){
	.idn-hero{max-height:calc(100vh - 345px)}
}

/* veu: faixa desfocada que nasce na borda esquerda e se dissolve
   antes de chegar ao produto. A mascara faz o desfoque e a cor
   sumirem no mesmo degrade, sem borda visivel. */
.idn-slide.idn-com-veu::before{
	content:"";
	position:absolute;
	inset:0 auto 0 0;
	width:var(--veu-ate,58%);
	z-index:1;
	pointer-events:none;
	background:var(--veu,transparent);
	-webkit-backdrop-filter:blur(var(--veu-blur,0px));
	backdrop-filter:blur(var(--veu-blur,0px));
	-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,0) 100%);
	mask-image:linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,0) 100%);
}

/* no celular o texto fica na base, entao o veu sobe do rodape */
@media (max-width:767px){
	.idn-slide.idn-com-veu::before{
		inset:auto 0 0 0;
		width:auto;
		height:var(--veu-ate,58%);
		-webkit-mask-image:linear-gradient(0deg,#000 0%,#000 40%,rgba(0,0,0,0) 100%);
		mask-image:linear-gradient(0deg,#000 0%,#000 40%,rgba(0,0,0,0) 100%);
	}
}


/* tablet: texto centrado na altura, menor, e o veu vem da esquerda */
@media (min-width:768px) and (max-width:1024px){
	.idn-hero .idn-slide-conteudo{align-items:center;padding-bottom:0}
	.idn-hero .idn-slide-texto{max-width:min(62%,470px)}
	.idn-hero .idn-slide-texto h2{font-size:clamp(25px,3.3vw,31px);margin-bottom:12px}
	.idn-hero .idn-slide-texto p{font-size:14.5px;line-height:1.55;max-width:42ch;margin-bottom:20px}
	.idn-hero .idn-slide-texto .idn-btn{padding:12px 20px;font-size:13px}
	.idn-hero .idn-slide:not(.idn-sem-foto)::after{
		background:linear-gradient(90deg,rgba(26,29,24,.74) 0%,rgba(26,29,24,.52) 38%,rgba(26,29,24,.12) 64%,rgba(26,29,24,0) 82%);
	}
}


/* ---------------------------------------------------------------
   68 — CELULAR DEITADO
   Precisa vir depois da faixa de tablet, senao aquela vence por
   ordem de leitura e o texto continua grande.
--------------------------------------------------------------- */
/* celular deitado: pouca altura, entao o texto encolhe e estreita
   para nao tapar o produto. */
@media (min-width:600px) and (max-width:1024px) and (max-height:560px){
	/* o cabecalho come quase metade da tela deitada, entao a moldura
	   fica com o que sobra e o slide inteiro cabe de uma vez */
	.idn-hero{min-height:0;max-height:92vh;max-height:max(230px,calc(100svh - 90px))}
	.idn-hero .idn-slide-texto{max-width:min(50%,360px)}
	.idn-hero .idn-slide-texto .idn-eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:5px}
	.idn-hero .idn-slide-texto h2{font-size:clamp(18px,2.5vw,23px);line-height:1.1;margin-bottom:7px}
	.idn-hero .idn-slide-texto p{font-size:12.5px;line-height:1.4;max-width:38ch;margin-bottom:11px}
	.idn-hero .idn-slide-texto .idn-btn{padding:9px 16px;font-size:11.5px}
	.idn-hero .idn-ui{bottom:10px}
}


/* ---------------------------------------------------------------
   69 — FAIXA DE BENEFICIOS NO CELULAR
   Em vez de quatro linhas empilhadas, dois por dois, com fio
   separando as celulas e o icone acima do texto.
--------------------------------------------------------------- */
@media (max-width:767px){
	.idn-trust .idn-in{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:0;
		padding-inline:0;
		padding-block:0;
	}
	.idn-trust .idn-in > div{
		display:block;
		padding:22px 20px 24px;
		border-top:1px solid var(--idn-line);
	}
	.idn-trust .idn-in > div:nth-child(odd){border-right:1px solid var(--idn-line)}
	.idn-trust .idn-in > div:nth-child(1),
	.idn-trust .idn-in > div:nth-child(2){border-top:0}
	.idn-trust svg{display:block;width:23px;height:23px;margin:0 0 13px}
	.idn-trust b{font-size:.93rem;margin-bottom:3px;line-height:1.3}
	.idn-trust span{display:block;font-size:.8rem;line-height:1.4}
}


/* ---------------------------------------------------------------
   70 — FIO DIVISOR COMO PADRAO E AJUSTES DO CELULAR DEITADO
--------------------------------------------------------------- */

/* o fio entre as vantagens passa a valer tambem no computador e no
   tablet, nao so no celular */
/* duas colunas entre 768 e 900: o fio e o mesmo do celular */
@media (min-width:768px) and (max-width:900px){
	.idn-trust .idn-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding-inline:0}
	.idn-trust .idn-in > div{padding:24px clamp(20px,3vw,32px)}
	.idn-trust .idn-in > div:nth-child(odd){border-right:1px solid var(--idn-line)}
	.idn-trust .idn-in > div:nth-child(n+3){border-top:1px solid var(--idn-line)}
}

/* quatro colunas: fio vertical entre elas */
@media (min-width:901px){
	.idn-trust .idn-in{gap:0}
	.idn-trust .idn-in > div{padding-inline:clamp(16px,2vw,26px)}
	.idn-trust .idn-in > div + div{border-left:1px solid var(--idn-line)}
	.idn-trust .idn-in > div:first-child{padding-left:0}
	.idn-trust .idn-in > div:last-child{padding-right:0}
}

@media (min-width:600px) and (max-width:1024px) and (max-height:560px){

	/* a moldura cresce e o texto deixa de ser centralizado: ancorado
	   no alto, ele cabe sempre, e a altura que sobra vira imagem */
	.idn-hero{max-height:max(230px,calc(100vh - 55px))}
	/* texto centrado na altura da moldura */
	.idn-hero .idn-slide-conteudo{align-items:center;padding-top:0;padding-bottom:0}
	.idn-hero .idn-slide-conteudo .idn-in{padding-top:0;padding-bottom:0}
	/* as marcacoes voltam para a base, centradas, com sombra leve
	   para nao se perderem em foto clara */
	.idn-hero .idn-ui{top:auto;bottom:clamp(12px,2.6vh,20px)}
	.idn-hero .idn-ui .idn-in{justify-content:center}
	.idn-hero .idn-setas{display:none}
	.idn-hero .idn-dots{display:flex}
	.idn-hero .idn-dots button{box-shadow:0 1px 3px rgba(26,29,24,.45)}

	/* quatro produtos em quatro colunas: com tres, o quarto caia
	   sozinho numa linha e deixava um vazio enorme */
	.woocommerce ul[data-products],
	ul[data-products]{--shop-columns:repeat(2,minmax(0,1fr))}

	/* a essencia volta a ser foto e texto lado a lado */
	.idn-essencia-in{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:26px;align-items:center}
	.idn-essencia-foto{padding-top:26px;align-self:end}
	.idn-essencia-foto img{max-width:290px;margin:0 0 0 auto}
	.idn-essencia-texto{padding:34px 0 38px 6px;max-width:none}
	.idn-essencia-texto .idn-h2{font-size:clamp(21px,3vw,28px);margin-bottom:13px;max-width:none}
	.idn-essencia-texto p{font-size:14px;line-height:1.6;margin-bottom:16px}

	/* o rodape em duas colunas abria vaos enormes; volta as quatro */
	.idn-footer .idn-in{grid-template-columns:1.25fr 1fr 1fr 1.15fr;gap:clamp(20px,3vw,34px);padding-block:clamp(34px,5vw,48px)}
	.idn-footer .idn-in > div{min-width:0}
}


/* ---------------------------------------------------------------
   71 — DESTAQUES SORTEADOS
   Antes do sorteio aparecem so os quatro primeiros, para nao piscar
   uma grade cheia. Depois que o navegador embaralha, quem manda e a
   classe .idn-fora.
--------------------------------------------------------------- */
.idn-sorteio:not(.pronto) ul.products > li:nth-child(n+5){display:none}
.idn-sorteio ul.products > li.idn-fora{display:none}


/* ---------------------------------------------------------------
   72 — FINALIZACAO DE COMPRA
   O botao "sem numero" vira uma pastilha dentro do campo, e o
   formulario ganha foco, espacamento e titulos consistentes.
--------------------------------------------------------------- */

/* pastilha S/N dentro do campo Numero */
.woocommerce-input-wrapper .idn-sn{
	position:absolute;
	right:8px;
	top:50%;
	transform:translateY(-50%);
	display:flex;
	align-items:center;
	margin:0;
	padding:0;
	z-index:2;
	line-height:1;
}
.idn-sn label{
	display:inline-flex;
	align-items:center;
	gap:5px;
	margin:0;
	padding:7px 12px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-pill);
	background:var(--idn-paper);
	color:var(--idn-ink-soft);
	font-size:10.5px;
	font-weight:600;
	letter-spacing:.07em;
	text-transform:uppercase;
	line-height:1;
	cursor:pointer;
	user-select:none;
	transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.idn-sn label:hover{border-color:var(--idn-olive);color:var(--idn-olive-dark);background:#fff}

/* a caixa de marcar sai de cena: a propria pastilha e o controle */
.idn-sn input[type="checkbox"]{
	position:absolute;
	width:1px;
	height:1px;
	margin:0;
	padding:0;
	opacity:0;
	pointer-events:none;
}
.idn-sn:has(input:checked) label{
	background:var(--idn-olive);
	border-color:var(--idn-olive);
	/* o plugin pinta esse rotulo por dois IDs; so o !important alcanca */
	color:#fff !important;
}
.idn-sn:has(input:checked) label::after{
	content:"";
	width:3.5px;
	height:7.5px;
	margin:-2px 0 0 1px;
	border:solid #fff;
	border-width:0 1.7px 1.7px 0;
	transform:rotate(45deg);
}
.idn-sn:has(input:focus-visible) label{outline:2px solid var(--idn-olive);outline-offset:2px}

/* foco dos campos */
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .select2-container--focus .select2-selection{
	border-color:var(--idn-olive);
	box-shadow:0 0 0 3px rgba(130,130,64,.14);
	outline:none;
}

/* respiro entre campos e titulos das secoes */
.woocommerce-checkout .form-row{margin-bottom:18px}
.woocommerce-checkout .form-row:last-child{margin-bottom:0}
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{
	font-size:17px;
	font-weight:600;
	letter-spacing:-.005em;
	color:var(--idn-ink);
	margin:0 0 20px;
	padding-bottom:12px;
	border-bottom:1px solid var(--idn-line);
}
.woocommerce-checkout .woocommerce-additional-fields h3{margin-top:34px}
.woocommerce-checkout label .required{color:var(--idn-terra);text-decoration:none;margin-left:1px}

/* "entregar em um endereco diferente" */
.woocommerce-checkout #ship-to-different-address{margin:4px 0 0}
.woocommerce-checkout #ship-to-different-address label{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:13.5px;
	font-weight:500;
	color:var(--idn-ink);
	cursor:pointer;
}
.woocommerce-checkout #ship-to-different-address input[type="checkbox"]{
	appearance:none;
	-webkit-appearance:none;
	position:relative;
	width:18px;
	height:18px;
	margin:0;
	border:1.5px solid #c9cfbd;
	border-radius:5px;
	background:#fff;
	cursor:pointer;
}
.woocommerce-checkout #ship-to-different-address input[type="checkbox"]:checked{background:var(--idn-olive);border-color:var(--idn-olive)}
.woocommerce-checkout #ship-to-different-address input[type="checkbox"]:checked::after{
	content:"";
	position:absolute;
	left:5.5px;
	top:2px;
	width:4px;
	height:9px;
	border:solid #fff;
	border-width:0 2px 2px 0;
	transform:rotate(45deg);
}


/* ---------------------------------------------------------------
   73 — PAGINA DE PEDIDO RECEBIDO
--------------------------------------------------------------- */
.woocommerce-order{max-width:860px;margin-inline:auto}
.woocommerce-order > .woocommerce-notice--success{display:none}

.idn-ok-topo{
	display:flex;
	align-items:flex-start;
	gap:18px;
	padding:28px 30px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
	background:var(--idn-paper);
	margin:0 0 22px;
}
.idn-ok-icone{
	flex:0 0 auto;
	width:50px;
	height:50px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--idn-sage-soft);
	color:var(--idn-olive-dark);
}
.idn-tom-pago .idn-ok-icone{background:var(--idn-olive);color:#fff}
.idn-tom-espera .idn-ok-icone{background:var(--idn-terra-pale);color:var(--idn-terra)}
.idn-tom-parado .idn-ok-icone{background:#ededea;color:#7b8084}
.idn-ok-numero{
	display:block;
	font-size:11px;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--idn-olive-dark);
	font-weight:600;
	margin-bottom:7px;
}
.idn-ok-topo h2{
	margin:0 0 8px;
	font-size:clamp(22px,2.6vw,30px);
	line-height:1.15;
	color:var(--idn-ink);
}
.idn-ok-topo p{margin:0;font-size:15px;line-height:1.6;color:var(--idn-ink-soft);max-width:52ch}

/* linha do tempo */
.idn-ok-linha{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:0;
	list-style:none;
	margin:0 0 30px;
	padding:0;
	counter-reset:none;
}
.idn-ok-etapa{position:relative;padding-top:26px;text-align:center}
.idn-ok-etapa::before{
	content:"";
	position:absolute;
	top:7px;
	left:0;
	right:0;
	height:2px;
	background:var(--idn-line);
}
.idn-ok-etapa:first-child::before{left:50%}
.idn-ok-etapa:last-child::before{right:50%}
.idn-ok-etapa.feita::before,
.idn-ok-etapa.agora::before{background:var(--idn-olive)}
.idn-ok-etapa.agora:last-child::before{background:var(--idn-olive)}
.idn-ok-ponto{
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);
	width:16px;
	height:16px;
	border-radius:50%;
	background:#fff;
	border:2px solid var(--idn-line);
	z-index:1;
}
.idn-ok-etapa.feita .idn-ok-ponto{background:var(--idn-olive);border-color:var(--idn-olive)}
.idn-ok-etapa.agora .idn-ok-ponto{
	background:#fff;
	border-color:var(--idn-olive);
	box-shadow:0 0 0 4px rgba(130,130,64,.18);
}
.idn-ok-rot{display:block;font-size:12.5px;color:var(--idn-ink-soft)}
.idn-ok-etapa.agora .idn-ok-rot{color:var(--idn-olive-dark);font-weight:600}

/* o resumo de fatos vira uma faixa (so a lista, nao a tabela de
   itens, que tambem carrega a classe order_details) */
.woocommerce-order ul.woocommerce-order-overview{
	display:flex;
	flex-wrap:wrap;
	gap:10px 30px;
	list-style:none;
	margin:0 0 26px;
	padding:18px 24px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	background:#fff;
}
.woocommerce-order ul.woocommerce-order-overview li{
	font-size:11px;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--idn-ink-soft);
	border:0;
	padding:0;
	margin:0;
}
.woocommerce-order ul.woocommerce-order-overview li strong{
	display:block;
	margin-top:5px;
	font-size:15px;
	letter-spacing:0;
	text-transform:none;
	color:var(--idn-ink);
	font-weight:600;
}
.woocommerce-order ul.woocommerce-order-overview li.total{margin-left:auto}
.woocommerce-order ul.woocommerce-order-overview li.total strong{font-size:20px;color:var(--idn-olive-dark)}

/* tabelas */
.woocommerce-order h2,
.woocommerce-order h3{
	font-size:16px;
	font-weight:600;
	color:var(--idn-ink);
	margin:34px 0 14px;
	padding-bottom:11px;
	border-bottom:1px solid var(--idn-line);
}
.woocommerce-order table.shop_table{
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	background:#fff;
	margin:0;
}
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td{
	border:0;
	border-bottom:1px solid var(--idn-line);
	padding:14px 18px;
	font-size:14px;
}
.woocommerce-order table.shop_table tfoot tr:last-child th,
.woocommerce-order table.shop_table tfoot tr:last-child td{border-bottom:0;font-size:16px}
.woocommerce-order table.shop_table tfoot tr:last-child td{color:var(--idn-olive-dark);font-weight:700}
.woocommerce-order .woocommerce-customer-details address{
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-md);
	padding:18px 20px;
	font-style:normal;
	font-size:14px;
	line-height:1.7;
	color:var(--idn-ink-soft);
	background:#fff;
}

/* saidas */
.idn-ok-saidas{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px 16px;
	margin:34px 0 0;
	padding-top:26px;
	border-top:1px solid var(--idn-line);
}
.idn-ok-ajuda{
	flex:1 1 100%;
	font-size:13px;
	color:var(--idn-ink-soft);
	margin-top:4px;
}
.idn-ok-ajuda a{color:var(--idn-olive-dark);text-decoration:underline;text-underline-offset:2px}

@media (max-width:600px){
	.idn-ok-topo{flex-direction:column;gap:14px;padding:22px}
	.idn-ok-linha{grid-template-columns:repeat(2,1fr);gap:18px 0}
	.idn-ok-etapa::before{display:none}
	.woocommerce-order ul.woocommerce-order-overview li.total{margin-left:0}
}

/* pedido pago ou cancelado nao mostra QR de pagamento */
body.idn-pedido-pago .mp-details-title,
body.idn-pedido-pago .mp-details-pix,
body.idn-pedido-parado .mp-details-title,
body.idn-pedido-parado .mp-details-pix{display:none}


/* ---------------------------------------------------------------
   74 — CARTAO DE RASTREIO
--------------------------------------------------------------- */
.idn-rastreio{
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
	background:#fff;
	padding:22px 24px;
	margin:0 0 26px;
}
.idn-rastreio-enviado{border-color:rgba(130,130,64,.45);background:var(--idn-olive-pale)}
.idn-rastreio-topo{display:flex;align-items:flex-start;gap:14px}
.idn-rastreio-icone{
	flex:0 0 auto;
	width:40px;
	height:40px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--idn-sage-soft);
	color:var(--idn-olive-dark);
}
.idn-rastreio-enviado .idn-rastreio-icone{background:var(--idn-olive);color:#fff}
.idn-rastreio-topo h3{
	margin:0 0 5px;
	padding:0;
	border:0;
	font-size:16px;
	font-weight:600;
	color:var(--idn-ink);
}
.idn-rastreio-topo p{margin:0;font-size:13.5px;line-height:1.55;color:var(--idn-ink-soft);max-width:54ch}

.idn-rastreio-corpo{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px 18px;
	margin-top:18px;
	padding-top:18px;
	border-top:1px solid var(--idn-line);
}
.idn-rastreio-rot{
	display:block;
	font-size:10.5px;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--idn-ink-soft);
	margin-bottom:4px;
}
.idn-rastreio-codigo strong{
	font-size:19px;
	letter-spacing:.06em;
	color:var(--idn-ink);
	font-variant-numeric:tabular-nums;
}
.idn-rastreio-vazio{font-size:13.5px;color:var(--idn-ink-soft);font-style:italic}
.idn-rastreio-empresa{
	margin-left:auto;
	font-size:12px;
	color:var(--idn-ink-soft);
	padding:5px 11px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-pill);
	background:var(--idn-paper);
}
.idn-rastreio .idn-btn{padding:11px 18px;font-size:13px}
.idn-rastreio .idn-btn-ghost{border-color:var(--idn-line);color:var(--idn-ink);background:#fff}
.idn-rastreio .idn-btn-ghost:hover{border-color:var(--idn-olive);color:var(--idn-olive-dark)}

@keyframes idnRastreioEntra{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.idn-rastreio-novo{animation:idnRastreioEntra .3s ease}

@media (max-width:600px){
	.idn-rastreio{padding:18px}
	.idn-rastreio-empresa{margin-left:0}
	.idn-rastreio .idn-btn{flex:1 1 auto;text-align:center}
}


/* ---------------------------------------------------------------
   75 — IMPRESSAO DO PEDIDO
--------------------------------------------------------------- */
.idn-folha{display:none}

.idn-imprimir{
	display:inline-flex;
	align-items:center;
	gap:7px;
	margin:22px 0 0;
	padding:9px 15px;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-pill);
	background:#fff;
	color:var(--idn-ink-soft);
	font-size:12.5px;
	font-weight:600;
	cursor:pointer;
	transition:border-color .15s ease,color .15s ease;
}
.idn-imprimir:hover{border-color:var(--idn-olive);color:var(--idn-olive-dark)}

@media print{
	@page{margin:14mm 12mm}

	html,body{background:#fff !important;color:#1f2426 !important;font-size:11pt}

	/* tudo o que e navegacao sai da folha */
	#wpadminbar,
	.idn-topbar,
	header,
	.ct-header,
	.site-header,
	footer.ct-footer,
	.ct-footer,
	.idn-footer,
	.woocommerce-MyAccount-navigation,
	.idn-ok-linha,
	.idn-ok-saidas,
	.idn-imprimir,
	.idn-rastreio .idn-btn,
	.idn-pix-passos,
	.idn-pix-relogio,
	.idn-pix-prazo,
	.idn-pix-copiar,
	.woocommerce-order ul.woocommerce-order-overview li.email,
	.woocommerce-breadcrumb,
	.ct-back-to-top{display:none !important}

	.woocommerce-order tfoot tr:has(.woocommerce-button){display:none !important}

	main,.site-main,.ct-container,.entry-content,.woocommerce{margin:0 !important;padding:0 !important;max-width:none !important;width:auto !important}
	.woocommerce-order{max-width:none !important;margin:0 !important}

	/* cabecalho e rodape da folha */
	.idn-folha{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
	.idn-folha-topo{
		padding-bottom:10px;
		margin-bottom:18px;
		border-bottom:1.5pt solid #5F5F2D;
	}
	.idn-folha-marca strong{
		display:block;
		font-size:19pt;
		letter-spacing:.14em;
		color:#5F5F2D;
		line-height:1;
	}
	.idn-folha-marca span{
		font-size:7.5pt;
		letter-spacing:.3em;
		text-transform:uppercase;
		color:#6b7280;
	}
	.idn-folha-dados{text-align:right;font-size:9pt;line-height:1.6;color:#4A5255}
	.idn-folha-dados span{display:block}
	.idn-folha-base{
		margin-top:22px;
		padding-top:10px;
		border-top:.75pt solid #d7dbcd;
		font-size:8.5pt;
		line-height:1.55;
		color:#6b7280;
		align-items:flex-start;
	}
	.idn-folha-base div:last-child{text-align:right}

	/* o cartao de estado perde o enfeite */
	.idn-ok-topo{
		border:0 !important;
		background:none !important;
		padding:0 0 14px !important;
		margin:0 0 14px !important;
		gap:0 !important;
	}
	.idn-ok-icone{display:none !important}
	.idn-ok-numero{display:none !important}
	.idn-ok-topo h2{font-size:14pt !important;margin:0 0 4px !important}
	.idn-ok-topo p{font-size:9.5pt !important}

	/* resumo em linha, sem caixa */
	.woocommerce-order ul.woocommerce-order-overview{
		border:0 !important;
		padding:0 0 14px !important;
		margin:0 0 14px !important;
		border-bottom:.75pt solid #d7dbcd !important;
		gap:6px 26px !important;
	}
	.woocommerce-order ul.woocommerce-order-overview li{font-size:7.5pt !important}
	.woocommerce-order ul.woocommerce-order-overview li strong{font-size:11pt !important}
	.woocommerce-order ul.woocommerce-order-overview li.total strong{font-size:13pt !important;color:#5F5F2D !important}

	/* rastreio enxuto */
	.idn-rastreio{
		border:.75pt solid #d7dbcd !important;
		border-radius:4pt !important;
		background:none !important;
		padding:10pt 12pt !important;
		margin:0 0 14px !important;
	}
	.idn-rastreio-icone{display:none !important}
	.idn-rastreio-topo h3{font-size:10.5pt !important}
	.idn-rastreio-topo p{font-size:9pt !important}
	.idn-rastreio-corpo{margin-top:9pt !important;padding-top:9pt !important}
	.idn-rastreio-codigo strong{font-size:13pt !important}

	/* tabelas */
	.woocommerce-order h2,
	.woocommerce-order h3{
		font-size:10pt !important;
		letter-spacing:.08em;
		text-transform:uppercase;
		color:#5F5F2D !important;
		margin:18px 0 8px !important;
		padding-bottom:5px !important;
		border-bottom:.75pt solid #d7dbcd !important;
	}
	.woocommerce-order table.shop_table{
		border:.75pt solid #d7dbcd !important;
		border-radius:4pt !important;
		page-break-inside:avoid;
	}
	.woocommerce-order table.shop_table th,
	.woocommerce-order table.shop_table td{
		padding:7pt 10pt !important;
		font-size:9.5pt !important;
		border-bottom:.5pt solid #e6e9dd !important;
	}
	.woocommerce-order table.shop_table thead th{background:#f3f5ee !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
	.woocommerce-order .woocommerce-customer-details address{
		border:.75pt solid #d7dbcd !important;
		border-radius:4pt !important;
		padding:9pt 11pt !important;
		font-size:9pt !important;
		line-height:1.6 !important;
		background:none !important;
	}
	.woocommerce-customer-details{page-break-inside:avoid}

	/* Pix: fica o QR e o codigo, sai o resto */
	.idn-pix{border:.75pt solid #d7dbcd !important;background:none !important;padding:10pt !important}
	a[href]:after{content:"" !important}
}


/* ---------------------------------------------------------------
   75 — IMPRESSAO DO PEDIDO
--------------------------------------------------------------- */
.idn-folha{display:none}

@media print{
	@page{margin:14mm 12mm}

	/* fora da folha */
	#wpadminbar,
	.idn-topbar,
	header#header,
	.ct-header,
	.idn-footer,
	.ct-back-to-top,
	.woocommerce-MyAccount-navigation,
	.woocommerce-breadcrumb,
	.idn-ok-saidas,
	.idn-ok-linha,
	.idn-pix,
	.mp-details-title,
	.mp-details-pix,
	.idn-rastreio-copiar,
	.woocommerce-order ul.woocommerce-order-overview li.method,
	.woocommerce-order .wc-item-meta,
	.order-again,
	.woocommerce-button,
	td.woocommerce-table__product-name .wc-item-meta,
	tr.woocommerce-table__line-item td a[href*="add-to-cart"]{display:none !important}

	html,body{background:#fff !important;margin:0 !important;padding:0 !important}
	body{font-size:11pt;color:#1f2426}
	#main-container,main#main,.ct-container,.entry-content,
	.woocommerce-MyAccount-content,.woocommerce-order{
		max-width:none !important;
		width:100% !important;
		margin:0 !important;
		padding:0 !important;
		box-shadow:none !important;
		background:transparent !important;
	}
	h1,.page-title{display:none !important}

	/* um cabecalho so: fica o bloco com marca, pedido, data e
	   situacao; o cabecalho curto antigo sai de cena */
	.idn-print-cabecalho{display:none !important}
	.idn-folha{display:block}
	/* outra regra de impressao esconde todo <header>; por isso o seletor
	   precisa ser mais forte aqui */
	header.idn-folha-topo{
		display:flex !important;
		align-items:flex-end;
		justify-content:space-between;
		gap:20px;
		padding:0 0 12px;
		margin:0 0 18px;
		border-bottom:1.5px solid #1f2426;
	}
	.idn-folha-marca strong{
		display:block;
		font-size:19pt;
		letter-spacing:.14em;
		line-height:1;
		font-weight:600;
	}
	.idn-folha-marca span{
		display:block;
		font-size:7.5pt;
		letter-spacing:.3em;
		text-transform:uppercase;
		margin-top:4px;
		color:#5a6063;
	}
	.idn-folha-dados{text-align:right;line-height:1.45}
	.idn-folha-rot{
		display:block;
		font-size:7.5pt;
		letter-spacing:.18em;
		text-transform:uppercase;
		color:#5a6063;
	}
	.idn-folha-dados strong{display:block;font-size:13pt;font-weight:600}
	.idn-folha-data{display:block;font-size:9pt;color:#5a6063}

	/* a frase de situacao repete o que o cabecalho ja diz */
	body.woocommerce-view-order .woocommerce-MyAccount-content > p:not([class]){display:none !important}

	/* as atualizacoes do pedido sao ruido na folha */
	ol.woocommerce-OrderUpdates,
	.woocommerce-MyAccount-content h2:has(+ ol.woocommerce-OrderUpdates){display:none !important}

	/* pe fixo: repete no rodape de cada pagina impressa */
	footer.idn-folha-base{
		display:flex !important;
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		display:flex;
		flex-wrap:wrap;
		align-items:flex-end;
		gap:4px 28px;
		padding-top:8px;
		border-top:1px solid #c9ced0;
		background:#fff;
		font-size:8pt;
		line-height:1.5;
		color:#3c4245;
	}
	.idn-folha-base b{font-weight:600}
	.idn-folha-aviso{
		flex:1 1 100%;
		margin:4px 0 0;
		font-size:7pt;
		color:#6b7174;
	}
	.woocommerce-order{padding-bottom:24mm !important}

	/* blocos da pagina */
	.idn-ok-topo{
		border:0 !important;
		background:transparent !important;
		padding:0 0 14px !important;
		margin:0 0 14px !important;
		border-bottom:1px solid #e2e5e6 !important;
		gap:12px;
	}
	.idn-ok-icone{display:none !important}
	.idn-ok-numero{display:none !important}
	.idn-ok-topo h2{font-size:13pt !important;margin:0 0 4px !important}
	.idn-ok-topo p{font-size:9.5pt !important;color:#4a5255 !important}

	.woocommerce-order ul.woocommerce-order-overview{
		border:0 !important;
		background:transparent !important;
		padding:0 !important;
		margin:0 0 18px !important;
		gap:6px 26px !important;
	}
	.woocommerce-order ul.woocommerce-order-overview li{font-size:7.5pt !important}
	.woocommerce-order ul.woocommerce-order-overview li strong{font-size:10.5pt !important}
	.woocommerce-order ul.woocommerce-order-overview li.total strong{font-size:13pt !important;color:#1f2426 !important}

	.idn-rastreio{
		border:1px solid #c9ced0 !important;
		background:transparent !important;
		padding:12px 14px !important;
		margin:0 0 18px !important;
		break-inside:avoid;
	}
	.idn-rastreio-icone{display:none !important}
	.idn-rastreio-topo h3{font-size:10.5pt !important}
	.idn-rastreio-topo p{font-size:9pt !important}
	.idn-rastreio-corpo{margin-top:10px !important;padding-top:10px !important}
	.idn-rastreio-codigo strong{font-size:13pt !important}
	.idn-rastreio .idn-btn{display:none !important}
	.idn-rastreio-empresa{border:0 !important;background:transparent !important;padding:0 !important}

	.woocommerce-order h2,
	.woocommerce-order h3{
		font-size:9pt !important;
		letter-spacing:.1em;
		text-transform:uppercase;
		color:#5a6063 !important;
		margin:18px 0 8px !important;
		padding:0 0 5px !important;
		border-bottom:1px solid #e2e5e6 !important;
	}
	.woocommerce-order table.shop_table{
		border:1px solid #d7dbdd !important;
		border-radius:0 !important;
		width:100% !important;
		break-inside:avoid;
	}
	.woocommerce-order table.shop_table th,
	.woocommerce-order table.shop_table td{
		padding:7px 10px !important;
		font-size:9.5pt !important;
		border-bottom:1px solid #e6e9ea !important;
	}
	.woocommerce-order table.shop_table thead th{
		font-size:7.5pt !important;
		letter-spacing:.1em;
		text-transform:uppercase;
		background:#f4f5f3 !important;
		-webkit-print-color-adjust:exact;
		print-color-adjust:exact;
	}
	.woocommerce-order table.shop_table tfoot tr:last-child td{font-size:11pt !important;font-weight:700}
	.woocommerce-order .woocommerce-customer-details address{
		border:1px solid #d7dbdd !important;
		background:transparent !important;
		padding:10px 12px !important;
		font-size:9pt !important;
		line-height:1.55 !important;
		break-inside:avoid;
	}
	.woocommerce-columns--addresses{display:flex !important;gap:14px}
	.woocommerce-columns--addresses .col-1,
	.woocommerce-columns--addresses .col-2{width:50% !important;float:none !important;padding:0 !important}
	a{color:inherit !important;text-decoration:none !important}
}


/* ---------------------------------------------------------------
   76 — PEDIDO NA CONTA DO CLIENTE
   A frase de situacao sai (o cartao de estado ja diz tudo) e as
   atualizacoes viram uma linha do tempo em vez de lista numerada.
--------------------------------------------------------------- */
body.woocommerce-view-order .woocommerce-MyAccount-content > p:not([class]){display:none}

/* na conta ha dois botoes de imprimir, de ganchos diferentes; fica
   o do topo, que acompanha o cartao de estado */
body.woocommerce-view-order .woocommerce-order-details .idn-imprimir{display:none !important}

body.woocommerce-view-order .woocommerce-MyAccount-content > .idn-imprimir{
	display:flex;
	width:fit-content;
	margin-left:auto;
	/* o botao cai dentro do cartao, alinhado ao respiro dele */
	margin-right:26px;
	margin-bottom:-63px;
	position:relative;
	z-index:2;
}

body.woocommerce-view-order .woocommerce-MyAccount-content h2{
	font-size:16px;
	font-weight:600;
	color:var(--idn-ink);
	margin:34px 0 18px;
	padding-bottom:11px;
	border-bottom:1px solid var(--idn-line);
}

/* linha do tempo das atualizacoes */
.woocommerce-OrderUpdates{
	list-style:none;
	position:relative;
	margin:0 0 6px;
	padding:2px 0 2px 28px;
}
.woocommerce-OrderUpdates::before{
	content:"";
	position:absolute;
	left:6px;
	top:10px;
	bottom:10px;
	width:2px;
	background:var(--idn-line);
}
.woocommerce-OrderUpdate{position:relative;margin:0 0 20px;padding:0;list-style:none}
.woocommerce-OrderUpdate:last-child{margin-bottom:0}
.woocommerce-OrderUpdate::before{
	content:"";
	position:absolute;
	left:-28px;
	top:4px;
	width:14px;
	height:14px;
	border-radius:50%;
	background:#fff;
	border:2px solid var(--idn-line);
	box-sizing:border-box;
}
.woocommerce-OrderUpdate:last-child::before{
	background:var(--idn-olive);
	border-color:var(--idn-olive);
	box-shadow:0 0 0 4px rgba(130,130,64,.16);
}
.woocommerce-OrderUpdate-inner,
.woocommerce-OrderUpdate-text{
	margin:0;
	padding:0;
	border:0;
	background:none;
	box-shadow:none;
}
.woocommerce-OrderUpdate-meta{
	margin:0 0 5px;
	font-size:11px;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--idn-ink-soft);
}
.woocommerce-OrderUpdate-description p{
	margin:0 0 4px;
	font-size:14.5px;
	line-height:1.6;
	color:var(--idn-ink);
}
.woocommerce-OrderUpdate-description p:last-child{margin-bottom:0}
.woocommerce-OrderUpdate:not(:last-child) .woocommerce-OrderUpdate-description p{color:var(--idn-ink-soft)}

@media (max-width:600px){
	body.woocommerce-view-order .woocommerce-MyAccount-content > .idn-imprimir{margin-bottom:14px}
}


/* ---------------------------------------------------------------
   77 — FICHA DE ENDERECO
   Duas fichas de mesma altura, nome em destaque e contatos separados
   do endereco por um filete, com rotulo visivel.
--------------------------------------------------------------- */
.woocommerce-customer-details .woocommerce-columns--addresses{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:22px;
	margin:0;
}
.woocommerce-customer-details .woocommerce-column{
	width:auto;
	float:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
}
.woocommerce-customer-details .woocommerce-column > h2,
.woocommerce-customer-details .woocommerce-column > h3{margin-top:0}

.woocommerce-customer-details address{
	flex:1 1 auto;
	border:1px solid var(--idn-line);
	border-radius:var(--idn-r-lg);
	background:var(--idn-paper);
	padding:22px 24px;
	font-style:normal;
	font-size:14.5px;
	line-height:1.78;
	color:var(--idn-ink-soft);
}
.woocommerce-customer-details address strong{
	display:block;
	margin-bottom:2px;
	font-size:15.5px;
	font-weight:600;
	color:var(--idn-ink);
	letter-spacing:-.005em;
}
/* o nome ja quebra sozinho; a quebra seguinte abriria um vao */
.woocommerce-customer-details address strong + br{display:none}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email{
	display:flex;
	align-items:baseline;
	gap:10px;
	margin:0;
	padding:0;
	font-size:13.5px;
	line-height:1.6;
	color:var(--idn-ink);
}
.woocommerce-customer-details--phone{
	margin-top:14px;
	padding-top:14px;
	border-top:1px solid var(--idn-line);
}
.woocommerce-customer-details--email{margin-top:7px;word-break:break-word}

/* o rotulo que so existia para leitores de tela passa a aparecer */
.woocommerce-customer-details--phone .screen-reader-text,
.woocommerce-customer-details--phone .woo-better-sr-only{
	position:static !important;
	width:auto !important;
	height:auto !important;
	margin:0 !important;
	padding:0 !important;
	clip:auto !important;
	clip-path:none !important;
	overflow:visible !important;
	white-space:nowrap;
	flex:0 0 auto;
	font-size:10.5px;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--idn-ink-soft);
}
.woocommerce-customer-details--email::before{
	content:"E-mail";
	flex:0 0 auto;
	font-size:10.5px;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--idn-ink-soft);
}

@media (max-width:720px){
	.woocommerce-customer-details .woocommerce-columns--addresses{grid-template-columns:1fr;gap:18px}
}


/* ---------------------------------------------------------------
   78 — EVENTOS DE TRANSITO NO CARTAO DE RASTREIO
--------------------------------------------------------------- */
.idn-rastreio-eventos{
	list-style:none;
	position:relative;
	margin:18px 0 0;
	padding:16px 0 0 28px;
	border-top:1px solid var(--idn-line);
}
.idn-rastreio-eventos::before{
	content:"";
	position:absolute;
	left:6px;
	top:24px;
	bottom:8px;
	width:2px;
	background:var(--idn-line);
}
.idn-rastreio-evento{position:relative;margin:0 0 16px;padding:0}
.idn-rastreio-evento:last-child{margin-bottom:0}
.idn-rastreio-evento::before{
	content:"";
	position:absolute;
	left:-28px;
	top:4px;
	width:14px;
	height:14px;
	border-radius:50%;
	background:#fff;
	border:2px solid var(--idn-line);
	box-sizing:border-box;
}
.idn-rastreio-evento.agora::before{
	background:var(--idn-olive);
	border-color:var(--idn-olive);
	box-shadow:0 0 0 4px rgba(130,130,64,.16);
}
.idn-rastreio-quando{
	display:block;
	font-size:10.5px;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--idn-ink-soft);
	margin-bottom:3px;
}
.idn-rastreio-texto{
	display:block;
	font-size:14px;
	line-height:1.55;
	color:var(--idn-ink-soft);
}
.idn-rastreio-evento.agora .idn-rastreio-texto{color:var(--idn-ink);font-weight:600}
.idn-rastreio-local{
	display:block;
	margin-top:2px;
	font-size:12.5px;
	color:var(--idn-ink-soft);
}

@media print{
	.idn-rastreio-eventos{padding-left:20px}
	.idn-rastreio-eventos::before{left:4px}
	.idn-rastreio-evento::before{left:-20px;width:9px;height:9px}
	.idn-rastreio-quando{font-size:7pt}
	.idn-rastreio-texto{font-size:9pt}
	.idn-rastreio-local{font-size:8pt}
}

/* ---------------------------------------------------------------
79 — DESTAQUE DA CAIXA DE TERMOS QUANDO O PEDIDO E BARRADO
O contorno usa outline, que nao ocupa espaco, para o bloco nao
empurrar o botao de finalizar no momento do erro.
--------------------------------------------------------------- */
.woocommerce-terms-and-conditions-wrapper.idn-aponta{
	border-radius:var(--idn-r-md,14px);
	outline:2px solid var(--idn-terra,#A8502E);
	outline-offset:10px;
	animation:idn-pulso 1.8s ease-out 2;
}
.woocommerce-terms-and-conditions-wrapper.idn-aponta .woocommerce-terms-and-conditions-checkbox-text{
	color:var(--idn-terra,#A8502E);
	font-weight:600;
}
@keyframes idn-pulso{
	0%{box-shadow:0 0 0 0 rgba(168,80,46,.40)}
	70%{box-shadow:0 0 0 14px rgba(168,80,46,0)}
	100%{box-shadow:0 0 0 0 rgba(168,80,46,0)}
}

/* O aviso de erro vira atalho clicavel para a caixa. */
.woocommerce-error .idn-erro-atalho,
.woocommerce-error.idn-erro-atalho{
	cursor:pointer;
	text-decoration:underline;
	text-underline-offset:3px;
}
.woocommerce-error .idn-erro-atalho:focus-visible,
.woocommerce-error.idn-erro-atalho:focus-visible{
	outline:2px solid var(--idn-terra,#A8502E);
	outline-offset:3px;
	border-radius:var(--idn-r-sm,8px);
}

@media (prefers-reduced-motion:reduce){
	.woocommerce-terms-and-conditions-wrapper.idn-aponta{animation:none}
}

/* ---------------------------------------------------------------
80 — PAGINA ACOMPANHAR PEDIDO
Duas colunas: a consulta de um lado, o apoio do outro. Sem a
coluna de apoio a pagina fica com um vazio enorme a direita,
porque o formulario tem so dois campos. O texto padrao do
WooCommerce sai de cena: repete o subtitulo e fala de fatura,
documento que nao existe neste fluxo.
--------------------------------------------------------------- */

/* O tema ja imprime o nome da pagina no topo; aqui ele duplicaria
   o titulo grande do cabecalho. */
body.page-id-261 .page-title{display:none}

.idn-rastrear-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) 330px;
	gap:clamp(28px,3.6vw,56px);
	align-items:start;
}

/* --- cartao da consulta --- */
.idn-rastrear{
	background:#fff;
	border:1px solid var(--idn-line,#E7EADF);
	border-radius:var(--idn-r-lg,18px);
	padding:clamp(24px,2.6vw,36px);
}
.idn-rastrear .idn-eyebrow{margin:0 0 10px}
.idn-rastrear-titulo{
	margin:0 0 24px;
	font-size:clamp(20px,1.9vw,26px);
	line-height:1.2;
	color:var(--idn-ink,#33393D);
}
.idn-rastrear form.track_order{
	margin:0;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:18px;
}
.idn-rastrear form.track_order > p:first-of-type{display:none}
.idn-rastrear form.track_order .clear{display:none}
.idn-rastrear form.track_order .form-row{margin:0;width:auto;float:none;padding:0}
.idn-rastrear form.track_order .form-row-first{grid-column:1}
.idn-rastrear form.track_order .form-row-last{grid-column:2}
.idn-rastrear form.track_order > p.form-row:last-of-type{grid-column:1 / -1;margin-top:6px}
.idn-rastrear form.track_order label{
	display:block;font-weight:600;margin-bottom:7px;
	color:var(--idn-ink,#33393D);
}
.idn-rastrear form.track_order input[type="text"],
.idn-rastrear form.track_order input[type="email"]{width:100%;min-height:50px}

/* --- coluna de apoio --- */
.idn-rastrear-apoio{
	display:grid;
	gap:16px;
	position:sticky;
	top:110px;
}
.idn-apoio-bloco{
	background:var(--idn-paper,#FBFBF9);
	border:1px solid var(--idn-line,#E7EADF);
	border-radius:var(--idn-r-md,14px);
	padding:20px 22px;
}
.idn-apoio-bloco h3{
	margin:0 0 8px;
	font-size:1rem;line-height:1.3;
	color:var(--idn-ink,#33393D);
}
.idn-apoio-bloco p{
	margin:0 0 8px;
	font-size:.9rem;line-height:1.6;
	color:var(--idn-ink-soft,#4A5255);
}
.idn-apoio-bloco p:last-child{margin-bottom:0}
.idn-apoio-link{font-weight:600;color:var(--idn-terra,#A8502E)}
.idn-apoio-contato ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.idn-apoio-contato li{margin:0;padding:0;list-style:none}
.idn-apoio-contato a{font-size:.9rem;color:var(--idn-ink,#33393D)}

@media (max-width:900px){
	.idn-rastrear-grid{grid-template-columns:1fr}
	.idn-rastrear-apoio{position:static;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}
@media (max-width:600px){
	.idn-rastrear{padding:22px}
	.idn-rastrear form.track_order{grid-template-columns:1fr}
	.idn-rastrear form.track_order .form-row-first,
	.idn-rastrear form.track_order .form-row-last{grid-column:1}
}
