/* ============================================================
   ALMA CRIATIVA — Stylesheet Principal (anteriormente "Papel & Alma")
   Ligado em todas as páginas do site.
   Estilos partilhados por família de página estão à parte:
     - css/site-chrome.css  → cabeçalho, navbar, ticker, rodapé (13 páginas)
     - css/catalog-page.css → grelha de catálogo (pinhatas.html, corte-laser.html)
   O CSS específico de cada página fica inline no próprio ficheiro .html.
   ============================================================ */

/* ===================================================
   1. VARIÁVEIS CSS (Design Tokens)
   =================================================== */
:root {
  /* Cores */
  --rosa: #F7DDE2;
  --lavanda: #E8E2F8;
  --menta: #DFF7F2;
  --creme: #FFF6E9;
  --coral: #D96B62;
  --coral-dark: #C05A52;
  --coral-light: #FAEAE8;
  --dourado: #C9943A;
  --dourado-light: #F5EDD8;
  --texto: #3A2E2E;
  --texto-suave: #7A6A6A;
  --borda: #E8E0DC;
  --fundo: #FDFAF8;
  --branco: #FFFFFF;
  --verde: #27AE60;

  /* Tipografia */
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-sans: 'Jost', sans-serif;

  /* Sombras */
  --shadow-sm: 0 2px 12px rgba(58, 46, 46, 0.06);
  --shadow-md: 0 8px 32px rgba(58, 46, 46, 0.10);
  --shadow-lg: 0 20px 60px rgba(58, 46, 46, 0.14);

  /* Raios */
  --radius: 16px;
  --radius-sm: 10px;
  --radius-xs: 6px;

  /* Transição */
  --transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===================================================
   2. RESET & BASE
   =================================================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  background: var(--fundo);
  color: var(--texto);
  font-size: 15px;
  line-height: 1.7;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5 {
  font-family: var(--font-serif);
  font-weight: 400;
  line-height: 1.2;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: var(--font-sans); cursor: pointer; }
ul { list-style: none; }

/* ===================================================
   3. TOPBAR
   =================================================== */
.topbar {
  background: var(--coral);
  color: white;
  text-align: center;
  padding: 9px 20px;
  font-size: 12px;
  letter-spacing: 0.08em;
  font-weight: 500;
}

/* ===================================================
   4. NAVBAR
   =================================================== */
.navbar {
  background: rgba(253, 250, 248, 0.97);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--borda);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow var(--transition);
}
.navbar.scrolled { box-shadow: var(--shadow-md); }
.navbar-inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 14px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.brand {
  font-family: var(--font-serif);
  font-size: 1.65rem;
  font-weight: 600;
  color: var(--texto);
  letter-spacing: -0.02em;
  flex-shrink: 0;
}
.brand em { color: var(--coral); font-style: normal; }
.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
}
.nav-links a {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--texto-suave);
  padding: 8px 14px;
  border-radius: 50px;
  transition: all 0.2s;
  white-space: nowrap;
}
.nav-links a:hover,
.nav-links a.active {
  color: var(--coral);
  background: var(--coral-light);
}
.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.nav-icon-btn {
  background: none;
  border: none;
  color: var(--texto-suave);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.2s;
}
.nav-icon-btn:hover {
  background: var(--coral-light);
  color: var(--coral);
}
.btn-cart-nav {
  background: var(--coral);
  color: white;
  border: none;
  border-radius: 50px;
  padding: 9px 20px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 7px;
  transition: all 0.2s;
}
.btn-cart-nav:hover {
  background: var(--coral-dark);
  transform: translateY(-1px);
}
.cart-count {
  background: white;
  color: var(--coral);
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.hamburger {
  display: none;
  background: none;
  border: none;
  color: var(--texto);
  font-size: 22px;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
}

/* ===================================================
   5. MOBILE MENU
   =================================================== */
.mobile-menu {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: var(--fundo);
  z-index: 2000;
  flex-direction: column;
  padding: 80px 40px 40px;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-menu.open {
  transform: translateX(0);
  display: flex;
}
.mobile-close {
  position: absolute;
  top: 20px; right: 20px;
  background: none;
  border: none;
  font-size: 24px;
  color: var(--texto);
  cursor: pointer;
}
.mobile-nav-link {
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 300;
  color: var(--texto);
  padding: 12px 0;
  border-bottom: 1px solid var(--borda);
  display: block;
  transition: color 0.2s;
}
.mobile-nav-link:hover { color: var(--coral); }

/* ===================================================
   6. BREADCRUMB
   =================================================== */
.breadcrumb {
  max-width: 1300px;
  margin: 0 auto;
  padding: 20px 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--texto-suave);
  flex-wrap: wrap;
}
.breadcrumb a {
  color: var(--texto-suave);
  transition: color 0.2s;
}
.breadcrumb a:hover { color: var(--coral); }
.breadcrumb-sep { opacity: 0.4; }

/* ===================================================
   7. PAGE HERO (páginas internas)
   =================================================== */
.page-hero {
  padding: 80px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.page-hero-overlay {
  position: absolute;
  inset: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
  opacity: 0.1;
}
.page-hero > * { position: relative; z-index: 1; }
.page-eyebrow {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--coral);
  font-weight: 600;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.page-eyebrow::before,
.page-eyebrow::after {
  content: '';
  flex: 1;
  max-width: 40px;
  height: 1px;
  background: var(--coral);
  opacity: 0.4;
}
.page-title {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 300;
  color: var(--texto);
  margin-bottom: 16px;
}
.page-title em { color: var(--coral); font-style: italic; }
.page-sub {
  font-size: 15px;
  color: var(--texto-suave);
  line-height: 1.8;
  max-width: 540px;
  margin: 0 auto;
}

/* ===================================================
   8. BOTÕES
   =================================================== */
.btn-primary {
  background: var(--coral-dark);
  color: white;
  border: none;
  border-radius: 50px;
  padding: 15px 36px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  transition: all var(--transition);
  cursor: pointer;
}
.btn-primary:hover {
  background: var(--coral-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(217, 107, 98, 0.35);
}
.btn-secondary {
  background: transparent;
  color: var(--texto);
  border: 1.5px solid var(--borda);
  border-radius: 50px;
  padding: 14px 36px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  transition: all 0.2s;
  cursor: pointer;
}
.btn-secondary:hover {
  border-color: var(--coral);
  color: var(--coral);
}
.btn-outline-white {
  background: transparent;
  color: white;
  border: 1.5px solid rgba(255,255,255,0.4);
  border-radius: 50px;
  padding: 14px 36px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  transition: all 0.2s;
  cursor: pointer;
}
.btn-outline-white:hover {
  border-color: white;
  background: rgba(255,255,255,0.08);
}

/* ===================================================
   9. FORMULÁRIOS
   =================================================== */
.form-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.form-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--texto-suave);
}
.form-label .required { color: var(--coral); }
.form-input,
.form-select,
.form-textarea {
  width: 100%;
  border: 1.5px solid var(--borda);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  font-family: var(--font-sans);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
  background: white;
  color: var(--texto);
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus { border-color: var(--coral); }
.form-textarea {
  resize: vertical;
  min-height: 90px;
}
.form-select { cursor: pointer; }
.form-input.error { border-color: #E74C3C; }

/* ===================================================
   10. PRODUCT CARD
   =================================================== */
.product-card {
  background: white;
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
  transition: transform var(--transition), box-shadow var(--transition);
  border: 1px solid var(--borda);
}
.product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
  border-color: transparent;
}
.product-img-wrap {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--creme);
}
.product-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.product-card:hover .product-img { transform: scale(1.07); }
.product-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: var(--coral);
  color: white;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 50px;
}
.product-badge.badge-new { background: var(--dourado); }
.product-badge.badge-sale { background: var(--verde); }
.product-wishlist {
  position: absolute;
  top: 12px; right: 12px;
  background: white;
  border: none;
  border-radius: 50%;
  width: 36px; height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  color: var(--texto-suave);
  box-shadow: var(--shadow-sm);
  transition: all 0.2s;
  opacity: 0;
}
.product-card:hover .product-wishlist { opacity: 1; }
.product-wishlist:hover {
  color: #E74C3C;
  transform: scale(1.12);
}
.product-quick-add {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: var(--coral);
  color: white;
  border: none;
  padding: 13px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  transform: translateY(100%);
  transition: transform var(--transition);
  cursor: pointer;
}
.product-card:hover .product-quick-add { transform: translateY(0); }
.product-info { padding: 18px; }
.product-cat {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--coral);
  margin-bottom: 6px;
  font-weight: 600;
}
.product-name {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  margin-bottom: 10px;
  color: var(--texto);
}
.product-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.product-price {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--coral);
  font-weight: 500;
}
.product-price-old {
  font-size: 0.9rem;
  color: var(--texto-suave);
  text-decoration: line-through;
  margin-left: 6px;
}
.product-stars {
  font-size: 11px;
  color: #F5A623;
  letter-spacing: 1px;
}
.product-personalize {
  font-size: 11px;
  color: var(--coral);
  font-weight: 500;
  margin-top: 6px;
}

/* ===================================================
   11. FILTROS (sidebar de categorias)
   =================================================== */
.filter-sidebar { position: sticky; top: 80px; }
.filter-section { margin-bottom: 32px; }
.filter-title {
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--texto);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--borda);
}
.filter-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 0;
  cursor: pointer;
}
.filter-option label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--texto-suave);
  cursor: pointer;
  flex: 1;
}
.filter-option input[type="checkbox"],
.filter-option input[type="radio"] {
  width: 16px; height: 16px;
  accent-color: var(--coral);
  cursor: pointer;
}
.filter-count {
  font-size: 11px;
  color: var(--texto-suave);
  background: var(--fundo);
  border: 1px solid var(--borda);
  border-radius: 50px;
  padding: 2px 8px;
}
.filter-range {
  width: 100%;
  accent-color: var(--coral);
  margin-top: 8px;
}
.filter-apply {
  background: var(--coral);
  color: white;
  border: none;
  border-radius: 50px;
  padding: 11px;
  width: 100%;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  margin-top: 16px;
  transition: background 0.2s;
  cursor: pointer;
}
.filter-apply:hover { background: var(--coral-dark); }
.filter-clear {
  background: none;
  border: 1px solid var(--borda);
  border-radius: 50px;
  padding: 10px;
  width: 100%;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--texto-suave);
  margin-top: 8px;
  transition: all 0.2s;
  cursor: pointer;
}
.filter-clear:hover {
  border-color: var(--coral);
  color: var(--coral);
}

/* ===================================================
   12. RESULTS BAR
   =================================================== */
.results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  flex-wrap: wrap;
  gap: 12px;
}
.results-count { font-size: 14px; color: var(--texto-suave); }
.results-count strong { color: var(--texto); }
.sort-select {
  border: 1.5px solid var(--borda);
  border-radius: 50px;
  padding: 8px 16px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--texto);
  background: white;
  outline: none;
  cursor: pointer;
  transition: border-color 0.2s;
}
.sort-select:focus { border-color: var(--coral); }
.view-toggle { display: flex; gap: 6px; }
.view-btn {
  background: none;
  border: 1.5px solid var(--borda);
  border-radius: var(--radius-sm);
  width: 36px; height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--texto-suave);
  font-size: 14px;
  transition: all 0.2s;
  cursor: pointer;
}
.view-btn.active,
.view-btn:hover {
  border-color: var(--coral);
  color: var(--coral);
  background: var(--coral-light);
}

/* ===================================================
   13. PAGINAÇÃO
   =================================================== */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 56px;
}
.page-btn {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1.5px solid var(--borda);
  background: white;
  color: var(--texto-suave);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}
.page-btn:hover,
.page-btn.active {
  background: var(--coral);
  border-color: var(--coral);
  color: white;
}
.page-next {
  width: auto;
  padding: 0 18px;
  border-radius: 50px;
}

/* ===================================================
   14. TOAST NOTIFICATIONS
   =================================================== */
.toast-wrap {
  position: fixed;
  top: 80px; right: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.toast {
  background: white;
  border-radius: var(--radius-sm);
  padding: 14px 20px;
  box-shadow: var(--shadow-md);
  border-left: 4px solid var(--coral);
  font-size: 14px;
  font-weight: 500;
  min-width: 260px;
  opacity: 0;
  transform: translateX(20px);
  transition: all 0.3s;
}
.toast.show {
  opacity: 1;
  transform: translateX(0);
}

/* ===================================================
   15. SCROLL REVEAL
   =================================================== */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* ===================================================
   16. CHECKOUT — PASSOS
   =================================================== */
.steps-bar { background: white; border-bottom: 1px solid var(--borda); }
.steps-bar-inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 20px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.step-item { display: flex; align-items: center; gap: 10px; }
.step-circle {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 2px solid var(--borda);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--texto-suave);
  background: white;
  transition: all 0.2s;
}
.step-circle.active {
  border-color: var(--coral);
  background: var(--coral);
  color: white;
}
.step-circle.done {
  border-color: var(--coral);
  background: var(--coral-light);
  color: var(--coral);
}
.step-label { font-size: 13px; font-weight: 500; color: var(--texto-suave); }
.step-label.active { color: var(--coral); }
.step-sep {
  width: 60px; height: 2px;
  background: var(--borda);
  margin: 0 12px;
  transition: background 0.2s;
}
.step-sep.done { background: var(--coral); }

/* ===================================================
   17. COOKIE BANNER
   =================================================== */
.cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--texto);
  color: white;
  padding: 20px 40px;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.15);
  transition: transform 0.4s ease;
}
.cookie-banner.hidden { transform: translateY(100%); }
.cookie-banner p { font-size: 13px; color: rgba(255,255,255,0.75); line-height: 1.6; max-width: 600px; }
.cookie-banner a { color: var(--coral); }
.cookie-btns { display: flex; gap: 10px; flex-shrink: 0; flex-wrap: wrap; }
.btn-cookie-accept {
  background: var(--coral);
  color: white;
  border: none;
  border-radius: 50px;
  padding: 10px 22px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}
.btn-cookie-accept:hover { background: var(--coral-dark); }
.btn-cookie-essential {
  background: transparent;
  color: rgba(255,255,255,0.65);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 50px;
  padding: 9px 22px;
  font-family: var(--font-sans);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
}
.btn-cookie-essential:hover { border-color: white; color: white; }

/* ===================================================
   18. FOOTER
   =================================================== */
footer {
  background: var(--texto);
  color: rgba(255,255,255,0.65);
  padding: 60px 0 0;
}
.footer-inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 40px 48px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.footer-brand {
  font-family: var(--font-serif);
  font-size: 1.7rem;
  color: white;
  margin-bottom: 12px;
}
.footer-brand em { color: var(--coral); font-style: normal; }
.footer-desc {
  font-size: 13px;
  line-height: 1.9;
  max-width: 260px;
  margin-bottom: 20px;
}
.footer-social { display: flex; gap: 10px; }
.social-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  transition: background 0.2s;
}
.social-btn:hover { background: var(--coral); }
.footer-col-title {
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: white;
  font-weight: 600;
  margin-bottom: 16px;
}
.footer-link {
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,0.55);
  margin-bottom: 9px;
  transition: color 0.2s;
}
.footer-link:hover { color: white; }
.footer-bottom {
  max-width: 1300px;
  margin: 0 auto;
  padding: 22px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: rgba(255,255,255,0.3);
  gap: 20px;
  flex-wrap: wrap;
}

/* ===================================================
   19. WHATSAPP FLOAT
   =================================================== */
.wa-float {
  position: fixed;
  bottom: 28px; right: 28px;
  z-index: 8000;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  box-shadow: 0 8px 24px rgba(37,211,102,0.4);
  transition: transform 0.2s;
  text-decoration: none;
}
.wa-float:hover { transform: scale(1.1); }
.wa-float::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(37,211,102,0.3);
  animation: wa-pulse 2s ease-out infinite;
}
@keyframes wa-pulse {
  0%   { transform: scale(1); opacity: 1; }
  100% { transform: scale(1.5); opacity: 0; }
}

/* ===================================================
   20. UTILITÁRIOS
   =================================================== */
.text-coral  { color: var(--coral); }
.text-suave  { color: var(--texto-suave); }
.text-serif  { font-family: var(--font-serif); }
.text-center { text-align: center; }
.fw-300 { font-weight: 300; }
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.mt-8  { margin-top:  8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mb-8  { margin-bottom:  8px; }
.mb-16 { margin-bottom: 16px; }
.mb-24 { margin-bottom: 24px; }
.divider { height: 1px; background: var(--borda); margin: 24px 0; }

/* ===================================================
   21. RESPONSIVO
   =================================================== */

/* Tablet */
@media (max-width: 1000px) {
  .shop-layout { grid-template-columns: 1fr !important; }
  .filter-sidebar { position: static !important; }
}

/* Mobile grande */
@media (max-width: 768px) {
  .navbar-inner { padding: 14px 20px; }
  .nav-links { display: none; }
  .nav-icon-btn:not(.hamburger) { display: none; }
  .hamburger { display: flex; }

  .page-hero { padding: 60px 20px; }
  .breadcrumb { padding: 16px 20px; }

  .footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 0 20px 32px;
  }
  .footer-bottom { padding: 18px 20px; }

  .cookie-banner { padding: 16px 20px; }
  .steps-bar-inner { padding: 16px 20px; }
  .step-label { display: none; }
  .step-sep { width: 30px; margin: 0 6px; }
}

/* Mobile pequeno */
@media (max-width: 480px) {
  .pagination { flex-wrap: wrap; }
}


/* =========================================================
   ALMA CRIATIVA — HEADER GLOBAL v17
   Uma única navegação para TODAS as páginas.
   ========================================================= */
.ac16-topbar{height:38px;background:#f7dfe5;color:#75696a;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(217,109,97,.12);white-space:nowrap;font-family:'Jost',sans-serif}
.ac16-ticker{display:flex;align-items:center;white-space:nowrap;animation:ac16Ticker 38s linear infinite;min-width:max-content}
.ac16-topbar:hover .ac16-ticker{animation-play-state:paused}
.ac16-ticker-item{display:inline-flex;align-items:center;gap:9px;padding:0 34px;font-size:12px;font-weight:500;letter-spacing:.035em}
.ac16-dot{width:5px;height:5px;border-radius:50%;background:#d96d61;opacity:.45;display:inline-block;flex:0 0 auto}
.ac16-ticker strong{color:#d96d61}
@keyframes ac16Ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ac16-navbar{position:relative;background:rgba(255,255,255,.98);border-bottom:1px solid #eee5e2;z-index:1200;font-family:'Jost',sans-serif}
.ac16-top{height:92px;max-width:1360px;margin:auto;padding:0 46px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ac16-brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;line-height:1;color:#3b3031;text-decoration:none;letter-spacing:-.025em;white-space:nowrap}
.ac16-brand em{color:#d96d61;font-style:normal}
.ac16-actions{display:flex;align-items:center;gap:10px}
.ac16-icon{width:38px;height:38px;border:0;background:transparent;color:#75696a;font-size:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ac16-icon:hover{background:#f9eeee;color:#d96d61}
.ac16-cart{display:inline-flex;align-items:center;gap:8px;background:#d96d61;color:#fff;text-decoration:none;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700}
.ac16-count{background:#fff;color:#d96d61;border-radius:50%;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:10px}
.ac16-navrow{border-top:1px solid #f0e9e7;background:#fff}
.ac16-navinner{max-width:1360px;margin:auto;padding:0 46px;min-height:58px;display:flex;align-items:stretch;gap:4px}
.ac16-link{display:flex;align-items:center;gap:5px;padding:0 17px;text-decoration:none;color:#75696a;text-transform:uppercase;letter-spacing:.075em;font-size:12px;font-weight:700;border-bottom:2px solid transparent;white-space:nowrap}
.ac16-link:hover,.ac16-link.active{color:#d96d61;border-bottom-color:#d96d61}
.ac16-arrow{font-size:8px;opacity:.55}
.ac16-create{margin-left:auto;align-self:center;background:#d96d61;color:#fff;text-decoration:none;border-radius:999px;padding:11px 20px;font-size:12px;font-weight:700;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap}
.ac16-create:hover{background:#c85e53}
.ac16-item{position:relative;display:flex}
.ac16-drop{position:absolute;top:58px;left:0;min-width:260px;background:#fff;border:1px solid #eee5e2;border-top:2px solid #d96d61;box-shadow:0 18px 45px rgba(60,45,47,.12);padding:18px;opacity:0;pointer-events:none;transform:translateY(7px);transition:.2s;z-index:1300}
.ac16-item:hover .ac16-drop{opacity:1;pointer-events:auto;transform:none}
.ac16-drop a{display:block;padding:8px 4px;color:#75696a;text-decoration:none;font-size:13px}
.ac16-drop a:hover{color:#d96d61}
.ac16-mobile-btn{display:none}
.ac16-mobile{display:none}
@media(max-width:1000px){.ac16-top{padding:0 24px}.ac16-navinner{padding:0 24px}.ac16-link{padding:0 10px;font-size:11px}.ac16-create{padding:10px 14px}}
@media(max-width:760px){.ac16-top{height:72px;padding:0 18px}.ac16-brand{font-size:1.7rem}.ac16-actions .ac16-icon{display:none}.ac16-cart{padding:9px 13px}.ac16-navrow{display:none}.ac16-mobile-btn{display:flex;width:42px;height:42px;border:0;background:transparent;font-size:23px;align-items:center;justify-content:center;cursor:pointer;color:#3b3031}.ac16-mobile{position:fixed;inset:0;background:#fffaf7;z-index:5000;padding:90px 26px 35px;overflow:auto;display:block;transform:translateX(100%);transition:transform .3s}.ac16-mobile.open{transform:translateX(0)}.ac16-mobile-close{position:absolute;right:20px;top:20px;border:0;background:none;font-size:27px;color:#3b3031}.ac16-mobile a{display:block;text-decoration:none;color:#3b3031;padding:13px 0;border-bottom:1px solid #eadfdd;font-family:'Jost',sans-serif}.ac16-mobile .main{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.65rem}.ac16-mobile .sub{padding-left:14px;color:#75696a;font-size:14px}.ac16-mobile .sub-heading{display:block;padding:10px 0 2px 14px;border-bottom:0;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#b79a93;font-weight:600}.ac16-mobile .mobile-cta{margin-top:22px;background:#d96d61;color:#fff;text-align:center;border-radius:999px;border:0;padding:14px;font-weight:700}}


/* ═══════════════════════════════════════════════════════
   ALMA CRIATIVA — LOGÓTIPO OFICIAL
   Aplicado globalmente em todas as páginas v18
═══════════════════════════════════════════════════════ */
.ac16-brand{
  display:inline-flex !important;
  align-items:center;
  justify-content:flex-start;
  width:72px;
  height:62px;
  padding:0;
  overflow:visible;
}
.ac16-brand .ac16-logo{
  display:block;
  width:72px;
  height:62px;
  object-fit:contain;
  object-position:center;
}
@media(max-width:760px){
  .ac16-brand{width:58px;height:52px}
  .ac16-brand .ac16-logo{width:58px;height:52px}
}


/* ALMA CRIATIVA v19 — símbolo oficial + nome da marca */
.ac16-brand{
  width:auto !important;
  height:62px;
  gap:10px;
  text-decoration:none;
}
.ac16-brand .ac16-logo{
  width:48px;
  height:52px;
  flex:0 0 auto;
}
.ac16-brand-name{
  display:inline-block;
  white-space:nowrap;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.55rem,2vw,2.05rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.02em;
  color:#3b3031;
}
.ac16-brand-name em{
  color:#c96d62;
  font-style:normal;
}
@media(max-width:760px){
  .ac16-brand{
    height:52px;
    gap:7px;
  }
  .ac16-brand .ac16-logo{
    width:40px;
    height:46px;
  }
  .ac16-brand-name{
    font-size:1.45rem;
  }
}


/* ALMA CRIATIVA v20 — símbolo oficial com maior presença visual */
.ac16-brand{
  height:70px !important;
  gap:12px !important;
}
.ac16-brand .ac16-logo{
  width:62px !important;
  height:66px !important;
  transform:scale(1.04);
  transform-origin:center;
}
.ac16-brand-name{
  font-size:clamp(1.7rem,2.15vw,2.2rem) !important;
}
@media(max-width:760px){
  .ac16-brand{
    height:58px !important;
    gap:9px !important;
  }
  .ac16-brand .ac16-logo{
    width:50px !important;
    height:56px !important;
  }
  .ac16-brand-name{
    font-size:1.55rem !important;
  }
}


/* Alma Criativa v24 — auditoria de navegação e acessibilidade */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:3px solid rgba(217,109,97,.45);
  outline-offset:3px;
}
html{scroll-behavior:smooth}

/* Alma Criativa v25 — fluxo de pedido claro e consistente */
.ac25-steps{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px auto 0;padding:0 16px}
.ac25-step{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #eadfdd;color:#8a7d7e;font-size:.84rem;font-weight:700}
.ac25-step.active{background:#3b3031;color:#fff;border-color:#3b3031}
.ac25-step.done{background:#fff2ef;color:#c76559;border-color:#f0d9d5}
.ac25-help{margin:18px auto 0;max-width:780px;padding:14px 18px;border-radius:15px;background:#fff8f6;border:1px solid #f0dfdb;color:#75696a;line-height:1.6;font-size:.92rem}
.ac25-success{max-width:760px;margin:0 auto;text-align:center;padding:80px 22px}
.ac25-success .icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:linear-gradient(135deg,#f7dfe5,#e2f2ef);font-size:2rem}
.ac25-success h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.6rem,6vw,4.5rem);margin:8px 0 16px;color:#3b3031}
.ac25-success p{color:#75696a;line-height:1.75;font-size:1.05rem}
.ac25-success .actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}
.ac25-primary,.ac25-secondary{display:inline-block;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700}
.ac25-primary{background:#d96d61;color:#fff}.ac25-secondary{background:#fff;color:#3b3031;border:1px solid #eadfdd}


/* =========================================================
   ALMA CRIATIVA v26 — AUDITORIA VISUAL GLOBAL 360
   Camada de consistência aplicada a todo o projeto
========================================================= */
:root{
  --ac-ink:#3b3031;
  --ac-muted:#75696a;
  --ac-coral:#d96d61;
  --ac-line:#eadfdd;
  --ac-paper:#fffaf7;
}
html{scroll-behavior:smooth}
body{background:var(--ac-paper);color:var(--ac-ink)}
img{max-width:100%;height:auto}
main,section{scroll-margin-top:118px}

/* Ritmo visual: evita blocos demasiado apertados ou dispersos */
@media(min-width:761px){
  section{position:relative}
}
.ac16-navbar{box-shadow:0 1px 0 rgba(59,48,49,.05)}
.ac16-brand{flex-shrink:0}

/* Consistência dos títulos e texto editorial, sem alterar conteúdos */
h1,h2,h3{color:var(--ac-ink)}
p{max-width:75ch}
.ac26-soft-divider{height:1px;background:linear-gradient(90deg,transparent,var(--ac-line),transparent);margin:0 auto;width:min(1120px,90%)}

/* Botões: áreas de clique mais confortáveis e estados consistentes */
a[class*="btn"],button[class*="btn"],.ac16-create,.ac16-cart{
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
a[class*="btn"]:hover,button[class*="btn"]:hover,.ac16-create:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(75,55,56,.10);
}

/* Cartões: evitar bordas pesadas e melhorar profundidade */
[class*="card"],[class*="Card"],[class*="product"],[class*="creation"]{
  border-color:var(--ac-line);
}

/* Footer: manter leitura limpa e ligações identificáveis */
footer a{transition:opacity .18s ease}
footer a:hover{opacity:.72}

/* Mobile: eliminar sensação de desktop encolhido */
@media(max-width:760px){
  body{overflow-x:hidden}
  .ac16-navbar{position:relative}
  h1{letter-spacing:-.025em}
  .ac16-top{gap:8px}
  .ac16-actions{gap:6px}
  .ac16-navrow{display:none}
  .ac16-brand-name{max-width:145px;overflow:hidden;text-overflow:ellipsis}
  section{scroll-margin-top:74px}
}

/* ALMA CRIATIVA v27 — qualidade final e acessibilidade */
.ac27-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ac27-skip:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;overflow:visible;z-index:99999;background:#3b3031;color:#fff;padding:12px 16px;border-radius:999px;text-decoration:none;font-weight:700}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Alma Criativa v28 — correções diretas da auditoria 360 */
.ac28-page-title{
  padding:38px 0 22px;
  background:linear-gradient(120deg,rgba(247,221,229,.72),rgba(238,231,247,.72),rgba(221,244,241,.72));
  border-bottom:1px solid rgba(234,223,221,.9);
}
.ac28-page-title-inner{width:min(1120px,90%);margin:0 auto}
.ac28-page-title h1{
  font-family:Georgia,serif;font-weight:400;
  font-size:clamp(2.25rem,5vw,4.2rem);
  line-height:1.04;margin:0 0 10px;color:#3b3031;
}
.ac28-page-title p{margin:0;color:#75696a;line-height:1.65;max-width:720px}
@media(max-width:760px){
  .ac28-page-title{padding:28px 0 18px}
}


/* Alma Criativa v37 — correção estrutural da grelha de Criações */
/* Impede qualquer sobreposição entre cards: cada item ocupa uma célula real da grelha. */
#criacoes .alma-cat-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-rows:360px !important;
  gap:26px !important;
  align-items:stretch !important;
}
#criacoes .alma-cat-grid > .cat-card,
#criacoes .alma-cat-grid > .cat-card.large,
#criacoes .alma-cat-grid > .cat-card.large:last-child{
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  min-width:0 !important;
  aspect-ratio:auto !important;
  margin:0 !important;
  display:block !important;
  position:relative !important;
}
#criacoes .alma-cat-grid .cat-img{display:block;width:100%;height:100%;object-fit:cover;}

@media(max-width:1000px){
  #criacoes .alma-cat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:330px !important;
  }
}
@media(max-width:680px){
  #criacoes .alma-cat-grid{
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-rows:330px !important;
    gap:18px !important;
  }
}


/* PERSONALIZAR — fluxo e regresso ao início */
.ac25-workflow{background:linear-gradient(180deg,#fffdfb 0%,#fff8f6 100%);border-bottom:1px solid #eee2df;padding:16px 0 18px}
.ac25-workflow-inner{width:min(1160px,92%);margin:0 auto;display:grid;grid-template-columns:190px 1fr 190px;align-items:center;gap:14px}
.ac25-home{justify-self:start;display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #eadfdd;border-radius:999px;background:#fff;color:#5b4c4d;text-decoration:none;font-family:'Jost',sans-serif;font-size:.88rem;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}
.ac25-home:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(73,52,53,.08)}
.ac25-workflow .ac25-steps{grid-column:2;margin:0;padding:0;justify-content:center}
.ac25-workflow .ac25-help{width:min(780px,92%);margin:12px auto 0}
@media(max-width:900px){.ac25-workflow-inner{grid-template-columns:1fr}.ac25-home{justify-self:center}.ac25-workflow .ac25-steps{grid-column:auto}.ac25-workflow{padding-top:14px}}
@media(max-width:560px){.ac25-home span{display:inline}.ac25-workflow .ac25-steps{gap:6px}.ac25-workflow .ac25-step{font-size:.76rem;padding:8px 10px}}

/* Loja experimental Alma Criativa */
.ac-store-page{background:#fffaf7;color:#3b3031}.ac-store-wrap{width:min(1180px,92%);margin:auto}.ac-store-new{background:#eee6fb;color:#7a58a7;border-radius:999px;padding:3px 7px;font-size:9px;letter-spacing:.05em}.ac-store-hero{padding:84px 0 78px;background:radial-gradient(circle at 87% 22%,rgba(255,255,255,.72),transparent 19%),linear-gradient(120deg,#f7dde5 0%,#eee8f8 48%,#ddf4f1 100%)}.ac-store-hero-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:70px;align-items:center}.ac-store-kicker,.ac-store-card-cat{margin:0;color:#bf6257;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.ac-store-hero h1{font:400 clamp(3rem,5.6vw,5.3rem)/.98 Georgia,serif;margin:16px 0;color:#3b3031}.ac-store-hero h1 em,.ac-store-section-head h2 em{font-style:italic;color:#c96d61}.ac-store-lead{max-width:720px;color:#65595b;font-size:1.05rem;line-height:1.85}.ac-store-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.ac-store-primary,.ac-store-secondary{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:14px 22px;font-weight:700;text-decoration:none;transition:.2s}.ac-store-primary{background:#d96d61;color:#fff}.ac-store-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(217,109,97,.22)}.ac-store-secondary{border:1px solid #e4d7d4;color:#554849;background:rgba(255,255,255,.52)}.ac-store-hero-note{background:rgba(255,255,255,.72);border:1px solid rgba(217,109,97,.16);border-radius:28px;padding:28px;box-shadow:0 18px 45px rgba(61,48,49,.06)}.ac-store-hero-note span{display:block;color:#d96d61;font-size:1.5rem;margin-bottom:12px}.ac-store-hero-note strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}.ac-store-hero-note p{color:#75696a;line-height:1.65;margin-bottom:0}.ac-store-categories{border-bottom:1px solid #efe5e2;background:#fffdfb}.ac-store-categories .ac-store-wrap{display:flex;gap:10px;overflow:auto;padding:18px 0}.ac-store-filter{border:1px solid #eadfdd;background:#fff;padding:10px 16px;border-radius:999px;color:#554849;cursor:pointer;font:inherit;white-space:nowrap}.ac-store-filter.active{background:#3b3031;border-color:#3b3031;color:#fff}.ac-store-products{padding:72px 0 88px}.ac-store-section-head{display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:end;margin-bottom:34px}.ac-store-section-head h2{font:400 clamp(2.4rem,4vw,3.7rem)/1.05 Georgia,serif;margin:10px 0}.ac-store-section-head>p{color:#75696a;line-height:1.75;margin:0}.ac-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ac-store-card{background:#fff;border:1px solid #eadfdd;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 12px 30px rgba(75,55,56,.035);transition:transform .2s,box-shadow .2s}.ac-store-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(75,55,56,.09)}.ac-store-card[hidden]{display:none}.ac-store-image{height:285px;position:relative;overflow:hidden;background:#f3ece9}.ac-store-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.ac-store-card:hover .ac-store-image img{transform:scale(1.04)}.ac-store-image span{position:absolute;top:13px;left:13px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7b6262}.ac-store-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.ac-store-card h3{font:400 1.55rem Georgia,serif;margin:10px 0 8px}.ac-store-card-body>p:not(.ac-store-card-cat){color:#75696a;line-height:1.6;font-size:.93rem;margin:0}.ac-store-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px}.ac-store-card-foot strong{font-size:.95rem}.ac-store-add{border:0;background:#d96d61;color:#fff;border-radius:999px;padding:10px 14px;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.ac-store-custom-card{padding:34px;background:linear-gradient(135deg,#f8e4e8,#eee8f7,#e0f2ef);justify-content:center}.ac-store-custom-symbol{font-size:2.2rem;color:#d96d61}.ac-store-custom-card h3{font-size:2rem}.ac-store-full{margin-top:18px;align-self:flex-start}.ac-store-how{padding:68px 0;background:linear-gradient(120deg,#f8e4e8,#efe9f8 48%,#e0f2ef)}.ac-store-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.ac-store-steps>div{background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.75);border-radius:18px;padding:22px}.ac-store-steps b{color:#d96d61;font-size:.8rem}.ac-store-steps h3{font:400 1.4rem Georgia,serif;margin:10px 0 7px}.ac-store-steps p{margin:0;color:#75696a;line-height:1.6;font-size:.9rem}.ac-store-toast{position:fixed;right:24px;bottom:24px;background:#3b3031;color:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 16px 36px rgba(0,0,0,.18);transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s;z-index:9999}.ac-store-toast.show{transform:translateY(0);opacity:1}@media(max-width:980px){.ac-store-hero-grid,.ac-store-section-head{grid-template-columns:1fr;gap:26px}.ac-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-store-steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.ac-store-hero{padding:58px 0}.ac-store-grid{grid-template-columns:1fr}.ac-store-steps{grid-template-columns:1fr}.ac-store-image{height:320px}.ac-store-hero-actions{flex-direction:column}.ac-store-primary,.ac-store-secondary{width:100%}}


/* ═══════════════════════════════════════════════════════════════
   LOJA EXPERIMENTAL v2 — catálogo, produto e encomenda artesanal
   ═══════════════════════════════════════════════════════════════ */
.ac-store-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px;padding:14px 16px;border:1px solid #eadfdd;border-radius:16px;background:rgba(255,255,255,.7)}.ac-store-toolbar p{margin:0;color:#75696a;font-size:.9rem}.ac-store-toolbar label{display:flex;align-items:center;gap:10px;color:#554849;font-size:.86rem;font-weight:700}.ac-store-toolbar select{border:1px solid #e4d7d4;border-radius:10px;background:#fff;padding:9px 12px;color:#554849;font:inherit}.ac-store-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.ac-store-details{color:#7b6262;font-size:.84rem;font-weight:700;text-decoration:none;padding:10px 2px}.ac-store-details:hover{color:#d96d61}.ac-store-card-foot{align-items:center}.ac-product-main{padding:34px 0 80px;background:linear-gradient(180deg,#fffaf7 0%,#fff 100%)}.ac-product-back{margin-bottom:24px}.ac-product-back a{color:#7b6262;text-decoration:none;font-weight:700;font-size:.9rem}.ac-product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:60px;align-items:start}.ac-product-gallery{position:sticky;top:24px}.ac-product-image{border-radius:28px;overflow:hidden;background:#f2eae7;aspect-ratio:1/1}.ac-product-image img{width:100%;height:100%;object-fit:cover;display:block}.ac-product-note{margin-top:14px;padding:14px 16px;border-radius:16px;background:linear-gradient(100deg,#f8e4e8,#eee9f8,#e1f2ef);color:#66595b;font-size:.9rem;line-height:1.6}.ac-product-info h1{font:400 clamp(2.8rem,5vw,4.8rem)/1.02 Georgia,serif;margin:14px 0 10px;color:#3b3031}.ac-product-price{font:700 1.15rem/1.3 Arial,sans-serif;color:#c96d61;margin:0 0 20px}.ac-product-description{font-size:1rem;line-height:1.8;color:#66595b;max-width:650px}.ac-product-divider{height:1px;background:#eadfdd;margin:26px 0}.ac-product-form{display:grid;gap:16px}.ac-product-field{display:grid;gap:8px}.ac-product-field label{font-size:.86rem;font-weight:700;color:#554849}.ac-product-field small{font-weight:400;color:#8a7e7e}.ac-product-field input,.ac-product-field textarea{width:100%;box-sizing:border-box;border:1px solid #e4d7d4;border-radius:14px;background:#fff;padding:13px 14px;color:#3b3031;font:inherit;outline:none}.ac-product-field textarea{resize:vertical}.ac-product-field input:focus,.ac-product-field textarea:focus{border-color:#d96d61;box-shadow:0 0 0 3px rgba(217,109,97,.1)}.ac-product-qty{display:flex;align-items:center;justify-content:space-between;border:1px solid #eadfdd;border-radius:16px;padding:10px 12px}.ac-product-qty>span{font-weight:700;font-size:.9rem}.ac-product-qty>div{display:flex;align-items:center;gap:14px}.ac-product-qty button{width:34px;height:34px;border-radius:50%;border:1px solid #eadfdd;background:#fff;font-size:1.1rem;cursor:pointer}.ac-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.ac-product-actions button{border:0;cursor:pointer;font:inherit;font-size:.9rem}.ac-product-buy{border-radius:999px;padding:14px 22px;font-weight:700;background:#3b3031;color:#fff}.ac-product-reassurance{font-size:.82rem;line-height:1.6;color:#75696a;margin:16px 0 0}.ac-product-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px;padding-top:32px;border-top:1px solid #eadfdd}.ac-product-steps>div{padding:20px;border-radius:18px;background:#fff;border:1px solid #eadfdd}.ac-product-steps b{color:#d96d61}.ac-product-steps h3{font:400 1.3rem Georgia,serif;margin:10px 0 6px}.ac-product-steps p{margin:0;color:#75696a;line-height:1.6;font-size:.9rem}@media(max-width:900px){.ac-product-layout{grid-template-columns:1fr}.ac-product-gallery{position:static}.ac-product-image{max-height:620px}.ac-product-steps{grid-template-columns:1fr}.ac-store-toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.ac-product-main{padding-top:22px}.ac-product-actions{grid-template-columns:1fr}.ac-store-toolbar label{width:100%;justify-content:space-between}.ac-store-toolbar select{max-width:70%}}

/* Botão flutuante — Voltar ao início */
.ac-back-top{position:fixed;right:22px;bottom:92px;width:46px;height:46px;border-radius:50%;background:var(--coral,#d96d61);color:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;z-index:900;}
.ac-back-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.ac-back-top:hover{filter:brightness(1.08);}
@media(max-width:640px){.ac-back-top{right:14px;bottom:80px;width:42px;height:42px;font-size:16px;}}

/* Logótipo animado no rodapé — reforço de identidade visual */
.footer-logo{height:40px;width:auto;display:block;margin-bottom:10px;}
    /* Rodapé partilhado (adicionado — página não tinha nenhum) */
    footer{background:var(--texto);color:rgba(255,255,255,.65);padding:60px 0 0;}
    .footer-inner{max-width:1300px;margin:0 auto;padding:0 40px 48px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;border-bottom:1px solid rgba(255,255,255,.08);}
    .footer-brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.7rem;color:white;margin-bottom:12px;}
    .footer-brand em{color:var(--coral);font-style:normal;}
    .footer-desc{font-size:13px;line-height:1.9;max-width:260px;margin-bottom:16px;}
    .footer-social{display:flex;gap:10px;}
    .social-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;font-size:15px;transition:background .2s;text-decoration:none;}
    .social-btn:hover{background:var(--coral);}
    .footer-col-title{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:white;font-weight:600;margin-bottom:16px;}
    .footer-link{display:block;font-size:13px;color:rgba(255,255,255,.55);margin-bottom:9px;transition:color .2s;text-decoration:none;}
    .footer-link:hover{color:white;}
    .footer-bottom{max-width:1300px;margin:0 auto;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.3);gap:20px;flex-wrap:wrap;}
    @media(max-width:900px){.footer-inner{grid-template-columns:1fr;gap:24px;padding:0 20px 32px;}.footer-bottom{padding:16px 20px;}}

/* Seletor de idioma — ícone de globo com menu suspenso */
.ac-lang-switch{position:relative;margin-right:2px}
.ac-lang-toggle{width:38px;height:38px;border:0;background:transparent;color:#75696a;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}
.ac-lang-toggle:hover,.ac-lang-switch.open .ac-lang-toggle{background:#f9eeee;color:#d96d61}
.ac-lang-globe{width:19px;height:19px}
.ac-lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(59,48,49,.16);padding:6px;display:none;flex-direction:column;gap:2px;min-width:84px;z-index:60}
.ac-lang-switch.open .ac-lang-menu{display:flex}
.ac-lang-menu .ac-lang-btn{width:100%;text-align:left;padding:9px 12px;border-radius:9px;font-size:12px;font-weight:700;letter-spacing:.03em;color:#75696a;background:none;border:0;cursor:pointer;transition:background .15s,color .15s}
.ac-lang-menu .ac-lang-btn:hover{background:#f9eeee;color:#d96d61}
.ac-lang-menu .ac-lang-btn.active{background:#d96d61;color:#fff}
@media(max-width:768px){.ac-lang-menu{left:0;right:auto}}

/* --- Fallback global para imagens em falta (ver js/img-fallback.js) --- */
img.ac-img-missing{
  position:relative;
  object-fit:cover;
  min-height:120px;
  background:linear-gradient(135deg,#f7dfe7,#eee6f6 55%,#def3f0);
}
img.ac-img-missing::after{content:"";}
.product-img-wrap:has(img.ac-img-missing)::before,
.pap-media:has(img.ac-img-missing)::before{
  content:"Foto em breve";
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:Georgia,serif;font-size:.85rem;color:#8a7a7c;
  background:linear-gradient(135deg,#f7dfe7,#eee6f6 55%,#def3f0);
  z-index:1;pointer-events:none;
}

/* --- Cabeçalhos de grupo dentro dos menus dropdown da navbar (ac16-drop) --- */
.ac16-drop-heading{
  display:block;margin:12px 0 4px;padding:0 4px;
  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  color:#b79a93;font-weight:600;
}
.ac16-drop-heading:first-child{margin-top:0}
