﻿:root {
  --cor-branco: #ffffff;
  --cor-preto: #000000;
  --cor-fundo: #FBFBFB;

  --cor-gelo: #F2F3F8;
  --cor-cinza: #C2C2C2;
  --cor-marca: #290091;
  --cor-roxo: #2C0098;
  --cor-verde: #3CC251;
  --cor-verde-claro: #E8F8EC;

  --f0: clamp(0.5rem, 1vw, 0.7rem);
  --f1: clamp(0.7rem, 1vw, 0.9rem);
  --f2: clamp(0.9rem, 1vw, 1.1rem);
  --f3: clamp(1.1rem, 1vw, 1.3rem);
  --f4: clamp(1.3rem, 1vw, 1.5rem);
  --f5: clamp(1.5rem, 1vw, 1.8rem);
  --f6: clamp(1.8rem, 1vw, 2.2rem);
  --f7: clamp(2.2rem, 1vw, 2.5rem);
  --f8: clamp(3rem, 1vw, 4rem);

  --estilo: 'CocoSharp-Bold';
  --bold: 'CocoSharp-Bold';
  --light: 'CocoSharp-Regular';
  --cairo-regular: 'Cairo-Regular';
  --cairo-bold: 'Cairo-Bold';
  --cairo-light: 'Cairo-Light';
  --inter-bold: 'Inter-Bold';
  --poppins-bold: 'Poppins-Bold';
}

/* CocoSharp Trial */
@font-face {
  font-family: 'CocoSharp-Regular';
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/cocosharp-regular.woff') format('woff');
}
@font-face {
  font-family: 'CocoSharp-Bold';
  font-weight: bold;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/cocosharp-bold.woff') format('woff');
}

/* Cairo */
@font-face {
  font-family: 'Cairo-Regular';
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/cairo-regular.woff') format('woff');
}
@font-face {
  font-family: 'Cairo-Bold';
  font-weight: bold;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/cairo-bold.woff') format('woff');
}
@font-face {
  font-family: 'Cairo-Light';
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/cairo-light.woff') format('woff');
}

/* Inter */
@font-face {
  font-family: 'Inter-Bold';
  font-weight: bold;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/inter-bold.woff') format('woff');
}

/* Poppins */
@font-face {
  font-family: 'Poppins-Bold';
  font-weight: bold;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/poppins-bold.woff') format('woff');
}

/* Fallback fonts */
@font-face {
  font-family: 'figtree-light';
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/figtree-light.woff') format('woff');
}
@font-face {
  font-family: 'figtree-bold';
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url('//d2az8otjr0j19j.cloudfront.net/templates/007/345/878/twig/static/figtree-bold.woff') format('woff');
}

/* --- normalizar.css --- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-decoration: none;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  background-color: var(--cor-branco);
  scroll-behavior: smooth;
}
body {
  margin: 0;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  background-color: var(--cor-fundo);
  -webkit-text-size-adjust: none;
  touch-action: pan-x pan-y;
  /* padding-top Removido para Nuvemshop pra n dar espaÃ§o no topo */
}
*::-webkit-scrollbar {
  display: none;
}
* {
  scrollbar-width: none;
}
body.bloquear {
  overflow: hidden;
}
::selection {
  color: var(--cor-branco);
  background-color: var(--cor-marca);
}
a, img, svg, button {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -khtml-user-select: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  -webkit-text-size-adjust: none;
  -webkit-touch-callout: none;
  -o-user-select: none;
  -webkit-appearance: none !important;
  appearance: none !important;
}
button, a {
  cursor: pointer !important;
}
a {
  background-color: transparent;
  cursor: pointer;
}
img {
  border-style: none;
}
button {
  line-height: 1;
  margin: 0;
  -moz-appearance: none !important;
  -webkit-appearance: button;
  appearance: button;
  text-transform: none;
  overflow: visible;
  cursor: pointer;
}
button * {
  pointer-events: none;
}
input {
  line-height: 1;
  -moz-appearance: none !important;
  appearance: none !important;
  overflow: visible;
}
textarea {
  line-height: 1;
  -moz-appearance: none !important;
  appearance: none !important;
  overflow: auto;
}
[type='button'] {
  -webkit-appearance: button;
  appearance: button;
  cursor: pointer;
}
button::-moz-focus-inner,
[type='button']::-moz-focus-inner {
  border-style: none;
}
[hidden] {
  display: none;
  opacity: 0;
  visibility: hidden;
}
input[type='date']::-webkit-inner-spin-button,
input[type='date']::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 100px var(--cor-escuro-1) inset !important;
  border: 2px solid transparent !important;
}
input:-webkit-autofill {
  -webkit-text-fill-color: var(--cor-escuro-1) !important;
}
input[type='date'] {
  min-width: calc(100% - 24px);
}
b {
  font-weight: bold !important;
}
i {
  font-style: italic !important;
}

/* --- botoes.css (corrigido para nao ocultar conteudo) --- */
button:not(.cart-close-btn):not(.cart-item-qty-btn):not(.cart-item-remove):not([class*="icone"]):not([class*="close"]),
a[class*="btn"],
input[type="button"],
input[type="submit"] {
  position: relative;
  transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

button:not(.cart-close-btn):not(.cart-item-qty-btn):not(.cart-item-remove):not([class*="icone"]):not([class*="close"])::before,
button:not(.cart-close-btn):not(.cart-item-qty-btn):not(.cart-item-remove):not([class*="icone"]):not([class*="close"])::after,
a[class*="btn"]::before,
a[class*="btn"]::after,
input[type="button"]::before,
input[type="button"]::after,
input[type="submit"]::before,
input[type="submit"]::after {
  display: none !important;
  content: none !important;
}

button:not(.cart-close-btn):not(.cart-item-qty-btn):not(.cart-item-remove):not([class*="icone"]):not([class*="close"]):hover,
a[class*="btn"]:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  transform: translateY(-2px) scale(1.02);
}

button:not(.cart-close-btn):not(.cart-item-qty-btn):not(.cart-item-remove):not([class*="icone"]):not([class*="close"]):active,
a[class*="btn"]:active,
input[type="button"]:active,
input[type="submit"]:active {
  transform: translateY(-1px) scale(0.99);
}


/* BAOFENG V2 UX POLISH */
.template-product #single-product .row.section-single-product {
  align-items: flex-start;
  gap: 22px;
}
.template-product #single-product [data-store^="product-info"] {
  background: #ffffff;
  border: 1px solid #dce4f1;
  border-radius: 22px;
  box-shadow: 0 14px 28px rgba(16, 26, 58, 0.06);
  padding: 24px 22px;
}
.template-product #single-product h1,
.template-product #single-product h2,
.template-product #single-product h3,
.template-product #single-product h4,
.template-product #single-product h5,
.template-product #single-product p,
.template-product #single-product span,
.template-product #single-product a,
.template-product #single-product strong {
  line-height: 1.45;
}
.template-product #single-product .page-header,
.template-product #single-product .breadcrumbs,
.template-product #single-product .price-container,
.template-product #single-product .js-product-promo-container,
.template-product #single-product .js-product-payments-container,
.template-product #single-product .free-shipping-message,
.template-product #single-product #product-shipping-container,
.template-product #single-product .js-added-to-cart-product-message {
  margin-bottom: 16px !important;
}
.template-product #single-product .js-price-display {
  font-size: clamp(2rem, 2.7vw, 3rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.03em;
  color: #101a3a !important;
}
.template-product #single-product #price_total_display,
.template-product #single-product .product-detail-installments,
.template-product #single-product .js-product-discount-container,
.template-product #single-product .free-shipping-message,
.template-product #single-product .js-added-to-cart-product-message,
.template-product #single-product .js-shipping-calculator-current-zip,
.template-product #single-product .shipping-method,
.template-product #single-product .radio-button-text,
.template-product #single-product .text-primary {
  color: #3f4b69 !important;
}

/* Shipping selector: clean card UX without visible check icon */
.template-product #single-product .js-shipping-calculator-response,
#modal-cart .js-shipping-calculator-response {
  display: grid;
  gap: 10px;
}
.template-product #single-product .js-shipping-calculator-response ul,
.template-product #single-product .js-shipping-calculator-response ol,
#modal-cart .js-shipping-calculator-response ul,
#modal-cart .js-shipping-calculator-response ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.template-product #single-product .js-shipping-list-item,
#modal-cart .js-shipping-list-item {
  list-style: none;
  margin: 0;
  padding: 0;
}
.template-product #single-product .js-shipping-radio.list-item,
#modal-cart .js-shipping-radio.list-item {
  border: 1px solid #d8e2ef !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  padding: 12px 14px !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.template-product #single-product .js-shipping-radio.list-item:hover,
#modal-cart .js-shipping-radio.list-item:hover {
  border-color: #79a2ec !important;
  box-shadow: 0 8px 16px rgba(36, 95, 210, 0.10) !important;
  transform: translateY(-1px);
}
.template-product #single-product .js-shipping-radio .radio-button-icons-container,
#modal-cart .js-shipping-radio .radio-button-icons-container {
  display: none !important;
}
.template-product #single-product .js-shipping-radio .radio-button-content,
#modal-cart .js-shipping-radio .radio-button-content {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.template-product #single-product .js-shipping-method:checked + .radio-button-content,
.template-product #single-product .js-shipping-method.js-selected-shipping-method + .radio-button-content,
#modal-cart .js-shipping-method:checked + .radio-button-content,
#modal-cart .js-shipping-method.js-selected-shipping-method + .radio-button-content {
  border: 0 !important;
  background: transparent !important;
}
.template-product #single-product .js-shipping-method:checked,
.template-product #single-product .js-shipping-method.js-selected-shipping-method,
#modal-cart .js-shipping-method:checked,
#modal-cart .js-shipping-method.js-selected-shipping-method {
  outline: none;
}
.template-product #single-product .js-shipping-method:checked ~ .radio-button-content,
.template-product #single-product .js-shipping-method.js-selected-shipping-method ~ .radio-button-content,
#modal-cart .js-shipping-method:checked ~ .radio-button-content,
#modal-cart .js-shipping-method.js-selected-shipping-method ~ .radio-button-content {
  color: #0f1b3e;
}
.template-product #single-product .js-shipping-radio:has(.js-shipping-method:checked),
.template-product #single-product .js-shipping-radio:has(.js-shipping-method.js-selected-shipping-method),
#modal-cart .js-shipping-radio:has(.js-shipping-method:checked),
#modal-cart .js-shipping-radio:has(.js-shipping-method.js-selected-shipping-method) {
  border-color: #2f66d8 !important;
  box-shadow: 0 0 0 2px rgba(47, 102, 216, 0.15), 0 8px 18px rgba(47, 102, 216, 0.10) !important;
  background: #f5f9ff !important;
}

.template-product #single-product .js-shipping-input,
#modal-cart .js-shipping-input {
  min-height: 46px !important;
  border-radius: 12px !important;
  border: 1px solid #c8d5e8 !important;
  background: #ffffff !important;
  padding: 12px 14px !important;
}
.template-product #single-product .btn-calc-frete,
#modal-cart .btn-calc-frete {
  min-height: 44px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #39cb5b 0%, #30b74d 100%) !important;
  border: 1px solid #31b84f !important;
  color: #ffffff !important;
}
.template-product #single-product .js-shipping-calculator-change-zipcode,
#modal-cart .js-shipping-calculator-change-zipcode {
  min-height: 42px !important;
  border-radius: 999px !important;
  background: #ecf3ff !important;
  border: 1px solid #d3e1fb !important;
  color: #245fd2 !important;
}

/* Native cart modal layout */
#modal-cart {
  width: min(440px, 100vw) !important;
  max-width: 100vw !important;
  left: auto !important;
  right: 0 !important;
}
#modal-cart .modal-header {
  padding: 18px 20px !important;
  border-bottom: 1px solid #e6edf7 !important;
  background: #ffffff !important;
}
#modal-cart .modal-body {
  padding: 14px 20px 18px !important;
  background: #ffffff !important;
}
#modal-cart ul,
#modal-cart ol,
#modal-cart li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}
#modal-cart .js-ajax-cart-list {
  display: grid;
  gap: 12px;
}
#modal-cart .js-ajax-cart-list .js-cart-item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 36px;
  gap: 10px 12px;
  align-items: start;
  border: 1px solid #e1e8f3;
  border-radius: 14px;
  padding: 12px;
  margin: 0;
  background: #ffffff;
}
#modal-cart .js-ajax-cart-list .js-cart-item > [class*="col-"] {
  float: none !important;
  max-width: none !important;
  flex: unset !important;
  width: auto !important;
  padding: 0 !important;
}
#modal-cart .js-ajax-cart-list .js-cart-item > div:nth-child(2) {
  min-width: 0;
}
#modal-cart .js-ajax-cart-list .js-cart-item > div:nth-child(2) > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
}
#modal-cart .js-ajax-cart-list .cart-item-name {
  grid-column: 1 / -1;
  margin: 0;
  min-width: 0;
}
#modal-cart .cart-item-name,
#modal-cart .cart-item-name a {
  color: #101a3a !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}
#modal-cart .cart-item-subtotal,
#modal-cart .js-cart-item-subtotal,
#modal-cart .js-cart-total,
#modal-cart .js-cart-subtotal,
#modal-cart #shipping-cost {
  color: #101a3a !important;
  font-family: var(--bold), sans-serif;
}
#modal-cart .cart-item-quantity-counter {
  border: 1px solid #d6dfed !important;
  border-radius: 999px !important;
  background: #f5f8fc !important;
  padding: 4px 8px !important;
  min-height: 34px !important;
}
#modal-cart .cart-item-qty-btn {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid #c9d6ea;
  background: #ffffff !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#modal-cart .cart-item-delete {
  display: flex;
  justify-content: flex-end;
}
#modal-cart .cart-item-delete .btn {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #ff3158 !important;
  color: #ffffff !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#modal-cart .cart-item-delete .btn svg {
  color: #ffffff !important;
}
#modal-cart #cart-shipping-container,
#modal-cart #shipping-cost-container,
#modal-cart .js-cart-total-container,
#modal-cart .js-ajax-cart-submit,
#modal-cart .js-visible-on-cart-filled[data-store="cart-subtotal"] {
  margin-top: 12px !important;
}
#modal-cart .js-shipping-calculator-head {
  background: #f8fbff !important;
  border: 1px solid #dde7f4 !important;
  border-radius: 14px !important;
  padding: 12px !important;
}
#modal-cart .js-ajax-cart-submit .btn,
#modal-cart input[name="go_to_checkout"] {
  min-height: 52px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #39cb5b 0%, #30b74d 100%) !important;
  border: 1px solid #31b84f !important;
  color: #ffffff !important;
  font-family: var(--bold), sans-serif;
  box-shadow: 0 10px 20px rgba(60, 194, 81, 0.2) !important;
}

@media (max-width: 991px) {
  .template-product #single-product [data-store^="product-info"] {
    margin-top: 14px;
    padding: 18px 16px;
    border-radius: 18px;
  }
  .template-product #single-product .js-price-display {
    font-size: 40px !important;
  }
  #modal-cart {
    width: 100vw !important;
  }
  #modal-cart .modal-body,
  #modal-cart .modal-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  #modal-cart .js-ajax-cart-list .js-cart-item {
    grid-template-columns: 60px minmax(0, 1fr) 32px;
    padding: 10px;
  }
}


/* Fallback selected state for browsers without :has */
.template-product #single-product .js-shipping-radio.is-selected,
#modal-cart .js-shipping-radio.is-selected {
  border-color: #2f66d8 !important;
  box-shadow: 0 0 0 2px rgba(47, 102, 216, 0.15), 0 8px 18px rgba(47, 102, 216, 0.10) !important;
  background: #f5f9ff !important;
}

/* Fix: modal cart quantity counter horizontal layout */
#modal-cart .cart-item .form-quantity.cart-item-quantity,
#modal-cart .cart-item .cart-item-quantity-counter {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  white-space: nowrap;
}

#modal-cart .cart-item .form-quantity.cart-item-quantity .row,
#modal-cart .cart-item .cart-item-quantity-counter .row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}

#modal-cart .cart-item .form-quantity.cart-item-quantity .col,
#modal-cart .cart-item .cart-item-quantity-counter .col {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

#modal-cart .cart-item .js-cart-quantity-input {
  width: 34px !important;
  min-width: 34px !important;
  height: 24px !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-weight: 700 !important;
  color: #101a3a !important;
  padding: 0 !important;
}

#modal-cart .cart-item .cart-item-qty-btn {
  flex: 0 0 24px !important;
  min-width: 24px !important;
}
