:root {
  font-family: Montserrat, sans-serif;
  color: #20324a;
  background: #fff;
  --navy: #172e48;
  --navy-light: #294560;
  --gold: #b18c46;
  --gold-soft: #f7f1e5;
  --line: #e8e8e3;
  --muted: #72808d;
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button, a, input { touch-action: manipulation; }
button { cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #c6a364;
  outline-offset: 3px;
}
[hidden] { display: none !important; }
button { transition: background .18s, border-color .18s, box-shadow .18s, transform .18s; }
button:active { transform: translateY(1px); }
header {
  max-width: 1520px; margin: auto; padding: 16px 26px;
  display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--line);
}
header > a:first-child { display: flex; align-items: center; }
header img { width: 104px; height: auto; display: block; }
header .home { margin-left: auto; font-size: 11px; color: #667482; white-space: nowrap; }
header .home:hover { color: var(--navy); }
.contact {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 11px 16px; border: 1px solid #dce2e7;
  border-radius: 11px; background: #fff; color: var(--navy); font-size: 11px; font-weight: 600;
}
.contact:hover { border-color: #c5a366; background: #fcfaf5; }
.cart-header, .cart-launch {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 40px; border-radius: 999px; font-weight: 600; font-size: 11px; line-height: 1.3;
}
.cart-header { 
  padding: 8px 11px; border: 1px solid #d7c5a1;
  background: #fffdf8; color: var(--navy);
  box-shadow: 0 2px 7px #172e4808;
}
.cart-header:hover { background: #f8f3e9; border-color: #b99a60; }
.cart-header svg, .cart-launch svg { width: 17px; height: 17px; flex-shrink: 0; }
.cart-header svg { color: #a2834d; }
.cart-header b, .cart-launch b {
  display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px;
  border-radius: 999px; font-size: 10px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.cart-header b { background: var(--navy); color: #fff; }
main { max-width: 1520px; margin: auto; padding: 0 26px; }
.intro { padding: 26px 0 24px; }
.intro h1 { margin: 0 0 8px; font-size: clamp(27px,3.2vw,38px); line-height: 1.2; letter-spacing: -.035em; color: var(--navy); }
.shop-title { font-weight: 700; }
.intro p { margin: 0; color: #677582; font-size: 12px; line-height: 1.7; }
.catalog {
  display: grid; grid-template-columns: 196px minmax(0,1fr);
  column-gap: 24px; row-gap: 16px; align-items: start;
}
.toolbar { display: contents; }
.toolbar > label { grid-column: 1/-1; font-size: 12px; font-weight: 600; color: var(--navy); }
.searchbox {
  grid-column: 1/-1; display: flex; align-items: center; gap: 12px;
  background: #fff; border: 1px solid #dce1e4; border-radius: 13px;
  padding: 0 16px; margin: -7px 0 3px; box-shadow: 0 2px 5px #1d304304;
}
.searchbox:focus-within { border-color: #bd9d62; box-shadow: 0 0 0 3px #f7f1e5; }
.searchbox svg { width: 19px; height: 19px; color: #a58b59; flex-shrink: 0; }
.searchbox input { width: 100%; min-width: 0; padding: 15px 0; border: 0; background: none; font-size: 14px; color: var(--navy); }
.searchbox input:focus-visible { outline: none; }
.searchbox input::placeholder { color: #929ba4; }
.categories {
  grid-column: 1; grid-row: 3/7; display: flex; flex-direction: column; gap: 4px;
  position: sticky; top: 20px; max-height: calc(100dvh - 40px); overflow-y: auto;
  padding: 13px 8px; border: 1px solid var(--line); border-radius: 14px; scrollbar-width: thin;
  scrollbar-color: #dfd5c0 transparent; background: #fff;
}
.categories::before { content: "Categorias"; padding: 4px 10px 12px; font-weight: 700; font-size: 12px; color: var(--navy); }
.categories button {
  position: relative; min-height: 39px; width: 100%; text-align: left;
  padding: 10px 11px; border: 1px solid transparent; border-radius: 9px;
  background: #fff; color: #63707d; font-size: 11px; line-height: 1.45; font-weight: 500;
}
.categories button:hover { background: #fbf9f5; border-color: #eee3ce; color: var(--navy); }
.categories button[aria-pressed=true] {
  background: #f9f5eb; border-color: #e4d4b3; color: var(--navy);
  font-weight: 700; box-shadow: inset 3px 0 0 #bd9a57;
}
#alphabet { display: none; }
.results {
  grid-column: 2; grid-row: 3; display: flex; align-items: center; flex-wrap: wrap;
  gap: 8px 12px; min-width: 0; padding: 2px 0;
}
#selection-summary { width: 100%; color: #8a713e; font-size: 11px; font-weight: 600; line-height: 1.5; }
#count { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
#clear {
  margin-left: auto; min-height: 34px; padding: 7px 11px; border: 1px solid #e4e5df;
  border-radius: 999px; background: #fff; color: #617080; font-size: 10px; font-weight: 500;
}
#clear:hover { color: var(--navy); border-color: #cbb88e; background: #fcfaf5; }
.grid { grid-column: 2; grid-row: 4; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; min-width: 0; }
.product {
  min-width: 0; display: flex; flex-direction: column; position: relative; overflow: hidden;
  border: 1px solid #e5e7e5; border-radius: 15px; background: #fff;
  box-shadow: 0 2px 0 #e9eceb, 0 5px 14px #20324a05;
  transition: box-shadow .2s, border-color .2s;
}
.product:hover { border-color: #d3c3a0; box-shadow: 0 3px 0 #e4e7e5, 0 8px 20px #20324a0b; }
.product.is-selected { border-color: #bc9a58; box-shadow: 0 0 0 1px #c5a56635, 0 5px 16px #ab8c4010; }
.product-media { margin: 9px 9px 0; min-width: 0; }
.product .photo {
  aspect-ratio: 1; position: relative; overflow: hidden; width: 100%; border-radius: 11px;
  background: #faf9f6; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; color: #b1a48a;
}
.photo img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; padding: 7px; background: #fff; }
.photo-scene .photo img { padding: 0; }
.photo svg { width: 31px; height: 31px; stroke-width: 1; }
.photo span { font-size: 9px; }
.photo[role=button] { cursor: zoom-in; }
.has-photo .photo::before {
  content: "↗"; position: absolute; right: 7px; bottom: 7px; z-index: 2;
  display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid #e4dac4;
  border-radius: 50%; background: #fffffff0; color: #31445b; font-size: 16px; pointer-events: none;
}
.photo--representative { background-image: url('/assets/cmc-categorias.webp'); background-size: 400% 200%; background-repeat: no-repeat; }
.photo--representative span { position: absolute; bottom: 7px; left: 7px; padding: 4px 6px; border-radius: 4px; background: #fffffff0; color: #77736b; }
.photo-caption { display: block; margin: 6px 1px 0; color: #92918a; font-size: 9px; line-height: 1.4; }
.product-body { display: flex; flex: 1; flex-direction: column; padding: 12px; }
.product-category { display: block; margin-bottom: 7px; color: #87909a; font-size: 9px; line-height: 1.4; }
.product-code {
  align-self: flex-start; padding: 4px 7px; border: 1px solid #ddcba5; border-radius: 6px;
  background: #fcf9f2; color: #806538; font-size: 9px; font-weight: 600; line-height: 1.4;
}
.product h2 { margin: 9px 0 10px; color: var(--navy); font-size: 13px; font-weight: 700; line-height: 1.55; overflow-wrap: anywhere; }
.product-availability { margin: 0 0 13px; color: #89919a; font-size: 9px; line-height: 1.6; }
.add-to-cart {
  width: 100%; max-width: 216px; align-self: center; min-height: 40px; margin-top: auto; padding: 9px 10px;
  display: flex; align-items: center; justify-content: center; gap: 7px;
  border: 1px solid #b697605c; border-radius: 999px; color: #fff; font-size: 11px;
  font-weight: 600; line-height: 1.35; letter-spacing: -.015em; text-align: center;
  background: linear-gradient(165deg,#2d4863 0%,#172f49 72%);
  box-shadow: inset 0 1px 0 #ffffff26, 0 2px 0 #10263c, 0 4px 9px #172e4815;
}
.add-label { min-width: 0; }
.add-status-icon { color: #a18147; font-size: 14px; line-height: 1; }
.add-to-cart:hover { background: linear-gradient(165deg,#3a5975,#213e59); border-color: #c8a76d; color: #fff; box-shadow: inset 0 1px 0 #ffffff26,0 2px 0 #11283e,0 7px 15px #172e4820; transform: translateY(-1px); }
.add-to-cart:active { transform: translateY(1px); }
.add-to-cart.has-items { border-color: #cbb98e; }
.add-to-cart:disabled, .add-to-cart:disabled:hover, .add-to-cart:disabled:active {
 cursor: default; background: #f7f4ec; color: #67705e; border-color: #d9cbae;
 box-shadow: inset 0 1px 0 #fff, 0 1px 3px #172e4808; transform: none; opacity: 1;
}
.selection-controls button:disabled { cursor: default; color: #b5b8b5; background: #fafafa; border-color: #e7e7e3; box-shadow: none; transform: none; }
.product-selection { margin: 0 0 13px; padding: 10px 8px; background: #fbf9f3; border: 1px solid #e8dcc3; border-radius: 10px; }
.selection-label { display: block; margin-bottom: 8px; color: var(--navy); font-size: 9px; font-weight: 600; line-height: 1.5; }
.selection-controls { display: grid; grid-template-columns: 32px minmax(0,1fr) 32px; gap: 6px; }
.selection-controls button, .qty button:not(.remove) {
  min-height: 34px; padding: 4px; border: 1px solid #d8ccb3; border-radius: 10px;
  background: linear-gradient(160deg,#fff,#fcfaf5); color: var(--navy); font-size: 18px; line-height: 1;
  box-shadow: inset 0 1px 0 #fff,0 2px 0 #e6dfd0,0 3px 7px #26384c07;
}
.selection-controls button:hover, .qty button:not(.remove):hover { border-color: #b59860; background: #f7f1e5; }
.selection-controls input, .qty input {
  min-width: 0; width: 100%; height: 34px; padding: 0 2px; text-align: center; border: 1px solid #e4e1d9;
  border-radius: 8px; background: #fff; font-size: 13px; font-weight: 700; color: var(--navy);
  -moz-appearance: textfield; font-variant-numeric: tabular-nums;
}
.selection-controls input::-webkit-inner-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#more { grid-column: 2; grid-row: 5; justify-self: center; margin: 12px 0 4px; min-height: 42px; padding: 11px 24px; border: 1px solid #d5c49e; border-radius: 999px; background: linear-gradient(150deg,#fff,#fcfaf5); color: var(--navy); font-size: 12px; font-weight: 600; box-shadow: 0 2px 0 #ece5d5,0 3px 8px #172e4808; }
#more:hover { background: #faf6ec; border-color: #b79a61; }
#empty { grid-column: 2; grid-row: 4; text-align: center; padding: 40px 16px; }
#empty h2 { font-size: 18px; color: var(--navy); }
#empty p { font-size: 13px; color: var(--muted); }
#empty a { color: #8a6d35; font-size: 12px; font-weight: 600; }
.help--compact { margin-top: 25px; padding: 16px 0; border-top: 1px solid var(--line); }
.help--compact p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.help--compact a { color: #8a6d35; font-weight: 600; }
.shop-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px max(26px,calc((100vw - 1468px)/2)) 100px; border-top: 1px solid var(--line); background: #fcfcfa; color: #8b9299; font-size: 10px; line-height: 1.6; }
.cart-launch { position: fixed; right: 24px; bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 30; padding: 10px 14px; min-height: 44px; border: 1px solid #c7a365; background: linear-gradient(155deg,#294560,#142b44); color: #fff; box-shadow: inset 0 1px 0 #ffffff15,0 4px 14px #142b4425; }
.cart-launch b { background: #edd8ae; color: var(--navy); }
.cart-launch svg { color: #e8ce9d; }
.cart-launch:hover { background: #203d5a; transform: translateY(-2px); }
.shop-whatsapp { position: fixed; left: 22px; bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 30; display: grid; place-items: center; width: 54px; height: 54px; padding: 14px; border-radius: 50%; border: 1px solid #42a06c; background: #217b4b; color: #fff; box-shadow: inset 0 1px 0 #ffffff22,0 3px 0 #135530,0 6px 20px #17613d22; }
.shop-whatsapp svg { width: 26px; height: 26px; }
.shop-whatsapp:hover { background: #17633b; }
.cart-dialog, .photo-dialog { width: min(620px,calc(100% - 24px)); max-height: calc(100dvh - 28px); padding: 24px; overflow: auto; border: 1px solid #e0d3b7; border-radius: 18px; color: var(--navy); background: #fff; box-shadow: 0 20px 80px #10203522; }
.cart-dialog::backdrop, .photo-dialog::backdrop { background: #102035a3; backdrop-filter: blur(4px); }
.cart-head, .photo-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.cart-head h2 { margin: 0; font-size: 24px; line-height: 1.3; font-weight: 700; letter-spacing: -.025em; }
.cart-head button, .photo-dialog-head button { width: 42px; height: 42px; flex-shrink: 0; border: 1px solid #e2e2dc; border-radius: 50%; background: #fff; color: var(--navy); font-size: 24px; }
.cart-head button:hover, .photo-dialog-head button:hover { background: #f8f5ee; border-color: #cdb887; }
#cart-items > p { font-size: 13px; color: var(--muted); line-height: 1.7; padding: 20px 0; }
.cart-item { padding: 18px 0; border-bottom: 1px solid var(--line); }
.cart-item small { color: #9a7e47; font-size: 10px; }
.cart-item h3 { margin: 7px 0 12px; font-size: 13px; line-height: 1.6; font-weight: 600; }
.qty { display: grid; grid-template-columns: 38px 64px 38px auto; align-items: center; gap: 8px; }
.qty .remove { margin-left: auto; width: auto; border: 0; padding: 8px 0 8px 10px; background: none; color: #92615e; font-size: 11px; }
.cart-dialog label { display: block; margin: 20px 0 8px; font-size: 12px; font-weight: 600; }
.cart-dialog textarea { width: 100%; min-height: 80px; padding: 12px; border: 1px solid #dfe2df; border-radius: 11px; color: var(--navy); font-size: 14px; line-height: 1.6; resize: vertical; }
.checkout { margin-top: 18px; width: 100%; min-height: 48px; padding: 14px; border: 1px solid #b99a61; border-radius: 11px; background: linear-gradient(150deg,#294761,#142b44); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.5; box-shadow: 0 2px 0 #102139; }
.checkout:hover { background: #25445f; box-shadow: 0 4px 12px #172e4820; }
.cart-note { margin: 12px 0 0; color: #87909a; font-size: 10px; line-height: 1.7; }
.photo-dialog { width: min(940px,calc(100% - 24px)); padding: 16px; }
.photo-dialog-head { border: 0; padding: 0 0 14px; }
.photo-dialog-head p { margin: 0; font-size: 13px; font-weight: 600; line-height: 1.6; }
#photo-content { display: grid; gap: 10px; padding: 9px; border: 1px solid #ece8df; border-radius: 12px; background: #faf9f6; overflow: hidden; }
#photo-content img { display: block; width: 100%; height: auto; max-height: 70dvh; object-fit: contain; border-radius: 9px; background: #fff; }
.photo-enlarged-illustration { width: 100%; height: min(65dvh,640px); background-image: url('/assets/cmc-categorias.webp'); background-size: 400% 200%; background-repeat: no-repeat; }
#photo-content p { margin: 0; padding: 3px 8px; font-size: 11px; color: #7e817e; line-height: 1.6; text-align: center; }
.photo-availability-link { justify-self: center; margin: 4px auto; padding: 13px 16px; min-height: 44px; border: 1px solid #c7ad7c; border-radius: 10px; background: var(--navy); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.5; text-align: center; }
.photo-availability-link:hover { background: #294560; }
.photo-options { display: flex; gap: 8px; margin: 0 0 12px; }
.photo-options button { min-height: 40px; padding: 9px 13px; border: 1px solid #dfd9ca; border-radius: 9px; background: #fff; color: var(--navy); font-size: 12px; }
.photo-options button[aria-pressed=true] { background: #f8f3e8; border-color: #bda06b; }
.toast { position: fixed; bottom: calc(91px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); z-index: 40; max-width: calc(100% - 30px); width: max-content; padding: 12px 18px; border: 1px solid #c7ad7c; border-radius: 12px; background: var(--navy); color: #fff; box-shadow: 0 6px 20px #172e4820; font-size: 12px; line-height: 1.5; text-align: center; }
@media(min-width:1500px) { .grid { grid-template-columns: repeat(5,minmax(0,1fr)); } }
@media(max-width:1100px) { .catalog { grid-template-columns: 174px minmax(0,1fr); column-gap: 18px; } .grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
  header { padding: 13px 14px; gap: 12px; }
  header img { width: 86px; }
  header .home { font-size: 10px; }
  header .contact { display: none; }
  .cart-header { margin-left: auto; min-height: 40px; font-size: 10px; padding: 8px 10px; gap: 7px; }
  .cart-header svg { width: 16px; height: 16px; }
  .cart-header b { min-width: 21px; height: 21px; font-size: 10px; }
  main { padding-inline: 12px; }
  .intro { padding: 22px 1px 18px; }
  .intro h1 { font-size: 27px; }
  .intro p { font-size: 11px; }
  .catalog { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .toolbar > label, .searchbox, .categories, .results, .grid, #empty, #more { grid-column: 1; grid-row: auto; }
  .categories { position: static; max-height: 152px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; padding: 9px; }
  .categories::before { grid-column: 1/-1; padding: 3px 8px 8px; font-size: 11px; }
  .categories button { min-height: 36px; padding: 9px; font-size: 10px; }
  .searchbox { margin: -4px 0 0; padding: 0 12px; }
  .searchbox input { font-size: 13px; padding: 14px 0; }
  .results { gap: 7px; }
  #count, #selection-summary { font-size: 10px; }
  #clear { font-size: 10px; }
  .grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
  .product { border-radius: 13px; }
  .product-media { margin: 7px 7px 0; }
  .photo img { padding: 5px; }
  .photo-caption { font-size: 8px; margin: 5px 1px 0; }
  .product-body { padding: 10px; }
  .product h2 { font-size: 12px; line-height: 1.55; margin: 8px 0 9px; }
  .product-category { font-size: 8px; line-height: 1.5; }
  .product-code { font-size: 9px; padding: 4px 6px; }
  .product-availability { font-size: 9px; margin-bottom: 11px; }
  .add-to-cart { min-height: 40px; padding: 8px 4px; font-size: 10px; gap: 3px; letter-spacing: -.02em; }
  .selection-controls { grid-template-columns: 30px minmax(0,1fr) 30px; gap: 4px; }
  .selection-label { font-size: 9px; }
  .cart-launch { left: auto; right: 14px; bottom: calc(17px + env(safe-area-inset-bottom)); min-height: 44px; padding: 10px 13px; font-size: 11px; gap: 8px; }
  .shop-whatsapp { left: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); width: 52px; height: 52px; padding: 13px; }
  .shop-footer { padding: 14px 14px 92px; font-size: 9px; }
  .cart-dialog { padding: 18px; border-radius: 15px; }
  .cart-head h2 { font-size: 22px; }
  .photo-dialog { width: calc(100% - 14px); padding: 10px; }
  .photo-dialog-head p { font-size: 12px; }
  #photo-content { padding: 6px; }
  #photo-content img { max-height: 65dvh; }
  .photo-options button { flex: 1; padding: 9px 8px; font-size: 11px; }
}
@media(max-width:390px) { header .home { display: none; } }
@media(max-width:375px) { .add-to-cart { padding-inline: 2px; gap: 2px; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }


/* CMC collection layout — image-led, compact and responsive. */
select { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.shop-topline { display: flex; align-items: center; justify-content: space-between; padding: 9px max(32px,calc((100vw - 1436px)/2)); background: #172e48; color: #fff; font-size: 10px; line-height: 1.4; letter-spacing: .04em; }
.shop-topline > span:first-child { color: #e0c388; font-weight: 600; }
.shop-topline a { color: #efeee9; }
.store-header { max-width: 1500px; padding: 16px 32px; gap: 32px; border-bottom: 0; }
.store-brand { flex-shrink: 0; flex-direction: column; gap: 6px; }
.store-header img { width: 110px; height: 58px; object-fit: contain; }
.store-brand > span { color: #a58a55; font-size: 8px; font-weight: 600; letter-spacing: .25em; }
.header-search { flex: 1; max-width: 680px; margin-left: auto; }
.header-search .searchbox { margin: 0; border: 1px solid #e0e2df; border-radius: 9px; padding: 0 15px; box-shadow: none; background: #fafbf9; gap: 12px; }
.header-search input { font-size: 12px; padding: 17px 0; }
.searchbox kbd { font: 600 8px Montserrat,sans-serif; letter-spacing: .1em; color: #9e8b68; }
.store-header .contact { flex-direction: column; align-items: flex-start; gap: 5px; padding: 0; border: 0; box-shadow: none; background: none; white-space: nowrap; }
.contact span { color: #8a9299; font-size: 9px; font-weight: 400; }
.contact strong { font-weight: 600; font-size: 11px; }
.cart-header { background: #fff; border: 0; padding: 8px 0 8px 14px; box-shadow: none; font-size: 11px; }
.cart-header:hover { background: #fff; }
.cart-header svg { width: 23px; height: 23px; color: #172e48; }
.cart-header b { background: #f2e7ce; color: #71562c; }
.collection-nav { display: flex; justify-content: center; gap: clamp(14px,2.8vw,44px); border-top: 1px solid #f0f0ec; border-bottom: 1px solid #e8e8e1; padding: 0 24px; overflow: auto; scrollbar-width: none; }
.collection-nav::-webkit-scrollbar { display: none; }
.collection-nav button { flex-shrink: 0; min-height: 47px; padding: 13px 0 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #4c5c6b; font-size: 10px; font-weight: 500; }
.collection-nav button:hover { color: #172e48; }
.collection-nav button[aria-pressed=true] { border-bottom-color: #b5904f; color: #172e48; font-weight: 700; }
main { max-width: 1500px; padding-inline: 32px; }
.breadcrumb { display: flex; align-items: center; gap: 8px; padding-top: 22px; color: #899096; font-size: 9px; line-height: 1.6; }
.breadcrumb a { color: #64727e; }
.intro { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 22px 0 24px; margin-bottom: 26px; border-bottom: 1px solid #e7e7df; }
.intro-eyebrow { display: block; margin-bottom: 10px; color: #9f8146; font-size: 9px; font-weight: 600; letter-spacing: .18em; }
.intro h1 { font-size: clamp(25px,2.7vw,36px); letter-spacing: -.045em; margin-bottom: 9px; font-weight: 500; }
.intro p { font-size: 11px; color: #7b858e; }
.quote-steps { display: flex; gap: 25px; margin: 0; padding: 0; list-style: none; }
.quote-steps li { display: flex; align-items: center; gap: 9px; }
.quote-steps b { font-size: 24px; color: #d4c2a0; font-weight: 400; letter-spacing: -.08em; }
.quote-steps span { font-size: 9px; color: #8a9094; line-height: 1.8; }
.quote-steps strong { color: #35495b; font-weight: 600; }
.catalog { grid-template-columns: 205px minmax(0,1fr); gap: 22px 30px; }
.filter-panel { grid-column: 1; grid-row: 1/5; position: sticky; top: 20px; min-width: 0; border-right: 1px solid #e8e8e1; padding-right: 23px; }
.filter-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 600; padding: 4px 0 22px; list-style: none; cursor: pointer; }
.filter-panel summary::-webkit-details-marker { display: none; }
.filter-panel summary svg { width: 19px; height: 19px; stroke-width: 1.5; color: #ae8f53; }
.filter-content h2 { font-size: 11px; font-weight: 600; margin: 0 0 12px; }
.categories { position: static; max-height: 435px; padding: 0 8px 0 0; gap: 2px; border: 0; border-radius: 0; background: none; }
.categories::before { display: none; }
.categories button { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 35px; padding: 8px 8px; border-radius: 6px; font-size: 10px; }
.categories button small { flex-shrink: 0; color: #9ba0a0; font-size: 8px; font-weight: 400; }
.categories button[aria-pressed=true] { background: #f8f4e9; border-color: transparent; box-shadow: inset 2px 0 0 #b59355; }
.size-filter { margin: 24px 0 0; padding: 19px 0 0; border: 0; border-top: 1px solid #e8e8e1; }
.size-filter legend { float: left; width: 100%; padding: 0; margin-bottom: 13px; font-size: 11px; font-weight: 600; }
.size-options { display: flex; flex-wrap: wrap; gap: 6px; clear: both; }
.size-options button { min-height: 33px; padding: 7px 10px; border: 1px solid #e3e4df; border-radius: 6px; background: #fff; color: #6d7880; font-size: 9px; }
.size-options button[aria-pressed=true] { color: #172e48; border-color: #b99a61; background: #fbf7ed; }
.sidebar-help { margin: 24px 0 0; font-size: 9px; line-height: 1.8; color: #8d9396; }
.sidebar-help a { display: block; color: #9b7b3e; font-weight: 600; }
.results { grid-column: 2; grid-row: 1; justify-content: space-between; align-items: center; gap: 15px; padding: 0; }
.results-heading h2 { margin: 0 0 5px; font-size: 20px; font-weight: 500; letter-spacing: -.03em; }
#count { font-size: 9px; }
.sort-control { display: flex; align-items: center; gap: 10px; color: #8a9298; font-size: 9px; }
.sort-control select { min-height: 37px; padding: 8px 24px 8px 11px; border: 1px solid #e2e3dc; border-radius: 7px; background: #fff; color: #3c4e5e; font-size: 10px; cursor: pointer; }
.sort-control select:focus-visible { outline: 2px solid #c6a364; outline-offset: 2px; }
.results-bottom { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 28px; padding-top: 9px; border-top: 1px solid #eeeee8; }
#selection-summary { width: auto; font-size: 9px; font-weight: 500; color: #a18a60; }
#clear { min-height: 27px; border: 0; padding: 4px 0 4px 9px; background: none; font-size: 9px; color: #8a6b38; }
.grid { grid-row: 2; gap: 24px 17px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.product { border: 1px solid #e7e8e2; border-radius: 12px; box-shadow: 0 2px 1px #172e4803,0 6px 16px #172e4804; animation: collection-reveal .35s both; animation-delay: var(--reveal-delay,0ms); }
.product:hover { box-shadow: 0 4px 0 #f1eee5,0 10px 22px #172e480a; border-color: #cbb98f; }
.product-media { margin: 8px 8px 0; }
.product .photo { border-radius: 8px; background-color: #f8f8f4; }
.photo img { padding: 4px; }
.photo-caption { margin: 5px 2px 0; font-size: 8px; color: #a0a199; }
.product-body { padding: 12px; }
.product-category { font-size: 8px; color: #969b9c; margin-bottom: 7px; }
.product-code { padding: 3px 6px; border-color: #e7dac1; background: #fbf7ee; font-size: 8px; color: #927442; }
.product h2 { font-size: 12px; line-height: 1.65; margin: 8px 0; font-weight: 600; }
.product-availability { margin-bottom: 11px; font-size: 8px; line-height: 1.6; color: #969d9e; }
.product-selection { padding: 8px; margin-bottom: 10px; border-color: #ede6d7; background: #fcfaf5; border-radius: 8px; }
.selection-label { font-size: 8px; margin-bottom: 6px; font-weight: 500; }
.selection-controls { grid-template-columns: 28px minmax(0,1fr) 28px; gap: 5px; }
.selection-controls button { min-height: 29px; border-radius: 7px; font-size: 16px; box-shadow: 0 1px 0 #e5dfd0; }
.selection-controls input { height: 29px; font-size: 11px; border-radius: 6px; }
.add-to-cart { min-height: 37px; font-size: 10px; padding: 8px 6px; border-radius: 8px; box-shadow: inset 0 1px 0 #ffffff20,0 2px 0 #112a42,0 4px 8px #172e4810; }
.product.is-selected { border-color: #c7ad78; box-shadow: 0 0 0 1px #d8c59b25; }
#more { grid-row: 3; margin-top: 4px; font-size: 11px; }
#empty { grid-row: 2; }
.stock-note { display: flex; align-items: center; justify-content: center; gap: 9px; border-top: 1px solid #eeeae0; margin-top: 32px; padding: 17px 0; }
.stock-note-mark { display: grid; place-items: center; width: 17px; height: 17px; flex-shrink: 0; border: 1px solid #c9b68f; border-radius: 50%; font-size: 10px; color: #a38b5e; }
.stock-note p { margin: 0; color: #8a9399; font-size: 9px; line-height: 1.8; }
.help--compact { text-align: center; margin-top: 0; padding: 9px 0 20px; border: 0; }
.shop-footer { padding-top: 17px; padding-bottom: 85px; background: #fbfbf8; }
@keyframes collection-reveal { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@media(min-width:1500px) { .grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media(max-width:1200px) {
 .store-header { gap: 23px; }
 .store-header .contact { display: none; }
 .catalog { grid-template-columns: 180px minmax(0,1fr); gap: 20px; }
 .filter-panel { padding-right: 16px; }
 .grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .quote-steps { gap: 14px; }
}
@media(max-width:900px) { .intro { gap: 20px; } .quote-steps b { font-size: 20px; } .quote-steps li { gap: 6px; } .quote-steps { gap: 12px; } .quote-steps span { font-size: 8px; } }
@media(max-width:760px) {
 .shop-topline { padding: 7px 15px; font-size: 8px; letter-spacing: .02em; }
 .shop-topline > span:first-child { display: none; }
 .store-header { padding: 15px 15px 14px; gap: 14px; flex-wrap: wrap; }
 .store-header img { width: 95px; height: 48px; }
 .store-brand { gap: 4px; }
 .store-brand > span { font-size: 7px; }
 .cart-header { margin-left: auto; padding: 7px 0; font-size: 10px; gap: 7px; }
 .cart-header svg { width: 21px; height: 21px; }
 .header-search { order: 3; flex-basis: 100%; width: 100%; max-width: none; }
 .header-search input { padding: 14px 0; font-size: 12px; }
 .header-search .searchbox { padding-inline: 12px; }
 .searchbox kbd { display: none; }
 .collection-nav { justify-content: flex-start; gap: 24px; padding-inline: 15px; }
 .collection-nav button { min-height: 39px; padding: 11px 0 9px; font-size: 10px; }
 main { padding-inline: 13px; }
 .breadcrumb { padding-top: 15px; font-size: 8px; gap: 6px; }
 .intro { display: block; padding: 19px 1px 20px; margin-bottom: 18px; }
 .intro-eyebrow { font-size: 8px; margin-bottom: 8px; letter-spacing: .15em; }
 .intro h1 { font-size: 25px; margin-bottom: 7px; }
 .intro p { font-size: 10px; }
 .quote-steps { justify-content: space-between; margin-top: 18px; gap: 12px; }
 .quote-steps li { gap: 8px; }
 .quote-steps b { font-size: 21px; }
 .quote-steps span { font-size: 8px; line-height: 1.6; }
 .catalog { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
 .filter-panel { grid-column: 1; grid-row: auto; position: static; border: 1px solid #e4e3da; border-radius: 8px; padding: 0 12px; }
 .filter-panel > summary { min-height: 42px; padding: 10px 0; font-size: 11px; font-weight: 500; }
 .filter-panel[open] > summary { border-bottom: 1px solid #eeece4; }
 .filter-content { padding: 15px 0; }
 .filter-content h2 { font-size: 10px; }
 .categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3px 8px; max-height: 250px; }
 .categories button { padding: 8px 7px; font-size: 9px; min-height: 35px; }
 .categories button small { font-size: 8px; }
 .size-filter { margin-top: 17px; padding-top: 15px; }
 .sidebar-help { display: none; }
 .results { grid-column: 1; grid-row: auto; gap: 12px 8px; }
 .results-heading h2 { font-size: 19px; }
 #count { font-size: 8px; max-width: 175px; }
 .sort-control { flex-direction: column; align-items: flex-start; gap: 5px; font-size: 8px; }
 .sort-control select { min-height: 32px; padding: 6px 18px 6px 8px; max-width: 142px; font-size: 9px; }
 .results-bottom { padding-top: 9px; }
 #selection-summary { font-size: 8px; }
 #clear { font-size: 8px; }
 .grid { grid-column: 1; grid-row: auto; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 10px; }
 .product { border-radius: 10px; }
 .product-media { margin: 5px 5px 0; }
 .product .photo { border-radius: 6px; }
 .photo img { padding: 3px; }
 .photo-caption { font-size: 7px; }
 .product-body { padding: 9px; }
 .product-category { font-size: 7px; margin-bottom: 5px; }
 .product-code { font-size: 8px; }
 .product h2 { font-size: 12px; line-height: 1.6; }
 .product-availability { font-size: 9px; margin-bottom: 9px; }
 .product-selection { padding: 7px; margin-bottom: 9px; }
 .selection-controls { grid-template-columns: 27px minmax(0,1fr) 27px; gap: 4px; }
 .selection-controls input { font-size: 11px; }
 .add-to-cart { min-height: 39px; font-size: 10px; padding: 7px 3px; line-height: 1.5; }
 #empty, #more { grid-column: 1; grid-row: auto; }
 .stock-note { justify-content: flex-start; align-items: flex-start; margin-top: 24px; padding: 15px 2px; }
 .stock-note p { font-size: 8px; }
 .stock-note-mark { margin-top: 1px; }
 .help--compact p { font-size: 10px; }
}
@media(prefers-reduced-motion:reduce) { .product { animation: none; } }


/* CMC: creme, marinho e dourado em uma paleta acolhedora. */
body { background: #f6f1e8; }
.store-header { background: #fff; }
.shop-topline { background: #1e3d52; font-weight: 500; }
.shop-topline > span:first-child { color: #efce8c; }
.shop-topline a { color: #fff; }
.store-brand > span { color: #8b5d1c; font-weight: 700; }
.header-search .searchbox { background: #fff; border-color: #c4a064; box-shadow: 0 2px 6px #172e4809; }
.header-search input { color: #17324b; font-weight: 500; }
.searchbox input::placeholder { color: #5c6c78; }
.searchbox kbd { color: #8b5b14; }
.contact span { color: #596675; }
.contact strong { color: #24465c; }
.cart-header b { color: #17364b; background: #dfbc73; }
.cart-header svg { color: #264a63; }
.collection-nav { gap: clamp(8px,1.35vw,20px); padding-top: 10px; padding-bottom: 10px; background: #eee1ca; border-top: 1px solid #decaab; border-bottom: 1px solid #cdb38a; }
.collection-nav button,.collection-nav button:nth-child(3n+2),.collection-nav button:nth-child(3n+3) { min-height: 35px; padding: 9px 13px; border: 1px solid #d1b990; border-radius: 999px; color: #254457; background: #fffdf8; font-size: 10px; font-weight: 600; }
.collection-nav button[aria-pressed=true],.collection-nav button:nth-child(n)[aria-pressed=true] { color: #fff; border-color: #1c3c52; background: #1c3c52; box-shadow: inset 0 1px 0 #ffffff22,0 2px 5px #18344b18; font-weight: 700; }
.collection-nav button:hover { color: #244559; background: #f0e1c2; border-color: #b89454; }
.collection-nav button[aria-pressed=true]:hover { color: #fff; background: #2a5069; }
.breadcrumb,.breadcrumb a { color: #526577; }
.intro { position: relative; padding: 27px 28px; margin-top: 18px; margin-bottom: 26px; border: 1px solid #c9aa7c; border-bottom: 3px solid #b28a4c; border-radius: 14px; background: linear-gradient(110deg,#f1dfc0,#e7c89f); box-shadow: inset 0 1px 0 #fff6e6,0 7px 20px #8563370c; }
.intro-eyebrow { display: inline-block; padding: 6px 10px; margin-bottom: 12px; border: 1px solid #c5a36c; border-radius: 999px; color: #795422; background: #fff9eb; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.intro h1 { color: #203d52; font-weight: 600; }
.intro h1 span { color: #82551f; }
.intro p { color: #4b5e68; font-size: 12px; }
.quote-steps { gap: 18px; }
.quote-steps li { gap: 10px; }
.quote-steps b { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border: 1px solid #cba96a; border-radius: 11px; color: #fff; background: #24465c; font-size: 16px; font-weight: 600; letter-spacing: -.04em; box-shadow: inset 0 1px 0 #ffffff22,0 3px 8px #233c5212; }
.quote-steps li:nth-child(2) b { color: #fff; background: #24465c; border-color: #cba96a; }
.quote-steps li:nth-child(3) b { color: #fff; background: #24465c; border-color: #cba96a; }
.quote-steps span { color: #4c606f; font-size: 10px; }
.quote-steps strong { color: #24394c; font-weight: 600; }
.filter-panel { border: 1px solid #d7bf91; border-radius: 11px; background: #fff; padding: 15px 12px; box-shadow: 0 3px 11px #172e4807; }
.filter-panel > summary { color: #193b53; font-weight: 700; }
.filter-panel summary svg { color: #ad7524; }
.filter-content h2 { color: #25455b; font-size: 12px; }
.categories { scrollbar-color: #bb8c38 #f5f0e5; }
.categories button { color: #374e61; font-weight: 500; background: transparent; }
.categories button > span { position: relative; padding-left: 12px; }
.categories button > span::before { content: ''; position: absolute; width: 5px; height: 5px; left: 0; top: calc(50% - 2.5px); border-radius: 50%; background: #b58a43; }
.categories button:nth-child(3n+2) > span::before { background: #b58a43; }
.categories button:nth-child(3n) > span::before { background: #b58a43; }
.categories button small { color: #596e7d; }
.categories button:hover { color: #17364f; border-color: #d5b779; background: #f8edcf; }
.categories button[aria-pressed=true] { color: #fff; border-color: #193d57; background: #193d57; box-shadow: inset 3px 0 0 #e4b955; }
.categories button[aria-pressed=true] small { color: #f4ce77; }
.categories button[aria-pressed=true] > span::before { background: #edc36a; }
.size-filter legend { color: #193950; }
.size-options button { color: #354e62; border-color: #c4d0d8; }
.size-options button[aria-pressed=true] { color: #17324b; background: #e8cfa0; border-color: #b38d4d; font-weight: 700; }
.sidebar-help { color: #526473; }
.sidebar-help a { color: #7f5c27; }
.results-heading h2 { color: #17324b; font-size: 23px; font-weight: 600; }
.results-heading h2::after { content: ''; display: block; width: 35px; height: 3px; margin-top: 7px; border-radius: 3px; background: #b8914b; }
#count { color: #4a6073; font-size: 11px; }
.results-bottom { border-color: #cbd4dc; }
#selection-summary { color: #72501f; font-size: 10px; font-weight: 600; }
#clear { color: #805c28; font-weight: 600; }
.sort-control { color: #455c6d; }
.sort-control select { color: #183a52; border-color: #b7a075; background: #fff; font-weight: 600; }
.product { border-color: #d8ccb9; background: #fff; box-shadow: 0 3px 0 #e6dece,0 7px 18px #6e512b0b; }
.product::after { display: none; }
.product:nth-child(3n+2)::after { display: none; }
.product:nth-child(3n)::after { display: none; }
.product:hover { border-color: #a3854c; box-shadow: 0 3px 0 #dbcaab,0 10px 24px #17324b1a; }
.product-code { color: #573a12; background: #ecd2a2; border-color: #c5a166; padding: 4px 7px; font-size: 9px; font-weight: 700; box-shadow: inset 0 1px 0 #fff1d6; }
.product-category { color: #496176; font-size: 9px; font-weight: 500; }
.product h2 { color: #172f46; font-size: 13px; font-weight: 700; line-height: 1.6; }
.product-availability { color: #516575; font-size: 9px; }
.photo-caption { color: #5c6a74; font-size: 9px; }
.product-selection { background: #f8f2e7; border-color: #ded0b9; }
.selection-label { color: #284960; font-size: 9px; font-weight: 600; }
.selection-controls button { color: #193e59; border-color: #9cb2c2; background: #fff; box-shadow: 0 1px 0 #abc0d0; }
.selection-controls button:hover { color: #fff; background: #244e6a; border-color: #244e6a; }
.selection-controls input { color: #17364e; border-color: #b5c8d6; background: #fff; }
.add-to-cart { color: #fff; border: 1px solid #bd9a5b; border-bottom-color: #896c37; border-radius: 10px; background: linear-gradient(155deg,#365b7a 0%,#1b3b58 50%,#102a43 100%); font-weight: 600; letter-spacing: .005em; box-shadow: inset 0 1px 0 #ffffff46,inset 0 -1px 0 #081c2b55,0 2px 0 #0b2135,0 5px 10px #172e4820; }
.add-to-cart:hover { color: #fff; border-color: #e0bf7c; background: linear-gradient(155deg,#426d8c,#244c6a 50%,#173c58); box-shadow: inset 0 1px 0 #ffffff4d,0 2px 0 #0d263c,0 7px 14px #172e4829; }
.add-to-cart:disabled,.add-to-cart:disabled:hover,.add-to-cart:disabled:active { color: #405468; background: linear-gradient(150deg,#fffdf7,#f4ecdc); border-color: #c9b586; box-shadow: inset 0 1px 0 #fff,0 1px 3px #172e4808; letter-spacing: 0; }
.add-status-icon { color: #98712f; }
.product.is-selected { border-color: #ac8334; box-shadow: 0 0 0 1px #bc985c66,0 5px 15px #a988301c; }
#more { color: #17324b; background: #e2c48e; border-color: #b38d4d; font-weight: 700; }
.stock-note { border-color: #c9d2da; }
.stock-note p { color: #4e6272; }
.stock-note-mark { color: #704917; border-color: #b68c43; background: #e8cf9f; }
.help--compact p { color: #455e72; }
.help--compact a { color: #7f5c27; }
.shop-footer { color: #455a6d; background: #f9f3e9; border-color: #c5a363; }
.cart-launch { border-color: #ebc366; background: linear-gradient(150deg,#254e6b,#102f49); box-shadow: inset 0 1px 0 #ffffff24,0 4px 15px #17354b35; }
.cart-launch b { color: #473217; background: #e4c48c; }
.checkout { color: #fff; background: linear-gradient(155deg,#365b7a,#14334d); border-color: #bd9a5b; box-shadow: inset 0 1px 0 #ffffff38,0 2px 0 #0b2135,0 4px 9px #172e481c; }
.checkout:hover { background: #244d6b; border-color: #ddba76; }
@media(max-width:1100px) { .quote-steps { gap: 11px; } .quote-steps b { width: 31px; height: 33px; border-radius: 9px; font-size: 14px; } .quote-steps li { gap: 7px; } .quote-steps span { font-size: 9px; } }
@media(max-width:760px) {
 .collection-nav { gap: 8px; padding-top: 8px; padding-bottom: 8px; }
 .collection-nav button,.collection-nav button:nth-child(3n+2),.collection-nav button:nth-child(3n+3) { min-height: 33px; padding: 8px 12px; font-size: 9px; }
 .intro { padding: 20px 16px; margin-top: 15px; margin-bottom: 18px; border-radius: 12px; }
 .intro-eyebrow { padding: 5px 7px; margin-bottom: 11px; font-size: 7px; }
 .intro h1 { font-size: 24px; }
 .intro p { font-size: 10px; line-height: 1.8; }
 .quote-steps { gap: 8px; margin-top: 18px; }
 .quote-steps li { gap: 6px; }
 .quote-steps b { width: 29px; height: 31px; font-size: 12px; border-radius: 8px; }
 .quote-steps span { font-size: 8px; }
 .filter-panel { padding: 0 12px; background: #fff; border-color: #b08b42; box-shadow: 0 2px 6px #17324b10; }
 .filter-panel:not([open]) { background: #193d57; border-color: #193d57; }
 .filter-panel:not([open]) > summary { color: #fff; }
 .filter-panel:not([open]) > summary svg { color: #efc970; }
 .results-heading h2 { font-size: 20px; }
 #count { font-size: 10px; }
 #selection-summary { font-size: 9px; }
 .product::after { height: 3px; left: 11px; right: 11px; }
 .product h2 { font-size: 12px; }
 .product-code { font-size: 9px; }
 .product-category,.product-availability,.photo-caption { font-size: 9px; }
 .product-selection { padding: 7px; }
 .selection-controls button:disabled { color: #8796a0; background: #f0f3f5; border-color: #cbd5dc; }
}
