/* Tema Fê Isis — página de produto (Nuvemshop / tema Cali) · www.izabelporto.site */
.fs-tema, .template-product {
  /* paleta idêntica à da proposta/simulador (porcelana, areia, tinta, rosé, musgo) */
  --fs-cream: #FBF6F3;
  --fs-sand: #F1E6E1;
  --fs-primary: #E3A6A1;
  --fs-primary-soft: #F6E3E0;
  --fs-accent: #9E5A54;
  --fs-dark: #1D1617;
  --fs-line: #E7DAD5;
  --fs-muted: #6B5E5F;
  --fs-moss: #3F6B55;
  --fs-moss-soft: #E6EFE9;
  --fs-ease: cubic-bezier(.16, 1, .3, 1);
}
/* tipografia da proposta */
.fs-tema .fs-eyebrow { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--fs-accent); }
.fs-tema .fs-muted { color: var(--fs-muted); }
.fs-lock, .fs-lock body { overflow: hidden !important; }

/* ── Botões ── */
.fs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 999px; font: inherit; font-weight: 600; cursor: pointer; transition: transform .2s var(--fs-ease), box-shadow .25s var(--fs-ease), background .25s var(--fs-ease); text-decoration: none; }
.fs-btn:active { transform: scale(.97); }
.fs-btn:focus-visible { outline: 2px solid var(--fs-accent); outline-offset: 2px; }
.fs-btn-dark { background: var(--fs-dark); color: #fff; padding: 11px 18px; font-size: 13px; }
.fs-tema a.fs-btn-dark, .fs-tema a.fs-btn-dark:hover, .fs-tema a.fs-btn-dark:focus,
.fs-tema button.fs-btn-dark, .fs-tema a.fs-btn-try, .fs-tema a.fs-btn-try:hover, .fs-tema a.fs-btn-try:focus { color: #fff; text-decoration: none; } /* vence a cor de link do Cali */
.fs-btn-dark:hover { background: #000; }
.fs-btn-ghost { background: #fff; color: var(--fs-dark); border: 1px solid var(--fs-line); padding: 8px 14px; font-size: 12px; }
.fs-btn-ghost:hover { border-color: var(--fs-primary); }
.fs-btn-ghost svg { color: var(--fs-accent); }
.fs-btn-sm { padding: 6px 12px; font-size: 12px; }
.fs-btn-try { background: linear-gradient(135deg, #E3A6A1, #C98079); color: #fff; padding: 11px 18px; font-size: 13px; box-shadow: 0 8px 24px rgba(201,128,121,.32); }
.fs-btn-try:hover { box-shadow: 0 10px 30px rgba(201,128,121,.48); }

/* Botão comprar do tema */
.fs-tema .js-product-form .btn-add-to-cart,
.fs-tema .js-product-form .js-addtocart.btn-primary { border-radius: 999px !important; background: var(--fs-dark) !important; border-color: var(--fs-dark) !important; color: #fff !important; font-weight: 600; letter-spacing: .02em; min-height: 52px; transition: background .25s var(--fs-ease), transform .2s var(--fs-ease); }
.fs-tema .js-product-form .btn-add-to-cart:hover { background: #000 !important; }
.fs-tema .js-product-form .btn-add-to-cart:active { transform: scale(.98); }
.fs-tema .form-quantity-product { border-radius: 999px; overflow: hidden; }

/* Experimentar */
.fs-try-btn { width: 100%; padding: 15px 20px; font-size: 15px; margin: 6px 0 4px; }
.fs-try-hint { font-size: 12px; color: var(--fs-muted); text-align: center; margin: 0 0 14px; }

/* ── Tamanhos ── */
.fs-tema .js-product-variants-group { margin-bottom: 14px !important; }
.fs-tema .js-product-variants-group > .form-label { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--fs-muted); font-weight: 600; }
.fs-tema .fs-sizes .btn-variant { min-width: 48px; padding: 10px 14px; margin: 0 6px 8px 0; border-radius: 12px !important; border: 1.5px solid var(--fs-line) !important; background: #fff !important; color: var(--fs-dark) !important; font-weight: 600; font-size: 13px; transition: border-color .2s var(--fs-ease), background .2s var(--fs-ease); position: relative; }
.fs-tema .fs-sizes .btn-variant:hover { border-color: var(--fs-primary) !important; }
.fs-tema .fs-sizes .btn-variant.selected { background: var(--fs-dark) !important; border-color: var(--fs-dark) !important; color: #fff !important; }
.fs-tema .fs-sizes .btn-variant.fs-is-rec::after { content: "★"; position: absolute; top: -7px; right: -6px; width: 16px; height: 16px; border-radius: 999px; background: var(--fs-accent); color: #fff; font-size: 9px; line-height: 16px; text-align: center; }
.fs-size-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: -2px 0 10px; flex-wrap: wrap; }
.fs-rec-chip { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; color: var(--fs-accent); background: var(--fs-primary-soft); border-radius: 999px; padding: 3px 10px; }
.fs-rec-chip:empty { display: none; }
.fs-rec-chip svg { width: 12px; height: 12px; }

/* ── Bolinhas de cor ── */
.fs-tema .fs-colors .btn-variant.fs-swatch { width: 42px; height: 42px; min-width: 0; padding: 3px !important; margin: 0 8px 8px 0; border-radius: 999px !important; border: 1.5px solid var(--fs-line) !important; background: #fff !important; display: inline-flex; align-items: center; justify-content: center; box-shadow: none; transition: transform .2s var(--fs-ease), border-color .2s var(--fs-ease); vertical-align: middle; }
.fs-tema .fs-colors .btn-variant.fs-swatch:hover { transform: scale(1.07); border-color: var(--fs-primary) !important; }
.fs-tema .fs-colors .btn-variant.fs-swatch.selected { border-color: var(--fs-dark) !important; box-shadow: 0 0 0 1px var(--fs-dark); }
.fs-tema .fs-colors .btn-variant.fs-swatch .btn-variant-content { display: block; width: 100%; height: 100%; padding: 0; font-size: 0; line-height: 0; }
.fs-swatch-dot { display: block; width: 100%; height: 100%; border-radius: 999px; background-size: cover; background-position: center 40%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.fs-tema .fs-colors .btn-variant.fs-swatch.btn-variant-no-stock,
.fs-tema .fs-colors .btn-variant.fs-swatch.disabled { opacity: .4; position: relative; }

/* ── Abas ── */
.fs-hidden-desc { display: none !important; }
.fs-tabs { margin: 26px 0 8px; padding-top: 16px; border-top: 1px solid var(--fs-line); }
.fs-tablist { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; margin: 0 -2px; padding: 0 2px; }
.fs-tablist::-webkit-scrollbar { display: none; }
.fs-tab { white-space: nowrap; padding: 8px 15px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-size: 13px; font-weight: 600; color: var(--fs-muted); cursor: pointer; transition: background .2s var(--fs-ease), color .2s var(--fs-ease); }
.fs-tab:hover { color: var(--fs-dark); background: #f3ebe9; }
.fs-tab[aria-selected="true"] { background: var(--fs-dark); color: #fff; }
.fs-tabpanel { margin-top: 12px; }
.fs-rich { font-size: 14px; line-height: 1.7; color: #4a4142; }
.fs-rich p { margin: 0 0 .7em; }
.fs-rich ul { padding-left: 1.2em; margin: 0 0 .7em; }
.fs-cols ul { columns: 2; column-gap: 24px; }
.fs-cols li { break-inside: avoid; margin-bottom: 4px; }
@media (max-width: 520px) { .fs-cols ul { columns: 1; } }
.fs-clamp { max-height: 170px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 68%, transparent); mask-image: linear-gradient(#000 68%, transparent); }
.fs-more { border: 0; background: none; padding: 0; margin-top: 6px; font: inherit; font-size: 12px; font-weight: 600; color: var(--fs-accent); cursor: pointer; }
.fs-med-head { display: flex; justify-content: flex-end; margin-bottom: 8px; }

/* ── Tabelas ── */
.fs-tables { display: grid; gap: 14px; }
.fs-eyebrow { margin: 0 0 6px; font-size: 10.5px; letter-spacing: .13em; text-transform: uppercase; font-weight: 600; color: var(--fs-muted); }
.fs-accent { color: var(--fs-accent); }
.fs-table-wrap { overflow-x: auto; border: 1px solid var(--fs-line); border-radius: 14px; background: #fff; }
.fs-table { width: 100%; border-collapse: collapse; font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
.fs-table th { background: #faf3f1; font-weight: 600; padding: 9px 8px; white-space: nowrap; }
.fs-table td { padding: 9px 8px; border-top: 1px solid var(--fs-line); white-space: nowrap; }
.fs-table th:first-child, .fs-table td:first-child { text-align: left; padding-left: 12px; }
.fs-table tr.fs-rec td { background: var(--fs-primary-soft); font-weight: 600; }
.fs-star { color: var(--fs-accent); }

/* ── Modal de medidas ── */
.fs-modal { position: fixed; inset: 0; z-index: 100000; font-family: inherit; color: var(--fs-dark); }
.fs-modal[hidden] { display: none; }
.fs-backdrop { position: absolute; inset: 0; background: rgba(28,23,24,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: fs-fade .25s var(--fs-ease); }
.fs-dialog { position: absolute; left: 0; right: 0; bottom: 0; max-height: 92dvh; overflow-y: auto; background: var(--fs-cream); border-radius: 22px 22px 0 0; padding: 18px 16px 22px; box-shadow: 0 -10px 40px rgba(0,0,0,.25); animation: fs-up .4s var(--fs-ease); }
@media (min-width: 768px) { .fs-dialog { top: 50%; left: 50%; right: auto; bottom: auto; transform: translate(-50%, -50%); width: min(780px, calc(100vw - 48px)); border-radius: 20px; padding: 24px; animation: fs-fade .3s var(--fs-ease); } }
.fs-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.fs-title { margin: 2px 0 0; font-size: 26px; font-weight: 400; line-height: 1.15; }
.fs-icon-btn { width: 38px; height: 38px; flex-shrink: 0; border-radius: 999px; border: 1px solid var(--fs-line); background: #fff; display: grid; place-items: center; cursor: pointer; color: var(--fs-dark); }
.fs-grid { display: grid; gap: 12px; margin-top: 16px; align-items: start; }
@media (min-width: 640px) { .fs-grid { grid-template-columns: 290px 1fr; } }
.fs-card { background: #fff; border-radius: 18px; padding: 14px; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 8px 28px rgba(0,0,0,.06); }
.fs-card-title { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 14px; font-weight: 600; }
.fs-card-title svg { color: var(--fs-accent); }
.fs-figure-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.fs-pills { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }
.fs-pills button { padding: 2px 8px; border-radius: 7px; border: 1px solid var(--fs-line); background: #fff; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; color: var(--fs-dark); }
.fs-pills button.fs-on { background: var(--fs-dark); border-color: var(--fs-dark); color: #fff; }
#smFigure svg { width: 100%; height: auto; display: block; }
.fs-extra { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; margin: 8px 0 0; font-size: 11px; }
.fs-extra div { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--fs-line); padding-bottom: 4px; }
.fs-extra dt { color: var(--fs-muted); }
.fs-extra dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.fs-fignote { margin: 8px 0 0; font-size: 10px; color: var(--fs-muted); }
.fs-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.fs-inputs label { font-size: 11px; color: var(--fs-muted); margin: 0; }
.fs-inputs input { display: block; width: 100%; margin-top: 4px; padding: 10px 11px; font: inherit; font-size: 15px; color: var(--fs-dark); background: #f5f5f7; border: 0; border-bottom: 2px solid transparent; border-radius: 10px; outline: none; transition: border-color .2s, background .2s; }
.fs-inputs input:focus { background: #fff; border-bottom-color: var(--fs-accent); }
#smResult { margin-top: 12px; }
.fs-muted { margin: 0; font-size: 12px; color: var(--fs-muted); }
.fs-result { background: var(--fs-primary-soft); border-radius: 14px; padding: 14px; }
.fs-result > p { margin: 0; font-size: 14px; }
.fs-result strong { font-size: 24px; margin-left: 4px; }
.fs-result ul { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 4px; font-size: 12px; color: #5b4f50; }
.fs-result li { display: flex; gap: 6px; }
.fs-result li svg { color: var(--fs-accent); flex-shrink: 0; margin-top: 3px; }
.fs-chip { display: inline-block; font-size: 10.5px; font-weight: 600; background: #fff; color: var(--fs-accent); border-radius: 999px; padding: 2px 8px; vertical-align: middle; }
.fs-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.fs-note { margin: 12px 0 0; font-size: 11px; color: var(--fs-muted); }
.fs-modal .fs-tables { margin-top: 14px; }

/* ── Provador (modal compacto que acompanha a altura do conteúdo) ── */
.fs-try { position: fixed; inset: 0; z-index: 100001; background: rgba(28,23,24,.45); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); display: none; }
.fs-try.fs-open { display: block; animation: fs-fade .25s var(--fs-ease); }
.fs-try iframe { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 100%; height: min(var(--fs-h, 480px), 94dvh); border: 0; background: #FBF6F3; border-radius: 22px 22px 0 0; transition: height .35s var(--fs-ease); }
@media (min-width: 768px) { .fs-try iframe { top: 50%; bottom: auto; transform: translate(-50%, -50%); width: min(760px, calc(100vw - 48px)); height: min(var(--fs-h, 480px), calc(100dvh - 48px)); border-radius: 22px; box-shadow: 0 30px 80px rgba(0,0,0,.35); } }

@keyframes fs-fade { from { opacity: 0; } }
@keyframes fs-up { from { transform: translateY(24px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .fs-modal *, .fs-try, .fs-try iframe, .fs-btn, .fs-tab { animation: none !important; transition: none !important; } }
/* Nome do produto em caixa normal (a proposta não usa caixa alta artificial) */
.fs-tema.template-product .js-product-name, .fs-tema.template-product h1.js-product-name { text-transform: none; letter-spacing: -.005em; font-weight: 400; }
.fs-tema .breadcrumbs .crumb { text-transform: none; }

/* ── Todas as fotos em 3:4 ── */
/* galeria do produto (swiper do Cali): a foto define a altura, então fixamos a proporção do slide */
.fs-tema .js-swiper-product .js-product-slide, .fs-tema .js-swiper-product .swiper-slide,
.fs-tema .js-product-slider .swiper-slide { aspect-ratio: 3 / 4; height: auto !important; overflow: hidden; border-radius: 24px; background: var(--fs-sand); }
.fs-tema .js-swiper-product .js-product-slide-link { display: block; position: absolute; inset: 0; }
.fs-tema .js-product-slide-img, .fs-tema .product-slider-image { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-height: none !important; object-fit: cover; transform: none !important; }
.fs-tema .js-swiper-product .swiper-wrapper { align-items: stretch; height: auto !important; }
/* miniaturas */
.fs-tema .js-swiper-product-thumbs .swiper-slide, .fs-tema .js-product-slider-thumbs .swiper-slide, .fs-tema .js-slider-thumbs .swiper-slide { aspect-ratio: 3 / 4; overflow: hidden; border-radius: 12px; background: var(--fs-sand); }
.fs-tema .js-swiper-product-thumbs img, .fs-tema .js-product-slider-thumbs img, .fs-tema .js-slider-thumbs img { width: 100%; height: 100%; object-fit: cover; }
/* carrinho e relacionados */
.fs-tema .item-image-cart img, .fs-tema .cart-item-image img, .fs-tema .js-cart-item img { aspect-ratio: 3 / 4; object-fit: cover; border-radius: 10px; }

/* ── Página de produto mais delicada: controles menores, menos peso ── */
.fs-tema.template-product .fs-try-btn { width: auto; min-width: 240px; padding: 11px 22px; font-size: 13.5px; font-weight: 600; box-shadow: 0 6px 18px rgba(201,128,121,.22); }
.fs-tema.template-product .fs-try-hint { text-align: left; font-size: 11.5px; margin-bottom: 16px; }
.fs-tema.template-product .js-product-form .btn-add-to-cart,
.fs-tema.template-product .js-product-form .js-addtocart.btn-primary { min-height: 44px !important; font-size: 13.5px; font-weight: 600; }
.fs-tema.template-product .form-quantity-product { min-height: 44px; }
.fs-tema.template-product .form-quantity-product .form-control { font-size: 14px; }
.fs-tema.template-product .fs-colors .btn-variant.fs-swatch { width: 30px; height: 30px; padding: 2px !important; margin: 0 7px 7px 0; border-width: 1px !important; }
.fs-tema.template-product .fs-sizes .btn-variant { min-width: 38px; padding: 7px 11px; font-size: 12px; font-weight: 500; border-width: 1px !important; border-radius: 10px !important; }
.fs-tema.template-product .js-product-variants-group > .form-label { font-size: 10px; letter-spacing: .14em; margin-bottom: 8px; }
.fs-tema.template-product .fs-size-bar .fs-btn-ghost { padding: 6px 12px; font-size: 11.5px; font-weight: 500; }
/* abas: sublinhado fino no lugar da pílula escura */
.fs-tema.template-product .fs-tab { padding: 6px 2px; margin-right: 18px; font-size: 12.5px; font-weight: 500; border-radius: 0; border-bottom: 1.5px solid transparent; }
.fs-tema.template-product .fs-tab:hover { background: transparent; color: var(--fs-dark); }
.fs-tema.template-product .fs-tab[aria-selected="true"] { background: transparent; color: var(--fs-dark); border-bottom-color: var(--fs-accent); }
.fs-tema.template-product .js-price-display { font-size: clamp(1.15rem, 2.2vw, 1.45rem); font-weight: 400; }

/* ── Card do provador na página de produto (desenho do protótipo) ── */
.fs-tema.template-product .fs-try-card { position: relative; overflow: hidden; margin: 18px 0 12px; padding: 16px; border: 1px solid var(--fs-line); border-radius: 18px; background: #fff; }
.fs-tema.template-product .fs-try-card::after { content: ""; position: absolute; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 999px; background: var(--fs-primary-soft); filter: blur(28px); opacity: .85; }
.fs-tema.template-product .fs-try-head { position: relative; display: flex; align-items: center; gap: 12px; }
.fs-tema.template-product .fs-try-icon { flex: none; width: 38px; height: 38px; border-radius: 12px; background: var(--fs-primary-soft); color: var(--fs-accent); display: grid; place-items: center; }
.fs-tema.template-product .fs-try-title { margin: 0; font-family: var(--heading-font); font-weight: 400; font-size: 1.05rem; line-height: 1.2; }
.fs-tema.template-product .fs-try-card .fs-try-hint { margin: 3px 0 0; font-size: 11.5px; text-align: left; }
.fs-tema.template-product .fs-try-card .fs-try-btn { position: relative; width: 100%; min-width: 0; margin-top: 14px; padding: 12px 20px; }
/* faixa de garantias */
.fs-tema.template-product .fs-garantias { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 16px 0 4px; font-size: 11px; color: var(--fs-muted); text-align: center; }
.fs-tema.template-product .fs-garantias div { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.fs-tema.template-product .fs-garantias svg { color: var(--fs-accent); }
/* botões mais baixos na página de produto */
.fs-tema.template-product .js-product-form .btn-primary,
.fs-tema.template-product .js-product-form .js-addtocart,
.fs-tema.template-product .js-product-form .btn-add-to-cart { min-height: 40px !important; height: 40px; padding: 0 22px !important; font-size: 13px; }
.fs-tema.template-product .form-quantity-product { min-height: 40px; height: 40px; }
.fs-tema.template-product .form-quantity-product .form-control, .fs-tema.template-product .form-quantity-product .btn { height: 38px; min-height: 0; }
.fs-tema.template-product .fs-try-card .fs-try-btn { padding: 9px 18px; min-height: 0; font-size: 13px; }
.fs-tema.template-product .fs-sizes .btn-variant { min-height: 0; padding: 6px 12px; }
.fs-tema.template-product .fs-size-bar .fs-btn-ghost { min-height: 0; padding: 5px 11px; }
/* quantidade: campo centralizado dentro da pílula, sem caixa branca deslocada */
.fs-tema.template-product .form-quantity-product { display: flex; align-items: center; justify-content: space-between; padding: 0 4px; }
.fs-tema.template-product .form-quantity-product .form-control, .fs-tema.template-product .form-quantity-product .js-quantity-input { height: 100%; min-height: 0; padding: 0 2px; border: 0 !important; border-radius: 0; background: transparent; text-align: center; line-height: 38px; box-shadow: none; }
.fs-tema.template-product .form-quantity-product .form-control-container { display: flex; align-items: center; height: 100%; }
.fs-tema.template-product .form-quantity-product .btn { display: grid; place-items: center; height: 100%; min-height: 0; padding: 0 10px; background: transparent; border: 0; }


/* ── global.css ── */
/* Tema Fê Isis — módulo global (Nuvemshop / tema Cali) · www.izabelporto.site
   Escopo: header, menu, busca, carrinho no topo, barra de aviso, rodapé, newsletter,
   cookies, botão WhatsApp, fundo da página, botões e inputs genéricos, breadcrumbs, títulos de página.
   Não estiliza cards de produto nem páginas específicas. */

/* ── Base da página ── */
body.fs-tema { background: var(--fs-cream); color: var(--fs-dark); -webkit-font-smoothing: antialiased; }
.fs-tema a { color: var(--fs-dark); transition: color .25s var(--fs-ease), opacity .25s var(--fs-ease); }
.fs-tema a:hover, .fs-tema a:focus { color: var(--fs-accent); }
.fs-tema h1, .fs-tema .h1, .fs-tema h2, .fs-tema .h2, .fs-tema h3, .fs-tema .h3, .fs-tema .h1-huge { font-weight: 400; letter-spacing: -.005em; line-height: 1.15; color: var(--fs-dark); }
.fs-tema a:focus-visible, .fs-tema button:focus-visible, .fs-tema input:focus-visible, .fs-tema select:focus-visible, .fs-tema textarea:focus-visible { outline: 2px solid var(--fs-accent); outline-offset: 2px; }
.fs-tema .site-overlay, .fs-tema .modal-overlay { background: rgba(28,23,24,.45); }
.fs-tema .placeholder-fade, .fs-tema .placeholder-shine, .fs-tema .placeholder-color { background-color: var(--fs-line); }

/* ── Títulos de página e breadcrumbs ── */
.fs-tema .page-header { margin-bottom: 22px; }
.fs-tema .page-header h1, .fs-tema .page-header .h1 { margin: 0; font-weight: 300; font-size: clamp(1.8rem, 3.5vw, 2.6rem); line-height: 1.1; letter-spacing: -.005em; text-transform: none; }
.fs-tema .breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 7px; margin-bottom: 12px; font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--fs-muted); }
.fs-tema .breadcrumbs .crumb { opacity: 1; color: var(--fs-muted); }
.fs-tema .breadcrumbs a.crumb:hover { color: var(--fs-accent); }
.fs-tema .breadcrumbs .crumb.active { color: var(--fs-dark); }
.fs-tema .breadcrumbs .separator { margin: 0; opacity: 1; font-size: 0; color: var(--fs-primary); } /* troca a barra do Cali por um ponto rosé */
.fs-tema .breadcrumbs .separator::before { content: "·"; font-size: 14px; line-height: 1; }

/* ── Botões genéricos do Cali → pílula ── */
.fs-tema .btn { border-radius: 999px; font-family: var(--body-font); font-weight: 600; line-height: 1.2; transition: background .25s var(--fs-ease), color .25s var(--fs-ease), border-color .25s var(--fs-ease), transform .2s var(--fs-ease), box-shadow .25s var(--fs-ease); }
.fs-tema .btn:hover, .fs-tema .btn:focus { opacity: 1; }
.fs-tema .btn:active { transform: scale(.98); }
.fs-tema .btn[disabled], .fs-tema .btn.disabled, .fs-tema .btn[disabled]:hover, .fs-tema .btn.disabled:hover { opacity: .5; transform: none; }
.fs-tema .btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 24px; background: var(--fs-dark); color: #fff; fill: #fff; border: 1px solid var(--fs-dark); font-size: 14px; letter-spacing: .01em; }
.fs-tema .btn-primary:hover, .fs-tema .btn-primary:focus { background: #000; border-color: #000; color: #fff; }
.fs-tema .btn-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px; background: #fff; color: var(--fs-dark); fill: var(--fs-dark); border: 1px solid var(--fs-line); font-size: 14px; }
.fs-tema .btn-secondary:hover, .fs-tema .btn-secondary:focus { border-color: var(--fs-primary); color: var(--fs-dark); }
.fs-tema .btn-default { border-radius: 999px; background: #fff; color: var(--fs-dark); border: 1px solid var(--fs-line); }
.fs-tema .btn-big { min-height: 52px; padding: 14px 28px; font-size: 15px; }
.fs-tema .btn-medium { min-height: 44px; }
.fs-tema .btn-small { min-height: 36px; padding: 7px 14px; font-size: 12px; line-height: 1.2; }
.fs-tema .btn-block { display: flex; width: 100%; }
.fs-tema input.btn-block { display: block; }
.fs-tema .btn-link { text-decoration: none; font-weight: 600; color: var(--fs-dark); fill: var(--fs-dark); }
.fs-tema .btn-link:hover, .fs-tema .btn-link:focus { color: var(--fs-accent); fill: var(--fs-accent); }
/* botão acoplado ao input (newsletter, frete): bolinha escura dentro do campo */
.fs-tema .btn-append { top: 4px; right: 4px; width: 40px; height: calc(100% - 8px); min-height: 0; padding: 0; border: 0; border-radius: 999px; background: var(--fs-dark); color: #fff; fill: #fff; }
.fs-tema .btn-append:hover { background: #000; }

/* ── Inputs e selects ── */
.fs-tema .form-control, .fs-tema .form-select { background: #fff; color: var(--fs-dark); border: 0; border-bottom: 2px solid var(--fs-line); border-radius: 12px; padding: 13px 14px; font-size: 16px; line-height: 1.35; box-shadow: none; transition: border-color .2s var(--fs-ease), background .2s var(--fs-ease); }
.fs-tema .form-control:hover, .fs-tema .form-select:hover { border: 0; border-bottom: 2px solid var(--fs-line); }
.fs-tema .form-control:focus, .fs-tema .form-select:focus { border: 0; border-bottom: 2px solid var(--fs-accent); background: #fff; }
.fs-tema .form-control::placeholder { color: var(--fs-muted); opacity: 1; }
.fs-tema .form-control-rounded { border-radius: 999px; }
.fs-tema textarea.form-control { min-height: 150px; resize: vertical; }
.fs-tema .form-label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--fs-muted); }
.fs-tema .form-group { margin-bottom: 14px; }
.fs-tema .form-select-icon, .fs-tema .form-group .form-select-icon { color: var(--fs-accent); fill: var(--fs-accent); }
.fs-tema .form-select-options { background: #fff; border: 1px solid var(--fs-line); border-radius: 12px; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.08); }
@media (min-width: 768px) { .fs-tema .form-control, .fs-tema .form-select { font-size: 14px; } }
/* campo de busca (modal e menu): lupa dentro do campo */
.fs-tema .js-search-form .search-input { border-radius: 12px; padding-right: 48px; }
.fs-tema .search-input-submit { top: 50%; right: 8px; transform: translateY(-50%); padding: 8px; color: var(--fs-accent); fill: var(--fs-accent); }
.fs-tema .search-input-submit svg { width: 18px; height: 18px; }
.fs-tema .search-suggest { background: #fff; border: 1px solid var(--fs-line); border-radius: 16px; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.08); }
.fs-tema .search-suggest a { color: var(--fs-dark); }
.fs-tema .alert { border-radius: 12px; padding: 12px 16px; font-size: 13px; }

/* ── Header ── */
.fs-tema .head-main { background: rgba(251,247,245,.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--fs-line); color: var(--fs-dark); fill: var(--fs-dark); transition: box-shadow .35s var(--fs-ease); }
.fs-tema.fs-scrolled .head-main { box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.06); }
.fs-tema .head-main a, .fs-tema .head-main .svg-icon-text { color: var(--fs-dark); fill: var(--fs-dark); }
.fs-tema .head-main a:hover { color: var(--fs-accent); }
.fs-tema .head-main .logo-img { max-height: 38px; max-width: 100%; margin: 11px 0; }
.fs-tema .head-main .section-adbar { background: var(--fs-dark); color: #fff; fill: #fff; font-size: 12px; letter-spacing: .02em; }
.fs-tema .head-main .section-adbar a, .fs-tema .head-main .section-adbar .svg-icon-text { color: #fff; fill: #fff; }
/* utilidades: menu, busca, carrinho */
.fs-tema .head-main .utilities-container { margin: 0 4px; }
.fs-tema .head-main .utilities-item, .fs-tema .head-main #ajax-cart > a { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 0 6px; font-size: 14px; font-weight: 500; }
.fs-tema .head-main .utilities-text { font-size: 14px; font-weight: 500; text-transform: none; }
.fs-tema .fs-ico { display: inline-block; width: 21px; height: 21px; flex: none; color: var(--fs-dark); }
.fs-tema .fs-ico svg { display: block; width: 100%; height: 100%; }
.fs-tema .head-main a:hover .fs-ico { color: var(--fs-accent); }
.fs-tema .head-main .fs-cart-wrap { font-size: 0; line-height: 0; } /* esconde os parênteses do contador do Cali */
.fs-tema .head-main .fs-cart-wrap .js-cart-widget-amount { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--fs-primary-soft); color: var(--fs-accent); font-size: 11px; font-weight: 600; line-height: 1; }
.fs-tema .head-main #ajax-cart.fs-has-items .js-cart-widget-amount { background: var(--fs-dark); color: #fff; }
.fs-tema .head-main .js-nav-desktop-list-arrow { color: var(--fs-dark); fill: var(--fs-dark); }
/* mobile: menu à esquerda, logo centralizada, carrinho à direita */
@media (max-width: 767.98px) {
  .fs-tema .head-main .container-fluid { padding: 0 8px; }
  .fs-tema .head-main .header-utility.d-md-none { order: -2; }
  .fs-tema .head-main .js-logo-col { order: 0; display: flex; justify-content: center; align-items: center; }
  .fs-tema .head-main .js-logo-col .logo-img-container { width: auto; max-width: 200px; }
  .fs-tema .head-main .js-desktop-search-cart-col { order: 1; }
  .fs-tema .head-main .utilities-text:not(.js-cart-widget-amount) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } /* só o ícone; texto fica para leitores de tela */
  .fs-tema .head-main .utilities-item, .fs-tema .head-main #ajax-cart > a { gap: 3px; padding: 0 8px; }
}
@media (min-width: 768px) {
  .fs-tema .head-main .container-fluid { padding: 0 var(--guter-container-md); }
  .fs-tema .head-main .logo-img { max-height: 46px; margin: 16px 0; }
  .fs-tema .head-main .utilities-container { margin: 0 6px; }
  .fs-tema .head-main .utilities-text { font-size: 14px; font-weight: 500; }
}
/* menu desktop */
.fs-tema .nav-desktop-list { padding: 6px 0; }
.fs-tema .nav-desktop-list .nav-item-desktop { padding: 0 11px; }
.fs-tema .nav-desktop-list > .nav-item-desktop > .nav-list-link,
.fs-tema .nav-desktop-list > .nav-item-desktop > .nav-item-container > .nav-list-link { position: relative; display: inline-block; padding: 8px 0; font-size: 14px; font-weight: 500; letter-spacing: .01em; color: var(--fs-dark); }
.fs-tema .nav-desktop-list > .nav-item-desktop > .nav-list-link::after,
.fs-tema .nav-desktop-list > .nav-item-desktop > .nav-item-container > .nav-list-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; width: auto; height: 1.5px; border-radius: 2px; background: var(--fs-accent); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--fs-ease); }
.fs-tema .nav-desktop-list > .nav-item-desktop > .nav-list-link:hover::after,
.fs-tema .nav-desktop-list > .nav-item-desktop > .nav-list-link.selected::after,
.fs-tema .nav-desktop-list > .nav-item-desktop:hover > .nav-item-container > .nav-list-link::after,
.fs-tema .nav-desktop-list > .nav-item-desktop.selected > .nav-item-container > .nav-list-link::after { transform: scaleX(1); }
.fs-tema .nav-desktop-list > .nav-item-desktop > .nav-list-link.selected { color: var(--fs-accent); }
.fs-tema .desktop-dropdown .desktop-list-subitems { background: #fff; border-bottom: 1px solid var(--fs-line); box-shadow: 0 24px 48px rgba(0,0,0,.08); padding: 30px var(--guter-container-md) 22px; }
.fs-tema .desktop-list-subitems .nav-item .nav-list-link { font-size: 14px; font-weight: 600; color: var(--fs-dark); }
.fs-tema .desktop-list-subitems .nav-item .list-subitems .nav-item .nav-list-link { font-size: 13px; font-weight: 400; color: var(--fs-muted); }
.fs-tema .desktop-list-subitems .nav-list-link:hover { color: var(--fs-accent); }
.fs-tema .desktop-dropdown::-webkit-scrollbar-thumb { background: var(--fs-line); }
/* aviso "adicionado ao carrinho" que o Cali solta abaixo do header */
.fs-tema .notification-primary { background: #fff; color: var(--fs-dark); fill: var(--fs-dark); border-color: var(--fs-line); }
.fs-tema .notification-floating .notification-primary { border: 1px solid var(--fs-line); border-radius: 16px; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.08); }

/* ── Modais do Cali (menu mobile, busca, carrinho) ── */
.fs-tema .modal { background: var(--fs-cream); color: var(--fs-dark); fill: var(--fs-dark); }
.fs-tema .modal-header { padding: 18px 20px 10px; font-family: var(--heading-font); font-weight: 400; font-size: 21px; letter-spacing: -.005em; }
.fs-tema .modal-header:hover, .fs-tema .modal-header:focus { opacity: 1; }
.fs-tema .modal-header .btn-link, .fs-tema .modal-close.btn-link, .fs-tema .js-toggle-menu-close { font-family: var(--body-font); font-size: 13px; font-weight: 600; text-decoration: none; color: var(--fs-dark); }
.fs-tema .modal-header .btn-link:hover, .fs-tema .modal-close.btn-link:hover { color: var(--fs-accent); }
.fs-tema .modal-header-no-title { background: var(--fs-cream); }
.fs-tema .modal-shadow { box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.08); }
/* menu mobile (hambúrguer) */
.fs-tema .modal-nav-hamburger .nav-list-link { display: flex; align-items: center; margin: 0; padding: 13px 0; font-size: 16px; font-weight: 500; border-bottom: 1px solid var(--fs-line); }
.fs-tema .modal-nav-hamburger .nav-list-link.selected { color: var(--fs-accent); }
.fs-tema .modal-nav-hamburger .nav-list-arrow { margin-top: -9px; color: var(--fs-accent); }
.fs-tema .modal-nav-hamburger .nav-list-arrow svg, .fs-tema .modal-nav-hamburger .js-toggle-menu-back svg { fill: var(--fs-accent); }
.fs-tema .modal-nav-hamburger .nav-list-panel, .fs-tema .nav-list-panel { background: var(--fs-cream); color: var(--fs-dark); fill: var(--fs-dark); }
.fs-tema .modal-nav-hamburger .nav-list-panel .modal-header { background: var(--fs-cream); font-size: 21px; }
.fs-tema .modal-nav-hamburger .nav-list-panel .modal-header .mt-3 { font-family: var(--heading-font); font-weight: 400; }
.fs-tema .modal-nav-hamburger .nav-list-panel .nav-list-link.font-weight-bold { font-weight: 600; }
.fs-tema .modal-nav-hamburger .modal-footer { background: #fff; border-top: 1px solid var(--fs-line); }
.fs-tema .modal-nav-hamburger .footer-menu-link { text-transform: none; letter-spacing: 0; }
.fs-tema .modal-nav-hamburger .js-search-form .form-group { margin-bottom: 20px; }
/* busca em tela cheia */
.fs-tema .modal-nav-search { background: rgba(251,247,245,.98); color: var(--fs-dark); fill: var(--fs-dark); }
.fs-tema .modal-nav-search a, .fs-tema .modal-nav-search .btn-link { color: var(--fs-dark); fill: var(--fs-dark); }
.fs-tema .modal-nav-search a:hover, .fs-tema .modal-nav-search .btn-link:hover { color: var(--fs-accent); }
.fs-tema .modal-nav-search .modal-body { padding-top: 5vh; }
.fs-tema .modal-nav-search h3 { margin-bottom: 22px; font-weight: 300; font-size: clamp(1.8rem, 3.5vw, 2.6rem); line-height: 1.1; }
.fs-tema .modal-nav-search .search-input, .fs-tema .modal-nav-search .search-input:hover { background: #fff; color: var(--fs-dark); border: 0; border-bottom: 2px solid var(--fs-line); border-radius: 12px; }
.fs-tema .modal-nav-search .search-input:focus { border-bottom-color: var(--fs-accent); }
.fs-tema .modal-nav-search .form-control::placeholder { color: var(--fs-muted); }
.fs-tema .modal-nav-search .search-suggest { background: #fff; border: 1px solid var(--fs-line); }
.fs-tema .modal-nav-search .search-suggest a { color: var(--fs-dark); background: transparent; }

/* ── Barra de cookies: cartão flutuante ── */
.fs-tema .js-notification-cookie-banner { left: 16px; right: 16px; bottom: 16px; width: auto; padding: 14px 16px; background: #fff; color: var(--fs-dark); border: 1px solid var(--fs-line); border-radius: 20px; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.1); font-size: 12.5px; line-height: 1.45; text-align: left; }
.fs-tema .js-notification-cookie-banner .row { align-items: center; }
.fs-tema .js-notification-cookie-banner .btn { min-height: 36px; padding: 8px 16px; font-size: 12.5px; background: var(--fs-dark); color: #fff; border-color: var(--fs-dark); }
.fs-tema .js-notification-cookie-banner .btn:hover { background: #000; color: #fff; }
@media (min-width: 768px) { .fs-tema .js-notification-cookie-banner { left: 24px; right: auto; bottom: 24px; max-width: 560px; padding: 16px 20px; font-size: 13px; } }

/* ── Botão flutuante do WhatsApp ── */
.fs-tema .btn-whatsapp { right: 16px; bottom: 16px; width: 52px; height: 52px; display: grid; place-items: center; background: var(--fs-dark); color: #fff; border-radius: 999px; box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 12px 32px rgba(0,0,0,.18); transition: transform .25s var(--fs-ease), background .25s var(--fs-ease), box-shadow .25s var(--fs-ease); }
.fs-tema .btn-whatsapp:hover { background: var(--fs-accent); color: #fff; transform: translateY(-2px); box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 16px 36px rgba(168,97,91,.35); }
.fs-tema .btn-whatsapp svg { width: 24px; height: 24px; padding: 0; fill: #fff; }
@media (min-width: 768px) { .fs-tema .btn-whatsapp { right: 24px; bottom: 24px; } }

/* ── Rodapé ── */
.fs-tema footer.js-footer { background: #fff; color: var(--fs-dark); border-top: 1px solid var(--fs-line); padding-top: 44px; }
.fs-tema footer .font-small.opacity-md-50 { opacity: 1; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--fs-muted); }
.fs-tema footer a, .fs-tema footer .footer-menu-item, .fs-tema footer .contact-link { color: var(--fs-dark); }
.fs-tema footer a:hover { color: var(--fs-accent); }
.fs-tema footer .footer-menu-item { margin-bottom: 11px; }
.fs-tema footer .footer-menu-link { font-size: 14px; font-weight: 500; }
.fs-tema footer svg { fill: var(--fs-dark); }
.fs-tema footer .js-accordion-toggle-mobile .d-md-none svg { fill: var(--fs-accent); }
.fs-tema footer .newsletter .form-group { margin: 0; }
.fs-tema footer .form-control { background: #fff; color: var(--fs-dark); border: 0; border-bottom: 2px solid var(--fs-line); border-radius: 999px; padding: 13px 56px 13px 18px; }
.fs-tema footer .form-control:hover, .fs-tema footer .form-control:active { border: 0; border-bottom: 2px solid var(--fs-line); }
.fs-tema footer .form-control:focus { border-bottom-color: var(--fs-accent); }
.fs-tema footer .form-control::placeholder { color: var(--fs-muted); }
.fs-tema footer .newsletter form .newsletter-btn { right: 17px; width: 14px; z-index: 10; fill: #fff; pointer-events: none; }
.fs-tema footer .footer-payments-shipping-logos img { border: 1px solid var(--fs-line); border-radius: 6px; padding: 2px; background: #fff; margin: 4px 6px 4px 0; }
.fs-tema footer .utilities-container a { font-size: 13px; font-weight: 500; }
.fs-tema footer .utilities-container svg { fill: var(--fs-accent); }
.fs-tema .footer-legal { border-top: 1px solid var(--fs-line); padding: 18px 0; font-size: 12px; color: var(--fs-muted); }
.fs-tema .footer-legal a { color: var(--fs-muted); }
.fs-tema .powered-by-logo { width: 104px; }
.fs-tema .powered-by-logo svg { fill: var(--fs-muted); }
@media (max-width: 767.98px) {
  .fs-tema footer.js-footer { padding-top: 12px; }
  .fs-tema footer .js-accordion-container { border-bottom: 1px solid var(--fs-line); }
  .fs-tema footer .js-accordion-toggle-mobile { position: relative; }
  .fs-tema footer .js-accordion-toggle-mobile .font-small { padding: 16px 0; }
  .fs-tema footer .js-accordion-toggle-mobile .d-md-none { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
  .fs-tema footer .js-accordion-content-mobile { padding-bottom: 8px; }
  .fs-tema footer .newsletter .js-accordion-content-mobile { padding-bottom: 20px; }
  .fs-tema footer .footer-payments-shipping-logos { padding-top: 20px; }
}
@media (min-width: 768px) {
  .fs-tema footer.js-footer { padding-top: 56px; }
  .fs-tema footer .font-small.opacity-md-50 { margin-bottom: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .fs-tema .btn, .fs-tema a, .fs-tema .form-control, .fs-tema .head-main, .fs-tema .btn-whatsapp, .fs-tema .nav-list-link::after { transition: none !important; }
}


/* ── Rodapé profissional ── */
.fs-tema .fs-foot-top { display: grid; gap: 28px; padding: 6px 0 34px; margin-bottom: 34px; border-bottom: 1px solid var(--fs-line); }
.fs-tema .fs-foot-brand h2 { margin: 6px 0 8px; font-weight: 300; font-size: clamp(1.5rem, 3vw, 2.1rem); line-height: 1.1; }
.fs-tema .fs-foot-brand p.fs-muted { max-width: 46ch; font-size: .92rem; color: var(--fs-muted); }
.fs-tema .fs-foot-selos { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.fs-tema .fs-foot-selos b { display: block; font-family: var(--heading-font); font-weight: 400; font-size: 1rem; }
.fs-tema .fs-foot-selos span { font-size: .82rem; color: var(--fs-muted); }
.fs-tema .fs-foot-note { margin: 8px 0 0; font-size: 11.5px; color: var(--fs-muted); }
.fs-tema .fs-foot-note a { color: var(--fs-muted); text-decoration: underline; text-underline-offset: 2px; }
.fs-tema .fs-foot-note a:hover { color: var(--fs-accent); }
@media (min-width: 768px) {
  .fs-tema .fs-foot-top { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: start; gap: 48px; padding-bottom: 44px; margin-bottom: 44px; }
  .fs-tema .fs-foot-selos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}

.fs-tema .fs-foot-col .fs-foot-col-title { opacity: 1; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--fs-muted); padding: 16px 0; }
.fs-tema .fs-foot-col .list { list-style: none; margin: 0; padding: 0; }
@media (min-width: 768px) { .fs-tema .fs-foot-col .fs-foot-col-title { padding: 0; margin-bottom: 24px; } }
@media (max-width: 767.98px) { .fs-tema .fs-foot-col { border-bottom: 1px solid var(--fs-line); padding-bottom: 8px; } }
.fs-tema footer .footer-menu-item.fs-hide { display: none; }

.fs-tema footer .fs-foot-pagamentos { padding: 22px 0 0 !important; margin: 0 !important; }
.fs-tema footer .fs-foot-pagamentos img { margin: 4px 6px 4px 0; }
.fs-tema .fs-foot-social { display: flex; gap: 10px; margin-top: 16px; }
.fs-tema .fs-foot-social a { width: 38px; height: 38px; border-radius: 999px; border: 1px solid var(--fs-line); display: grid; place-items: center; color: var(--fs-dark); background: #fff; transition: border-color .2s var(--fs-ease), color .2s var(--fs-ease); }
.fs-tema .fs-foot-social a:hover { border-color: var(--fs-primary); color: var(--fs-accent); }


/* ── cards.css ── */
/* Tema Fê Isis — módulo cards: o card de produto onde ele aparecer (home, categoria, busca, relacionados) · www.izabelporto.site
   Escopo: .fs-tema .js-item-product (o card do Cali). A grade/colunas fica com o módulo category. */

/* ── Foto ── */
.fs-tema .js-item-product .item-image { border-radius: 20px; background: var(--fs-line); }
.fs-tema .js-item-product .item-image .placeholder-fade { border-radius: 20px; }
/* mantém o zoom e a troca de foto do Cali (foto secundária no hover), só com a curva do tema */
.fs-tema .js-item-product .item-image img { transition: transform .6s var(--fs-ease), opacity .35s var(--fs-ease); }

/* ── Etiquetas (desconto, esgotado, frete grátis) empilhadas no canto superior esquerdo,
      deixando o canto inferior direito livre para o botão Experimentar ── */
.fs-tema .js-item-product .labels { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; top: 12px; left: 12px; right: auto; bottom: auto; }
.fs-tema .js-item-product .labels .label { position: static; width: auto; height: auto; padding: 5px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; line-height: 14px; letter-spacing: .01em; }
.fs-tema .js-item-product .labels .label.label-accent { background: var(--fs-primary-soft); color: var(--fs-accent); } /* badge de desconto rosé no lugar do amarelo */
.fs-tema .js-item-product .labels .label.label-default { background: var(--fs-dark); color: #fff; }               /* Esgotado */
.fs-tema .js-item-product .labels .label.label-top { background: #fff; color: var(--fs-dark); border: 1px solid var(--fs-line); } /* Frete grátis */
.fs-tema .js-item-product .labels .label-offer-percentage { white-space: nowrap; }

/* ── Botão Experimentar (pílula rosé pequena sobre a foto, canto inferior direito) ── */
.fs-tema .fs-card-try { position: absolute; right: 12px; bottom: 12px; z-index: 10; padding: 7px 12px 7px 10px; font-size: 12px; line-height: 1; gap: 5px; white-space: nowrap; box-shadow: 0 4px 14px rgba(201,128,121,.35), 0 0 0 1px rgba(255,255,255,.4); }
.fs-tema .fs-card-try svg { width: 14px; height: 14px; flex: 0 0 auto; }
.fs-tema .fs-card-try:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(201,128,121,.45), 0 0 0 1px rgba(255,255,255,.55); }
.fs-tema .fs-card-try:active { transform: scale(.97); }

/* ── Nome e preço ── */
.fs-tema .js-item-product .item-description { padding: 12px 2px 6px; }
.fs-tema .js-item-product .item-link { color: var(--fs-dark); }
.fs-tema .js-item-product .item-name { font-weight: 600; font-size: 14px; line-height: 1.35; text-transform: none; letter-spacing: 0; color: var(--fs-dark); margin-bottom: 5px !important; /* .mb-2 do Cali usa !important */ }
.fs-tema .js-item-product .item-price-container { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: 14px; margin-bottom: 2px !important; /* .mb-1 do Cali usa !important */ }
.fs-tema .js-item-product .item-price { color: var(--fs-accent); font-weight: 600; }
.fs-tema .js-item-product .price-compare { margin-left: 0; color: var(--fs-muted); opacity: 1; font-size: 12px; font-weight: 400; text-decoration: line-through; }
.fs-tema .js-item-product .item-installments,
.fs-tema .js-item-product .product-installments { font-size: 11px; color: var(--fs-muted) !important; /* o Cali pinta as parcelas com a cor de destaque da loja (#eee) e !important */ }

@media (max-width: 767px) {
  .fs-tema .js-item-product .item-name { font-size: 13px; }
  .fs-tema .js-item-product .item-price-container { font-size: 13px; }
  .fs-tema .js-item-product .item-description { padding: 10px 0 4px; }
  .fs-tema .js-item-product .labels { top: 10px; left: 10px; }
  .fs-tema .fs-card-try { right: 10px; bottom: 10px; padding: 6px 10px 6px 9px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .fs-tema .js-item-product .item-image img, .fs-tema .fs-card-try { transition: none !important; }
}

/* Grade real: colunas iguais e linhas alinhadas (o Cali usa float + col-* que encolhem desigual). */
.fs-tema .js-product-table { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.fs-tema .js-product-table > .js-item-product { display: flex; flex-direction: column; float: none; width: auto !important; max-width: none !important; flex: none !important; }
.fs-tema .js-product-table > .js-item-product > * { width: 100%; }
@media (min-width: 768px) { .fs-tema .js-product-table { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Todas as fotos no mesmo formato (3/4), como no desenho da proposta */
.fs-tema .js-item-product .item-image { position: relative; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 20px; background: var(--fs-sand); }
.fs-tema .js-item-product .item-image img { width: 100%; height: 100%; object-fit: cover; }


/* ── home.css ── */
/* Tema Fê Isis — home: hero/slider, indicadores, títulos de seção e ritmo entre seções · www.izabelporto.site
   Escopo: body.fs-tema.template-home. O card de produto é do módulo cards; header, rodapé e newsletter são do global. */

body.fs-tema.template-home { --fs-gx: 20px; --fs-sec: clamp(44px, 6vw, 76px); }
@media (min-width: 768px) { body.fs-tema.template-home { --fs-gx: 40px; } }

/* ── Hero / slider ─────────────────────────────────────────────
   Cali: imagem colada à esquerda, cantos só à direita (banner-round-right + pr-4) e seção com pb-4.
   Aqui: hero alinhado à grade dos cards (mesma margem lateral), cantos 22px nos quatro lados. */
body.fs-tema.template-home .section-slider-home { padding: 14px 0 0 !important; } /* vence .pb-4 do Cali */
body.fs-tema.template-home .home-slider-container { padding: 0 var(--fs-gx); }
/* Sem fundo: os slides podem ter proporções diferentes e o swiper usa a altura do mais alto — a sobra fica na cor da página, como no Cali. */
body.fs-tema.template-home .js-home-slider { border-radius: 22px; overflow: hidden; isolation: isolate; background: transparent; }
body.fs-tema.template-home .slider-slide > .row { padding-right: 0 !important; } /* vence .pr-4 do Cali */
body.fs-tema.template-home .slider-slide .banner-round-right { border-radius: 0; }

/* Indicadores: pílula discreta abaixo do hero, à direita (setas redondas + fração) */
body.fs-tema.template-home .fs-hero-nav-row { margin: 10px 0 0 !important; justify-content: flex-end; } /* vence .my-3 */
body.fs-tema.template-home .fs-hero-nav { flex: 0 0 auto !important; width: auto !important; max-width: none !important; padding: 0 !important; display: inline-flex; align-items: center; gap: 4px; } /* vence .col-10/.col-md-3/.pl-4 */
body.fs-tema.template-home .fs-hero-nav .js-swiper-home-control { position: relative; top: auto; margin: 0; }
body.fs-tema.template-home .fs-hero-nav .swiper-button-prev,
body.fs-tema.template-home .fs-hero-nav .swiper-button-next { width: 34px; height: 34px; line-height: 0; border-radius: 999px; border: 1px solid var(--fs-line); background: #fff; color: var(--fs-dark); fill: var(--fs-dark); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; outline: none; transition: border-color .25s var(--fs-ease), transform .2s var(--fs-ease); }
body.fs-tema.template-home .fs-hero-nav .swiper-button-prev:hover,
body.fs-tema.template-home .fs-hero-nav .swiper-button-next:hover { border-color: var(--fs-primary); }
body.fs-tema.template-home .fs-hero-nav .swiper-button-prev:focus-visible,
body.fs-tema.template-home .fs-hero-nav .swiper-button-next:focus-visible { outline: 2px solid var(--fs-accent); outline-offset: 2px; }
body.fs-tema.template-home .fs-hero-nav .swiper-button-prev:active,
body.fs-tema.template-home .fs-hero-nav .swiper-button-next:active { transform: scale(.94); }
body.fs-tema.template-home .fs-hero-nav .swiper-button-prev svg,
body.fs-tema.template-home .fs-hero-nav .swiper-button-next svg { width: 8px; height: 13px; fill: currentColor; vertical-align: 0; }
body.fs-tema.template-home .fs-hero-nav .swiper-button-disabled { opacity: .3; pointer-events: none; }
body.fs-tema.template-home .fs-hero-nav .js-swiper-home-pagination { font-size: 12px !important; color: var(--fs-muted); letter-spacing: .08em; font-variant-numeric: tabular-nums; min-width: 48px; text-align: center; padding: 0 2px; }
body.fs-tema.template-home .fs-hero-nav .swiper-pagination-current { color: var(--fs-dark); font-weight: 600; }

/* ── Seções de produtos (Destaques, Lançamentos, Promoções…) ── */
body.fs-tema.template-home .section-featured-home { padding: var(--fs-sec) 0 0 !important; }
body.fs-tema.template-home .section-featured-home + .section-featured-home::before { content: ""; position: absolute; top: 0; left: var(--fs-gx); right: var(--fs-gx); height: 1px; background: var(--fs-line); } /* fio entre seções, na largura da grade */
body.fs-tema.template-home .section-featured-home > .container-fluid > .row { margin-bottom: 0 !important; padding-bottom: 0 !important; } /* vence .mb-3 .pb-2 .pb-md-5 */
body.fs-tema.template-home .home-sections-container { padding-bottom: clamp(24px, 4vw, 48px); }

/* Cabeçalho da seção: eyebrow pequeno em rosé + título grande em Bitter leve + "Ver todos" à direita */
body.fs-tema.template-home .fs-sec-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 16px; margin-bottom: clamp(18px, 3vw, 28px) !important; text-align: left !important; } /* vence .mb-4 e .text-center */
body.fs-tema.template-home .fs-sec-head > .fs-eyebrow { grid-column: 1 / -1; margin: 0 0 10px; color: var(--fs-accent); }
body.fs-tema.template-home .fs-sec-head > h2,
body.fs-tema.template-home .fs-sec-head > .h1 { grid-column: 1; margin: 0 !important; font-family: "Bitter", var(--heading-font), serif; font-weight: 300; font-size: clamp(1.8rem, 3.5vw, 2.6rem); line-height: 1.1; letter-spacing: -.005em; color: var(--fs-dark); text-transform: none; }
body.fs-tema.template-home .fs-sec-link { grid-column: 2; align-self: end; margin-bottom: 3px; white-space: nowrap; }
body.fs-tema.template-home .fs-sec-link svg { width: 12px; height: 12px; transition: transform .25s var(--fs-ease); }
body.fs-tema.template-home .fs-sec-link:hover svg { transform: translateX(2px); }

/* ── Banners de categoria (se a loja configurar) ── */
body.fs-tema.template-home .section-banners-home { padding: var(--fs-sec) 0 0; }
body.fs-tema.template-home .section-banners-home.fs-empty { display: none; } /* seção vazia: sem os 100px de respiro do Cali */
body.fs-tema.template-home .section-banners-home .home-category-image img,
body.fs-tema.template-home .section-banners-home .home-category-image-placeholder,
body.fs-tema.template-home .section-banners-home .home-category-image .placeholder-fade,
body.fs-tema.template-home .section-banners-home .textbanner-image { border-radius: 20px; overflow: hidden; }
body.fs-tema.template-home .section-banners-home .home-category-name { font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--fs-dark); }

@media (prefers-reduced-motion: reduce) {
  body.fs-tema.template-home .fs-hero-nav .swiper-button-prev,
  body.fs-tema.template-home .fs-hero-nav .swiper-button-next,
  body.fs-tema.template-home .fs-sec-link svg { transition: none; }
  body.fs-tema.template-home .swiper-slide-active .slider-image-animation { animation: none !important; } /* zoom de 20s do Cali */
}


/* ── Faixa de confiança (desenho da proposta) ── */
body.fs-tema.template-home .fs-strip { background: #fff; border-block: 1px solid var(--fs-line); padding-block: 26px; margin-block: clamp(28px, 5vw, 56px) 0; }
body.fs-tema.template-home .fs-strip-in { max-width: 1180px; margin: 0 auto; padding-inline: 20px; display: grid; gap: 20px 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.fs-tema.template-home .fs-strip b { display: block; font-family: var(--heading-font); font-weight: 400; font-size: 1.05rem; margin-bottom: 3px; }
body.fs-tema.template-home .fs-strip span { font-size: .85rem; color: var(--fs-muted); }
@media (min-width: 768px) { body.fs-tema.template-home .fs-strip-in { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ── Provador em 3 passos ── */
body.fs-tema.template-home .fs-howto { background: var(--fs-sand); margin-top: clamp(40px, 6vw, 80px); padding-block: clamp(48px, 7vw, 96px); }
body.fs-tema.template-home .fs-howto-in { max-width: 1180px; margin: 0 auto; padding-inline: 20px; }
body.fs-tema.template-home .fs-howto-txt { max-width: 680px; display: grid; gap: 14px; }
body.fs-tema.template-home .fs-howto h2 { font-weight: 300; font-size: clamp(2rem, 4.2vw, 3.2rem); line-height: 1.08; }
body.fs-tema.template-home .fs-howto h2 em { font-style: normal; color: var(--fs-accent); }
body.fs-tema.template-home .fs-steps { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 14px; }
body.fs-tema.template-home .fs-steps li { display: flex; align-items: baseline; gap: 14px; font-size: 1rem; }
body.fs-tema.template-home .fs-steps i { font-style: italic; font-family: var(--heading-font); font-size: 1.6rem; line-height: 1; color: var(--fs-accent); width: 24px; flex: none; }
body.fs-tema.template-home .fs-howto-cta { justify-self: start; margin-top: 10px; padding: 14px 26px; font-size: 15px; }


/* ── category.css ── */
/* Tema Fê Isis — categoria e busca (listagens) · escopo: body.fs-tema.fs-listing (classe posta pelo módulo) */

/* ── Título + contagem ── */
.fs-tema.fs-listing .page-header h1,
.fs-tema.fs-listing .page-header .h1 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; font-family: "Bitter", serif; font-weight: 400; font-size: clamp(1.8rem, 3.5vw, 2.6rem); line-height: 1.1; letter-spacing: -.005em; text-transform: none; color: var(--fs-dark); }
.fs-tema.fs-listing .fs-count { font-family: "Figtree", sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0; color: var(--fs-muted); white-space: nowrap; }
.fs-tema.fs-listing .fs-count-col { display: none !important; } /* vence .d-md-none do Bootstrap: a contagem passa a ficar junto do título */
.fs-tema.fs-listing .category-controls .page-header { margin-bottom: 0; }
.fs-tema.fs-listing .breadcrumbs { margin-bottom: 6px; }

/* Busca: "Exibindo resultados para “vestido”" */
.fs-tema.fs-listing .page-header.pt-4 { padding-top: 14px !important; } /* vence .pt-4 do Bootstrap */
.fs-tema.fs-listing .fs-search-lead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 0; font-family: "Figtree", sans-serif; font-size: 14px; font-weight: 500; line-height: 1.3; text-transform: none; color: var(--fs-muted); }
.fs-tema.fs-listing .fs-search-lead .fs-term { margin-left: 0 !important; font-family: "Bitter", serif; font-size: 22px; font-weight: 400; letter-spacing: -.005em; color: var(--fs-dark); }
.fs-tema.fs-listing .fs-search-lead .fs-count::before { content: "·"; margin-right: 10px; color: var(--fs-line); }
.fs-tema.fs-listing .container-fluid > .fs-search-lead { margin-bottom: 4px !important; } /* vence .mb-3 */

/* ── Barra de controles (o Cali a deixa sticky) ── */
.fs-tema.fs-listing .category-controls { background: var(--fs-cream); padding: 8px 20px 10px; box-shadow: 0 1px 0 transparent; transition: box-shadow .3s var(--fs-ease); }
.fs-tema.fs-listing .category-controls.is-sticky { box-shadow: 0 1px 0 var(--fs-line), 0 10px 28px rgba(28, 23, 24, .06); }
.fs-tema.fs-listing .category-controls-row { align-items: flex-end; row-gap: 10px; }
.fs-tema.fs-listing .fs-tools { display: flex; align-items: center; gap: 8px; flex: 1 1 auto; max-width: 100%; }
.fs-tema.fs-listing .fs-tools .fs-sort { margin-left: auto; }
@media (min-width: 768px) {
  .fs-tema.fs-listing .category-controls { padding: 18px 0 12px; }
  .fs-tema.fs-listing .fs-tools { flex: 0 0 auto; padding-bottom: 2px; }
  .fs-tema.fs-listing .fs-tools .fs-sort { margin-left: 0; }
}

/* Botão Filtrar (âncora .btn.btn-link do Cali) */
.fs-tema.fs-listing .fs-filter-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid var(--fs-line); font-family: "Figtree", sans-serif; font-size: 13px; font-weight: 600; line-height: 1; color: var(--fs-dark); fill: var(--fs-dark); text-decoration: none; white-space: nowrap; transition: border-color .25s var(--fs-ease), transform .2s var(--fs-ease); }
.fs-tema.fs-listing .fs-filter-btn:hover,
.fs-tema.fs-listing .fs-filter-btn:focus { color: var(--fs-dark); border-color: var(--fs-primary); text-decoration: none; opacity: 1; }
.fs-tema.fs-listing .fs-filter-btn:active { transform: scale(.97); }
.fs-tema.fs-listing .fs-filter-btn:focus-visible { outline: 2px solid var(--fs-accent); outline-offset: 2px; }
.fs-tema.fs-listing .fs-filter-btn svg { color: var(--fs-accent); flex-shrink: 0; }
.fs-tema.fs-listing .fs-filter-badge { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--fs-dark); color: #fff; font-size: 11px; font-weight: 600; }
.fs-tema.fs-listing .fs-filter-badge[hidden] { display: none; }

/* Ordenação: pílula com um <select> invisível por cima (acessível e clicável na área toda) */
.fs-tema.fs-listing .fs-sort { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 40px; margin: 0; padding: 0 34px 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--fs-line); font-family: "Figtree", sans-serif; font-size: 13px; line-height: 1; color: var(--fs-dark); cursor: pointer; max-width: 100%; transition: border-color .25s var(--fs-ease); }
.fs-tema.fs-listing .fs-sort:hover,
.fs-tema.fs-listing .fs-sort:focus-within { border-color: var(--fs-primary); }
.fs-tema.fs-listing .fs-sort:focus-within { box-shadow: 0 0 0 2px var(--fs-primary-soft); }
.fs-tema.fs-listing .fs-sort-lbl { font-weight: 500; color: var(--fs-muted); white-space: nowrap; }
.fs-tema.fs-listing .fs-sort-val { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.fs-tema.fs-listing .fs-sort > svg { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--fs-accent); pointer-events: none; }
.fs-tema.fs-listing .fs-sort-select { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; font: inherit; cursor: pointer; -webkit-appearance: none; appearance: none; }
.fs-tema.fs-listing .fs-sort.fs-busy { opacity: .6; pointer-events: none; }
@media (max-width: 420px) { .fs-tema.fs-listing .fs-sort-lbl { display: none; } .fs-tema.fs-listing .fs-sort-val { max-width: 120px; } }

/* Chips de filtros ativos (desktop) */
.fs-tema.fs-listing .filter-chips-container { align-items: center; flex-wrap: wrap; gap: 8px; padding-bottom: 2px; }
.fs-tema.fs-listing .filter-chips-container .chip { position: relative; margin: 0; padding: 0 30px 0 12px; height: 32px; display: inline-flex; align-items: center; border-radius: 999px; background: var(--fs-dark); border: 1px solid var(--fs-dark); color: #fff; fill: #fff; font-size: 12px; font-weight: 600; line-height: 1; text-decoration: none; transition: background .25s var(--fs-ease); }
.fs-tema.fs-listing .filter-chips-container .chip:hover { opacity: 1; background: #000; }
.fs-tema.fs-listing .filter-chips-container .chip-remove-icon { position: absolute; top: 50%; right: 8px; width: 16px; height: 16px; padding: 0; transform: translateY(-50%); display: grid; place-items: center; }
.fs-tema.fs-listing .filter-chips-container .chip-remove-icon svg { width: 9px; height: 9px; fill: currentColor; }
.fs-tema.fs-listing .filter-chips-container .js-remove-all-filters { font-size: 12px; font-weight: 600; color: var(--fs-accent); text-decoration: none; margin-left: 4px; }

/* ── Painel "Filtrar e ordenar" (#nav-filters do Cali) ── */
.fs-tema .fs-filters { background: var(--fs-cream); color: var(--fs-dark); font-family: "Figtree", sans-serif; }
@media (min-width: 768px) {
  .fs-tema .fs-filters { width: 420px; border-radius: 22px 0 0 22px; box-shadow: -24px 0 60px rgba(28, 23, 24, .14); }
}
.fs-tema.fs-listing .js-modal-overlay[data-modal-id="#nav-filters"] { background: rgba(28, 23, 24, .45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.fs-tema .fs-filters .modal-header { padding: 22px 22px 6px; cursor: default; }
.fs-tema .fs-filters .modal-header:hover,
.fs-tema .fs-filters .modal-header:focus { opacity: 1; }
.fs-tema .fs-filters .modal-header .row { align-items: center; }
.fs-tema .fs-filters .fs-filters-title { font-family: "Bitter", serif; font-size: 24px; font-weight: 400; letter-spacing: -.005em; line-height: 1.15; color: var(--fs-dark); }
.fs-tema .fs-filters .fs-filters-close { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 999px; background: #fff; border: 1px solid var(--fs-line); color: var(--fs-dark); text-decoration: none; cursor: pointer; transition: border-color .25s var(--fs-ease); }
.fs-tema .fs-filters .fs-filters-close:hover { border-color: var(--fs-primary); opacity: 1; }
.fs-tema .fs-filters .modal-body { padding: 4px 22px 24px; }
.fs-tema .fs-filters .modal-body > .mb-3 { margin-bottom: 8px !important; padding-bottom: 0 !important; } /* vence .mb-3/.pb-3 do Bootstrap: o bloco Ordenar */
.fs-tema .fs-filters .fs-filters-eyebrow { margin: 18px 0 10px; font-family: "Figtree", sans-serif; font-size: 10.5px !important; /* vence .font-body{font-size:!important} do Cali */ font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: var(--fs-muted); }

/* Ordenar: lista de pílulas (links .js-apply-sort-private do Cali) */
.fs-tema .fs-filters .fs-pill-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.fs-tema .fs-filters .fs-pill-list li { margin: 0; }
.fs-tema .fs-filters .fs-pill-list .radio-button { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; margin: 0; border-radius: 999px; background: #fff; border: 1px solid var(--fs-line); color: var(--fs-dark); font-size: 13px; font-weight: 600; text-decoration: none; transition: background .25s var(--fs-ease), border-color .25s var(--fs-ease), color .25s var(--fs-ease); }
.fs-tema .fs-filters .fs-pill-list .radio-button:hover { border-color: var(--fs-primary); }
.fs-tema .fs-filters .fs-pill-list .radio-button.selected { background: var(--fs-dark); border-color: var(--fs-dark); color: #fff; }
.fs-tema .fs-filters .fs-pill-list .radio-button-content { position: static; margin: 0; border: 0; }
.fs-tema .fs-filters .fs-pill-list .radio-button-icons-container { display: none; }
.fs-tema .fs-filters .fs-pill-list .radio-button-label { display: block; padding: 0; font-size: 13px; line-height: 1.2; white-space: nowrap; }

/* Filtros: cada opção (label .checkbox-container do Cali) vira uma pílula */
.fs-tema .fs-filters .fs-filter-group { margin-bottom: 6px !important; padding-bottom: 0 !important; } /* vence .mb-3/.pb-1 */
.fs-tema .fs-filters .fs-filter-group .checkbox-container { display: inline-block; margin: 0 8px 8px 0; vertical-align: top; }
.fs-tema .fs-filters .fs-filter-group .checkbox-container .checkbox { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; margin: 0; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--fs-line); color: var(--fs-dark); font-size: 13px; font-weight: 600; line-height: 1.2; transition: background .25s var(--fs-ease), border-color .25s var(--fs-ease), color .25s var(--fs-ease); }
.fs-tema .fs-filters .fs-filter-group .checkbox-container .checkbox:hover { border-color: var(--fs-primary); color: var(--fs-dark); }
.fs-tema .fs-filters .fs-filter-group .checkbox-container .checkbox-icon { display: none; }
.fs-tema .fs-filters .fs-filter-group .checkbox-container .checkbox-text { padding: 0; font-size: 13px; white-space: nowrap; }
.fs-tema .fs-filters .fs-filter-group .checkbox-container .checkbox-text .ml-1 { margin-left: 4px !important; font-weight: 500; color: var(--fs-muted); }
.fs-tema .fs-filters .fs-filter-group .checkbox-container .checkbox-color { order: -1; width: 12px; height: 12px; margin: 0; border: 0; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08); }
.fs-tema .fs-filters .fs-filter-group .checkbox-container input:checked ~ .checkbox,
.fs-tema .fs-filters .fs-filter-group .checkbox-container.js-remove-filter .checkbox { background: var(--fs-dark); border-color: var(--fs-dark); color: #fff; }
.fs-tema .fs-filters .fs-filter-group .checkbox-container input:checked ~ .checkbox .ml-1,
.fs-tema .fs-filters .fs-filter-group .checkbox-container.js-remove-filter .checkbox .ml-1 { color: rgba(255, 255, 255, .7); }
.fs-tema .fs-filters .fs-filter-group .js-accordion-content { display: inline; }
.fs-tema .fs-filters .fs-filter-group .js-accordion-content[style*="none"] { display: none; }
.fs-tema .fs-filters .fs-filter-group .js-accordion-toggle { margin: 0 0 8px !important; /* vence .mb-3 */ padding: 0 6px; line-height: 38px; vertical-align: top; font-size: 12px; font-weight: 600; color: var(--fs-accent); text-decoration: none; }
.fs-tema .fs-filters .fs-filter-group .js-accordion-toggle:hover { text-decoration: underline; }

/* "Categorias" (lista de links do Cali em /produtos/) */
.fs-tema .fs-filters .fs-cat-list { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px !important; padding-bottom: 0 !important; }
.fs-tema .fs-filters .fs-cat-list li { margin: 0 !important; padding: 0 !important; }
.fs-tema .fs-filters .fs-cat-list .js-accordion-content { display: contents; }
.fs-tema .fs-filters .fs-cat-list .js-accordion-content[style*="none"] { display: none; }
.fs-tema .fs-filters .fs-cat-list li > a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; background: #fff; border: 1px solid var(--fs-line); color: var(--fs-dark); font-size: 13px !important; /* vence .font-small */ font-weight: 600; text-decoration: none; text-transform: none; transition: border-color .25s var(--fs-ease); }
.fs-tema .fs-filters .fs-cat-list li > a:hover { border-color: var(--fs-primary); color: var(--fs-dark); }
.fs-tema .fs-filters .fs-cat-list .js-accordion-toggle { line-height: 38px; padding: 0 6px; margin: 0 !important; font-size: 12px; font-weight: 600; color: var(--fs-accent); text-decoration: none; }

/* Preço */
.fs-tema .fs-filters .fs-price { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.fs-tema .fs-filters .fs-price .form-group { display: flex; align-items: flex-end; gap: 8px; margin-bottom: 0; }
.fs-tema .fs-filters .fs-price .filter-input-price-container { display: block; flex: 1 1 0; width: auto; margin: 0; vertical-align: baseline; }
.fs-tema .fs-filters .fs-price .form-label { display: block; margin: 0 0 4px 4px; font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--fs-muted); }
.fs-tema .fs-filters .fs-price .form-group .filter-input-price-container .filter-input-price { width: 100%; padding: 11px 30px 11px 12px; font-size: 15px; font-family: "Figtree", sans-serif; color: var(--fs-dark); background: #f5f5f7; border: 0; border-bottom: 2px solid transparent; border-radius: 12px; outline: none; transition: border-color .2s var(--fs-ease), background .2s var(--fs-ease); }
.fs-tema .fs-filters .fs-price .form-group .filter-input-price-container .filter-input-price:focus { background: #fff; border-bottom-color: var(--fs-accent); }
.fs-tema .fs-filters .fs-price .input-clear-content { right: 6px; bottom: 1px; height: 40px; }
.fs-tema .fs-filters .fs-price .btn.btn-price-filter { flex: 0 0 auto; height: 44px; padding: 0 18px; line-height: 44px; border: 0; border-radius: 999px; background: var(--fs-dark); color: #fff; font-size: 13px; font-weight: 600; vertical-align: baseline; transition: background .25s var(--fs-ease), opacity .25s var(--fs-ease); }
.fs-tema .fs-filters .fs-price .btn.btn-price-filter:hover { background: #000; }
.fs-tema .fs-filters .fs-price .btn.btn-price-filter.disabled,
.fs-tema .fs-filters .fs-price .btn.btn-price-filter:disabled { background: var(--fs-line); color: var(--fs-muted); opacity: 1; cursor: not-allowed; }

/* Rodapé fixo do painel (Ver peças / Limpar) */
.fs-tema .fs-filters .fs-filters-foot { position: sticky; bottom: 0; z-index: 2; display: flex; gap: 10px; margin: 18px -22px -24px; padding: 14px 22px calc(14px + env(safe-area-inset-bottom, 0px)); background: var(--fs-cream); border-top: 1px solid var(--fs-line); }
.fs-tema .fs-filters .fs-filters-foot .fs-btn { min-height: 46px; padding: 0 20px; font-size: 14px; }
.fs-tema .fs-filters .fs-filters-foot .fs-filters-done { flex: 1 1 auto; }
.fs-tema .fs-filters .fs-filters-foot .fs-filters-clear[hidden] { display: none; }

/* Sobreposição "Aplicando filtro / Ordenando produtos" */
.fs-tema.fs-listing .filters-overlay { background: rgba(251, 247, 245, .86); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.fs-tema.fs-listing .filters-overlay .filters-updating-message .h5 { font-family: "Bitter", serif; font-size: 20px; font-weight: 400; color: var(--fs-dark); }
.fs-tema.fs-listing .filters-overlay svg { fill: var(--fs-accent); }

/* ── Grade ── */
.fs-tema.fs-listing .category-body { padding-top: 4px; }
.fs-tema.fs-listing .js-product-table { margin-right: -7px; margin-left: -7px; }
.fs-tema.fs-listing .js-product-table > .js-item-product { padding-right: 9px; padding-left: 9px; margin-bottom: 26px; }
@media (min-width: 768px) {
  .fs-tema.fs-listing .category-body { padding-top: 10px; }
  .fs-tema.fs-listing .js-product-table { margin-right: -14px; margin-left: -14px; }
  .fs-tema.fs-listing .js-product-table > .js-item-product { padding-right: 20px; padding-left: 20px; margin-bottom: 48px; }
}

/* ── Paginação ── */
.fs-tema.fs-listing .fs-pager { margin: 20px 0 56px !important; /* vence .my-4 */ gap: 6px 0; }
.fs-tema.fs-listing .fs-pager > .col-auto { padding: 0 4px; }
.fs-tema.fs-listing .fs-pager-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 999px; background: #fff; border: 1px solid var(--fs-line); color: var(--fs-dark); text-decoration: none; transition: border-color .25s var(--fs-ease), transform .2s var(--fs-ease); }
.fs-tema.fs-listing .fs-pager-btn:hover { border-color: var(--fs-primary); }
.fs-tema.fs-listing .fs-pager-btn:active { transform: scale(.96); }
.fs-tema.fs-listing .fs-pager-btn.disabled { opacity: .35; cursor: not-allowed; pointer-events: none; }
.fs-tema.fs-listing .fs-pager-nums { display: inline-flex; align-items: center; gap: 4px; padding: 0 6px; }
.fs-tema.fs-listing .fs-pager-num { display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px; background: #fff; border: 1px solid var(--fs-line); color: var(--fs-dark); font-size: 13px; font-weight: 600; text-decoration: none; font-variant-numeric: tabular-nums; transition: border-color .25s var(--fs-ease), background .25s var(--fs-ease); }
.fs-tema.fs-listing a.fs-pager-num:hover { border-color: var(--fs-primary); }
.fs-tema.fs-listing .fs-pager-num.fs-on { background: var(--fs-dark); border-color: var(--fs-dark); color: #fff; }
.fs-tema.fs-listing .fs-pager-dots { padding: 0 4px; color: var(--fs-muted); }
.fs-tema.fs-listing .fs-pager-count { display: inline-flex; align-items: center; gap: 6px; padding: 0 10px !important; /* vence .px-0 */ font-size: 13px; color: var(--fs-muted); font-variant-numeric: tabular-nums; }
.fs-tema.fs-listing .fs-pager-count .fs-pager-cur { color: var(--fs-dark); font-weight: 600; }
.fs-tema.fs-listing .fs-pager-nums + .fs-pager-count { display: none; }
@media (max-width: 480px) { .fs-tema.fs-listing .fs-pager-nums { display: none; } .fs-tema.fs-listing .fs-pager-nums + .fs-pager-count { display: inline-flex; } }

/* ── Categoria / busca vazia ── */
.fs-tema.fs-listing .fs-empty { max-width: 540px; margin: 12px auto 0; padding: 48px 20px 64px; text-align: center; }
.fs-tema.fs-listing .fs-empty-icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 auto 18px; border-radius: 999px; background: var(--fs-primary-soft); color: var(--fs-accent); }
.fs-tema.fs-listing .fs-empty h2 { margin: 0 0 8px; font-family: "Bitter", serif; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 400; letter-spacing: -.005em; line-height: 1.15; color: var(--fs-dark); }
.fs-tema.fs-listing .fs-empty p { margin: 0 0 22px; font-size: 14px; line-height: 1.6; color: var(--fs-muted); }
.fs-tema.fs-listing .fs-empty .fs-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0; }
.fs-tema.fs-listing .fs-empty .fs-btn { min-height: 46px; padding: 0 22px; font-size: 14px; }
/* Regras de <a> de outros módulos vencem .fs-btn-*: fixa as cores dos botões que são links */
.fs-tema.fs-listing .fs-empty a.fs-btn-dark, .fs-tema .fs-filters a.fs-btn-dark { color: #fff; }
.fs-tema.fs-listing .fs-empty a.fs-btn-ghost, .fs-tema .fs-filters a.fs-btn-ghost { color: var(--fs-dark); }
.fs-tema.fs-cat-empty .fs-pager { display: none !important; }
.fs-tema.fs-cat-empty .category-body .alert,
.fs-tema.fs-cat-empty .category-body .col > p,
.fs-tema.fs-cat-empty .category-body .col > .h4 { display: none; } /* mensagem crua do Cali dá lugar ao bloco acima */

@media (prefers-reduced-motion: reduce) {
  .fs-tema.fs-listing .fs-filter-btn, .fs-tema.fs-listing .fs-sort, .fs-tema.fs-listing .fs-pager-btn, .fs-tema.fs-listing .fs-pager-num,
  .fs-tema .fs-filters .radio-button, .fs-tema .fs-filters .checkbox, .fs-tema .fs-filters .btn-price-filter, .fs-tema.fs-listing .category-controls { transition: none !important; }
}


/* ── cart.css ── */
/* Tema Fê Isis — carrinho: página (template-cart) e painel lateral do Cali (#modal-cart) · www.izabelporto.site
   O JS (cart.js) marca os papéis de cada item (.fs-ci-*), achata os wrappers do Cali (.fs-ci-wrap → display: contents)
   e a grade abaixo posiciona foto, nome, preço, quantidade, subtotal e remover. Classes js-* do Cali ficam intactas. */

/* ── Item do carrinho (página e painel) ── */
.fs-tema .js-cart-item.fs-ci { display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "media info remove" "media unit unit" "media qty subtotal" "media try try"; column-gap: 14px; row-gap: 6px; align-items: start; position: relative; float: none; width: auto; max-width: none; margin: 0 0 12px; padding: 14px; background: #fff; border: 1px solid var(--fs-line); border-radius: 20px; box-sizing: border-box; }
.fs-tema .js-cart-item.fs-ci:last-child { margin-bottom: 0; }
.fs-tema .fs-ci .fs-ci-wrap { display: contents; }
.fs-ci > *, .fs-ci .fs-ci-wrap > * { grid-column: 2 / -1; } /* o que não reconhecemos cai abaixo do nome, nunca por cima */

.fs-tema .fs-ci .fs-ci-media { grid-area: media; display: block; width: 84px; height: 112px; margin: 0; padding: 0; border-radius: 14px; overflow: hidden; background: var(--fs-primary-soft); }
.fs-tema .fs-ci .fs-ci-media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; position: static; border-radius: 0; }

.fs-tema .fs-ci .fs-ci-info { grid-area: info; min-width: 0; margin: 0; padding: 0; font-family: var(--body-font, inherit); font-size: 14px; font-weight: 400; line-height: 1.35; color: var(--fs-dark); text-transform: none; letter-spacing: 0; }
.fs-tema .fs-ci .fs-ci-info a { display: block; font-size: 14px; font-weight: 600; color: var(--fs-dark); text-decoration: none; text-transform: none; letter-spacing: 0; transition: color .2s var(--fs-ease); }
.fs-tema .fs-ci .fs-ci-info a:hover { color: var(--fs-accent); }
.fs-tema .fs-ci .fs-ci-info small, .fs-tema .fs-ci .fs-ci-info > :not(a) { display: block; margin: 2px 0 0; font-size: 12px; font-weight: 400; color: var(--fs-muted); text-transform: none; letter-spacing: 0; }
.fs-tema .fs-ci a.fs-ci-info { font-weight: 600; text-decoration: none; }

.fs-tema .fs-ci .fs-ci-unit { grid-area: unit; float: none; width: auto; margin: 0; padding: 0; font-size: 12px; color: var(--fs-muted); }
.fs-tema .fs-ci .fs-ci-unit .js-cart-item-unit-price { color: var(--fs-accent); font-weight: 600; }
.fs-tema .fs-ci .fs-ci-unit del, .fs-tema .fs-ci .fs-ci-unit s, .fs-tema .fs-ci .fs-ci-unit .price-compare { color: var(--fs-muted); font-weight: 400; text-decoration: line-through; }

/* quantidade em pílula: – [n] + (os botões e o input do Cali continuam os mesmos) */
.fs-tema .fs-ci .fs-ci-qty { grid-area: qty; display: inline-flex; align-items: center; justify-self: start; align-self: center; width: auto; height: 36px; margin: 0; padding: 0 4px; float: none; border: 1px solid var(--fs-line); border-radius: 999px; background: #fff; box-shadow: none; box-sizing: border-box; line-height: 1; }
.fs-tema .fs-ci .fs-ci-qty .form-control-container, .fs-tema .fs-ci .fs-ci-qty .cart-quantity-input-container { display: inline-flex; align-items: center; width: auto; margin: 0; padding: 0; position: relative; }
.fs-tema .fs-ci .fs-ci-qty input { width: 36px; height: 28px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; font-family: var(--body-font, inherit); font-size: 14px; font-weight: 600; line-height: 28px; color: var(--fs-dark); -moz-appearance: textfield; appearance: textfield; transform: none; }
.fs-tema .fs-ci .fs-ci-qty input::-webkit-outer-spin-button, .fs-tema .fs-ci .fs-ci-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fs-tema .fs-ci .fs-ci-qty .js-cart-quantity-btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--fs-dark); fill: currentColor; opacity: 1; font-size: 14px; line-height: 1; cursor: pointer; transition: background .2s var(--fs-ease); }
.fs-tema .fs-ci .fs-ci-qty .js-cart-quantity-btn:hover { background: #f3ebe9; opacity: 1; }
.fs-tema .fs-ci .fs-ci-qty .js-cart-quantity-btn svg { width: 12px; height: 12px; fill: currentColor; }
.fs-tema .fs-ci .fs-ci-qty .js-cart-input-spinner { position: static; width: 36px; margin: 0; text-align: center; color: var(--fs-accent); }
.fs-tema .fs-ci .fs-ci-qty .js-cart-input-spinner svg { width: 14px; height: 14px; }

.fs-tema .fs-ci .fs-ci-subtotal { grid-area: subtotal; justify-self: end; align-self: center; float: none; width: auto; max-width: none; margin: 0; padding: 0; font-family: var(--body-font, inherit); font-size: 15px; font-weight: 600; color: var(--fs-accent); text-align: right; white-space: nowrap; }
.fs-tema .fs-ci .fs-ci-subtotal del, .fs-tema .fs-ci .fs-ci-subtotal s, .fs-tema .fs-ci .js-cart-item-subtotal-compare-price { display: block; font-size: 12px; font-weight: 400; color: var(--fs-muted); text-decoration: line-through; }

/* remover: discreto, no canto do card */
.fs-tema .fs-ci .fs-ci-remove { grid-area: remove; justify-self: end; align-self: start; position: static; display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; margin: -4px -4px 0 0; padding: 0 8px; border: 0; border-radius: 999px; background: transparent; color: var(--fs-muted); fill: currentColor; opacity: 1; font-family: var(--body-font, inherit); font-size: 12px; font-weight: 600; line-height: 1; text-decoration: none; cursor: pointer; transition: background .2s var(--fs-ease), color .2s var(--fs-ease); }
.fs-tema .fs-ci .fs-ci-remove.fs-ci-remove-icon { width: 32px; padding: 0; font-size: 0; }
.fs-tema .fs-ci .fs-ci-remove:hover { color: var(--fs-accent); background: var(--fs-primary-soft); opacity: 1; }
.fs-tema .fs-ci .fs-ci-remove svg { width: 16px; height: 16px; fill: currentColor; }

/* Provar esta peça (abre o provador com a peça do item) */
.fs-tema .fs-ci .fs-ci-try { grid-area: try; justify-self: start; margin: 4px 0 0; }
.fs-tema .fs-ci .fs-ci-try svg { width: 14px; height: 14px; }

.fs-tema .fs-ci .fs-ci-promo { grid-area: auto; }
.fs-tema .fs-ci .js-cart-item-promotion-label, .fs-tema .fs-ci .label { display: inline-block; width: auto; margin: 4px 4px 0 0; padding: 2px 9px; border: 0; border-radius: 999px; background: var(--fs-primary-soft); color: var(--fs-accent); font-size: 11px; font-weight: 600; line-height: 1.5; text-transform: none; letter-spacing: 0; }

@media (min-width: 768px) {
  .fs-tema .js-cart-item.fs-ci { grid-template-columns: 96px minmax(0, 1fr) auto; column-gap: 18px; padding: 16px; }
  .fs-tema .fs-ci .fs-ci-media { width: 96px; height: 128px; border-radius: 16px; }
  .fs-tema .fs-ci .fs-ci-info a { font-size: 15px; }
  .fs-tema .fs-ci .fs-ci-subtotal { font-size: 16px; }
}

/* ── Totais, cupom, frete e finalizar (página e painel: .fs-cart-scope) ── */
.fs-tema .fs-cart-scope .cart-row { margin: 0; }
.fs-tema .fs-cart-scope .divider { margin: 16px 0; border-color: var(--fs-line); }
.fs-tema .fs-cart-scope [data-store="cart-subtotal"] { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 12px; float: none; width: auto; margin: 14px 0 4px; font-family: var(--body-font, inherit); font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--fs-dark); }
.fs-tema .fs-cart-scope [data-store="cart-subtotal"] > * { flex: 0 1 auto; width: auto; max-width: none; padding: 0; }
.fs-tema .fs-cart-scope [data-store="cart-subtotal"] .js-cart-subtotal { margin-left: auto; font-weight: 600; text-align: right; }
.fs-tema .fs-cart-scope .js-subtotal-shipping-wording { font-size: 12px; font-weight: 400; color: var(--fs-muted); }
.fs-tema .fs-cart-scope .js-total-promotions { font-size: 13px; font-weight: 600; color: var(--fs-accent); }
.fs-tema .fs-cart-scope .js-total-promotions .js-total-promotions-detail-row { display: flex; justify-content: space-between; gap: 12px; margin: 2px 0; }
.fs-tema .fs-cart-scope .js-total-promotions .js-total-promotions-detail-row > * { flex: 0 1 auto; width: auto; max-width: none; padding: 0; }
.fs-tema .fs-cart-scope .js-shipping-cost-table, .fs-tema .fs-cart-scope .js-shipping-discount-row { display: flex; justify-content: space-between; gap: 12px; margin: 6px 0 0; font-size: 13px; color: var(--fs-dark); }
.fs-tema .fs-cart-scope .js-shipping-cost-table > *, .fs-tema .fs-cart-scope .js-shipping-discount-row > * { flex: 0 1 auto; width: auto; max-width: none; padding: 0; }
.fs-tema .fs-cart-scope .js-shipping-cost-table .opacity-40 { opacity: 1; color: var(--fs-muted); }
.fs-tema .fs-cart-scope .js-shipping-discount-row { color: var(--fs-accent); text-transform: none; }

.fs-tema .fs-cart-scope .js-cart-total-container { float: none; clear: both; width: auto; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid var(--fs-line); }
.fs-tema .fs-cart-scope .js-cart-total-container .h2, .fs-tema .fs-cart-scope .js-cart-total-container .h3 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; margin: 0; font-family: var(--heading-font, inherit); font-size: 22px; font-weight: 300; letter-spacing: -.005em; line-height: 1.2; color: var(--fs-dark); }
.fs-tema .fs-cart-scope .js-cart-total-container .h2 > *, .fs-tema .fs-cart-scope .js-cart-total-container .h3 > * { flex: 0 1 auto; width: auto; max-width: none; padding: 0; margin: 0; }
.fs-tema .fs-cart-scope .js-cart-total-container .js-cart-total { margin-left: auto; font-weight: 400; color: var(--fs-accent); text-align: right; }
.fs-tema .fs-cart-scope .js-cart-total-container .h2 > .col-12, .fs-tema .fs-cart-scope .js-cart-total-container .h3 > .col-12 { flex: 0 0 100%; }
.fs-tema .fs-cart-scope .js-installments-cart-total, .fs-tema .fs-cart-scope .js-payment-discount-price-cart-container { margin: 4px 0 0; font-family: var(--body-font, inherit); font-size: 12px; font-weight: 400; color: var(--fs-muted); text-align: right; }

.fs-tema .fs-cart-scope .js-ajax-cart-submit { display: block; float: none; margin: 0; }
.fs-tema .fs-cart-scope input[name="go_to_checkout"], .fs-tema .fs-cart-scope .js-ajax-cart-submit .btn { display: block; width: 100%; min-height: 52px; margin: 16px 0 10px; padding: 14px 20px; border: 0; border-radius: 999px; background: var(--fs-dark); color: #fff; font-family: var(--body-font, inherit); font-size: 15px; font-weight: 600; letter-spacing: .01em; line-height: 1.3; text-transform: none; cursor: pointer; box-shadow: none; transition: background .25s var(--fs-ease), transform .2s var(--fs-ease); }
.fs-tema .fs-cart-scope input[name="go_to_checkout"]:hover, .fs-tema .fs-cart-scope .js-ajax-cart-submit .btn:hover { background: #000; color: #fff; opacity: 1; }
.fs-tema .fs-cart-scope input[name="go_to_checkout"]:active { transform: scale(.98); }
.fs-tema .fs-cart-scope .text-center .btn-link, .fs-tema .fs-cart-scope a.btn-link.js-modal-close { font-size: 13px; font-weight: 600; color: var(--fs-muted); text-decoration: none; transition: color .2s var(--fs-ease); }
.fs-tema .fs-cart-scope .text-center .btn-link:hover, .fs-tema .fs-cart-scope a.btn-link.js-modal-close:hover { color: var(--fs-accent); opacity: 1; }
.fs-tema .fs-cart-scope .alert { margin: 10px 0; padding: 10px 14px; border: 1px solid var(--fs-line); border-radius: 14px; background: #fff; color: var(--fs-dark); font-size: 12px; text-align: left; }
.fs-tema .fs-cart-scope .alert-warning { border-color: var(--fs-primary); background: var(--fs-primary-soft); color: var(--fs-accent); }
.fs-tema .fs-cart-scope .alert-danger { border-color: var(--fs-primary); color: var(--fs-accent); }

/* frete (calculadora do Cali) e cupom */
.fs-tema .fs-cart-scope .form-label, .fs-tema .fs-cart-scope .js-shipping-calculator-with-zipcode .font-small { font-family: var(--body-font, inherit); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--fs-muted); }
.fs-tema .fs-cart-scope .js-shipping-calculator-current-zip { color: var(--fs-dark); letter-spacing: 0; text-transform: none; font-size: 13px; }
.fs-tema .fs-cart-scope .js-shipping-input, .fs-tema .fs-cart-scope .js-coupon-input, .fs-tema .fs-cart-scope input[name="zipcode"] { height: 46px; padding: 12px 14px; border: 0; border-bottom: 2px solid transparent; border-radius: 12px; background: #f5f5f7; box-shadow: none; font-family: var(--body-font, inherit); font-size: 14px; color: var(--fs-dark); transition: background .2s var(--fs-ease), border-color .2s var(--fs-ease); }
.fs-tema .fs-cart-scope .js-shipping-input:hover, .fs-tema .fs-cart-scope .js-coupon-input:hover { border-color: transparent; border-bottom-color: var(--fs-line); }
.fs-tema .fs-cart-scope .js-shipping-input:focus, .fs-tema .fs-cart-scope .js-coupon-input:focus { background: #fff; border-color: transparent; border-bottom-color: var(--fs-accent); outline: 0; }
.fs-tema .fs-cart-scope .js-calculate-shipping, .fs-tema .fs-cart-scope .js-apply-coupon { min-height: 46px; padding: 0 14px; margin: 0; border: 0; border-radius: 999px; background: var(--fs-dark); color: #fff; fill: #fff; font-family: var(--body-font, inherit); font-size: 13px; font-weight: 600; cursor: pointer; box-shadow: none; transition: background .25s var(--fs-ease); }
.fs-tema .fs-cart-scope .js-calculate-shipping:hover, .fs-tema .fs-cart-scope .js-apply-coupon:hover { background: #000; opacity: 1; }
.fs-tema .fs-cart-scope .js-calculate-shipping svg { fill: #fff; }
.fs-tema .fs-cart-scope .btn-append { top: 0; right: 0; height: 46px; margin: 0; padding: 0 16px; border-radius: 0 12px 12px 0; }
.fs-tema .fs-cart-scope .js-shipping-calculator-change-zipcode, .fs-tema .fs-cart-scope .js-remove-coupon { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 12px; border: 1px solid var(--fs-line); border-radius: 999px; background: #fff; font-family: var(--body-font, inherit); font-size: 12px; font-weight: 600; color: var(--fs-dark); text-decoration: none; cursor: pointer; transition: border-color .2s var(--fs-ease); }
.fs-tema .fs-cart-scope .js-shipping-calculator-change-zipcode:hover, .fs-tema .fs-cart-scope .js-remove-coupon:hover { border-color: var(--fs-primary); opacity: 1; }
.fs-tema .fs-cart-scope .js-shipping-calculator-form .btn-link, .fs-tema .fs-cart-scope .shipping-calculator-form .btn-link { font-size: 12px; color: var(--fs-muted); }
.fs-tema .fs-cart-scope .js-shipping-calculator-response .radio-button-content, .fs-tema .fs-cart-scope .radio-button-primary .radio-button-content { border: 1px solid var(--fs-line); border-radius: 14px; background: #fff; }
.fs-tema .fs-cart-scope .radio-button-icon.checked { background: var(--fs-accent); }
.fs-tema .fs-cart-scope .js-coupon-applied { display: inline-flex; align-items: center; gap: 8px; padding: 4px 4px 4px 12px; border-radius: 999px; background: var(--fs-primary-soft); color: var(--fs-accent); font-size: 13px; font-weight: 600; }

/* ── Página do carrinho ── */
body.fs-tema.template-cart #shoppingCartPage { padding-bottom: 24px; }
body.fs-tema.template-cart .fs-cart-summary { margin: 16px 0 0; padding: 20px; background: #fff; border: 1px solid var(--fs-line); border-radius: 20px; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.06); }
body.fs-tema.template-cart .fs-cart-summary > .container { padding: 0; max-width: none; }
body.fs-tema.template-cart .fs-cart-summary .row { margin: 0; }
body.fs-tema.template-cart .fs-cart-summary .fs-cart-summary-title { margin: 0 0 2px; }
/* quando o Cali monta o resumo em colunas próprias (col-md-*), empilha tudo dentro do card */
body.fs-tema.template-cart .fs-cart-summary [class*="col-md-1"], body.fs-tema.template-cart .fs-cart-summary [class*="col-md-2"], body.fs-tema.template-cart .fs-cart-summary [class*="col-md-3"], body.fs-tema.template-cart .fs-cart-summary [class*="col-md-4"], body.fs-tema.template-cart .fs-cart-summary [class*="col-md-5"], body.fs-tema.template-cart .fs-cart-summary [class*="col-md-6"], body.fs-tema.template-cart .fs-cart-summary [class*="col-md-7"], body.fs-tema.template-cart .fs-cart-summary [class*="col-md-8"], body.fs-tema.template-cart .fs-cart-summary [class*="col-md-9"] { flex: 0 0 100%; max-width: 100%; padding: 0; }
body.fs-tema.template-cart .fs-cart-summary #cart-sticky-summary { position: static; }
@media (min-width: 992px) {
  body.fs-tema.template-cart .fs-cart-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; column-gap: 32px; align-items: start; }
  body.fs-tema.template-cart .fs-cart-grid > * { grid-column: 1; }
  body.fs-tema.template-cart .fs-cart-grid > .fs-cart-summary { grid-column: 2; grid-row: 1 / span 40; margin-top: 0; position: -webkit-sticky; position: sticky; top: 96px; }
  body.fs-tema.template-cart .fs-cart-col .fs-cart-summary { position: -webkit-sticky; position: sticky; top: 96px; }
}
@media (min-width: 768px) {
  body.fs-tema.template-cart .fs-cart-summary { padding: 24px; }
}

/* ── Painel lateral (#modal-cart) ── */
.fs-tema #modal-cart.fs-cart-panel { background: var(--fs-cream); color: var(--fs-dark); }
.fs-tema #modal-cart.fs-cart-panel .modal-header { padding: 18px 20px 10px; background: transparent; font-family: var(--heading-font, inherit); font-size: 24px; font-weight: 300; letter-spacing: -.005em; line-height: 1.2; color: var(--fs-dark); }
.fs-tema #modal-cart.fs-cart-panel .modal-header:hover, .fs-tema #modal-cart.fs-cart-panel .modal-header:focus { opacity: 1; }
.fs-tema #modal-cart.fs-cart-panel .modal-header .row { align-items: center; }
.fs-tema #modal-cart.fs-cart-panel .modal-header .btn-link { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 14px; border: 1px solid var(--fs-line); border-radius: 999px; background: #fff; font-family: var(--body-font, inherit); font-size: 12px; font-weight: 600; color: var(--fs-dark); text-decoration: none; cursor: pointer; transition: border-color .2s var(--fs-ease); }
.fs-tema #modal-cart.fs-cart-panel .modal-header .btn-link:hover { border-color: var(--fs-primary); opacity: 1; }
.fs-tema #modal-cart.fs-cart-panel .modal-body { padding: 6px 20px 24px; }
.fs-tema #modal-cart.fs-cart-panel .js-cart-total-container { margin-top: 12px; }
.fs-tema .js-modal-overlay[data-modal-id="#modal-cart"] { background: rgba(28,23,24,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
@media (min-width: 768px) {
  .fs-tema #modal-cart.fs-cart-panel { width: 460px; border-radius: 22px 0 0 22px; box-shadow: -16px 0 60px rgba(28,23,24,.18); }
  .fs-tema #modal-cart.fs-cart-panel .modal-header { padding: 22px 24px 10px; }
  .fs-tema #modal-cart.fs-cart-panel .modal-body { padding: 6px 24px 28px; }
}

/* aviso "Adicionado ao carrinho" (flutuante do Cali) */
.fs-tema .js-alert-added-to-cart .notification-cart { padding: 16px; border: 1px solid var(--fs-line); border-radius: 18px; background: #fff; color: var(--fs-dark); font-size: 13px; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.12); }
.fs-tema .js-alert-added-to-cart .js-cart-notification-item-img { border-radius: 10px; }
.fs-tema .js-alert-added-to-cart .js-cart-notification-item-name { font-weight: 600; text-transform: none; }
.fs-tema .js-alert-added-to-cart .js-cart-total { color: var(--fs-accent); }
.fs-tema .js-alert-added-to-cart .btn-primary { padding: 12px 18px; border-radius: 999px; background: var(--fs-dark); color: #fff; font-size: 13px; font-weight: 600; }
.fs-tema .js-alert-added-to-cart .btn-primary:hover { background: #000; }
.fs-tema .js-alert-added-to-cart .js-cart-notification-close { cursor: pointer; color: var(--fs-muted); }
@media (max-width: 767px) { .fs-tema .js-alert-added-to-cart .notification-cart { border-radius: 18px 18px 0 0; } }

/* ── Carrinho vazio (página e painel) ── */
.fs-tema .fs-cart-empty-src { display: none !important; } /* alerta azul do Cali: o texto vive no bloco abaixo (o Cali só liga/desliga o pai) */
.fs-tema .fs-cart-empty { max-width: 520px; margin: 8px auto 40px; padding: 44px 24px 40px; text-align: center; background: #fff; border: 1px solid var(--fs-line); border-radius: 22px; }
.fs-tema .fs-cart-empty-icon { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 18px; border-radius: 999px; background: var(--fs-primary-soft); color: var(--fs-accent); }
.fs-tema .fs-cart-empty-icon svg { width: 30px; height: 30px; }
.fs-tema .fs-cart-empty-title { margin: 0 0 8px; font-family: var(--heading-font, inherit); font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: 300; letter-spacing: -.005em; line-height: 1.15; text-transform: none; color: var(--fs-dark); }
.fs-tema .fs-cart-empty-text { max-width: 340px; margin: 0 auto 20px; font-size: 14px; line-height: 1.6; color: var(--fs-muted); }
.fs-tema .fs-cart-empty .fs-btn { min-height: 48px; padding: 13px 26px; font-size: 14px; }
.fs-tema #modal-cart .fs-cart-empty { margin: 8px 0 16px; padding: 32px 18px 28px; }

@media (prefers-reduced-motion: reduce) {
  .fs-tema .fs-ci *, .fs-tema .fs-cart-scope *, .fs-tema #modal-cart.fs-cart-panel * { transition: none !important; }
}


/* ── pages.css ── */
/* Tema Fê Isis — páginas institucionais (template-page), contato (template-contact) e 404 · www.izabelporto.site */

/* ── Cabeçalho de página: título + migalhas (institucional, contato, 404) ── */
body.fs-tema.template-page .page-header,
body.fs-tema.template-contact .page-header,
body.fs-tema.template-404 .page-header { margin: 6px 0 26px; }
body.fs-tema.template-page .page-header > .container-fluid::after,
body.fs-tema.template-contact .page-header > .container-fluid::after,
body.fs-tema.template-404 .page-header > .container-fluid::after { content: ""; display: block; height: 1px; margin-top: 20px; background: var(--fs-line); }
body.fs-tema.template-page .page-header h1,
body.fs-tema.template-contact .page-header h1,
body.fs-tema.template-404 .page-header h1 { margin: 0; font-family: var(--heading-font, "Bitter", serif); font-weight: 300; font-size: clamp(2rem, 4.2vw, 3rem); line-height: 1.08; letter-spacing: -.01em; color: var(--fs-dark); text-transform: none; }
body.fs-tema.template-page .page-header .breadcrumbs,
body.fs-tema.template-contact .page-header .breadcrumbs,
body.fs-tema.template-404 .page-header .breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; margin: 0 0 14px; font-size: 12px; letter-spacing: .02em; text-transform: none; color: var(--fs-muted); }
body.fs-tema.template-page .page-header .breadcrumbs .crumb,
body.fs-tema.template-contact .page-header .breadcrumbs .crumb,
body.fs-tema.template-404 .page-header .breadcrumbs .crumb { opacity: 1; color: var(--fs-muted); text-decoration: none; transition: color .25s var(--fs-ease); }
body.fs-tema.template-page .page-header .breadcrumbs a.crumb:hover,
body.fs-tema.template-contact .page-header .breadcrumbs a.crumb:hover,
body.fs-tema.template-404 .page-header .breadcrumbs a.crumb:hover { color: var(--fs-accent); }
body.fs-tema.template-page .page-header .breadcrumbs .crumb.active,
body.fs-tema.template-contact .page-header .breadcrumbs .crumb.active,
body.fs-tema.template-404 .page-header .breadcrumbs .crumb.active { color: var(--fs-dark); }
body.fs-tema.template-page .page-header .breadcrumbs .separator,
body.fs-tema.template-contact .page-header .breadcrumbs .separator,
body.fs-tema.template-404 .page-header .breadcrumbs .separator { margin: 0 7px; opacity: .45; }
@media (min-width: 768px) {
  body.fs-tema.template-page .page-header,
  body.fs-tema.template-contact .page-header,
  body.fs-tema.template-404 .page-header { margin: 18px 0 36px; }
  body.fs-tema.template-page .page-header > .container-fluid::after,
  body.fs-tema.template-contact .page-header > .container-fluid::after,
  body.fs-tema.template-404 .page-header > .container-fluid::after { margin-top: 26px; }
}

/* ══════════ Institucional (Sobre, políticas, troca e devolução) ══════════ */
/* Coluna de leitura alinhada ao título: mesmo recuo do .container-fluid do cabeçalho */
body.fs-tema.template-page .user-content { padding-bottom: 72px !important; /* vence .pb-5 do Cali */ color: #4a4142; font-family: var(--body-font, "Figtree", sans-serif); font-size: 16px; line-height: 1.75; }
body.fs-tema.template-page .user-content > .container { max-width: none; padding: 0 20px; }
body.fs-tema.template-page .user-content .row { margin: 0; }
body.fs-tema.template-page .user-content .row > [class*="col-"] { flex: 0 1 auto; width: auto; max-width: 58ch; /* ≈ 68 caracteres por linha (o "0" da Figtree mede .64em) */ padding: 0; }
@media (min-width: 768px) {
  body.fs-tema.template-page .user-content { font-size: 17px; }
  body.fs-tema.template-page .user-content > .container { padding: 0 40px; }
}

/* Tipografia do texto. !important: o texto das páginas vem colado do editor com estilos inline
   (Poppins, 16px, margin 0, box-sizing…) que venceriam qualquer regra normal. O JS também limpa
   esses estilos, mas o CSS garante o visual já no primeiro desenho. */
body.fs-tema.template-page .user-content p,
body.fs-tema.template-page .user-content li,
body.fs-tema.template-page .user-content span,
body.fs-tema.template-page .user-content strong,
body.fs-tema.template-page .user-content b,
body.fs-tema.template-page .user-content em,
body.fs-tema.template-page .user-content i,
body.fs-tema.template-page .user-content u,
body.fs-tema.template-page .user-content a { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; }
body.fs-tema.template-page .user-content p,
body.fs-tema.template-page .user-content li { color: inherit !important; }
body.fs-tema.template-page .user-content p { margin: 0 0 1.15em !important; padding: 0 !important; }
body.fs-tema.template-page .user-content p:empty { display: none; }
body.fs-tema.template-page .user-content strong,
body.fs-tema.template-page .user-content b { font-weight: 600; color: var(--fs-dark); }
body.fs-tema.template-page .user-content a { color: var(--fs-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color .25s var(--fs-ease); }
body.fs-tema.template-page .user-content a:hover { color: var(--fs-dark); }

body.fs-tema.template-page .user-content h1,
body.fs-tema.template-page .user-content h2,
body.fs-tema.template-page .user-content h3,
body.fs-tema.template-page .user-content h4,
body.fs-tema.template-page .user-content h5,
body.fs-tema.template-page .user-content h6 { font-family: var(--heading-font, "Bitter", serif) !important; font-weight: 400 !important; line-height: 1.2 !important; letter-spacing: -.005em; color: var(--fs-dark) !important; text-transform: none !important; padding: 0 !important; }
body.fs-tema.template-page .user-content h1 { font-size: 1.9rem !important; margin: 2em 0 .6em !important; }
body.fs-tema.template-page .user-content h2 { font-size: 1.6rem !important; margin: 2.2em 0 .6em !important; }
body.fs-tema.template-page .user-content h3 { font-size: 1.3rem !important; margin: 1.8em 0 .5em !important; }
body.fs-tema.template-page .user-content h4,
body.fs-tema.template-page .user-content h5,
body.fs-tema.template-page .user-content h6 { font-size: 1.1rem !important; margin: 1.6em 0 .4em !important; }
body.fs-tema.template-page .user-content h1:first-child,
body.fs-tema.template-page .user-content h2:first-child,
body.fs-tema.template-page .user-content h3:first-child,
body.fs-tema.template-page .user-content [class*="col-"] > h1:first-child,
body.fs-tema.template-page .user-content [class*="col-"] > h2:first-child,
body.fs-tema.template-page .user-content [class*="col-"] > h3:first-child { margin-top: 0 !important; }
body.fs-tema.template-page .user-content h1 strong,
body.fs-tema.template-page .user-content h2 strong,
body.fs-tema.template-page .user-content h3 strong,
body.fs-tema.template-page .user-content h4 strong,
body.fs-tema.template-page .user-content h1 b,
body.fs-tema.template-page .user-content h2 b,
body.fs-tema.template-page .user-content h3 b,
body.fs-tema.template-page .user-content h4 b { font-weight: inherit; color: inherit; }

/* Listas */
body.fs-tema.template-page .user-content ul,
body.fs-tema.template-page .user-content ol { margin: 0 0 1.25em; padding-left: 1.35em; }
body.fs-tema.template-page .user-content ul { list-style: disc; }
body.fs-tema.template-page .user-content li { margin: 0 0 .45em; line-height: inherit; }
body.fs-tema.template-page .user-content li::marker { color: var(--fs-accent); }
body.fs-tema.template-page .user-content li > ul,
body.fs-tema.template-page .user-content li > ol { margin: .4em 0 .2em; }

/* Tabelas (ex.: tabela de medidas numa página de trocas) — o JS envolve cada <table> em .fs-page-table */
body.fs-tema.template-page .fs-page-table { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.4em 0 1.6em; border: 1px solid var(--fs-line); border-radius: 14px; background: #fff; }
body.fs-tema.template-page .fs-page-table table { width: 100%; min-width: 100%; margin: 0; border-collapse: collapse; font-size: 14px; line-height: 1.45; font-variant-numeric: tabular-nums; }
body.fs-tema.template-page .fs-page-table th,
body.fs-tema.template-page .fs-page-table td { padding: 10px 14px; text-align: left; vertical-align: top; border: 0; border-top: 1px solid var(--fs-line); }
body.fs-tema.template-page .fs-page-table th { background: #faf3f1; font-weight: 600; color: var(--fs-dark); }
body.fs-tema.template-page .fs-page-table tr:first-child th,
body.fs-tema.template-page .fs-page-table tr:first-child td { border-top: 0; }
body.fs-tema.template-page .fs-page-table td p { margin: 0 !important; }

/* Mídia, citações e separadores */
body.fs-tema.template-page .user-content img { max-width: 100%; height: auto; border-radius: 16px; }
body.fs-tema.template-page .user-content iframe,
body.fs-tema.template-page .user-content video { max-width: 100%; border-radius: 16px; }
body.fs-tema.template-page .user-content hr { border: 0; height: 1px; margin: 2.4em 0; background: var(--fs-line); }
body.fs-tema.template-page .user-content blockquote { margin: 1.6em 0; padding: 4px 0 4px 20px; border-left: 2px solid var(--fs-primary); font-family: var(--heading-font, "Bitter", serif); font-size: 1.15em; line-height: 1.5; color: var(--fs-muted); }
body.fs-tema.template-page .user-content blockquote p { margin: 0 !important; }

/* ══════════ Contato ══════════ */
body.fs-tema.template-contact .contact-page { margin-bottom: 80px; }
body.fs-tema.template-contact .contact-page .row { align-items: flex-start; row-gap: 26px; }
@media (min-width: 768px) {
  body.fs-tema.template-contact .contact-page .col-md-3 { flex: 0 0 30%; max-width: 320px; }
  body.fs-tema.template-contact .contact-page .col-md-5 { flex: 1 1 0; min-width: 0; max-width: 620px; }
}

/* Canais de contato (lista da esquerda) — o JS adiciona o rótulo .fs-contact-label e o botão do WhatsApp */
body.fs-tema.template-contact .contact-info { display: grid; gap: 18px; margin: 4px 0 0; padding: 0; list-style: none; }
body.fs-tema.template-contact .contact-info .footer-menu-item { display: block; margin: 0; }
body.fs-tema.template-contact .contact-info .footer-menu-item.fs-dup { display: none; }
body.fs-tema.template-contact .fs-contact-label { display: block; margin: 0 0 5px; font-size: 10.5px; letter-spacing: .13em; text-transform: uppercase; font-weight: 600; color: var(--fs-muted); }
body.fs-tema.template-contact .contact-info .btn-link { display: inline-block; padding-bottom: 2px; font-size: 17px; font-weight: 500; line-height: 1.35; color: var(--fs-dark); text-decoration: none; border-bottom: 1px solid var(--fs-line); word-break: break-word; transition: color .25s var(--fs-ease), border-color .25s var(--fs-ease); }
body.fs-tema.template-contact .contact-info .btn-link:hover,
body.fs-tema.template-contact .contact-info .btn-link:focus { color: var(--fs-accent); border-color: var(--fs-primary); opacity: 1; }
body.fs-tema.template-contact .fs-contact-cta { margin-top: 26px; }
body.fs-tema.template-contact .fs-contact-cta .fs-btn { padding: 13px 20px; font-size: 14px; color: var(--fs-dark); }
body.fs-tema.template-contact .fs-contact-cta .fs-btn:hover { color: var(--fs-dark); }
body.fs-tema.template-contact .fs-contact-hint { margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: var(--fs-muted); }

/* Formulário como card */
body.fs-tema.template-contact .contact-page .form { padding: 22px 18px 20px; background: #fff; border-radius: 20px; box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 12px 32px rgba(0,0,0,.06); }
@media (min-width: 768px) { body.fs-tema.template-contact .contact-page .form { padding: 30px 32px 28px; } }
body.fs-tema.template-contact .contact-page .form-group { margin-bottom: 18px; }
body.fs-tema.template-contact .contact-page .form-group .form-label { float: none; display: block; width: auto; margin: 0 0 8px; font-size: 10.5px; letter-spacing: .13em; text-transform: uppercase; font-weight: 600; color: var(--fs-muted); }
body.fs-tema.template-contact .contact-page .form-control { display: block; width: 100%; padding: 14px 16px; font-family: var(--body-font, "Figtree", sans-serif); font-size: 16px; line-height: 1.4; color: var(--fs-dark); background: #f5f5f7; border: 0; border-bottom: 2px solid transparent; border-radius: 12px; box-shadow: none; transition: background .25s var(--fs-ease), border-color .25s var(--fs-ease); }
body.fs-tema.template-contact .contact-page .form-control:hover { border: 0; border-bottom: 2px solid var(--fs-line); }
body.fs-tema.template-contact .contact-page .form-control:focus { background: #fff; border: 0; border-bottom: 2px solid var(--fs-accent); outline: 0; }
body.fs-tema.template-contact .contact-page .form-control::placeholder { color: var(--fs-muted); opacity: .7; }
body.fs-tema.template-contact .contact-page textarea.form-control { min-height: 168px; resize: vertical; }
body.fs-tema.template-contact .contact-page .form-control.alert-danger { border-bottom-color: var(--fs-accent); }
/* Verificação (Cloudflare Turnstile): o widget é inserido pelo JS da loja com margin inline */
body.fs-tema.template-contact .contact-page .cf-turnstile { margin: 4px 0 16px !important; }

/* Botão enviar: pílula escura */
body.fs-tema.template-contact .contact-page .form .btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; padding: 14px 24px; border-radius: 999px; background: var(--fs-dark); color: #fff; font-weight: 600; font-size: 15px; line-height: 1.2; letter-spacing: .01em; opacity: 1; transition: background .25s var(--fs-ease), transform .2s var(--fs-ease); }
body.fs-tema.template-contact .contact-page .form .btn-primary:hover,
body.fs-tema.template-contact .contact-page .form .btn-primary:focus { background: #000; color: #fff; opacity: 1; }
body.fs-tema.template-contact .contact-page .form .btn-primary:active { transform: scale(.98); }
body.fs-tema.template-contact .contact-page .form .btn-primary:focus-visible { outline: 2px solid var(--fs-accent); outline-offset: 2px; }
body.fs-tema.template-contact .contact-page .form .btn-primary[disabled] { opacity: .55; cursor: default; }
body.fs-tema.template-contact .contact-page .js-form-spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 999px; animation: fs-spin .7s linear infinite; }

/* Mensagens de sucesso / erro (renderizadas pela loja após o envio) */
body.fs-tema.template-contact .contact-page .alert { display: flex; align-items: flex-start; gap: 10px; clear: none; margin: 0 0 20px; padding: 14px 16px; text-align: left; font-size: 14px; line-height: 1.5; color: var(--fs-dark); background: #fff; border: 1px solid var(--fs-line); border-radius: 14px; }
body.fs-tema.template-contact .contact-page .alert::before { content: ""; display: block; flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; border-radius: 999px; background: var(--fs-muted) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6'/%3E%3Cpath d='M12 17.2v.3'/%3E%3C/svg%3E") center / 12px no-repeat; }
body.fs-tema.template-contact .contact-page .alert-success { background: var(--fs-primary-soft); border-color: transparent; }
body.fs-tema.template-contact .contact-page .alert-success::before { background-color: var(--fs-accent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
body.fs-tema.template-contact .contact-page .alert-danger,
body.fs-tema.template-contact .contact-page .alert-error,
body.fs-tema.template-contact .contact-page .alert-warning { border-color: var(--fs-accent); }
body.fs-tema.template-contact .contact-page .alert-danger::before,
body.fs-tema.template-contact .contact-page .alert-error::before,
body.fs-tema.template-contact .contact-page .alert-warning::before { background-color: var(--fs-accent); }
body.fs-tema.template-contact .contact-page .form-group .alert { margin: 10px 0 0; padding: 10px 12px; font-size: 13px; }
body.fs-tema.template-contact .contact-page .alert a { color: var(--fs-accent); }

/* ══════════ 404 ══════════ */
body.fs-tema.template-404 .fs-404-eyebrow { margin: 0 0 8px; }
body.fs-tema.template-404 #page-error { padding-bottom: 60px; }
body.fs-tema.template-404 #page-error > .container-fluid > p { max-width: 48ch; margin: 0 0 22px !important; /* vence .mb-1 */ font-size: 17px; line-height: 1.6; color: #4a4142; }
body.fs-tema.template-404 #page-error > .container-fluid > br { display: none; }
body.fs-tema.template-404 .fs-404-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 56px; }
body.fs-tema.template-404 .fs-404-actions .fs-btn { min-height: 48px; padding: 13px 22px; font-size: 14px; }
/* links dentro das páginas recebem cor do módulo global; as pílulas precisam manter o próprio contraste */
body.fs-tema.template-404 .fs-404-actions a.fs-btn-dark,
body.fs-tema.template-404 .fs-404-actions a.fs-btn-dark:hover { color: #fff; }
body.fs-tema.template-404 .fs-404-actions a.fs-btn-ghost,
body.fs-tema.template-404 .fs-404-actions a.fs-btn-ghost:hover { color: var(--fs-dark); }
body.fs-tema.template-404 #page-error .section-products-related { padding-bottom: 0; }
body.fs-tema.template-404 #page-error .section-products-related > h3 { margin: 0 0 24px !important; /* vence .mb-5 */ font-family: var(--heading-font, "Bitter", serif); font-weight: 300; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.15; letter-spacing: -.005em; color: var(--fs-dark); }

@keyframes fs-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  body.fs-tema.template-contact .contact-page .js-form-spinner { animation: none; border-top-color: rgba(255,255,255,.35); }
  body.fs-tema.template-contact .contact-page .form-control,
  body.fs-tema.template-contact .contact-page .form .btn-primary,
  body.fs-tema.template-contact .contact-info .btn-link,
  body.fs-tema.template-page .user-content a { transition: none; }
}
