/*
 * DNN Company 2.2.4 — correções visuais cirúrgicas.
 * Escopo: PDP, carrinho, checkout e navegação mobile.
 * Não altera regras de negócio, estoque, frete, pedidos ou integrações.
 */

/* ---------------------------------------------------------
 * Produto — resumo centralizado no mobile e abas respirando.
 * --------------------------------------------------------- */
.single-product div.product .woocommerce-tabs{
  clear:both;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box;
  margin:clamp(30px,5vw,54px) auto 0!important;
  padding-left:clamp(12px,3vw,24px);
  padding-right:clamp(12px,3vw,24px);
  position:relative;
  z-index:0;
}

.single-product div.product .woocommerce-tabs > ul.tabs{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0 0 22px!important;
  padding:0!important;
  overflow:visible!important;
  box-sizing:border-box;
}

.single-product div.product .woocommerce-tabs > ul.tabs > li{
  float:none!important;
  flex:0 0 auto;
  margin:0!important;
}

.single-product div.product .woocommerce-tabs > ul.tabs > li > a{
  white-space:normal;
  overflow-wrap:anywhere;
}

.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:clamp(20px,4vw,30px)!important;
  border:1px solid #d9ecf8;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.045);
  box-sizing:border-box;
  overflow:hidden;
  overflow-wrap:anywhere;
}

.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child{
  margin-top:0!important;
  margin-bottom:18px!important;
}

.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel > :last-child{
  margin-bottom:0!important;
}

/* Estado selecionado da cor: respeita o valor real do botão e apenas
   reforça visualmente a seleção já existente. */
.single-product .dnn-swatch--color.is-on,
.single-product .dnn-swatch--color[aria-pressed="true"],
.single-product .dnn-swatch[data-color].is-on,
.single-product .dnn-swatch[data-color][aria-pressed="true"]{
  outline:2px solid #59c7f5!important;
  outline-offset:3px;
  box-shadow:0 0 0 5px rgba(89,199,245,.14)!important;
}

@media(max-width:767.98px){
  .single-product div.product .summary.entry-summary{
    float:none!important;
    width:calc(100% - 24px)!important;
    max-width:680px!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box;
  }

  .single-product div.product .woocommerce-tabs{
    margin-top:28px!important;
    padding-left:12px;
    padding-right:12px;
    padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));
  }

  .single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel{
    padding:22px 16px!important;
  }
}

/* Mantém o menu inferior opaco e acima do conteúdo, sem deixar o texto da
   descrição "vazar" visualmente por cima dele. */
@media(max-width:991.98px){
  .dnn-nav .dnn-bottombar{
    z-index:2147483000!important;
    background:#fff!important;
    isolation:isolate;
  }
}

/* ---------------------------------------------------------
 * Carrinho — remove o deslocamento lateral e centraliza totais.
 * --------------------------------------------------------- */
body.woocommerce-cart .cart-collaterals{
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}

body.woocommerce-cart .cart-collaterals .cart_totals{
  float:none!important;
  width:min(100%,920px)!important;
  max-width:920px!important;
  min-width:0!important;
  margin:24px auto 0!important;
  box-sizing:border-box;
}

body.woocommerce-cart .cart_totals table.shop_table{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed;
  box-sizing:border-box;
}

body.woocommerce-cart .cart_totals td,
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods li,
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods label{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere;
  word-break:normal;
  box-sizing:border-box;
}

@media(max-width:767.98px){
  body.woocommerce-cart .cart-collaterals{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals{
    width:100%!important;
    margin:18px auto 0!important;
    padding:16px 12px!important;
  }

  body.woocommerce-cart .cart_totals table.shop_table_responsive tr{
    display:grid!important;
    grid-template-columns:minmax(72px,.32fr) minmax(0,.68fr);
    align-items:start;
    width:100%!important;
    max-width:100%!important;
  }

  body.woocommerce-cart .cart_totals table.shop_table_responsive tr > th{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    padding:12px 8px!important;
    text-align:left!important;
  }

  body.woocommerce-cart .cart_totals table.shop_table_responsive tr > td{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    padding:12px 8px!important;
    text-align:right!important;
  }

  body.woocommerce-cart .cart_totals table.shop_table_responsive tr > td::before{
    display:none!important;
    content:none!important;
  }

  body.woocommerce-cart .cart_totals table.shop_table_responsive tr.shipping > td{
    text-align:left!important;
  }

  body.woocommerce-cart .cart_totals .woocommerce-shipping-methods{
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
}

/* ---------------------------------------------------------
 * Checkout — usa a largura disponível e elimina a coluna branca vazia.
 * --------------------------------------------------------- */
body.woocommerce-checkout .dnn-checkout-step-panel--data{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}

body.woocommerce-checkout .dnn-checkout-step-panel--data > .col-1,
body.woocommerce-checkout .dnn-checkout-step-panel--data > .col-2{
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box;
}

body.woocommerce-checkout .dnn-checkout-step-panel--data .woocommerce-billing-fields,
body.woocommerce-checkout .dnn-checkout-step-panel--data .woocommerce-shipping-fields,
body.woocommerce-checkout .dnn-checkout-step-panel--data .woocommerce-additional-fields{
  width:min(100%,760px);
  max-width:760px;
  min-width:0;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

body.woocommerce-checkout .dnn-checkout-step-panel--data .form-row,
body.woocommerce-checkout .dnn-checkout-step-panel--data .woocommerce-input-wrapper,
body.woocommerce-checkout .dnn-checkout-step-panel--data input,
body.woocommerce-checkout .dnn-checkout-step-panel--data textarea,
body.woocommerce-checkout .dnn-checkout-step-panel--data select,
body.woocommerce-checkout .dnn-checkout-step-panel--data .select2-container{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box;
}

body.woocommerce-checkout .dnn-checkout-step-panel--data .select2-container{
  width:100%!important;
}

/* Select2 mantém o <select> original apenas para acessibilidade. Algumas
   combinações de CSS de checkout estavam exibindo suas opções como texto. */
body.woocommerce-checkout select.select2-hidden-accessible,
body.woocommerce-checkout .select2-hidden-accessible{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

body.woocommerce-checkout [hidden]{
  display:none!important;
}

/* Resumo do pedido / flyout mobile: nada pode criar largura virtual maior que
   a viewport, e textos longos de frete devem quebrar normalmente. */
@media(max-width:767.98px){
  body.woocommerce-checkout .fc-checkout-order-review,
  body.woocommerce-checkout .fc-checkout-order-review__inner,
  body.woocommerce-checkout .fc-checkout-order-review #order_review,
  body.woocommerce-checkout .fc-checkout-order-review .shop_table,
  body.woocommerce-checkout .fc-checkout-order-review .woocommerce-checkout-review-order-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-checkout .fc-checkout-order-review table{
    table-layout:fixed!important;
  }

  body.woocommerce-checkout .fc-checkout-order-review th,
  body.woocommerce-checkout .fc-checkout-order-review td,
  body.woocommerce-checkout .fc-checkout-order-review .product-name,
  body.woocommerce-checkout .fc-checkout-order-review .woocommerce-shipping-methods,
  body.woocommerce-checkout .fc-checkout-order-review .woocommerce-shipping-methods li,
  body.woocommerce-checkout .fc-checkout-order-review .woocommerce-shipping-methods label{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-checkout .fc-checkout-order-review .woocommerce-shipping-methods{
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }
}

/* ---------------------------------------------------------
 * Menu / pesquisa mobile — seta em coluna própria, sem cobrir o link.
 * --------------------------------------------------------- */
@media(max-width:991.98px){
  .dnn-nav .dnn-drawer,
  .dnn-nav .dnn-drawer-inner,
  .dnn-nav .dnn-accordion,
  .dnn-nav .dnn-menu-list,
  .dnn-nav .dnn-menu-list .sub-menu{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .dnn-nav .dnn-accordion,
  .dnn-nav .dnn-menu-list,
  .dnn-nav .dnn-menu-list .sub-menu{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .dnn-nav .dnn-menu-list,
  .dnn-nav .dnn-menu-list .sub-menu{
    list-style:none!important;
  }

  .dnn-nav .dnn-menu-list li.menu-item-has-children{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px;
    align-items:center;
    width:100%;
    max-width:100%;
    min-width:0;
    position:relative;
    box-sizing:border-box;
  }

  .dnn-nav .dnn-menu-list li.menu-item-has-children > a{
    grid-column:1;
    grid-row:1;
    display:flex;
    align-items:center;
    width:100%;
    max-width:100%;
    min-width:0;
    padding-right:8px!important;
    overflow-wrap:anywhere;
    box-sizing:border-box;
  }

  .dnn-nav .dnn-menu-list li.menu-item-has-children > .dnn-acc-toggle{
    grid-column:2;
    grid-row:1;
    position:static!important;
    inset:auto!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    z-index:2;
    touch-action:manipulation;
    box-sizing:border-box;
  }

  .dnn-nav .dnn-menu-list li.menu-item-has-children > .sub-menu{
    grid-column:1 / -1;
    grid-row:2;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box;
  }

  .dnn-nav .dnn-menu-list li.menu-item-has-children.open > .dnn-acc-toggle .dnn-chevron,
  .dnn-nav .dnn-menu-list li.menu-item-has-children > .dnn-acc-toggle[aria-expanded="true"] .dnn-chevron{
    transform:rotate(180deg);
    transform-origin:center;
  }

  /* Pesquisa: neutraliza margens/larguras herdadas que deslocavam o painel. */
  .dnn-nav .dgwt-wcas-search-wrapp,
  .dnn-nav .dgwt-wcas-search-form,
  .dnn-nav [class*="dnn-search"]{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .dnn-nav .dgwt-wcas-search-wrapp,
  .dnn-nav .dgwt-wcas-search-form{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .dnn-nav .dnn-searchcanvas,
  .dnn-nav .dnn-search-canvas,
  .dnn-nav .dnn-search-panel,
  .dnn-nav .dnn-search-drawer{
    left:0!important;
    right:0!important;
    width:min(100%,420px)!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* ==========================================================
 * DNN Company 2.2.5 — refinamentos visuais adicionais
 * Escopo estrito: resumo móvel, CTA do carrinho, abas do
 * produto, Minha Conta e accordion móvel.
 * ========================================================== */

/* ---------------------------------------------------------
 * Carrinho — CTA nunca ultrapassa o card/viewport.
 * --------------------------------------------------------- */
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:18px 20px 20px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding-left:18px!important;
  padding-right:18px!important;
  inset:auto!important;
  float:none!important;
  transform:none!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  text-align:center!important;
}

body.woocommerce-cart .cart_totals .dnn-checkout-subnote{
  display:block;
  width:100%;
  max-width:100%;
  margin:12px 0 0!important;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}

@media(max-width:767.98px){
  body.woocommerce-cart .cart_totals{
    overflow:hidden!important;
  }

  body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{
    padding:14px 10px 16px!important;
  }
}

/* ---------------------------------------------------------
 * Produto — tabs em barra segmentada e conteúdo com respiro.
 * --------------------------------------------------------- */
.single-product div.product .woocommerce-tabs > ul.tabs{
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:6px!important;
  padding:6px!important;
  margin:0 0 18px!important;
  border:1px solid #d9ecf8!important;
  border-radius:18px!important;
  background:#f8fbfe!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.single-product div.product .woocommerce-tabs > ul.tabs::-webkit-scrollbar{
  display:none;
}

.single-product div.product .woocommerce-tabs > ul.tabs::before,
.single-product div.product .woocommerce-tabs > ul.tabs::after,
.single-product div.product .woocommerce-tabs > ul.tabs > li::before,
.single-product div.product .woocommerce-tabs > ul.tabs > li::after{
  display:none!important;
  content:none!important;
}

.single-product div.product .woocommerce-tabs > ul.tabs > li{
  display:flex!important;
  flex:1 0 auto!important;
  min-width:max-content!important;
  border:0!important;
  border-radius:13px!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
}

.single-product div.product .woocommerce-tabs > ul.tabs > li > a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:46px;
  padding:10px 16px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  color:#263142!important;
  background:transparent!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.25!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}

.single-product div.product .woocommerce-tabs > ul.tabs > li.active > a,
.single-product div.product .woocommerce-tabs > ul.tabs > li > a[aria-selected="true"]{
  border-color:#a9dcf3!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 6px 16px rgba(15,23,42,.07)!important;
}

.single-product div.product .woocommerce-tabs > ul.tabs > li > a:focus-visible{
  outline:3px solid rgba(89,199,245,.35)!important;
  outline-offset:2px!important;
}

.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel{
  padding:28px clamp(20px,4vw,34px)!important;
  border:1px solid #d9ecf8!important;
  border-radius:20px!important;
  background:#fff!important;
  line-height:1.72!important;
}

.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child{
  position:relative;
  margin:0 0 22px!important;
  padding:0 0 14px!important;
  color:#263142!important;
  font-size:clamp(24px,3vw,32px)!important;
  line-height:1.18!important;
}

.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child::after{
  position:absolute;
  left:0;
  bottom:0;
  width:56px;
  height:3px;
  border-radius:999px;
  background:#8dd7f7;
  content:"";
}

.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel p,
.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel li,
.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel td,
.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel th{
  line-height:1.72!important;
}

@media(max-width:767.98px){
  .single-product div.product .woocommerce-tabs{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .single-product div.product .woocommerce-tabs > ul.tabs{
    width:100%!important;
    padding:5px!important;
    gap:5px!important;
  }

  .single-product div.product .woocommerce-tabs > ul.tabs > li > a{
    min-height:44px;
    padding:9px 13px!important;
    font-size:13px!important;
  }

  .single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel{
    padding:24px 18px!important;
  }
}

/* ---------------------------------------------------------
 * Resumo compacto móvel — impede texto interno/oculto de
 * romper o painel. O conteúdo é limpo pelo JS visual.
 * --------------------------------------------------------- */
#dnn-checkout-sticky-panel,
[data-dnn-sticky-panel].dnn-checkout-sticky__panel{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

#dnn-checkout-sticky-panel > div,
[data-dnn-sticky-panel].dnn-checkout-sticky__panel > div{
  display:grid!important;
  grid-template-columns:minmax(70px,.34fr) minmax(0,.66fr)!important;
  align-items:start!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

#dnn-checkout-sticky-panel > div > span,
#dnn-checkout-sticky-panel > div > strong,
[data-dnn-sticky-panel].dnn-checkout-sticky__panel > div > span,
[data-dnn-sticky-panel].dnn-checkout-sticky__panel > div > strong{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  box-sizing:border-box!important;
}

#dnn-checkout-sticky-panel > div > strong,
[data-dnn-sticky-panel].dnn-checkout-sticky__panel > div > strong{
  text-align:right;
}

.dnn-sticky-shipping-method,
.dnn-sticky-shipping-destination{
  display:block;
}

.dnn-sticky-shipping-destination{
  margin-top:4px;
  color:#64748b;
  font-size:.88em;
  font-weight:650;
  line-height:1.35;
}

/* ---------------------------------------------------------
 * Minha Conta — aplica a identidade visual DNN aos endpoints
 * edit-account, endereços, pedidos e visualização do pedido.
 * --------------------------------------------------------- */
body.woocommerce-account .dnn-account-content{
  overflow:hidden;
}

body.woocommerce-account .dnn-account-content h2,
body.woocommerce-account .dnn-account-content h3,
body.woocommerce-account .dnn-account-content .woocommerce-order-details__title,
body.woocommerce-account .dnn-account-content .woocommerce-column__title{
  color:#263142;
  font-weight:900;
  line-height:1.25;
}

body.woocommerce-account .dnn-account-content form,
body.woocommerce-account .dnn-account-content fieldset,
body.woocommerce-account .dnn-account-content .woocommerce-address-fields,
body.woocommerce-account .dnn-account-content .woocommerce-EditAccountForm{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

body.woocommerce-account .dnn-account-content fieldset{
  margin:24px 0 0!important;
  padding:20px!important;
  border:1px solid #d9ecf8!important;
  border-radius:18px!important;
  background:#f8fbfe!important;
}

body.woocommerce-account .dnn-account-content legend{
  padding:0 8px!important;
  color:#263142!important;
  font-weight:900!important;
}

body.woocommerce-account .dnn-account-content .form-row{
  margin:0 0 16px!important;
}

body.woocommerce-account .dnn-account-content .form-row label{
  display:block!important;
  margin:0 0 7px!important;
  color:#344054!important;
  font-weight:800!important;
  line-height:1.35!important;
}

body.woocommerce-account .dnn-account-content input.input-text,
body.woocommerce-account .dnn-account-content input[type="text"],
body.woocommerce-account .dnn-account-content input[type="email"],
body.woocommerce-account .dnn-account-content input[type="tel"],
body.woocommerce-account .dnn-account-content input[type="password"],
body.woocommerce-account .dnn-account-content textarea,
body.woocommerce-account .dnn-account-content select,
body.woocommerce-account .dnn-account-content .select2-container .select2-selection--single{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  padding:11px 14px!important;
  border:1px solid #d9dee8!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 8px 20px rgba(15,23,42,.035)!important;
  box-sizing:border-box!important;
}

body.woocommerce-account .dnn-account-content textarea{
  min-height:110px!important;
  resize:vertical;
}

body.woocommerce-account .dnn-account-content input:focus,
body.woocommerce-account .dnn-account-content textarea:focus,
body.woocommerce-account .dnn-account-content select:focus,
body.woocommerce-account .dnn-account-content .select2-container--focus .select2-selection--single,
body.woocommerce-account .dnn-account-content .select2-container--open .select2-selection--single{
  border-color:#8dd7f7!important;
  outline:0!important;
  box-shadow:0 0 0 4px rgba(141,215,247,.20)!important;
}

body.woocommerce-account .dnn-account-content .select2-container{
  width:100%!important;
  max-width:100%!important;
}

body.woocommerce-account .dnn-account-content .select2-selection__rendered{
  padding:0!important;
  line-height:24px!important;
}

body.woocommerce-account .dnn-account-content .select2-selection__arrow{
  top:50%!important;
  right:12px!important;
  transform:translateY(-50%);
}

body.woocommerce-account .dnn-account-content .woocommerce-Button,
body.woocommerce-account .dnn-account-content button.button,
body.woocommerce-account .dnn-account-content a.button{
  min-height:48px!important;
  padding:12px 20px!important;
  border-radius:999px!important;
  background:#8dd7f7!important;
  color:#111827!important;
  font-weight:900!important;
  box-shadow:0 12px 26px rgba(141,215,247,.22)!important;
}

body.woocommerce-account .dnn-account-content table.shop_table,
body.woocommerce-account .dnn-account-content .woocommerce-orders-table,
body.woocommerce-account .dnn-account-content .woocommerce-table--order-details{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:14px 0 20px!important;
  border:1px solid #d9ecf8!important;
  border-radius:18px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

body.woocommerce-account .dnn-account-content table.shop_table th,
body.woocommerce-account .dnn-account-content table.shop_table td{
  padding:14px 16px!important;
  border-color:#e8eef5!important;
  color:#344054!important;
  vertical-align:middle!important;
  overflow-wrap:anywhere;
}

body.woocommerce-account .dnn-account-content table.shop_table th{
  background:#f3f9ff!important;
  color:#263142!important;
  font-weight:900!important;
}

body.woocommerce-account .dnn-account-content .woocommerce-Addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px!important;
  margin-top:16px!important;
}

body.woocommerce-account .dnn-account-content .woocommerce-Address{
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:18px!important;
  border:1px solid #d9ecf8!important;
  border-radius:18px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}

body.woocommerce-account .dnn-account-content .woocommerce-Address-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

body.woocommerce-account .dnn-account-content .woocommerce-Address address,
body.woocommerce-account .dnn-account-content .woocommerce-customer-details address{
  padding:16px!important;
  border:1px solid #e6edf4!important;
  border-radius:16px!important;
  background:#f8fbfe!important;
  line-height:1.65!important;
  overflow-wrap:anywhere;
}

body.woocommerce-account .dnn-account-content .woocommerce-order-details,
body.woocommerce-account .dnn-account-content .woocommerce-customer-details{
  margin-top:24px!important;
}

body.woocommerce-account .dnn-account-content .woocommerce-message,
body.woocommerce-account .dnn-account-content .woocommerce-info,
body.woocommerce-account .dnn-account-content .woocommerce-error{
  border-radius:16px!important;
  border:1px solid #d9ecf8!important;
  background:#f8fbfe!important;
  color:#344054!important;
  box-shadow:none!important;
}

@media(max-width:767.98px){
  body.woocommerce-account .dnn-account-content{
    padding:18px 14px!important;
    border-radius:20px!important;
  }

  body.woocommerce-account .dnn-account-content .form-row-first,
  body.woocommerce-account .dnn-account-content .form-row-last{
    float:none!important;
    width:100%!important;
  }

  body.woocommerce-account .dnn-account-content .woocommerce-Addresses{
    grid-template-columns:1fr!important;
  }

  body.woocommerce-account .dnn-account-content table.shop_table_responsive,
  body.woocommerce-account .dnn-account-content table.woocommerce-orders-table{
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }

  body.woocommerce-account .dnn-account-content table.shop_table_responsive thead,
  body.woocommerce-account .dnn-account-content table.woocommerce-orders-table thead{
    display:none!important;
  }

  body.woocommerce-account .dnn-account-content table.shop_table_responsive tbody,
  body.woocommerce-account .dnn-account-content table.woocommerce-orders-table tbody{
    display:grid!important;
    gap:14px!important;
  }

  body.woocommerce-account .dnn-account-content table.shop_table_responsive tr,
  body.woocommerce-account .dnn-account-content table.woocommerce-orders-table tr{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:10px 12px!important;
    border:1px solid #d9ecf8!important;
    border-radius:16px!important;
    background:#fff!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-account .dnn-account-content table.shop_table_responsive td,
  body.woocommerce-account .dnn-account-content table.woocommerce-orders-table td{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px 4px!important;
    border:0!important;
    border-bottom:1px solid #eef2f6!important;
    text-align:right!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-account .dnn-account-content table.shop_table_responsive td:last-child,
  body.woocommerce-account .dnn-account-content table.woocommerce-orders-table td:last-child{
    border-bottom:0!important;
  }

  body.woocommerce-account .dnn-account-content table.shop_table_responsive td::before,
  body.woocommerce-account .dnn-account-content table.woocommerce-orders-table td::before{
    flex:0 0 42%;
    max-width:42%;
    color:#475467!important;
    font-weight:800!important;
    text-align:left!important;
    overflow-wrap:anywhere;
  }
}

/* ---------------------------------------------------------
 * Drawer/accordion mobile — a seta ocupa uma coluna própria
 * em TODOS os níveis e nunca cobre o link da categoria.
 * --------------------------------------------------------- */
@media(max-width:991.98px){
  .dnn-accordion .dnn-menu-list li.menu-item-has-children,
  .dnn-menu-list li.menu-item-has-children{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:0!important;
    position:relative!important;
    box-sizing:border-box!important;
  }

  .dnn-accordion .dnn-menu-list li.menu-item-has-children > a,
  .dnn-menu-list li.menu-item-has-children > a{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-right:10px!important;
    box-sizing:border-box!important;
  }

  .dnn-accordion .dnn-menu-list li.menu-item-has-children > button.dnn-acc-toggle,
  .dnn-menu-list li.menu-item-has-children > button.dnn-acc-toggle{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:auto!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    border-left:1px solid #edf2f7!important;
    z-index:3!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
  }

  .dnn-accordion .dnn-menu-list li.menu-item-has-children > button.dnn-acc-toggle svg,
  .dnn-menu-list li.menu-item-has-children > button.dnn-acc-toggle svg{
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
    pointer-events:none!important;
  }

  .dnn-accordion .dnn-menu-list li.menu-item-has-children > .sub-menu,
  .dnn-menu-list li.menu-item-has-children > .sub-menu{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
}


/* ==========================================================
 * DNN Company 2.2.6 — identificação visual dos pacotes de frete
 * Escopo estrito: bloco "Entrega" do checkout.
 * Não altera método, valor, seleção ou lógica do frete.
 * ========================================================== */
body.woocommerce-checkout .dnn-checkout-service[data-dnn-service="delivery"] .dnn-checkout-service__shipment-title{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:14px 0 7px;
  padding:0 2px;
  color:#172033;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  letter-spacing:.02em;
  box-sizing:border-box;
}

body.woocommerce-checkout .dnn-checkout-service[data-dnn-service="delivery"] .dnn-checkout-service__shipment-title::after{
  content:"";
  flex:1 1 auto;
  min-width:18px;
  height:1px;
  background:#dbe8f3;
}

body.woocommerce-checkout .dnn-checkout-service[data-dnn-service="delivery"] .dnn-checkout-service__options-title + .dnn-checkout-service__shipment-title{
  margin-top:10px;
}


/* ==========================================================
 * DNN Company 2.2.7 — ajustes visuais pontuais
 * Escopo estrito:
 * 1) header/bottom bar sempre acima da descrição do produto;
 * 2) produtos identificados por Envio 1/2/3... no carrinho e checkout;
 * 3) profundidade do accordion mobile sem deslocamento lateral cumulativo.
 * Não altera cálculo, seleção ou regra de frete nem a navegação das categorias.
 * ========================================================== */

/* ---------------------------------------------------------
 * Produto mobile — header e barra inferior pertencem à camada
 * de navegação e nunca podem ser cobertos pelo painel das tabs.
 * --------------------------------------------------------- */
@media(max-width:991.98px){
  #site-header,
  .dnn-nav{
    position:relative!important;
    z-index:2147483000!important;
  }

  .dnn-nav .dnn-topbar.dnn-sticky-top,
  .dnn-nav .dnn-bottombar.dnn-sticky-bottom,
  .dnn-nav .dnn-topbar,
  .dnn-nav .dnn-bottombar{
    z-index:2147483200!important;
    isolation:isolate!important;
  }

  .single-product div.product .woocommerce-tabs,
  .single-product div.product .woocommerce-tabs > ul.tabs,
  .single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel{
    position:relative!important;
    z-index:0!important;
  }
}

/* ---------------------------------------------------------
 * Carrinho + finalizar compra — deixa explícito quais produtos
 * pertencem a cada pacote de frete já criado pelo WooCommerce.
 * --------------------------------------------------------- */
body.woocommerce-cart tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-contents,
body.woocommerce-cart tr.shipping .woocommerce-shipping-contents,
body.woocommerce-checkout tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-contents,
body.woocommerce-checkout tr.shipping .woocommerce-shipping-contents{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:10px 0 0!important;
  padding:10px 12px!important;
  border:1px solid #dbe8f3!important;
  border-radius:12px!important;
  background:#f8fbfe!important;
  color:#526174!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.45!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  box-sizing:border-box!important;
}

body.woocommerce-cart tr.shipping .woocommerce-shipping-contents::before,
body.woocommerce-checkout tr.shipping .woocommerce-shipping-contents::before{
  content:"Produtos neste envio";
  display:block;
  margin:0 0 5px;
  color:#172033;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
  letter-spacing:.01em;
}

body.woocommerce-cart tr.shipping .woocommerce-shipping-contents small,
body.woocommerce-checkout tr.shipping .woocommerce-shipping-contents small{
  display:block!important;
  max-width:100%!important;
  color:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Mesma identificação dentro do card visual "Entrega" do checkout. */
body.woocommerce-checkout .dnn-checkout-service[data-dnn-service="delivery"] .dnn-checkout-service__shipment-products{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:3px;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0 0 8px;
  padding:9px 11px;
  border:1px solid #dbe8f3;
  border-radius:12px;
  background:#f8fbfe;
  box-sizing:border-box;
}

body.woocommerce-checkout .dnn-checkout-service[data-dnn-service="delivery"] .dnn-checkout-service__shipment-products-label{
  display:block;
  color:#172033;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
}

body.woocommerce-checkout .dnn-checkout-service[data-dnn-service="delivery"] .dnn-checkout-service__shipment-products-text{
  display:block;
  min-width:0;
  max-width:100%;
  color:#526174;
  font-size:11px;
  font-weight:600;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:767.98px){
  body.woocommerce-cart tr.shipping .woocommerce-shipping-contents,
  body.woocommerce-checkout tr.shipping .woocommerce-shipping-contents,
  body.woocommerce-checkout .dnn-checkout-service[data-dnn-service="delivery"] .dnn-checkout-service__shipment-products{
    padding:9px 10px!important;
    border-radius:11px!important;
  }
}

/* ---------------------------------------------------------
 * Accordion mobile — cada submenu continua ocupando 100% do
 * drawer. A hierarquia aparece no padding do link, mas o recuo
 * é limitado para níveis profundos (pai/filho/neto/bisneto...).
 * --------------------------------------------------------- */
@media(max-width:991.98px){
  .dnn-nav .dnn-menu-list .sub-menu,
  .dnn-nav .dnn-menu-list .sub-menu .sub-menu,
  .dnn-nav .dnn-menu-list .sub-menu .sub-menu .sub-menu,
  .dnn-nav .dnn-menu-list .sub-menu .sub-menu .sub-menu .sub-menu{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  .dnn-nav .dnn-menu-list .sub-menu li{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }

  .dnn-nav .dnn-menu-list .sub-menu > li > a{
    padding-left:16px!important;
  }

  .dnn-nav .dnn-menu-list .sub-menu .sub-menu > li > a{
    padding-left:24px!important;
  }

  .dnn-nav .dnn-menu-list .sub-menu .sub-menu .sub-menu > li > a{
    padding-left:32px!important;
  }

  .dnn-nav .dnn-menu-list .sub-menu .sub-menu .sub-menu .sub-menu > li > a,
  .dnn-nav .dnn-menu-list .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu > li > a,
  .dnn-nav .dnn-menu-list .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu .sub-menu > li > a{
    padding-left:38px!important;
  }
}
