:root {
  font-family:Arial,Helvetica,sans-serif;
  color:#004600;
  background:#e9edf2;
  font-size:16px;
  --blue:#063d68;
  --green:#087967
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  min-height:100dvh;
  display:flex;
  flex-direction:column
}
button,input {
  font:inherit
}
button {
  cursor:pointer;
  /*max-height:35px;*/
  border:1px solid #d5dde6;
  border-radius:8px;
  background:white;
  color:#004600;
  padding:9px 15px;
  font-weight:600
}
header button,
footer button,
#search-bar button {
    max-height: 35px;
}
button:hover {
  background:#eff5fa
}
button:disabled {
  opacity:.45;
  cursor:not-allowed
}
button:focus-visible,a:focus-visible,input:focus-visible {
  outline:3px solid #e7a939;
  outline-offset:3px
}
header {
  height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 32px;
  background:white;
  border-bottom:1px solid #d8e0e8
}
body.validating-prices #price-access {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  color:#004600;
  text-decoration:none;
  font-weight:800;
  font-size:22px;
  letter-spacing:1px
}
.brand small {
  display:block;
  font-size:10px;
  letter-spacing:2px;
  margin-top:4px
}
.brand-mark {
  background:#004600;
  color:white;
  border-radius:9px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  font-size:29px
}
#cart-open {
  background:#004600;
  color:white;
  border:0
}
#cart-count {
  background:#ffffff25;
  border-radius:20px;
  margin-left:12px;
  padding:4px 9px
}
.notice {
  font-size:14px;
  text-align:center;
  padding:5px 10px;
  background:#f6f8fa;
  color:#45566c;
  min-height:25px
}
main {
  flex:1;
  min-height:0
}
#stage {
  height:calc(100dvh - 194px);
  min-height:280px;
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  padding:12px 0
}
#book {
  margin:auto
}
.page {
  background:white;
  overflow:hidden
}
.page img {
  width:100%;
  height:100%;
  display:block;
  object-fit:fill
}
.hotspot {
  position:absolute;
  background:transparent;
  border:0;
  border-radius:4px;
  min-height:0;
  padding:0;
  z-index:3;
  touch-action:manipulation
}
.hotspot:hover,.hotspot:focus-visible {
  background:#24dec137;
  outline:2px solid #19bda3
}
.areas .hotspot {
  background:#08a98c30;
  outline:2px solid #08a98c
}
.areas .hotspot::after {
  content:attr(data-code);
  position:absolute;
  top:100%;
  left:0;
  font:11px Arial;
  color:#062c29;
  background:#b8fff0;
  padding:1px 3px;
  white-space:nowrap
}
footer {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:6px 20px;
  background:white;
  border-top:1px solid #d8e0e8;
  max-height:50px
}
footer label {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px
}
#prev,
#next {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
#page-number {
  width:64px;
  padding:9px 6px;
  border:1px solid #ccd5df;
  border-radius:6px;
  text-align:center;
  max-height:35px;
  color: #004600
}
.divider {
  height:25px;
  width:1px;
  background:#d8e0e8;
  margin:0 8px
}
.review-control {
  color:#526376;
  display:none
}
dialog {
  border:0;
  border-radius:14px;
  padding:32px;
  width:min(700px,calc(100% - 24px));
  max-height:90dvh;
  box-shadow:0 25px 90px #001b3b55;
  color:#004600
}
dialog::backdrop {
  background:#07162ed6;
  backdrop-filter:blur(4px)
}
.close {
  position:absolute;
  right:10px;
  top:10px;
  font-size:25px;
  line-height:1;
  border:0;
  background:transparent;
  width:44px;
  padding:0
}
.eyebrow {
  font-size:11px;
  letter-spacing:1.5px;
  color:var(--green);
  font-weight:700;
  margin:8px 0 18px
}
h1 {
  font-size:23px;
  line-height:1.3;
  margin:0 20px 10px 0
}
.muted {
  font-size:14px;
  line-height:1.5;
  color:#004600
}
.price-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:10px 0;
  border-top:1px solid #e2e6ec
}
.price-row strong {
  font-size:18px;
  white-space:nowrap
}
.quantity-label {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 10px
}
.quantity-label input {
  width:85px;
  padding:10px;
  border:1px solid #ccd5df;
  border-radius:6px
}
.primary {
  background:var(--green);
  color:white;
  border:0;
  width:100%;
  margin-top:8px
}
.primary:hover {
  background:#056052
}
.cart-item {
  padding:5px 0;
  border-top:1px solid #e2e6ec
}
.cart-item p {
  margin:0 0 8px;
  line-height:1.4
}
.cart-item small {
  color:#004600
}
.cart-item button, #cart-clear {
  font-size:13px;
}
.cart-item button {
  float:right;
  margin-left:8px
}
.cart-item input {
  width:70px;
  padding:8px;
  border:1px solid #ccd5df;
  border-radius:5px;
  margin:3px
}
.brand-logo {
  display: block;
  width: auto;
  height: 40px;
  max-width: 100%;
}
.configuracao-icon {
    display: block;
    width: 24px;
    height: 24px;
}
.pdf-icon {
    display: block;
    width: 24px;
    height: 24px;
}
.carrinho-icon {
    display: block;
    width: 24px;
    height: 24px;
}
#zoom-dialog {
  width:96vw;
  max-width:none;
  height:94dvh;
  padding:55px 20px 20px;
  overflow:auto;
  background:#dfe5ed
}
#zoom-dialog .close {
  position:sticky;
  top:0;
  float:right;
  z-index:10;
  background:white
}
#zoom-pages {
  display:flex;
  align-items:flex-start;
  gap:4px;
  width:max-content
}
#zoom-pages .zoom-page {
  position:relative;
  width:1000px
}
#zoom-pages img {
  width:100%;
  display:block
}
#toast {
  position:fixed;
  bottom:100px;
  left:50%;
  transform:translateX(-50%);
  background:#063d68;
  color:white;
  padding:12px 20px;
  border-radius:8px;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s;
  z-index:20
}
#toast.visible {
  opacity:1
}
@media(max-width:700px) {
  header {
    height:64px;
    padding:0 14px
  }
  header button,
  footer button,
  #search-bar button {
	max-height: 35px;
  }
  .header-actions .pdf-text,
  .header-actions .configuracao-text,
  .header-actions .carrinho-text  {
    display: none;
  }
  .header-actions .pdf-icon,
  .header-actions .configuracao-icon,
  .header-actions .carrinho-icon {
	display: block;
	width: 24px;
	height: 24px;
  }
  .header-actions button,
  #search-bar button {
	max-height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 6px 10px;
  }
  .brand {
    font-size:17px;
    gap:8px
  }
  .brand small {
    font-size:8px;
    letter-spacing:1px
  }
  .brand-mark {
    width:34px;
    height:34px;
    font-size:24px
  }
  #cart-open {
    font-size:14px;
    padding:8px 10px
  }
  #cart-count {
    margin-left:4px
  }
  .notice {
    font-size:12px
  }
  footer {
    /*gap:7px;
    padding:8px;
    flex-wrap:wrap;
    min-height:90px*/
	display:none
  }
  footer button {
    padding:8px 12px
  }
  .divider {
    display:none
  }
  .review-control {
    flex-basis:100%;
    justify-content:center;
    font-size:12px
  }
  #stage {
    height:calc(100dvh - 300px)
  }
  dialog {
    padding:28px 22px
  }
  .price-row strong {
    font-size:16px
  }
  .brand-logo {
    height: 30px;
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important;
    transition:none!important
  }
}
#book {
  max-width:var(--book-width,100%)!important
}
.navigation-link {
  z-index:2
}
.areas .navigation-link {
  outline-color:#f7b733;
  background:#f7b73320
}
.areas .navigation-link::after {
  content:'Página ' attr(data-target-page);
  background:#ffe4a9;
  color:#322100
}
/* Leitor sem animação: navegação e zoom não interceptam cliques nos links. */
.reader {
  position:relative;
  padding:0 46px
}
#stage {
  display:block;
  overflow:auto;
  padding:0;
  overscroll-behavior:contain
}
#book {
  display:flex;
  position:relative;
  max-width:none!important;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:12px;
  user-select:none;
  touch-action:pan-y;
  cursor:zoom-in;
  box-shadow:0 4px 18px #17294025
}
#book.zoomed {
  cursor:zoom-out;
  touch-action:none
}
#book .page {
  position:relative;
  height:100%;
  min-width:0;
  flex-shrink:0
}
#book img {
  pointer-events:none;
  user-select:none
}
#book .hotspot {
  cursor:pointer
}
.hotspot:hover {
  background:transparent;
  outline:none
}
.hotspot:focus-visible {
  background:transparent;
  outline:2px solid #f7b733
}
.side-arrow {
  position:absolute;
  z-index:5;
  top:45%;
  width:42px;
  height:64px;
  padding:0;
  border:0;
  background:transparent;
  font-size:48px;
  font-weight:400;
  line-height:1
}
.side-arrow:hover {
  background:#ffffff88
}
.side-arrow.left {
  left:2px
}
.side-arrow.right {
  right:2px
}
.side-arrow:disabled {
  opacity:.2
}
#product-tooltip {
  position:fixed;
  z-index:100;
  background:#fff;
  color:#182b42;
  border:1px solid #cad3df;
  border-radius:5px;
  box-shadow:0 4px 16px #001b3b30;
  padding:9px 12px;
  max-width:min(430px,calc(100vw - 16px));
  font-size:14px;
  line-height:1.4;
  pointer-events:none
}
#product-tooltip[hidden] {
  display:none
}
.areas .hotspot:hover {
  background:#08a98c30;
  outline:2px solid #08a98c
}
.areas .navigation-link:hover {
  outline-color:#f7b733;
  background:#f7b73320
}
@media(max-width:700px) {
  .reader {
    padding:0 27px
  }
  .side-arrow {
    width:26px;
    font-size:36px
  }
  .side-arrow.left {
    left:0
  }
  .side-arrow.right {
    right:0
  }
}
/* Virada só durante arraste pressionado. Não há efeito de canto no hover. */
#book {
  perspective:2200px
}
#book .turn-sheet {
  position:absolute;
  top:0;
  height:100%;
  z-index:12;
  transform-style:preserve-3d;
  pointer-events:none;
  will-change:transform
}
.turn-front,.turn-back {
  position:absolute;
  inset:0;
  backface-visibility:hidden;
  background:#fff;
  box-shadow:0 0 18px #0005
}
.turn-back {
  transform:rotateY(180deg)
}
.turn-front:after,.turn-back:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#0003,transparent 18%,#fff1 75%,#0002);
  pointer-events:none
}
.turn-sheet img {
  width:100%;
  height:100%;
  object-fit:fill
}
.turn-under {
  position:absolute;
  top:0;
  height:100%;
  z-index:10;
  pointer-events:none
}
.side-arrow {
  transition:none
}
.header-actions {
  display:flex;
  gap:10px;
  align-items:center
}
.header-actions button,
#search-bar button,
#zoom-open {
  /* aqui */
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  /* até aqui */
  font-size:14px
}
#custom-dialog {
  width:min(1500px,96vw);
  height:94dvh;
  max-height:94dvh;
  padding:28px
}
#custom-dialog h1 {
  margin-right:48px
}
.custom-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:24px;
  height:calc(100% - 100px)
}
#page-picker {
  display:block;
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  gap:18px;
  overflow:auto;
  align-content:start;
  padding:5px 12px 12px 3px
}
.pick-page {
  position:relative;
  padding:0;
  border:2px solid transparent;
  background:#eef1f5;
  border-radius:5px;
  overflow:hidden;
  align-self:start
}
.pick-page img {
  display:block;
  width:100%;
  height:auto
}
.pick-label {
  display:block;
  font-size:13px;
  padding:8px
}
.pick-page.chosen {
  border-color:#078573
}
.pick-page.chosen img {
  filter:brightness(.7)
}
.pick-rank:not(:empty) {
  position:absolute;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  min-width:38px;
  height:38px;
  border-radius:50%;
  background:white;
  color:#075e52;
  font-weight:bold
}
.custom-layout aside {
  overflow:auto;
  border-left:1px solid #d8e0e8;
  padding-left:18px
}
.custom-layout h2 {
  font-size:18px;
  margin:6px 0 14px
}
#selection-count {
  color:#078573
}
.selection-actions {
  display:flex;
  gap:8px
}
.selection-actions button {
  font-size:13px
}
#selected-pages {
  padding:0;
  list-style:none
}
#selected-pages li {
  display:grid;
  grid-template-columns:40px 1fr;
  gap:8px;
  align-items:center;
  border-bottom:1px solid #e0e6ee;
  padding:9px 0;
  font-size:14px
}
#selected-pages img {
  width:40px;
  height:auto;
  grid-row:span 2
}
.order-buttons {
  display:flex;
  gap:4px
}
.order-buttons button {
  min-height:28px;
  padding:3px 10px;
  font-size:16px
}
#share-result {
  margin-top:16px
}
#share-result label {
  display:block;
  font-size:13px
}
#share-url {
  width:100%;
  padding:9px;
  border:1px solid #ccd5df;
  border-radius:6px;
  margin:6px 0;
  font-size:13px
}
.button-link {
  display:block;
  text-align:center;
  padding:12px;
  text-decoration:none;
  background:#063d68;
  color:white;
  border-radius:8px;
  margin-top:8px;
  font-weight:600
}
#download-dialog progress {
  width:100%;
  height:20px;
  margin:15px 0
}
#cancel-download {
  width:100%
}
@media(max-width:700px) {
  header {
    height:auto;
    min-height:50px;
    flex-wrap:wrap;
    padding:5px 5px;
    gap:0px
  }
  .header-actions {
    gap:6px;
    width:50%;
    justify-content:right
  }
  .header-actions button,
  #search-bar button  {
    font-size:12px;
    min-height:35px;
    padding:6px 10px
  }
  #stage {
    height:calc(100dvh - 242px)
  }
  #custom-dialog {
    padding:20px 14px
  }
  .custom-layout {
    grid-template-columns:1fr;
    height:auto
  }
  .custom-layout aside {
    border:0;
    padding:0;
    overflow:visible
  }
  #page-picker {
    height:42dvh;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    padding:2px
  }
  #selected-pages {
    max-height:25dvh;
    overflow:auto
  }
  .pick-label {
    font-size:11px;
    padding:5px
  }
}
#price-access {
  text-align:center;
  background:#f6f8fa;
  font-size:14px;
  color:#45566c
}
#price-status:not(:empty) {
  display:block;
  padding:8px
}
#price-challenge {
  max-width:320px;
  margin:8px auto
}
#price-retry {
  margin:8px;
  font-size:14px
}
#price-access:has(#price-status:not(:empty))~.reader #stage {
  height:calc(100dvh - 254px)
}



/* Altura disponível real, incluindo barras que aparecem durante a consulta. */
body { height:100dvh; min-height:0; }
header, footer, .notice, #price-access, #search-bar { flex-shrink:0; }
.reader { flex:1 1 0; min-height:0; }
.reader #stage, #price-access:has(#price-status:not(:empty))~.reader #stage {
  position:absolute; inset:0 46px; height:auto; min-height:0;
}
#search-bar { 
  display:flex; 
  align-items:center; 
  gap:6px; 
  flex-wrap:wrap; 
  padding:6px 14px; 
  background:white;
  justify-content: center;  
}
#search-bar[hidden] { display:none; }
#search-input {
  flex: 1;
  min-width: 100px;
  max-width: 500px;
  padding: 7px;
  border: 1px solid #ccd5df;
  border-radius: 6px;
}
/* Resultado sempre abaixo: não desloca o campo nem os botões. */
#search-status {
  flex:0 0 100%;
  order:2;
  min-width:0;
  min-height:18px;
  line-height:18px;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align: center;
}
#search-close {
  margin-left: 0;
}
#book .hotspot.search-match { outline:3px solid #e7a939; background:#e7a93935; }
@media(max-width:700px) {
  .reader #stage, #price-access:has(#price-status:not(:empty))~.reader #stage { inset:0 27px; }
  .header-actions { width:auto; gap:3px; }
  .header-actions button,
  #search-bar button  {
	min-width:32px;
	padding:6px;
  }
  #search-bar { padding:6px; gap:4px; }
  #search-bar button { padding:7px 10px; }
  #search-status { flex-basis:100%; order:2; }
}

/* Reordenação da seleção sem reconstruir miniaturas. */
#selected-pages .selection-draggable { cursor:grab; touch-action:none; user-select:none; }
#selected-pages .selection-draggable:focus-visible { outline:2px solid #e7a939; outline-offset:2px; }
#selected-pages .order-buttons { position:relative; z-index:1; }
#selected-pages .order-buttons button { cursor:pointer; }
#selected-pages .selection-dragging { opacity:.55; }
#selected-pages .selection-dragging { cursor:grabbing; }
#selected-pages .selection-drop-before { box-shadow:inset 0 3px #087967; }
#selected-pages .selection-drop-after { box-shadow:inset 0 -3px #087967; }

/* Evita arraste nativo de imagens/texto durante pequenos movimentos do clique. */
#page-picker { user-select:none; -webkit-user-select:none; }
#page-picker img, #selected-pages img { -webkit-user-drag:none; }

/* Carrinho persistido: título e ação no mesmo alinhamento. */
.cart-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-bottom:10px; }
.cart-heading h1 { margin:0; }
#cart-clear { flex:none; }
#cart-status { font-size:14px; margin:8px 0; }
#cart-status:empty { display:none; }
#cart-sync-retry { margin:0 0 12px; }
#cart-sync-retry[hidden] { display:none; }


/* Controles inferiores compactos e respiro vertical das páginas. */
footer { gap:9.6px; padding:4.8px 16px; max-height:40px; font-size:12.8px; }
footer button { height:28px; min-height:0; max-height:28px; padding:4px 12px; font-size:12.8px; line-height:1; border-radius:6px; }
footer label { gap:6.4px; font-size:11.2px; }
footer #page-number { width:51px; height:28px; min-height:0; max-height:28px; padding:4px 5px; font-size:12.8px; }
footer .divider { height:20px; margin:0 6.4px; }
#notice { font-size:11.2px; padding:4px 8px; min-height:20px; }
#book { margin-bottom:6px; }

#product-name {
  font-size: 20px;
}
#product-code {
  margin: 6px 0;
}
/* Aviso temporário sobreposto: não reduz a área do catálogo. */
#price-notice {
  position:fixed;
  top:6px;
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:calc(100% - 32px);
  padding:8px 14px;
  border:1px solid #a65f24;
  border-radius:8px;
  background:#fff;
  color:#004600;
  box-shadow:0 4px 18px #0002;
  font-size:14px;
  text-align:center;
  pointer-events:none;
  z-index:25;
}

/* Celular: páginas sem espaço reservado para setas ou margens internas. */
@media (max-width:700px) {
  .reader { padding:0; }
  .reader #stage,
  #price-access:has(#price-status:not(:empty))~.reader #stage {
    inset:0;
    padding:0;
  }
  .reader .side-arrow { display:none; }
  #book { margin-bottom:0; }
}

/* Identificação visual do ambiente configurado em api-config.json. */
header.catalog-test {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,280px) minmax(0,1fr);
  height:auto;
  min-height:50px;
  column-gap:12px;
}
#environment-notice {
  grid-column:2;
  grid-row:1;
  margin:0;
  padding:4px 0;
  color:#b42318;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  text-align:center;
}
#environment-notice[hidden] { display:none; }
header.catalog-test .brand { grid-column:1; grid-row:1; }
header.catalog-test .header-actions {
  grid-column:3;
  grid-row:1;
  justify-self:end;
  justify-content:flex-end;
  flex-wrap:wrap;
  max-width:100%;
  padding:4px 0;
}
@media(max-width:700px) {
  header.catalog-test {
    display:flex;
    flex-wrap:wrap;
    column-gap:0;
    padding-bottom:0;
  }
  header.catalog-test .header-actions { padding:0; }
  #environment-notice {
    order:3;
    flex:0 0 100%;
    margin-top:4px;
    padding:4px 2px;
    border-top:1px solid #f1d5d2;
    font-size:11px;
  }
}

/* Preserva uma linha de controles quando o aviso ocupa o centro. */
@media(min-width:701px) and (max-width:1500px) {
  header.catalog-test .pdf-text,
  header.catalog-test .configuracao-text,
  header.catalog-test .carrinho-text { display:none; }
  header.catalog-test .header-actions { gap:4px; }
  header.catalog-test .header-actions button { padding:6px; }
}

/* Informação de múltiplo junto à quantidade. */
.multiple-notice, .cart-item .multiple-notice {
  display:block;
  color:#B94F3D;
  font-size:11px;
  font-weight:400;
  line-height:1.35;
  margin-top:0px;
}
.multiple-notice[hidden] { display:none; }
.cart-item input[aria-invalid="true"] { border-color:#B94F3D; }

/* Confirmação do registro antes de sair para o WhatsApp. */
#cart-whatsapp, #cart-whatsapp-reopen { display:block; padding:9px 15px; margin:8px 0 0; line-height:normal; }
#cart-whatsapp-reopen { text-align:center; border-radius:8px; text-decoration:none; overflow-wrap:anywhere; font-weight:600; }
#cart-whatsapp-reopen[hidden], #cart-whatsapp[hidden], #cart-discard-pending[hidden] { display:none; }

/* Ações de recuperação no mesmo espaço do envio. */
.cart-recovery-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; margin-top:8px; }
.cart-recovery-actions[hidden] { display:none; }
.cart-recovery-actions.single-action { grid-template-columns:1fr; }
.cart-recovery-actions button { width:100%; min-width:0; min-height:42px; margin:0; padding:9px 8px; border-radius:8px; font-size:13px; line-height:1.25; font-weight:600; white-space:normal; }
.cart-recovery-actions #cart-sync-retry { margin:0; background:#edf6f3; border-color:#b9d9ce; color:#086b5c; }
.cart-recovery-actions #cart-sync-retry:hover:not(:disabled) { background:#deeee7; }
.cart-recovery-actions #cart-discard-pending { background:#fff7f4; border-color:#ebcec6; color:#9a493b; }
.cart-recovery-actions #cart-discard-pending:hover:not(:disabled) { background:#fbeae4; }
.cart-recovering #cart-whatsapp-reopen { display:none; }
#product-sync-retry { width:100%; margin-top:8px; padding:10px; background:#edf6f3; border-color:#b9d9ce; color:#086b5c; font-size:13px; }
#product-sync-retry[hidden] { display:none; }

/* Alternativas leves ao envio, preservando a ação principal. */
.cart-export-actions { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.cart-export-actions button { flex:1 1 180px; margin:0; padding:10px; font-size:13px; border-radius:8px; background:#edf6f3; border:1px solid #b9d9ce; color:#086b5c; }
.cart-export-actions button[hidden] { display:none; }
.cart-export-actions:not(:has(button:not([hidden]))) { display:none; }

/* Uniformiza as fontes das ações principais do carrinho. */
#cart-whatsapp,
#cart-whatsapp-reopen,
#cart-dialog .cart-export-actions button,
#cart-dialog > button.primary[data-close] {
  font-size:15px;
}

/* Apresentação simplificada imediatamente após a confirmação do envio. */
#cart-confirmation[hidden] { display:none; }
#cart-confirmation h1 { margin:0 0 12px; font-size:22px; }
#cart-confirmation p { margin:0 0 18px; }
#cart-dialog.cart-sent > .eyebrow,
#cart-dialog.cart-sent > .cart-heading,
#cart-dialog.cart-sent > #cart-items,
#cart-dialog.cart-sent > .price-row,
#cart-dialog.cart-sent > #cart-status,
#cart-dialog.cart-sent > #cart-whatsapp,
#cart-dialog.cart-sent > #cart-recovery-actions { display:none; }
#cart-dialog.cart-sent #cart-whatsapp-reopen:not([hidden]) { display:block; }

/* Falha e nova tentativa ficam na própria página, sem perder o carrinho. */
.page-image-status { position:absolute; inset:0; z-index:12; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:20px; background:#fff; text-align:center; font-size:14px; }
.page-image-status[hidden] { display:none; }
.page-image-status button { max-width:100%; min-height:44px; }
.page-image-status button[hidden] { display:none; }
.page-loading > .hotspot, .page-failed > .hotspot { visibility:hidden; }
body.validating-prices #price-access { padding:6px 12px; font-size:13px; }

/* Menus respondem ao primeiro toque sem aguardar reconhecimento de duplo toque. */
header button, header .brand { touch-action:manipulation; }
