:root {
  --forest: #07558a;
  --forest-2: #0b75b7;
  --mint: #e4f6ff;
  --lime: #69c337;
  --cream: #f3f8fb;
  --paper: #ffffff;
  --ink: #133046;
  --muted: #60798a;
  --line: #d4e3ec;
  --shadow: 0 18px 50px rgba(2, 75, 121, .14);
  --radius: 20px;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: "DM Sans", sans-serif; font-size: 16px; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.topbar { height: 86px; padding: 0 clamp(18px, 4vw, 64px); display: flex; align-items: center; justify-content: center; background: linear-gradient(110deg, #064a7b, #078cc7); color: white; position: sticky; top: 0; z-index: 20; box-shadow: 0 5px 24px rgba(4,70,112,.22); }
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.logo-wrap { width: 66px; height: 66px; display: grid; place-items: center; overflow: hidden; background: white; border-radius: 14px; box-shadow: 0 4px 13px rgba(0,0,0,.13); }
.logo-wrap img { width: 54px; height: 62px; object-fit: contain; }
.brand-name { display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.brand strong { display: block; letter-spacing: .12em; font-size: 21px; }
.brand small { display: block; opacity: 1; font-size: 16px; font-weight: 700; letter-spacing: .08em; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.65); white-space: nowrap; }
.cart-shortcut { position: absolute; right: clamp(18px, 4vw, 64px); }
.cart-shortcut { display: none; align-items: center; gap: 9px; background: transparent; color: white; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; padding: 9px 10px 9px 15px; }
.cart-shortcut b { background: var(--lime); color: var(--forest); border-radius: 50%; width: 27px; height: 27px; display: grid; place-items: center; }
.layout { max-width: 1540px; margin: 0 auto; padding: 46px clamp(18px, 4vw, 56px) 110px; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 38px; align-items: start; }
.intro { max-width: 670px; }
.eyebrow { margin: 0 0 8px; color: var(--forest-2); font-weight: 700; letter-spacing: .16em; font-size: 12px; }
h1, h2 { font-family: "Fraunces", serif; margin: 0; color: var(--forest); }
h1 { font-size: clamp(38px, 5vw, 62px); line-height: 1; letter-spacing: -.035em; }
.intro > p:last-child { color: var(--muted); line-height: 1.55; margin: 17px 0 30px; }
.tools { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.search { flex: 1; min-width: 240px; display: flex; align-items: center; gap: 9px; background: white; border: 1px solid var(--line); border-radius: 14px; padding: 0 15px; height: 48px; box-shadow: 0 3px 14px rgba(20,62,45,.04); }
.search span { font-size: 25px; color: var(--forest-2); transform: rotate(-15deg); }
.search input { border: 0; outline: 0; width: 100%; color: var(--ink); background: transparent; font-size: 15px; }
.filters { display: flex; gap: 7px; flex-wrap: wrap; }
.filters button { height: 42px; border: 1px solid var(--line); color: var(--forest); background: transparent; border-radius: 999px; padding: 0 15px; font-weight: 600; font-size: 14px; }
.filters button.active { background: var(--forest); color: white; border-color: var(--forest); }
.results-line { margin: 28px 0 13px; display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 14px; }
.results-line button { border: 0; background: transparent; color: #9a382e; font-weight: 600; padding: 5px; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.product-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; min-width: 0; transition: transform .18s, box-shadow .18s, border-color .18s; }
.product-card:focus-within, .product-card.has-quantity { border-color: #46a9d4; box-shadow: 0 12px 35px rgba(4,93,144,.15); }
.product-card:hover { transform: translateY(-2px); }
.product-image { height: 280px; display: grid; place-items: center; background: #ffffff; padding: 5px; position: relative; border-bottom: 1px solid #e5eef3; overflow: hidden; }
.product-image img { width: 100%; height: 100%; object-fit: contain; }
.code-24059 .product-image img,
.code-24061 .product-image img,
.code-24060 .product-image img { transform: none; object-fit: cover; }
.badge { position: absolute; left: 12px; top: 12px; background: rgba(5,85,138,.94); color: white; padding: 6px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .04em; z-index: 2; }
.card-body { padding: 15px; display: flex; flex-direction: column; flex: 1; }
.code { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.product-card h3 { font-size: 16px; line-height: 1.28; margin: 6px 0 7px; min-height: 41px; }
.composition { color: var(--muted); font-size: 13px; line-height: 1.35; margin: 0 0 14px; flex: 1; }
.price-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; }
.price small { display: block; color: var(--muted); font-size: 11px; }
.price strong { display: block; color: var(--forest); font-size: 20px; margin-top: 2px; }
.stepper { display: flex; align-items: center; border: 1px solid #cbd9d1; border-radius: 12px; overflow: hidden; background: white; }
.stepper button { border: 0; background: var(--mint); color: var(--forest); width: 34px; height: 38px; font-weight: 700; font-size: 20px; }
.stepper input { width: 38px; border: 0; text-align: center; outline: 0; font-weight: 700; color: var(--forest); appearance: textfield; }
.stepper input::-webkit-inner-spin-button { appearance: none; }
.stock { margin: 10px 0 0; text-align: right; color: var(--muted); font-size: 11px; }
.empty { text-align: center; background: white; border: 1px dashed var(--line); padding: 45px; border-radius: var(--radius); color: var(--muted); }
.order-panel { position: sticky; top: 102px; background: var(--paper); border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow); padding: 24px; max-height: calc(100vh - 124px); display: flex; flex-direction: column; }
.order-heading { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 14px; }
.order-heading h2 { font-size: 32px; }
.close-panel { display: none; border: 0; background: #edf2ef; width: 38px; height: 38px; border-radius: 50%; font-size: 24px; color: var(--forest); }
.order-empty { min-height: 280px; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; color: var(--muted); }
.order-empty > span { font-size: 43px; filter: grayscale(1); opacity: .55; }
.order-empty strong { color: var(--ink); margin-top: 13px; }
.order-empty p { margin: 7px 18px; line-height: 1.45; font-size: 14px; }
.order-items { overflow: auto; margin-right: -7px; padding-right: 7px; }
.order-item { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.order-item strong { font-size: 14px; line-height: 1.3; }
.order-item span { color: var(--muted); font-size: 12px; }
.order-item b { grid-row: span 2; align-self: center; color: var(--forest); font-size: 14px; }
.order-form { border-top: 1px solid var(--line); padding-top: 16px; margin-top: 12px; display: grid; gap: 16px; }
.order-form label { color: var(--muted); font-size: 12px; font-weight: 600; }
.order-form input, .order-form textarea { width: 100%; margin-top: 5px; border: 1px solid var(--line); border-radius: 10px; background: white; padding: 10px 11px; outline: 0; color: var(--ink); font-size: 14px; }
.order-form textarea { min-height: 62px; resize: vertical; }
.order-form input:focus, .order-form textarea:focus { border-color: #75a58f; box-shadow: 0 0 0 3px rgba(80,150,115,.12); }
.choice-group { border: 1px solid var(--line); padding: 13px; margin: 0; min-width: 0; border-radius: 14px; background: #f8fbfd; }
.choice-group legend { color: var(--ink); font-size: 14px; font-weight: 700; padding: 0 5px; }
.choice-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.choice-options.three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.choice-options label { position: relative; cursor: pointer; }
.choice-options input { position: absolute; opacity: 0; pointer-events: none; }
.choice-options span { display: grid; place-items: center; min-height: 46px; border: 1px solid var(--line); border-radius: 11px; background: white; color: var(--ink); font-weight: 700; font-size: 14px; transition: .15s; }
.choice-options input:checked + span { border-color: var(--forest-2); background: var(--mint); color: var(--forest); box-shadow: inset 0 0 0 1px var(--forest-2); }
.choice-group.invalid span { border-color: #cf4e42; }
.order-total { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 18px; }
.order-total > div { display: flex; justify-content: space-between; color: var(--muted); font-size: 14px; padding: 3px 0; }
.order-total .grand-total { margin-top: 12px; min-height: 62px; padding: 12px 15px; align-items: center; color: white; background: linear-gradient(110deg, #07558a, #078cc7); border-radius: 14px; box-shadow: 0 8px 20px rgba(5,85,138,.2); }
.grand-total span { font-weight: 800; letter-spacing: .04em; }
.grand-total strong { color: white; font-size: 25px; white-space: nowrap; }
.order-actions { margin-top: 16px; display: grid; gap: 8px; }
.order-actions button { border-radius: 13px; min-height: 52px; border: 0; font-weight: 700; padding: 10px 13px; }
.catalog-actions { width: min(470px, 100%); margin: 38px auto 0; text-align: center; }
.catalog-actions .whatsapp { font-size: 18px; box-shadow: 0 10px 24px rgba(31,170,89,.22); }
.whatsapp { background: #1faa59; color: white; }
.whatsapp { display: inline-flex; align-items: center; justify-content: center; gap: 9px; }
.whatsapp span { display: inline-block; flex: 0 0 auto; font-size: 0; width: 27px; height: 27px; border: 3px solid white; border-radius: 50%; position: relative; }
.whatsapp span::after { content: ""; position: absolute; width: 7px; height: 7px; background: #1faa59; border-left: 3px solid white; transform: rotate(-35deg); left: -4px; bottom: -3px; }
.copy { background: var(--mint); color: var(--forest); }
#actionFeedback { margin: 0; min-height: 18px; color: var(--forest-2); text-align: center; font-size: 12px; }
[hidden] { display: none !important; }
.catalog-notice { margin: 12px 0 0; padding: 11px 14px; background: #e7f3ea; color: #135332; border-radius: 10px; font-size: 14px; }
.payment-note { color: var(--muted); font-size: 13px; line-height: 1.5; margin: 4px 0; }
.order-success { max-width: 700px; margin: 32px auto 0; padding: 26px; border: 1px solid #98d6b3; border-radius: 20px; background: #f0fbf4; }
.order-success h2 { margin: 10px 0; overflow-wrap: anywhere; }
.order-success .whatsapp { padding: 13px 18px; border-radius: 11px; text-decoration: none; font-weight: 700; }
.site-footer { padding: 28px; text-align: center; }
.site-footer button { border: 0; background: transparent; color: var(--forest-2); text-decoration: underline; cursor: pointer; }
.admin-panel { max-width: 980px; margin: 0 auto 50px; padding: 25px; background: white; border: 1px solid var(--line); border-radius: 20px; }
.admin-panel h2 { margin-top: 0; }
.admin-login { max-width: 420px; display: grid; gap: 12px; }
.admin-login label, .admin-login input { display: block; width: 100%; }
.admin-login input { margin-top: 6px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.admin-login button, .pay-button { border: 0; border-radius: 10px; background: var(--forest); color: white; font-weight: 700; cursor: pointer; padding: 12px 16px; }
.pay-button:disabled { opacity: .5; cursor: wait; }
.admin-stock { font-weight: 700; color: var(--forest); }
.admin-order { border: 1px solid var(--line); border-radius: 14px; padding: 15px; margin: 12px 0; }
.admin-order-heading, .admin-order-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.admin-order p { color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.status { border-radius: 99px; padding: 6px 10px; font-size: 12px; font-weight: 700; }
.status.pending { color: #815402; background: #fff2d4; }
.status.paid { color: #0a693a; background: #dff4e9; }
.overlay, .mobile-summary { display: none; }
.payment-overlay:not([hidden]) { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: rgba(7,24,17,.62); padding: 18px; }
.payment-dialog { max-height: calc(100dvh - 36px); overflow-y: auto; overscroll-behavior: contain; position: relative; width: min(100%, 480px); border-radius: 20px; padding: 28px; background: white; color: var(--ink); box-shadow: 0 22px 70px rgba(7,24,17,.3); }
.payment-dialog h2 { margin: 0 36px 16px 0; }
.payment-dialog p { line-height: 1.5; }
.payment-dialog button:not(.payment-close) { border: 0; border-radius: 12px; padding: 12px 16px; font: inherit; font-weight: 700; background: #0b6049; color: white; cursor: pointer; }
.payment-dialog button:disabled { opacity: .55; cursor: not-allowed; }
.payment-close { position: absolute; right: 16px; top: 12px; border: 0; background: transparent; font-size: 32px; cursor: pointer; }
.pix-key { padding: 14px; border-radius: 10px; background: #eff8f4; font-size: 23px; font-weight: 700; letter-spacing: .03em; overflow-wrap: anywhere; }
.payment-dialog form label { display: block; margin: 10px 0; font-weight: 700; }
.payment-dialog form input { display: block; width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid var(--line); border-radius: 10px; font: inherit; margin-top: 5px; }
#pickupDetails .pix-key { font-size: 17px; letter-spacing: 0; }
@media (max-width: 1180px) {
  .layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 820px) {
  body { padding-bottom: 82px; }
  .topbar { height: 72px; padding: 0 82px 0 10px; justify-content: flex-start; }
  .logo-wrap { width: 51px; height: 51px; border-radius: 11px; }
  .logo-wrap img { width: 42px; height: 48px; }
  .brand-name { gap: 7px; }
  .brand strong { font-size: 16px; }
  .brand small { font-size: 11px; line-height: 1; letter-spacing: .035em; padding-left: 7px; }
  .cart-shortcut { right: 10px; }
  .cart-shortcut { display: flex; }
  .layout { display: block; padding: 30px 15px 35px; }
  h1 { font-size: 42px; }
  .tools { align-items: stretch; }
  .search { min-width: 100%; }
  .filters { width: 100%; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .filters button { flex: 0 0 auto; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .product-image { height: 250px; }
  .card-body { padding: 12px; }
  .product-card h3 { font-size: 15px; min-height: auto; }
  .composition { font-size: 12px; }
  .price-row { align-items: center; flex-wrap: wrap; }
  .order-panel { position: fixed; z-index: 50; top: auto; left: 0; right: 0; bottom: 0; max-height: 92vh; border-radius: 27px 27px 0 0; transform: translateY(105%); transition: transform .25s ease; padding: 22px 18px 18px; }
  .order-panel.open { transform: translateY(0); }
  .close-panel { display: block; }
  .overlay { position: fixed; inset: 0; z-index: 40; background: rgba(7,24,17,.52); backdrop-filter: blur(2px); }
  .overlay.open { display: block; }
  .mobile-summary { display: flex; position: fixed; z-index: 30; bottom: 0; left: 0; right: 0; background: var(--forest); color: white; padding: 12px 16px; align-items: center; justify-content: space-between; box-shadow: 0 -5px 25px rgba(8,38,27,.22); }
  .mobile-summary small, .mobile-summary strong { display: block; }
  .mobile-summary small { opacity: .72; font-size: 12px; }
  .mobile-summary strong { font-size: 18px; margin-top: 2px; }
  .mobile-summary button { border: 0; border-radius: 12px; color: var(--forest); background: var(--lime); font-weight: 700; padding: 12px 17px; }
}
@media (max-width: 520px) {
  .product-grid { grid-template-columns: 1fr; }
  .product-card { display: flex; }
  .product-image { height: 270px; min-height: 270px; padding: 2px; }
  .choice-options.three { grid-template-columns: 1fr; }
  .badge { font-size: 10px; left: 8px; top: 8px; }
  .product-card h3 { font-size: 15px; }
  .price strong { font-size: 18px; }
  .composition { margin-bottom: 9px; }
}

.cancel-button { border: 1px solid #cbd6ce; border-radius: 10px; background: white; color: #42554a; font-weight: 700; cursor: pointer; padding: 12px 16px; }
.status.cancelled { color: #54645c; background: #edf1ee; }

.sales-report { margin: 24px 0; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.sales-report h3 { margin: 0 0 8px; font-size: 22px; }
.report-note { color: #5b6d61; font-size: 14px; line-height: 1.4; }
.report-total { display: flex; gap: 10px 25px; flex-wrap: wrap; align-items: center; margin: 22px 0; }
.report-total span { color: #32614c; }
.report-scroll { overflow-x: auto; }
.report-table { border-collapse: collapse; width: 100%; min-width: 680px; text-align: left; }
.report-table th, .report-table td { border-bottom: 1px solid #e3eae4; padding: 12px 10px; vertical-align: top; }
.report-table thead th { color: #466453; font-size: 13px; }
.report-table tbody th { font-weight: 600; }
.report-table small { display: block; color: #688174; font-size: 12px; font-weight: 400; padding-top: 4px; }

.order-title-block { width: 100%; text-align: center; }
.order-brand-logo { display: block; width: min(165px, 75%); height: 67px; object-fit: contain; margin: 8px auto 3px; }

.previous-price { display: block; font-size: 13px; color: #697c88; margin-top: 4px; }

.brand-banner {background:#fff;text-align:center;} .brand-banner img{display:block;width:100%;max-width:1190px;height:auto;max-height:310px;object-fit:contain;margin:auto;} .topbar{height:auto;min-height:86px;flex-wrap:wrap;gap:12px;padding-top:10px;padding-bottom:10px;} .header-phone{color:white;font-weight:700;text-decoration:none;font-size:16px;} .site-footer{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;align-items:center;padding:24px;} .site-footer a{color:#064a7b;} .receipt-link{display:inline-block;margin:10px 0;font-weight:700;} @media(max-width:600px){.brand-name{flex-direction:column;gap:4px;align-items:flex-start}.brand small{border:0;padding:0;font-size:12px}.header-phone{font-size:14px}.topbar{padding-right:82px;gap:8px}.brand-banner img{max-height:none}.brand strong{font-size:17px}}

/* Banner acompanha a largura inteira do cabeçalho. */
.brand-banner img{width:100%;max-width:none;max-height:none;height:auto;object-fit:contain;}
.code-kit-01 .product-image,
.code-kit-02 .product-image,
.code-kit-03 .product-image,
.code-kit-05 .product-image,
.code-kit-06 .product-image,
.code-kit-07 .product-image,
.code-kit-08 .product-image,
.code-kit-09 .product-image,
.code-mp-01 .product-image,
.code-mp-03 .product-image,
.code-mp-04 .product-image,
.code-mp-05 .product-image,
.code-mp-06 .product-image,
.code-mp-07 .product-image{height:330px;padding:0;}
.code-kit-01 .product-image img,
.code-kit-02 .product-image img,
.code-kit-03 .product-image img,
.code-kit-05 .product-image img,
.code-kit-06 .product-image img,
.code-kit-07 .product-image img,
.code-kit-08 .product-image img,
.code-kit-09 .product-image img,
.code-mp-01 .product-image img,
.code-mp-03 .product-image img,
.code-mp-04 .product-image img,
.code-mp-05 .product-image img,
.code-mp-06 .product-image img,
.code-mp-07 .product-image img{width:118%;max-width:none;height:100%;object-fit:contain;}
@media(max-width:600px){.code-kit-01 .product-image,.code-kit-02 .product-image,.code-kit-03 .product-image,.code-kit-05 .product-image,.code-kit-06 .product-image,.code-kit-07 .product-image,.code-kit-08 .product-image,.code-kit-09 .product-image,.code-mp-01 .product-image,.code-mp-03 .product-image,.code-mp-04 .product-image,.code-mp-05 .product-image,.code-mp-06 .product-image,.code-mp-07 .product-image{height:300px;}}
.card-receipt{background:#edf8f1;border:1px solid #3d8756;border-radius:12px;padding:16px;margin:16px 0}.card-receipt p{margin:8px 0}.thank-you{font-size:18px;font-weight:700;color:#064a7b}.receipt-print{padding:10px 18px;cursor:pointer}@media print{body>*{display:none!important}.layout,.catalog,#orderSuccess,#cardReceipt{display:block!important}.catalog>*:not(#orderSuccess),#orderSuccess>*:not(#cardReceipt),.order-panel,.receipt-print{display:none!important}}

.brand-banner{background:#eff7fc}.brand-banner img{width:100%;height:210px;max-height:210px;object-fit:contain}.kit-image-frames{display:grid;grid-template-columns:repeat(var(--frame-cols),minmax(0,1fr));gap:10px;width:94%;height:94%;align-items:center;justify-items:center;padding:12px}.kit-image-frame{position:relative;display:block;overflow:hidden;width:100%;max-height:100%;height:auto}.product-image .kit-image-frame img{position:absolute!important;max-width:none!important;object-fit:fill!important;transform:none!important}.card-total{font-size:20px}@media(max-width:600px){.brand-banner img{height:140px;max-height:140px}.kit-image-frames{gap:8px;padding:10px}}

.kit-image-frames{grid-template-rows:repeat(var(--frame-rows),minmax(0,1fr))}.kit-product-frame{display:block;width:100%;height:100%;min-width:0;min-height:0}

.product-image>img{width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important}.kit-image-frames{height:100%;width:100%;padding:36px 10px 12px;gap:12px}.kit-component{margin:0;min-width:0;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px}.kit-component svg{display:block;width:100%;height:0;flex:1;min-height:0}.kit-component figcaption{font-size:14px;line-height:1.3;text-align:center;overflow-wrap:anywhere;white-space:normal;flex:none;width:100%;color:#133046}.product-card h3,.composition{height:auto;max-height:none;white-space:normal;overflow:visible;overflow-wrap:anywhere;-webkit-line-clamp:unset}.price-row{flex-wrap:wrap}.site-footer{background:#064a7b;color:white;gap:24px}.site-footer .footer-phone{font-size:clamp(22px,4vw,32px);font-weight:700;color:white;text-decoration:none}.footer-logo{width:130px;height:175px;object-fit:contain;background:white;border-radius:12px;padding:8px}.site-footer .store-shortcut{color:#064a7b;background:white;padding:14px 20px;border-radius:10px;font-weight:700;text-decoration:none}.site-footer #openAdmin{color:white;border-color:#fff6}.composition{font-size:14px}@media(max-width:600px){.footer-logo{width:110px;height:148px}}

.single-product-frame{display:block;width:100%;height:100%;padding:24px 18px 8px}.code-kit-01 .product-image,.code-kit-03 .product-image,.code-kit-04 .product-image,.code-kit-05 .product-image,.code-kit-07 .product-image,.code-mp-03 .product-image,.code-mp-06 .product-image,.code-mp-07 .product-image{height:370px}.kit-image-frames{gap:8px;padding:34px 6px 10px}.kit-component{gap:4px}.kit-component figcaption{font-size:14px}@media(max-width:600px){.code-kit-01 .product-image,.code-kit-03 .product-image,.code-kit-04 .product-image,.code-kit-05 .product-image,.code-kit-07 .product-image,.code-mp-03 .product-image,.code-mp-06 .product-image,.code-mp-07 .product-image{height:350px}}

/* Banner ocupa a mesma largura do cabeçalho, mantendo a proporção original. */
.brand-banner{width:100%;margin:0;padding:0}.brand-banner img{display:block;width:100%;height:auto;max-width:none;max-height:none;margin:0;object-fit:contain}
.code-kit-03 .product-image,.code-kit-04 .product-image,.code-kit-07 .product-image{height:330px}.code-kit-03 .kit-image-frames,.code-kit-04 .kit-image-frames,.code-kit-07 .kit-image-frames{height:100%;padding:34px 12px 12px;gap:14px}.code-kit-03 .kit-component svg,.code-kit-04 .kit-component svg,.code-kit-07 .kit-component svg{flex:1;width:100%;height:0;min-height:0}.code-mp-03 .kit-component svg,.code-mp-06 .kit-component svg,.code-mp-07 .kit-component svg{width:100%;height:0;flex:1}@media(max-width:600px){.code-kit-03 .product-image,.code-kit-04 .product-image,.code-kit-07 .product-image{height:320px}.brand-banner img{height:auto;max-height:none}}

/* Faixa compacta com a apresentação inteira e fundo estendido de ponta a ponta. */
.brand-banner{position:relative;isolation:isolate;height:200px;overflow:hidden;background:#e4f3fc}.brand-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#ffffffa8,#ffffffa8),url('./assets/brand/aiam-banner.png') center/cover no-repeat}.brand-banner img{width:100%;height:200px;max-height:200px;object-fit:contain;position:relative}
.code-kit-07 .kit-image-frames{padding:38px 14px 18px;gap:16px}.code-kit-07 .kit-component{gap:8px}.code-kit-07 .kit-component figcaption{min-height:37px}
.code-mp-01 .product-image{height:280px}.code-mp-01 .kit-image-frames{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:minmax(0,1fr);padding:38px 7px 16px;gap:4px}.code-mp-01 .kit-component figcaption{font-size:12px;line-height:1.25}.code-mp-01 .kit-component svg{width:100%;height:0;flex:1;min-height:0}@media(max-width:600px){.brand-banner,.brand-banner img{height:140px;max-height:140px}.code-mp-01 .product-image{height:250px}.code-mp-01 .kit-image-frames{gap:3px}}

/* Área de imagem e legenda têm linhas independentes para evitar cortes. */
.kit-component{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;justify-items:center;gap:6px;overflow:visible}.kit-component svg{width:100%!important;height:100%!important;min-height:0;max-height:100%;flex:none}.kit-component figcaption{display:block!important;visibility:visible!important;position:static;height:auto;min-height:36px;max-height:none;white-space:normal;overflow:visible;line-height:1.3;font-size:14px;color:#133046;padding:0 2px;text-align:center}
.code-kit-03 .product-image,.code-kit-07 .product-image{height:330px}.code-kit-03 .kit-image-frames,.code-kit-07 .kit-image-frames{height:100%;max-height:100%;padding:38px 14px 16px;gap:12px}.code-kit-07 .kit-component figcaption{min-height:40px}.code-kit-01 .kit-component svg{height:100%!important}.code-mp-01 .kit-component figcaption{font-size:12px;min-height:30px}@media(max-width:600px){.code-kit-03 .product-image,.code-kit-07 .product-image{height:330px}}

.code-kit-06 .product-image{height:340px}.code-kit-06 .kit-image-frames{height:100%;padding:38px 10px 18px;gap:12px}.code-kit-06 .kit-component{grid-template-rows:minmax(0,1fr) 40px}.code-kit-06 .kit-component figcaption{display:block!important;min-height:40px;line-height:1.35;font-size:14px;overflow:visible}
.code-mp-04 .product-image{height:390px}.code-mp-04 .kit-image-frames{height:100%;grid-template-rows:repeat(2,minmax(0,1fr));padding:38px 10px 16px;row-gap:16px;column-gap:12px}.code-mp-04 .kit-component{grid-template-rows:minmax(0,1fr) 34px}.code-mp-04 .kit-component figcaption{display:block!important;min-height:34px;line-height:1.35;font-size:14px;overflow:visible}@media(max-width:600px){.code-kit-06 .product-image{height:330px}.code-mp-04 .product-image{height:390px}}

.code-mp-04 .kit-image-frames{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-items:stretch;justify-items:stretch;gap:14px;padding:38px 12px 16px}.code-mp-04 .kit-component{width:100%;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 34px;align-items:stretch;gap:6px}.code-mp-04 .kit-component svg{display:block;width:100%!important;height:100%!important;min-height:0;max-height:100%}.code-mp-04 .kit-component figcaption{font-size:14px;line-height:1.3;text-align:center}

/* MP 04: posições e alturas explícitas, sem dependência de percentuais nas linhas. */
.code-mp-04 .product-image{height:420px!important;padding:0!important;position:relative;display:block;overflow:hidden}
.code-mp-04 .kit-image-frames{position:absolute;inset:40px 12px 16px;width:auto!important;height:auto!important;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:176px 176px;gap:12px;padding:0!important;align-items:start;justify-items:stretch}
.code-mp-04 .kit-component{width:100%;height:176px;min-height:176px;max-height:176px;display:block;position:relative;margin:0;overflow:visible}
.code-mp-04 .kit-component svg{display:block;position:absolute;left:0;top:0;width:100%!important;height:146px!important;max-height:146px!important;min-height:146px;overflow:hidden}
.code-mp-04 .kit-component figcaption{display:block!important;position:absolute;top:150px;left:0;width:100%;height:24px;min-height:24px!important;margin:0;padding:0;font-size:14px;line-height:24px;white-space:nowrap;text-align:center;overflow:visible;color:#133046}
@media(max-width:600px){.code-mp-04 .product-image{height:420px!important}.code-mp-04 .kit-image-frames{inset:40px 10px 16px;column-gap:10px}}
/* Central administrativa, restrita ao acesso já existente. */
.admin-panel{max-width:1480px;margin:0 auto 50px;padding:28px}.management-center{margin:24px 0 32px;border:1px solid #c5dcea;border-radius:18px;background:#f3f8fc;overflow:hidden}.management-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px;background:#064a7b;color:white}.management-header h3{font-size:26px;margin:0 0 8px;color:white}.management-header p{margin:0;line-height:1.5}.management-header .eyebrow{color:#cff0ff}.management-center button,.management-center input,.management-center select{font:inherit;font-size:14px;min-height:42px;border:1px solid #aac6d8;border-radius:8px;padding:9px 12px;background:white;color:#123b57}.management-center button:hover{background:#e0f1fb}.management-header button{white-space:nowrap}.management-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:18px 24px;border-bottom:1px solid #c5dcea}.management-center label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.management-layout{display:grid;grid-template-columns:220px minmax(0,1fr)}#managementMenus{padding:18px 12px;background:#e7f1f7;border-right:1px solid #c5dcea;max-height:850px;overflow:auto}.management-menu-group{margin-bottom:18px}.management-menu-group>strong{display:block;color:#466982;font-size:14px;margin:8px 8px}.management-menu-group button{display:block;width:100%;text-align:left;margin:4px 0;border-color:transparent;background:transparent}.management-menu-group button.active{color:white;background:#07558a;border-color:#07558a}.management-main{padding:24px;min-width:0}.management-toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.management-toolbar label:first-child{flex:1;min-width:180px}#managementFeedback{font-size:14px;line-height:1.5;color:#526c7e}#managementContent>h3{font-size:24px;margin:24px 0 18px;color:#064a7b}#managementContent h4{font-size:18px;margin:28px 0 12px}.management-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.management-kpi{background:white;border:1px solid #c5dcea;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}.management-kpi span{font-size:14px;color:#526c7e}.management-kpi strong{font-size:24px;overflow-wrap:anywhere;color:#07558a}.management-kpi small{font-size:13px;line-height:1.4;color:#466982}.management-note{padding:14px 16px;border-left:3px solid #0b75b7;background:#e5f3fb;font-size:14px;line-height:1.6;color:#34566c}.management-table-wrap{overflow:auto;width:100%;border:1px solid #c5dcea;border-radius:10px;background:white}.management-table-wrap table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}.management-table-wrap th{background:#d9edf8;color:#134d71;text-align:left;padding:13px;white-space:nowrap}.management-table-wrap td{padding:12px 13px;line-height:1.5;border-bottom:1px solid #d8e7f0;vertical-align:top;max-width:300px;overflow-wrap:anywhere}.management-table-wrap tbody tr:nth-child(even){background:#f2f8fc}.management-empty{padding:25px;border:1px dashed #abc8da;border-radius:10px;color:#34566c}.management-unavailable{padding:20px;border:1px solid #c5dcea;border-radius:12px;background:white;line-height:1.6}.management-unavailable h4{margin-top:0!important}.management-bars{background:white;border:1px solid #c5dcea;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:15px}.management-bars>div{display:grid;grid-template-columns:minmax(90px,1fr) minmax(70px,1.1fr) minmax(80px,.7fr);gap:12px;align-items:center;font-size:14px;line-height:1.4}.management-bars>div>span:first-child{overflow-wrap:anywhere}.management-bar-track{display:block;height:13px;background:#e4eff6;border-radius:5px;overflow:hidden}.management-bar-track i{display:block;height:100%;background:#0b75b7}.management-bars strong{font-weight:600;text-align:right}#managementStoreUrl{width:100%;margin:8px 0 12px}#adminDashboard>.sales-report,#adminDashboard>#adminStock{display:none}.management-mobile-menu{display:none}#adminOrders{margin-top:20px}
@media(max-width:1050px){.management-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.management-layout{grid-template-columns:190px minmax(0,1fr)}.management-main{padding:18px}}
@media(max-width:700px){.admin-panel{padding:16px;margin:0 12px 30px}.management-header{padding:18px;flex-direction:column}.management-header h3{font-size:23px}.management-controls{padding:16px}.management-controls label{flex:1;min-width:125px}.management-layout{display:block}#managementMenus{display:none}.management-mobile-menu{display:flex!important;margin:16px}.management-mobile-menu select{width:100%}.management-main{padding:16px}.management-toolbar label{flex:1}.management-kpi{padding:14px}.management-kpi strong{font-size:20px}.management-bars>div{grid-template-columns:minmax(70px,1fr) minmax(50px,1fr);gap:8px}.management-bars strong{grid-column:2}.management-kpis{gap:8px}}
@media print{body.printing-management>#adminPanel{display:block!important;max-width:none;margin:0;padding:0}body.printing-management #adminDashboard,body.printing-management #managementCenter,body.printing-management .management-layout,body.printing-management .management-main{display:block!important}body.printing-management #adminPanel>h2,body.printing-management #adminPanel>p,body.printing-management #adminLogin,body.printing-management #adminOrders,body.printing-management #adminActionFeedback,body.printing-management #adminStock,body.printing-management .sales-report,body.printing-management #managementMenus,body.printing-management .management-mobile-menu,body.printing-management .management-controls,body.printing-management .management-toolbar,body.printing-management .management-header button,body.printing-management #managementOrderActions{display:none!important}body.printing-management .management-header{background:white;color:#123b57}body.printing-management .management-header h3,body.printing-management .management-header .eyebrow{color:#123b57}body.printing-management .management-center{border:0}body.printing-management .management-main{padding:0}body.printing-management .management-table-wrap{overflow:visible}body.printing-management .management-table-wrap table{min-width:0;font-size:10px}body.printing-management .management-table-wrap th,body.printing-management .management-table-wrap td{padding:6px;white-space:normal}body.printing-management .management-kpi{break-inside:avoid}body.printing-management button{display:none!important}}

@media print{body.printing-management .admin-operations-title,body.printing-management .admin-operations-note{display:none!important}}

/* Keep the order shortcut below the phone in the mobile header. */
@media (max-width: 820px) {
  .topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    height: auto;
    padding: 10px;
    gap: 8px;
  }
  .topbar .brand { grid-column: 1; grid-row: 1; gap: 8px; }
  .topbar .brand-name { min-width: 0; }
  .topbar .brand small { white-space: normal; }
  .topbar .header-phone { grid-column: 2; grid-row: 1; justify-self: end; white-space: nowrap; }
  .topbar .cart-shortcut {
    position: static;
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
}
@media (max-width: 360px) {
  .topbar .brand strong { font-size: 14px; }
  .topbar .brand small { font-size: 10px; }
  .topbar .logo-wrap { width: 42px; height: 48px; flex-shrink: 0; }
  .topbar .logo-wrap img { width: 36px; height: 44px; }
}

/* Mobile photos use a bounded area, independent of image intrinsic size. */
@media (max-width: 820px) {
  .product-card .product-image {
    flex-shrink: 0;
    display: block;
    min-height: 270px;
  }
  .product-card .product-image > img,
  .product-card .product-image > .single-product-frame {
    position: absolute;
    inset: 34px 12px 16px;
    width: calc(100% - 24px) !important;
    height: calc(100% - 50px) !important;
    max-width: none;
    max-height: none;
    padding: 0;
    object-fit: contain !important;
    object-position: center;
    transform: none !important;
  }
  .product-card .product-image:has(.kit-image-frames) {
    height: 340px !important;
    min-height: 340px;
    padding: 0 !important;
  }
  .product-card .product-image:has(.kit-image-frames[style*="--frame-rows:2"]) {
    height: 420px !important;
    min-height: 420px;
  }
  .product-card .product-image .kit-image-frames {
    position: absolute;
    inset: 36px 12px 16px;
    width: auto !important;
    height: auto !important;
    max-height: none;
    padding: 0 !important;
    grid-template-columns: repeat(var(--frame-cols), minmax(0, 1fr));
    grid-template-rows: repeat(var(--frame-rows), minmax(0, 1fr));
    gap: 12px 8px;
    align-items: stretch;
  }
  .product-card .product-image .kit-component {
    display: grid;
    position: static;
    grid-template-rows: minmax(0, 1fr) auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    gap: 6px;
  }
  .product-card .product-image .kit-component svg {
    position: static;
    width: 100% !important;
    height: 100% !important;
    min-height: 0;
    max-height: 100% !important;
  }
  .product-card .product-image .kit-component figcaption {
    position: static;
    height: auto;
    min-height: 0 !important;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3;
  }
}

/* MP-05: four complete products in a bounded two-by-two grid. */
.product-card.code-mp-05 .product-image {
  position: relative;
  display: block;
  height: 420px !important;
  min-height: 420px;
  flex-shrink: 0;
  padding: 0 !important;
}
.product-card.code-mp-05 .product-image .kit-image-frames {
  position: absolute;
  inset: 38px 12px 16px;
  width: auto !important;
  height: auto !important;
  max-height: none;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
  align-items: stretch;
}
.product-card.code-mp-05 .product-image .kit-component {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  position: static;
  gap: 6px;
}
.product-card.code-mp-05 .product-image .kit-component svg {
  display: block;
  position: static;
  width: 100% !important;
  height: 100% !important;
  min-height: 0;
  max-height: 100% !important;
}
.product-card.code-mp-05 .product-image .kit-component figcaption {
  position: static;
  height: auto;
  min-height: 0 !important;
  white-space: normal;
  line-height: 1.3;
}

.management-action{display:inline-block;margin:6px 8px 6px 0;padding:11px 14px;border-radius:8px;border:1px solid #08704a;background:#edf8f1;color:#086344;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4}.order-whatsapp-actions{display:flex;flex-wrap:wrap;margin:10px 0}.management-unavailable form,.management-unavailable label{margin:14px 0}.management-unavailable input,.management-unavailable select{max-width:100%;width:100%}

.notify-stock{border:1px solid #07558a;background:#e4f6ff;color:#07558a;border-radius:10px;padding:12px;font-weight:700;width:100%;margin:8px 0}.payment-dialog form label{display:flex;flex-direction:column;gap:6px;margin:14px 0}.payment-dialog form input:not([type=checkbox]),.payment-dialog form select,.payment-dialog form textarea{font:inherit;width:100%;padding:11px;border:1px solid #abc8da;border-radius:8px}.payment-dialog form .consent-check{display:flex;flex-direction:row;align-items:flex-start;font-size:14px;line-height:1.5}.payment-dialog form button{padding:12px 18px;border-radius:8px;border:0;background:#07558a;color:white}.contact-purpose{font-size:14px;color:#466982;line-height:1.4}.public-reviews{max-width:1480px;margin:20px auto 40px;padding:20px}.public-reviews h2{font-size:28px}.customer-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.customer-review{padding:18px;background:white;border:1px solid #c5dcea;border-radius:14px;overflow-wrap:anywhere}.customer-review p{white-space:pre-wrap;line-height:1.5}

.checkout-coupon{margin:20px 0;padding:16px;border:1px solid #c5dcea;border-radius:10px}.checkout-coupon label{display:block;margin-bottom:8px}.checkout-coupon input{box-sizing:border-box;width:100%;padding:12px;font:inherit;border:1px solid #aac6d8;border-radius:8px}.checkout-coupon button,#confirmFinalOrder{margin-top:12px;width:100%;min-height:44px;font:inherit}#finalOrderItems{line-height:1.6}

.share-center{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}.share-hero,.share-feature{border-radius:16px;padding:24px;color:white;background:#7905d1;display:flex;align-items:center;justify-content:space-between;gap:12px}.share-hero h4{color:white;font-size:24px;margin:0;line-height:1.35}.share-card-art{font-size:56px;line-height:1}.share-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:20px 0}.share-tabs button[aria-pressed=true]{color:#7905d1;border-color:#7905d1;background:#f4e8ff}.share-socials{display:flex;gap:12px;margin:16px 0 24px}.share-socials a,.share-socials button{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:white;font-size:28px;font-weight:700;text-decoration:none;border:0;padding:0}.share-wa{background:#039700!important}.share-ig{background:linear-gradient(35deg,#ffc838,#ec2678,#7944e6)!important}.share-fb{background:#087ded!important}.share-tg{background:#2ca8d9!important}.share-feature-cards{display:flex;flex-direction:column;gap:12px}.management-center .share-feature{border:0;text-align:left;color:white;min-height:130px;width:100%;font-size:20px}.share-feature small{display:block;font-size:14px;margin-top:14px}.share-feature.cyan{background:#0096b0}.share-feature.pink{background:#d81479}.share-feature.purple{background:#7905d1}.share-product-list{max-height:270px;overflow:auto;border:1px solid #c5dcea}.share-product-list label{flex-direction:row;align-items:center;margin:6px 0}.share-product-list input{min-height:auto}.store-qr{display:block;width:230px;max-width:100%;background:white}#shareFeatureContent input,#shareLink{width:100%;box-sizing:border-box}@media(max-width:900px){.share-center{grid-template-columns:1fr}}

.clean-config-panel { max-width: 760px; }
.clean-config-panel form { display: grid; gap: 12px; }
.clean-config-panel input { box-sizing: border-box; width: 100%; min-width: 0; font-size: 1rem; }
.clean-config-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.clean-config-actions button { white-space: normal; min-height: 44px; }
#cleanConfigState, #cleanConfigResult { overflow-wrap: anywhere; }
@media(max-width: 600px) { .clean-config-actions { display: grid; } .clean-config-actions button { width: 100%; } }

#cleanAssistantEntry:empty { display: none; }
.clean-launcher { display: flex; align-items: center; gap: 12px; margin: 18px 0 22px; padding: 10px 20px 10px 12px; border: 0; border-radius: 18px; background: linear-gradient(115deg,#07558a,#0574a7); color: white; font: inherit; text-align: left; cursor: pointer; box-shadow: 0 5px 16px #07558a22; }
.clean-launcher img { object-fit: contain; animation: cleanHello 3.8s ease-in-out infinite; flex-shrink: 0; }
.clean-launcher strong { display: block; font-size: 1rem; }
.clean-launcher small { display: block; margin-top: 5px; font-size: .875rem; color: #e0f6ff; }
@keyframes cleanHello { 0%,80%,100% { transform: translateY(0) rotate(0); } 35% { transform: translateY(-4px) rotate(-4deg); } 55% { transform: translateY(-2px) rotate(3deg); } }
.clean-chat-dialog { padding: 0; border: 0; border-radius: 22px; width: min(480px,calc(100vw - 28px)); max-width: calc(100vw - 28px); height: min(720px,88dvh); max-height: 88dvh; color: #14374e; background: #f4faff; box-shadow: 0 20px 70px #06263d55; overflow: hidden; }
.clean-chat-dialog[open] { display: flex; flex-direction: column; }
.clean-chat-dialog::backdrop { background: #08283999; }
.clean-chat-header { display: flex; align-items: center; gap: 10px; padding: 16px; background: #07558a; color: white; flex-shrink: 0; }
.clean-chat-header img { object-fit: contain; }
.clean-chat-header div { min-width: 0; flex: 1; }
.clean-chat-header h2 { margin: 0; font-family: 'DM Sans',sans-serif; font-size: 1.15rem; color: white; }
.clean-chat-header p { margin: 5px 0 0; font-size: .875rem; }
.clean-chat-close { background: #ffffff20; color: white; border: 0; border-radius: 50%; width: 44px; height: 44px; font-size: 1.8rem; flex-shrink: 0; cursor: pointer; }
.clean-chat-messages { flex: 1; min-height: 70px; overflow-y: auto; padding: 16px; overscroll-behavior: contain; }
.clean-chat-message { background: white; padding: 12px 14px; margin: 0 20px 12px 0; border: 1px solid #c8e1ee; border-radius: 16px; overflow-wrap: anywhere; }
.clean-chat-message.user { margin: 0 0 12px 20px; background: #dff2fe; border-color: #b9ddf3; }
.clean-chat-message strong { font-size: .875rem; color: #07558a; }
.clean-chat-message p { margin: 6px 0 0; font-size: 1rem; line-height: 1.5; white-space: pre-wrap; }
.clean-chat-product-links { display: grid; gap: 8px; margin-top: 12px; }
.clean-chat-product-links a { padding: 10px; background: #e6f4e9; color: #15552f; border-radius: 10px; font-size: .875rem; text-decoration: underline; }
.clean-chat-suggestions { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 8px; flex-shrink: 0; }
.clean-chat-suggestions button { border: 1px solid #abcbdc; color: #07558a; background: white; border-radius: 10px; padding: 9px; min-height: 40px; font: inherit; font-size: .875rem; cursor: pointer; }
.clean-chat-status { padding: 0 16px; margin: 0; font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; }
.clean-chat-status:not(:empty) { padding-bottom: 10px; }
.clean-chat-form { padding: 12px 16px; background: white; border-top: 1px solid #c8e1ee; flex-shrink: 0; }
.clean-chat-form label { display: block; margin-bottom: 6px; font-size: .875rem; font-weight: 700; }
.clean-chat-form div { display: flex; align-items: flex-end; gap: 8px; }
.clean-chat-form textarea { flex: 1; min-width: 0; width: 100%; resize: none; font: inherit; padding: 10px; border: 1px solid #abcbdc; border-radius: 10px; box-sizing: border-box; }
.clean-chat-form button { padding: 12px 14px; min-height: 44px; border: 0; border-radius: 10px; background: #07558a; color: white; font: inherit; font-weight: 700; cursor: pointer; }
.clean-chat-dialog button:disabled { opacity: .55; cursor: wait; }
.clean-chat-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 16px 14px; background: white; flex-shrink: 0; }
.clean-chat-footer a { color: #146336; font-size: .875rem; font-weight: 700; }
.clean-chat-reset { border: 0; padding: 8px; background: transparent; color: #07558a; font: inherit; font-size: .875rem; cursor: pointer; }
.clean-chat-footer small { width: 100%; font-size: .875rem; line-height: 1.4; color: #547184; }
.clean-chat-dialog :focus-visible,.clean-launcher:focus-visible { outline: 3px solid #75b83c; outline-offset: 3px; }
#cleanSettingsForm input[type=checkbox] { width: auto; }
@media (max-width:600px) { .clean-launcher { width: 100%; box-sizing: border-box; } .clean-chat-header { padding: 12px; } .clean-chat-dialog { height: 90dvh; max-height: 90dvh; } }
@media (prefers-reduced-motion:reduce) { .clean-launcher img { animation: none; } }

.share-brand-preview { display: grid; grid-template-columns: minmax(220px, 40%) minmax(0, 1fr); gap: 24px; align-items: center; border: 1px solid #bdd7e8; background: white; border-radius: 18px; padding: 18px; margin-bottom: 24px; }
.share-brand-preview img { width: 100%; height: auto; object-fit: contain; border-radius: 10px; }
.share-brand-preview h4 { font-size: 1.2rem; color: #07558a; margin: 0 0 12px; }
.share-brand-preview p { line-height: 1.5; }
@media(max-width:600px) { .share-brand-preview { grid-template-columns: 1fr; gap: 14px; padding: 14px; } }

.footer-access{display:flex;align-items:center;justify-content:center;gap:clamp(36px,6vw,88px);max-width:100%;flex-wrap:wrap}.site-footer .footer-qr{display:flex;flex-direction:column;align-items:center;gap:8px;color:white;text-decoration:none;font-size:14px;font-weight:700}.footer-qr img{display:block;width:132px;height:132px;background:white;border-radius:8px;padding:8px;box-sizing:content-box}.footer-qr:focus-visible{outline:3px solid white;outline-offset:6px;border-radius:8px}@media(max-width:600px){.footer-access{width:100%;gap:32px}.footer-qr img{width:112px;height:112px}}

/* Keep the complete order inside its own scrolling surface. */
.order-panel { min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
.order-panel > * { flex-shrink: 0; }
.order-items { overflow: visible; margin-right: 0; padding-right: 0; }
.order-form { gap: 20px; }
.order-form > label { font-size: 14px; line-height: 1.5; }
.order-form .contact-purpose { margin: 0; }
.order-form .choice-group { display: block; width: 100%; box-sizing: border-box; }
.order-total { margin-top: 20px; padding-bottom: 4px; }
.payment-dialog { max-height: calc(100dvh - 36px); overflow-y: auto; overscroll-behavior-y: contain; }
@media (max-width: 820px) {
  .order-panel { max-height: calc(100dvh - 88px); padding-bottom: max(22px, env(safe-area-inset-bottom)); }
}

#pixPayerFields{display:grid;gap:10px;margin:18px 0}#pixPayerFields[hidden]{display:none}#pixPayerFields input{width:100%;box-sizing:border-box;padding:12px;font-size:16px;border:1px solid #a8c9df;border-radius:8px}#pixPayerFields p{font-size:14px}
#pixCheckoutCodes{display:grid;gap:12px}#pixCheckoutCodes[hidden]{display:none}#pixCheckoutQr{max-width:100%;height:auto;justify-self:center;background:white}#pixCheckoutCode{width:100%;box-sizing:border-box;font-size:14px;padding:10px;resize:vertical;overflow-wrap:anywhere}.pix-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.pix-actions button,.pix-actions a,#resumeOrderPix{padding:12px 16px;font-size:16px;border-radius:8px}#pixCheckoutFeedback{overflow-wrap:anywhere}
#noticePanel form{display:grid;gap:10px;margin:20px 0}#noticePanel input,#noticePanel textarea{box-sizing:border-box;width:100%;font-size:16px;padding:12px;border:1px solid #a8c9df;border-radius:8px}#noticePanel label{font-size:16px}#noticePanel h4{margin-top:28px}#noticeJobs{margin:18px 0}#noticeJobs td{overflow-wrap:anywhere}

/* Dedicated administrator entry; storefront remains unchanged. */
body.technical-access>header,body.technical-access>main,body.technical-access>footer,body.technical-access>.mobile-order-bar{display:none!important}
body.technical-access #adminPanel{margin:32px auto;max-width:1440px}
body.technical-access #adminLogin{max-width:480px}
body.technical-access #adminPanel>h2{font-size:clamp(24px,4vw,32px)}
@media(max-width:600px){body.technical-access #adminPanel{margin:16px 12px;padding:20px}}

.header-contact{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}
.header-share{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border-radius:10px;background:#1faa59;color:#fff;text-decoration:none;font-size:14px;font-weight:700;line-height:1.3}
.header-share:hover{background:#168247}.header-share:focus-visible{outline:3px solid white;outline-offset:3px}
@media(max-width:820px){.topbar .header-contact{grid-column:2;grid-row:1;justify-self:end;align-items:flex-end}.header-share{padding:8px 10px}}

.footer-reviews{min-height:44px;padding:8px 16px;border:1px solid #ffffffb3;border-radius:10px;background:#fff;color:#07558a;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.footer-reviews:hover{background:#e4f6ff}.footer-reviews:focus-visible{outline:3px solid white;outline-offset:3px}
.store-reviews-dialog{width:min(680px,calc(100% - 24px));max-height:85dvh;padding:24px;border:0;border-radius:18px;color:#123b57;background:#f5fbff;overflow:auto;box-shadow:0 20px 70px #062d4c55}.store-reviews-dialog::backdrop{background:#092f4d99}.store-reviews-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.store-reviews-heading h2{font-family:Fraunces,serif;font-size:clamp(24px,4vw,30px);margin:0}.store-reviews-heading button{min-width:44px;min-height:44px;background:white;border:1px solid #bdd7e8;border-radius:10px;font-size:24px;color:#07558a}.store-review{padding:20px 0;border-bottom:1px solid #c5dcea}.store-review h3{font-family:'DM Sans',sans-serif;font-size:18px;margin:0 0 6px}.store-review .review-rating{color:#07558a;font-size:18px;margin:6px 0}.store-review .review-comment{font-size:16px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.store-review time{font-size:14px;color:#466982}.store-review-pages{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:20px}.store-review-pages button{min-height:44px;padding:8px 14px;border:1px solid #abc8da;border-radius:8px;background:white;color:#07558a;font:inherit}.store-reviews-dialog #storeReviewSummary{font-size:16px;line-height:1.5;margin:16px 0}

.review-invite-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:32px;row-gap:18px}
.review-invite-card>strong{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.review-invite-card>[data-review-invite]{justify-self:end;margin:0;white-space:nowrap;min-height:44px}
.review-invite-card>.invite-result{grid-column:1/-1;min-width:0}
.review-invite-card>.invite-result:empty{display:none}
@media(max-width:600px){.review-invite-card{grid-template-columns:minmax(0,1fr);gap:16px}.review-invite-card>[data-review-invite]{justify-self:start;white-space:normal}}

.footer-access .footer-reviews{align-self:center;background:white;color:#07558a;border:1px solid #c5dcea;padding:12px 20px;min-height:44px}.footer-access .footer-reviews:focus-visible{outline:3px solid white;outline-offset:4px}

.header-contact{flex-direction:row;align-items:center;gap:18px}
.topbar .header-phone{font-size:clamp(22px,2.3vw,30px);font-weight:800;letter-spacing:.02em;white-space:nowrap}
.public-reviews{padding:28px clamp(18px,4vw,56px);margin:12px auto 36px}.public-reviews>h2{font-size:clamp(24px,3vw,32px);margin-bottom:10px}.public-reviews .store-review{padding:22px;border:1px solid #c5dcea;border-radius:14px;background:#fff}.public-reviews #storeReviewSummary{font-size:16px;line-height:1.5;margin-bottom:22px}
body.technical-access>#publicReviews{display:none}
@media(max-width:820px){.topbar .header-contact{grid-column:1/-1;grid-row:2;justify-self:center;align-items:center;gap:12px}.topbar .cart-shortcut{grid-row:1}.topbar .header-phone{font-size:22px}.header-share{font-size:14px;padding:8px 10px}}
@media(max-width:360px){.topbar .header-contact{gap:8px}.topbar .header-phone{font-size:20px}.header-share{padding:8px;font-size:13px}}

/* Shopping navigation and technical controls */
.shop-quick-menu,.shop-needs,.technical-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.shop-quick-menu button,.shop-needs button,.product-details-button,.technical-shortcuts button{min-height:44px;padding:10px 14px;border:1px solid #9cbed2;border-radius:10px;background:#fff;color:#07558a;font:inherit;font-size:14px;font-weight:600}.shop-needs button[aria-pressed=true]{background:#07558a;color:#fff}.shop-needs-heading{font-size:20px;margin:24px 0 8px}.product-details-button{width:100%;margin-top:12px}.shop-detail-dialog{width:min(880px,calc(100% - 24px));max-height:88dvh;overflow:auto;border:0;border-radius:18px;padding:24px;color:#123b57;background:#fff;box-shadow:0 20px 80px #062d4c66}.shop-detail-dialog::backdrop{background:#092f4d99}.shop-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.shop-dialog-heading h2{font-size:clamp(22px,4vw,30px);margin:0}.shop-dialog-heading button{min-width:44px;min-height:44px;border:1px solid #abc8da;border-radius:10px;background:#fff;color:#07558a;font-size:24px}.shop-product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:24px}.shop-product-detail>div:first-child{height:360px;position:relative}.shop-product-detail img,.shop-product-detail svg{width:100%;height:100%;object-fit:contain}.shop-product-detail h3{font-size:18px;margin:20px 0 8px}.shop-product-detail p{font-size:16px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.detail-price{font-size:28px!important;font-weight:700;color:#07558a}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.detail-actions button,.detail-actions a,.shop-detail-dialog>#shopDialogBody>button{min-height:44px;padding:12px 16px;border:0;border-radius:10px;background:#168247;color:#fff;font:inherit;text-decoration:none}.shop-detail-dialog label,.technical-form label{display:flex;flex-direction:column;gap:8px;margin:14px 0}.shop-detail-dialog input,.technical-form input,.technical-form select,.technical-form textarea{width:100%;font:inherit;padding:11px;border:1px solid #abc8da;border-radius:8px}.technical-form{background:#f5fbff;border:1px solid #c5dcea;border-radius:14px;padding:20px;max-width:900px;margin:20px 0}.technical-form button,.technical-order button{min-height:44px;padding:12px 16px;background:#07558a;color:#fff;border:0;border-radius:10px;font:inherit}.technical-form .technical-checkbox{flex-direction:row;align-items:center}.technical-form input[type=checkbox]{width:auto}.technical-order{margin:16px 0;padding:20px;border:1px solid #c5dcea;border-radius:14px;background:#fff}.technical-order form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.technical-order select{min-height:44px;font:inherit;max-width:100%}.technical-order .form-result{width:100%;margin:0}.technical-chart>div{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(110px,auto);gap:12px;align-items:center;margin:12px 0;font-size:14px}.technical-chart meter{width:100%;height:28px}.technical-actions{padding:18px;border-radius:14px;background:#e8f6ff;margin-bottom:24px}.checkout-steps{font-size:14px;line-height:1.5;white-space:normal}.customer-order-link{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid #91c5ac;border-radius:14px;background:#eefaf3;margin:16px 0}.customer-order-link a{font-size:16px;font-weight:700;color:#086344}.customer-order-link small{font-size:14px}.order-timeline{display:flex;gap:10px;flex-wrap:wrap;padding-left:20px}.order-timeline li{font-size:14px;color:#466982}.order-timeline li[aria-current]{font-weight:700;color:#08704a}
@media(max-width:600px){.shop-product-detail{grid-template-columns:minmax(0,1fr)}.shop-product-detail>div:first-child{height:260px}.shop-detail-dialog{padding:18px}.technical-form{padding:16px}.technical-chart>div{grid-template-columns:60px minmax(0,1fr);gap:8px}.technical-chart strong{grid-column:2}.shop-needs{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.shop-needs button{flex-shrink:0}.technical-shortcuts button{width:100%}}

.shop-about-title{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.shop-about-title img{width:64px;height:64px;object-fit:contain}.shop-about-copy{max-width:650px}.shop-about-copy p{font-size:1rem;line-height:1.7;margin:0 0 20px}.shop-about-copy section{margin-top:24px;padding-top:18px;border-top:1px solid #dde8ed}.shop-about-copy h3{margin:0 0 10px;color:#125372}.shop-about-intro{font-weight:700;color:#125372;font-size:1.15rem!important}

.freight-row{align-items:center;gap:12px}.freight-row button{font:inherit;padding:8px 14px;border:1px solid #b9d3df;border-radius:8px;color:#125372;background:#eef6fa;cursor:pointer;min-height:44px}.freight-row strong{text-align:right;overflow-wrap:anywhere}

/* Etapas do acompanhamento: uma frase por linha, com numeração reservada. */
.order-timeline{display:block;margin:22px 0;padding:0 0 0 28px;list-style:decimal outside}
.order-timeline li{display:list-item;padding:9px 0 9px 8px;line-height:1.5;font-size:1rem;white-space:normal;overflow-wrap:anywhere}
.order-timeline li+li{border-top:1px solid #e2ebf0}
.order-timeline li::marker{font-weight:600}

.summary-actions{width:100%;margin:18px 0 0}.summary-actions .whatsapp{width:100%;font-size:1rem;line-height:1.4}.summary-actions #actionFeedback:empty{display:none}.summary-actions #actionFeedback{margin:0;overflow-wrap:anywhere}

.header-share{gap:8px}.header-whatsapp-icon{display:block;flex:0 0 22px;width:22px;height:22px}

.checkout-hint{background:#fff4db;color:#6b4000;border-left:4px solid #d88a00;padding:12px;border-radius:8px;font-size:1rem;line-height:1.5;margin:8px 0 14px}[data-checkout-invalid]{outline:2px solid #d88a00;outline-offset:3px}

.abandoned-contact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.abandoned-contact-row>strong{min-width:0;overflow-wrap:anywhere}.abandoned-contact-row>.management-action{margin:0;justify-self:end;text-align:center}
@media(max-width:540px){.abandoned-contact-row{grid-template-columns:minmax(0,1fr);gap:12px}.abandoned-contact-row>.management-action{justify-self:stretch}}

/* Readable product names and aligned controls across management reports. */
.management-table-wrap table{width:max-content;min-width:100%;table-layout:auto}
.management-table-wrap td{min-width:100px;overflow-wrap:normal;word-break:normal}
.management-table-wrap td.management-product-cell{min-width:260px;max-width:360px;white-space:normal}
.report-table td{min-width:100px;overflow-wrap:normal;word-break:normal}
.report-table td:first-child{min-width:220px}
.technical-form input,.technical-form select,.technical-form textarea{box-sizing:border-box;width:100%;min-width:0}
.technical-checkbox input{width:auto;flex-shrink:0}
.header-contact{flex-wrap:wrap;justify-content:center}
.header-instagram{color:#262626;background:#fff;border:1px solid #dbdbdb;font-family:Arial,Helvetica,sans-serif;font-weight:400}.header-instagram:hover{background:#f5f5f5;color:#262626}.header-instagram:focus-visible{outline-color:#833ab4}
.header-instagram[hidden]{display:none!important}
@media(max-width:600px){.management-header{flex-wrap:wrap}.management-toolbar label{width:100%;min-width:0}.technical-chart>div{flex-wrap:wrap}}
@media print{.management-table-wrap table{width:100%;min-width:0}.management-table-wrap td,.management-table-wrap td.management-product-cell{min-width:0;max-width:none;overflow-wrap:anywhere}}

.component-guide{margin-top:20px;padding:18px;border:1px solid #c5dcea;border-radius:12px}.component-guide h3{margin-top:0}.component-guide h4{margin:16px 0 6px}.stock-alert-banner{padding:14px;border:1px solid #dfb06a;background:#fff5dd;border-radius:10px;margin:14px 0;color:#694500}.stock-alert-banner button{margin:8px 0 0}.stock-alert-banner[hidden]{display:none}

.header-instagram-icon{flex-shrink:0;vertical-align:middle}

.product-page-link{display:block;margin:10px 0;color:#075b9d;font-size:14px}.site-footer .business-contact{flex-basis:100%;max-width:850px;padding:20px;border-top:1px solid #ffffff55;overflow-wrap:anywhere}.site-footer .business-contact h2{font-size:20px;color:white}.site-footer .business-contact a{color:white;text-underline-offset:3px}.site-footer .business-contact p{line-height:1.6}

.freight-highlight{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;background:#e1f6ed;color:#075d40;text-align:center}.freight-highlight strong{font-size:20px}.freight-highlight span{font-size:14px}@media(max-width:820px){.topbar .header-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%}.header-contact .header-instagram{grid-column:1;grid-row:2}.header-contact .header-share:not(.header-instagram){grid-column:2;grid-row:2}.topbar .header-contact .header-phone{grid-column:1/-1;grid-row:1;justify-self:center}.header-contact .header-share{justify-content:center;min-width:0;text-align:center;font-size:13px}.freight-highlight{gap:6px}.freight-highlight span{width:100%}}

.product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.product-gallery figure{margin:0;background:#fff;border:1px solid #dce8ed;border-radius:12px;padding:8px}.product-gallery img{width:100%;height:200px;object-fit:contain}.product-gallery figcaption{font-size:12px;color:#466473;margin-top:8px}

/* Persistent, non-blocking action feedback for the store and technical area. */
.action-notice{position:fixed;z-index:2147483000;top:16px;right:16px;width:min(440px,calc(100vw - 32px));box-sizing:border-box;background:#fff;border:2px solid #087a91;border-radius:12px;box-shadow:0 8px 30px #16374330;color:#173b47;display:flex;align-items:flex-start;gap:12px;padding:15px 16px;max-height:35vh;overflow:auto}
.action-notice[hidden]{display:none}.action-notice p{margin:0;flex:1;font-size:15px;line-height:1.45;overflow-wrap:anywhere}.action-notice button{flex:0 0 30px;padding:0;border:0;background:transparent;color:#173b47;font-size:24px;cursor:pointer}.action-notice button:focus-visible{outline:2px solid #087a91;outline-offset:3px}
@media(max-width:600px){.action-notice{top:10px;right:10px;width:calc(100vw - 20px);padding:12px;max-height:28vh}}
@media print{.action-notice{display:none!important}}

/* Emphasis for confirmation and save feedback; no changes to operation behavior. */
.action-notice-content{flex:1;min-width:0}.action-notice-heading{display:block;margin:0 0 6px;font-size:17px;line-height:1.3}.action-notice-heading[hidden]{display:none}.action-notice-important{border-left-width:8px;background:#effaff}.action-notice-important p{font-size:17px;font-weight:600;line-height:1.5}
#finalOrderTitle{padding:12px 16px;border-left:6px solid #087a91;background:#effaff;border-radius:8px;color:#123b57}
#couponFeedback:not(:empty),#paymentDialogFeedback:not(:empty),#fulfillmentFeedback:not(:empty),#actionFeedback:not(:empty),#adminActionFeedback:not(:empty),.form-result:not(:empty){padding:12px 14px;border-left:5px solid #087a91;background:#effaff;border-radius:8px;font-size:16px;font-weight:650;line-height:1.5;color:#173b47}
.order-success{border:2px solid #087a91;border-left-width:7px}.order-success>strong,.order-success>h3{font-size:1.2rem}.order-success p{line-height:1.5}

/* Confirmation appears only after the server confirms the Mercado Pago payment. */
.purchase-success-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;border:0;border-radius:22px;padding:32px 24px;text-align:center;color:#123b57;box-shadow:0 24px 80px #082c4b45;background:#fff}
.purchase-success-dialog::backdrop{background:#082c4bb3}
.purchase-success-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#d9f8e7;color:#087843;font-size:46px;font-weight:700}
.purchase-success-dialog h2{font-size:26px;margin:0 0 12px}.purchase-success-dialog p{line-height:1.6;overflow-wrap:anywhere}
.purchase-success-button{display:block;width:100%;min-height:76px;margin-top:24px;padding:20px 16px;background:#087843;color:#fff;border:0;border-radius:14px;font:700 21px/1.4 'DM Sans',sans-serif;cursor:pointer;white-space:normal;box-shadow:0 6px 18px #08784335}
.purchase-success-button:hover{background:#056333}.purchase-success-button:focus-visible{outline:3px solid #123b57;outline-offset:4px}.purchase-success-thanks{font-size:14px;color:#466473;margin:18px 0 0}
@media(max-width:480px){.purchase-success-dialog{padding:24px 18px}.purchase-success-button{font-size:19px}.purchase-success-dialog h2{font-size:23px}}
@media print{.purchase-success-dialog{display:none!important}}

.purchase-whatsapp-button{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;min-height:94px;font-size:23px;box-sizing:border-box}.purchase-whatsapp-button svg{flex:0 0 30px}.purchase-whatsapp-button span{min-width:0}.purchase-whatsapp-help{margin:16px 0;color:#234b59;font-size:15px}.purchase-success-close{padding:12px 18px;border:1px solid #c7dbe3;border-radius:10px;background:#fff;color:#234b59;font:600 15px 'DM Sans',sans-serif;cursor:pointer}.purchase-success-close:focus-visible{outline:3px solid #087843;outline-offset:3px}
.receive-whatsapp-button,#pixOrderWhatsapp{display:flex;align-items:center;justify-content:center;min-height:76px;width:100%;box-sizing:border-box;padding:18px;background:#087843;color:#fff;border-radius:14px;text-align:center;font-size:21px;font-weight:700;line-height:1.4;text-decoration:none;white-space:normal}.receive-whatsapp-button:hover,#pixOrderWhatsapp:hover{background:#056333}
@media(max-width:480px){.purchase-whatsapp-button{font-size:21px;min-height:94px;padding:20px 14px}.receive-whatsapp-button,#pixOrderWhatsapp{font-size:20px}}

/* October promotion artwork stays fully visible on its five product cards. */
.product-card .product-image.has-promotion-image{height:auto!important;min-height:0!important;aspect-ratio:4/5;padding:0!important;display:grid;place-items:center;}
.product-card .product-image.has-promotion-image>img{position:static!important;inset:auto!important;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important;}

/* Technical menu highlights and delivery identity. */
#managementMenus button{font-weight:700;transition:background-color .15s,color .15s,box-shadow .15s}#managementMenus button:hover,#managementMenus button:focus-visible,#managementMenus button.active{background:#075b9d;color:#fff;border-color:#075b9d;box-shadow:0 3px 10px #075b9d30}#managementMenus button:focus-visible{outline:2px solid #075b9d;outline-offset:2px}.freight-highlight strong{display:inline-flex;align-items:center;justify-content:center;gap:10px}.delivery-truck{flex-shrink:0;vertical-align:middle}

/* Clear hierarchy for the technical sidebar. */
#managementMenus .management-menu-group{margin:0 0 24px;padding:0 6px 10px;background:#fff;border:1px solid #bfd4e3;border-radius:10px;overflow:hidden}
#managementMenus .management-menu-group>strong{display:block;margin:0 -6px 10px;padding:13px 12px;background:#075b9d;color:#fff;font-size:17px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
#managementMenus .management-menu-group button{font-size:15px;line-height:1.4;min-height:46px;padding:10px 12px;white-space:normal;overflow-wrap:anywhere}
#managementMenus .management-menu-group:has(button.active){border-color:#075b9d;box-shadow:0 0 0 2px #075b9d24}
#managementMenus .management-menu-group button.active{border-left:5px solid #98d52b;background:#075b9d;color:#fff;font-weight:800}

/* Compact temporary messages, away from window close controls. */
.action-notice{top:auto;right:auto;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(320px,calc(100vw - 32px));padding:10px 12px;gap:8px;border-radius:10px;max-height:30dvh}
.action-notice p,.action-notice-important p{font-size:14px;line-height:1.4}
.action-notice-heading{font-size:14px;margin-bottom:4px}
.action-notice-important{border-left-width:4px}
.action-notice button{flex-basis:26px;min-width:26px;min-height:26px;font-size:22px}
@media(max-width:600px){.action-notice{top:auto;right:auto;bottom:max(16px,env(safe-area-inset-bottom));width:min(300px,calc(100vw - 32px));padding:10px 12px;max-height:30dvh}}

/* Space around the executive panel and lighter menu hover. */
#managementMenus .management-menu-group>strong{margin-bottom:18px}
#managementMenus .management-menu-group button[data-management-menu="panel"]{margin-top:16px}
#managementMenus .management-menu-group button:hover,#managementMenus .management-menu-group button:focus-visible{background:#1675b8;color:#fff;border-color:#1675b8;box-shadow:0 3px 10px #1675b830}

/* Executive panel highlights only on pointer hover or keyboard focus. */
#managementMenus .management-menu-group button[data-management-menu="panel"].active{background:transparent;color:#123b57;border-color:transparent;border-left-width:1px;box-shadow:none;font-weight:700}
#managementMenus .management-menu-group button[data-management-menu="panel"]:hover,#managementMenus .management-menu-group button[data-management-menu="panel"]:focus-visible{background:#1675b8;color:#fff;border-color:#1675b8;border-left-width:1px;box-shadow:0 3px 10px #1675b830}

.promotion-discount-row { color: #17643b; gap: .75rem; align-items: center; }
.promotion-discount-row input { width: 8rem; min-width: 0; text-align: right; border: 1px solid #b9dfc7; background: #eff9f2; color: #17643b; font: inherit; font-weight: 700; padding: .4rem; border-radius: .4rem; }
.promotion-discount-note { color: #17643b; font-size: .85rem; }
.promotion-discount-row[hidden], .promotion-discount-note[hidden] { display: none; }

.order-item .promotion-discount-note { grid-column: 1; color: #17643b; }
.order-item strong, .order-item > span { grid-column: 1; }
.order-item b { grid-column: 2; grid-row: 1 / span 3; }

.order-item-quantity { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; gap: .5rem; margin-top: .35rem; }
.order-item-quantity button { width: 44px; height: 44px; border: 1px solid #bdd4c6; border-radius: 10px; background: var(--mint); color: var(--forest); font-size: 22px; font-weight: 700; cursor: pointer; }
.order-item-quantity button:disabled { opacity: .45; cursor: default; }
.order-item-quantity button:focus-visible { outline: 3px solid #078cc7; outline-offset: 2px; }
.order-item-quantity span { min-width: 2rem; text-align: center; font-weight: 700; color: var(--forest); }

/* Compact storefront: buying controls and product photos come first. */
.brand-banner, .brand-banner img { height: 68px; max-height: 68px; }
.topbar { min-height: 70px; padding: 8px clamp(16px,3vw,40px); justify-content: space-between; flex-wrap: nowrap; gap: 16px; }
.topbar .brand-name { flex-direction: column; align-items: flex-start; gap: 4px; }
.topbar .brand strong { font-size: 18px; }
.topbar .brand small { font-size: 11px; border: 0; padding: 0; }
.topbar .logo-wrap { width: 46px; height: 46px; flex-shrink: 0; }
.topbar .logo-wrap img { width: 40px; height: 42px; }
.topbar .header-contact { display: flex; flex-direction: row; gap: 10px; min-width: 0; }
.topbar .header-phone { font-size: 20px; }
.topbar .cart-shortcut { display: flex; position: static; flex-shrink: 0; }
.freight-highlight { padding: 8px 16px; gap: 8px 14px; }
.freight-highlight strong { font-size: 16px; display: flex; align-items: center; gap: 8px; }
.freight-highlight .delivery-truck { width: 26px; height: 20px; }
.layout { padding-top: 18px; gap: 24px; grid-template-columns: minmax(0,1fr) 360px; }
.layout.is-order-empty:not(.is-order-open) { grid-template-columns: minmax(0,1fr); }
.layout.is-order-empty:not(.is-order-open) > .order-panel { display: none; }
.intro { max-width: none; }
.intro h1 { font-size: clamp(28px,3vw,36px); line-height: 1.15; }
.intro .store-intro-copy { margin: 6px 0; font-size: 15px; }
.intro .catalog-notice { margin: 6px 0 10px; font-size: 12px; line-height: 1.4; }
.catalog-more { margin: 0 0 10px; }
.catalog-more > summary { color: var(--forest); cursor: pointer; padding: 5px 0; font-size: 13px; }
.catalog-more .shop-quick-menu, .catalog-more .shop-needs { margin: 10px 0; }
.catalog-more .shop-needs-heading { margin: 14px 0 6px; }
.results-line { margin: 10px 0; }
.product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.is-order-empty:not(.is-order-open) .product-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.order-panel { top: 90px; }
.kit-entry-savings { margin: 0 0 10px; padding: 8px 10px; border-radius: 8px; background: #edf8ef; color: #17643b; font-size: 13px; line-height: 1.4; font-weight: 700; }
@media (min-width: 821px) and (max-width: 1120px) {
  .topbar .header-phone { font-size: 17px; }
  .topbar .header-share { font-size: 12px; padding: 8px; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .brand-banner, .brand-banner img { height: 50px; max-height: 50px; }
  .topbar { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 8px 12px; gap: 8px; min-height: 0; }
  .topbar .brand { grid-column: 1; grid-row: 1; }
  .topbar .brand strong { font-size: 16px; }
  .topbar .brand small { font-size: 10px; }
  .topbar .cart-shortcut { grid-column: 2; grid-row: 1; padding: 7px 8px; font-size: 13px; }
  .topbar .header-contact { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); width: 100%; gap: 6px 10px; }
  .topbar .header-contact .header-phone { grid-column: 1 / -1; grid-row: 1; font-size: 17px; line-height: 1.2; justify-self: center; }
  .topbar .header-contact .header-share { min-height: 36px; padding: 6px 8px; font-size: 12px; gap: 6px; }
  .freight-highlight { padding: 7px 12px; gap: 3px; }
  .freight-highlight strong { font-size: 14px; }
  .freight-highlight span { font-size: 12px; }
  .layout { display: block; padding: 14px 12px 35px; }
  .intro h1 { font-size: 27px; }
  .intro .store-intro-copy { font-size: 13px; }
  .search { height: 42px; min-width: 0; width: 100%; }
  .tools { gap: 8px; }
  .filters { gap: 6px; }
  .filters button { min-height: 38px; height: 38px; font-size: 12px; padding: 0 12px; }
  .product-grid, .is-order-empty:not(.is-order-open) .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .order-panel { top: auto; }
}
@media (max-width: 360px) {
  .topbar .brand strong { font-size: 14px; }
  .topbar .logo-wrap { width: 38px; height: 40px; }
  .topbar .logo-wrap img { width: 34px; height: 36px; }
  .topbar .header-contact .header-share { font-size: 11px; }
}

.catalog .price-row { flex-wrap: wrap; gap: 8px; }

.order-panel .close-panel { display: block; flex-shrink: 0; }

.product-add-button { width: 100%; min-height: 44px; margin-top: 12px; padding: 10px 12px; border: 0; border-radius: 10px; background: #168247; color: white; font: inherit; font-size: 14px; font-weight: 700; }
.product-add-button:hover:not(:disabled) { background: #116b39; }
.product-add-button:disabled { background: #e5ebef; color: #667986; cursor: default; }
.product-add-button:focus-visible { outline: 3px solid #078cc7; outline-offset: 3px; }
.product-details-button { margin-top: 8px; background: transparent; border-color: #c5dcea; }
.topbar .cart-shortcut.has-items { background: #168247; color: white; border-color: #7ed9a4; box-shadow: 0 3px 12px #002c3933; font-weight: 700; }
.is-order-empty .order-panel { padding: 16px; }
.is-order-empty .order-brand-logo { display: none; }
.is-order-empty .order-heading { margin-bottom: 8px; }
.is-order-empty .order-title-block { text-align: left; }
.is-order-empty .order-title-block h2 { font-size: 22px; }
.is-order-empty .order-empty { min-height: 0; padding: 12px 0; }
.is-order-empty .order-empty > span { display: none; }
.is-order-empty .order-empty strong { margin-top: 0; font-size: 15px; }
.is-order-empty .order-empty p { margin: 6px 0 0; font-size: 13px; }
@media(max-width:360px) { .topbar .cart-shortcut.has-items { font-size: 11px; gap: 5px; padding: 7px 6px; } }

/* Keep the assistant beside sharing, outside the collapsed filters. */
.header-contact #cleanAssistantEntry { flex-shrink: 0; }
.header-contact .clean-launcher { margin: 0; min-height: 54px; gap: 8px; padding: 8px 12px; border: 1px solid #78c8eb; border-radius: 12px; }
.header-contact .clean-launcher img { width: 32px; height: 38px; }
.header-contact .clean-launcher strong { font-size: 14px; }
.header-contact .clean-launcher small { font-size: 12px; margin-top: 3px; }
@media(max-width:820px) {
 .topbar .header-contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; gap: 10px; }
 .topbar .header-contact .header-phone { grid-column: 2; grid-row: 1; justify-self: end; font-size: clamp(17px,4.5vw,22px); }
 .header-contact > .header-share:not(.header-instagram) { grid-column: 1; grid-row: 2; align-self: stretch; }
 .header-contact #cleanAssistantEntry { grid-column: 2; grid-row: 2; min-width: 0; }
 .header-contact .clean-launcher { width: 100%; height: 100%; box-sizing: border-box; padding: 7px; gap: 6px; }
 .header-contact .clean-launcher strong { font-size: 12px; }
 .header-contact .clean-launcher small { font-size: 11px; }
 .header-contact .clean-launcher img { width: 26px; height: 32px; }
}

/* A visible disclosure control at the end of the filter label. */
.catalog-more > summary { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; max-width: 100%; list-style: none; font-size: 14px; }
.catalog-more > summary::-webkit-details-marker { display: none; }
.catalog-more > summary::marker { content: ''; }
.catalog-more > summary > span:first-child { min-width: 0; }
.catalog-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid #89b8d2; border-radius: 10px; background: #fff; color: #07558a; }
.catalog-toggle svg { transition: transform .18s ease; }
.catalog-more[open] > summary .catalog-toggle svg { transform: rotate(180deg); }
.catalog-more > summary:hover .catalog-toggle { background: #e4f3fc; border-color: #07558a; }
.catalog-more > summary:focus-visible { outline: 3px solid #087a91; outline-offset: 3px; border-radius: 10px; }
@media(prefers-reduced-motion:reduce) { .catalog-toggle svg { transition: none; } }
/* Endereço automático pelo CEP. */
#deliveryForm input{box-sizing:border-box;font-size:16px}
#deliveryForm input[readonly]{background:#f0f5f8;color:#31516a}
#shippingPreview{padding:12px;background:#eef7fb;border-radius:10px;overflow-wrap:anywhere}
#shippingPreview a{color:#07558a;font-weight:700}
/* Telas de pedido e endereço ajustadas à largura e altura disponíveis. */
.payment-overlay{box-sizing:border-box}
.payment-dialog{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:hidden}
.payment-dialog form,.payment-dialog label{min-width:0}
.payment-dialog input,.payment-dialog select,.payment-dialog textarea{box-sizing:border-box;max-width:100%;min-width:0}
.product-card{min-width:0;touch-action:manipulation}
.product-card .product-image,.product-card h3{cursor:pointer}
.product-card button,.freight-row button,.choice-options label{touch-action:manipulation}
@media(max-width:820px){
 .payment-overlay:not([hidden]){padding:12px}
 .payment-dialog{width:min(100%,480px);max-height:calc(100dvh - 24px);padding:24px 18px}
 .payment-dialog h2{font-size:22px;overflow-wrap:anywhere}
 .order-panel{box-sizing:border-box;width:100%;max-width:100%;max-height:92dvh;overflow-x:hidden}
 .order-panel .order-item,.order-panel .order-form,.order-panel .order-total{min-width:0}
 .order-item strong,.order-item span,.freight-row strong{overflow-wrap:anywhere}
 .freight-row{flex-wrap:wrap}
 .freight-row strong{flex:1 1 150px}
 .shop-detail-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);padding:20px 16px}
}
@media(hover:none),(pointer:coarse){.product-card:hover{transform:none}}
