/* Shared components: catalogue cards, product page, image viewer, payment panel, forms. */

/* ---------------------------------------------------------------- breadcrumb */
.dz-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:26px}
.dz-crumb-tail{display:inline-flex;gap:10px}
.dz-breadcrumb a{color:var(--muted);text-decoration:none}
.dz-breadcrumb a:hover{color:var(--ink)}

/* ---------------------------------------------------------------- product page */
/* Wide screen: picture on the left at 55%, buying information on the right at 45%, both
   starting at the same top edge. The markup order is name → picture → price, which is the
   phone reading order; the grid places the same blocks into two columns from 781px up. */
.dz-product{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);column-gap:54px;row-gap:18px;align-items:start;align-content:start}
.dz-summary-head{grid-column:2;grid-row:1;min-width:0}
.dz-gallery{grid-column:1;grid-row:1 / span 2;min-width:0}
.dz-summary{grid-column:2;grid-row:2;min-width:0}
/* Both columns may hold a horizontally scrolling strip; without min-width:0 the grid track
   grows to the strip's intrinsic width and pushes the page wider than the viewport. */
.dz-thumbnails{max-width:100%}

/* A picture frame with a definite shape, holding the whole product inside it. The frame has
   exactly one child (the zoom button), so the picture can never push it taller than its height.
   Nothing is cropped or stretched and there is no grey box around the product. */
.dz-visual{position:relative;background:var(--canvas);border-radius:var(--radius-img);height:var(--visual-h);display:grid;grid-template-rows:minmax(0,1fr);place-items:center;padding:var(--s3)}
.dz-visual-zoom{display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;width:100%;height:100%;max-width:none;padding:0;border:0;background:none;cursor:zoom-in;position:relative}
.dz-visual-zoom:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:8px}
.dz-visual img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;margin:0 auto;border-radius:10px}
.dz-visual-hint{position:absolute;right:6px;bottom:6px;font-size:12px;font-weight:600;color:#31443f;background:#ffffffd9;border-radius:100px;padding:4px 10px;opacity:0;transition:opacity .15s}
.dz-visual-zoom:hover .dz-visual-hint,.dz-visual-zoom:focus-visible .dz-visual-hint{opacity:1}
/* The caption of the photo that is on screen. It stays visible while the shopper changes photo,
   so a picture that is only a structural reference can never pass for the product itself. */
.dz-view-label{margin:var(--s1) 0 0;font-size:11px;line-height:1.4;color:var(--muted)}
.dz-view-label.is-empty{display:none}

/* Small, horizontally scrollable thumbs. The label lives in the accessible name and in the
   "day to day" module below, not printed over a 56px picture. */
.dz-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:10px 2px 4px;scrollbar-width:thin}
.dz-thumbnail{position:relative;width:54px;height:54px;flex-shrink:0;padding:0;overflow:hidden;border:1px solid transparent;border-radius:9px;background:#f6f7f3;cursor:pointer;opacity:.85}
.dz-thumbnail:hover{opacity:1}
.dz-thumbnail[aria-pressed=true]{border-color:var(--green);opacity:1}
.dz-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
/* Every control that can be reached by keyboard keeps a visible ring. */
.dz-thumbnail:focus-visible,.dz-primary:focus-visible,.dz-secondary:focus-visible,.dz-help:focus-visible,.dz-lightbox-close:focus-visible,.dz-lightbox-nav:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.dz-lightbox-close:focus-visible,.dz-lightbox-nav:focus-visible{outline-color:#fff}

.dz-summary{padding-top:2px;scroll-margin-top:20px}
.dz-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--green);margin:0 0 var(--s1);text-transform:uppercase}
.dz-summary-head h1,.dz-summary h1{font-size:34px;font-weight:var(--w-title);line-height:1.15;letter-spacing:-1.05px;margin:0 0 var(--s2);max-width:24ch}
.dz-headline{font-size:16px;line-height:1.6;color:var(--muted);margin:0;max-width:52ch}
.dz-lead{font-size:16px;color:var(--ink);margin:0 0 var(--s3)}
.dz-benefits{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:9px;font-size:14px;line-height:1.55}
.dz-benefits li{display:flex;align-items:baseline;gap:10px}
.dz-benefits span{color:var(--green);font-weight:var(--w-label)}

.dz-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:34px;font-weight:var(--w-title);letter-spacing:-1px;line-height:1.25;margin:0 0 4px}
/* O R$ fica um degrau abaixo do número, como pede a direção. */
.dz-price .woocommerce-Price-currencySymbol{font-size:.62em;font-weight:var(--w-label);letter-spacing:0;margin-right:3px}
.dz-price-now{font-size:inherit;font-weight:inherit}
.dz-price-was{font-size:15px;font-weight:400;color:var(--muted);letter-spacing:0}
.dz-price-was del{text-decoration:line-through}
.dz-price-save{font-size:13px;font-weight:700;letter-spacing:0;color:#0b4f30;background:#e0f2e4;border:1px solid #b9e0c4;border-radius:100px;padding:3px 11px}
.dz-price-range .woocommerce-Price-amount{font-weight:750}

.dz-purchase-row{display:flex;gap:12px;align-items:flex-end;margin-top:var(--s3)}
.dz-purchase-row label{font-size:12px;font-weight:var(--w-label);color:var(--muted);display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.dz-purchase-row input{width:68px;min-height:52px;border:1px solid #d5dcd5;padding:12px;border-radius:var(--radius-btn);background:#fff;text-align:center;color:var(--ink)}
/* Link colours are handled by the component rules below and by the theme's base link colour.
   The reading-column rule in the theme is scoped with :not(.is-wide), so it no longer reaches a
   button or a label and no declaration here needs !important. */
.dz-primary{border:0;background:var(--green);color:#fff;border-radius:var(--radius-btn);min-height:52px;padding:15px 22px;flex:1;font-size:15px;font-weight:var(--w-title);cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #143d2410}
.dz-primary:hover{background:var(--green-dark);color:#fff}
.dz-primary:disabled{opacity:.7;cursor:progress}
.dz-secondary{border:1px solid #d5dcd5;background:#fff;color:var(--ink);border-radius:8px;min-height:46px;padding:11px 18px;font-size:13px;font-weight:var(--w-label);cursor:pointer}
.dz-secondary:hover{background:var(--canvas)}
.dz-buy-feedback{font-size:12px;line-height:1.5;color:#69716b;margin:10px 0 0}
.dz-buy-note{font-size:12px;line-height:1.5;color:#69716b;margin:10px 0 0}
.dz-consent{display:flex;align-items:flex-start;gap:var(--s1);font-size:13px;color:var(--muted);margin-top:var(--s2)}
.dz-consent input{margin-top:4px}
.dz-unavailable{padding:14px 16px;background:#fdf3e7;border:1px solid #f0d9b8;border-radius:10px;color:#6b4a12;font-size:14px;margin:0 0 var(--s3)}

/* Variation form (WooCommerce template) fitted to the layout. */
.dz-buy-variable .variations{margin:0 0 14px;border:0;width:100%}
.dz-buy-variable .variations th,.dz-buy-variable .variations td{display:block;text-align:left;padding:0;background:none;border:0}
.dz-buy-variable .variations tr{display:block;margin-bottom:12px}
.dz-buy-variable .variations label{font-size:13px;font-weight:600;margin-bottom:6px;display:block}
.dz-buy-variable .variations select{width:100%;max-width:100%;min-height:48px;border:1px solid #b5c3bc;border-radius:9px;padding:11px;background:#fff}
.dz-buy-variable .reset_variations{font-size:12px;color:var(--muted)}
.dz-buy-variable .woocommerce-variation-price{display:none}   /* our own price block shows it */
.dz-buy-variable .woocommerce-variation-availability{font-size:14px;color:#6b4a12;margin:0 0 10px}
.dz-buy-variable .single_add_to_cart_button{width:100%;min-height:54px;font-size:16px;font-weight:700;border-radius:9px;background:var(--green);color:#fff;border:0}
.dz-buy-variable .single_add_to_cart_button:hover{background:#084b34}
.dz-buy-variable .quantity{display:none}   /* quantity stays at 1 for a single-unit purchase */
.dz-buy-variable .woocommerce-variation-add-to-cart{display:block}
.dz-buy-variable .stock{font-size:14px}
.dz-buy-variable .dz-variation-hint{font-size:13px;color:var(--muted);margin:0 0 10px}

/* ---------------------------------------------------------------- delivery estimate */
.dz-ship{margin:24px 0 0;padding:16px;border:1px solid #e8ece5;border-radius:12px;background:#f7f8f5}
.dz-ship-head strong{display:block;font-size:13px;font-weight:var(--w-title)}
.dz-ship-intro{font-size:12px;line-height:1.5;color:var(--muted);margin:4px 0 12px}
.dz-ship-row{display:flex;gap:10px}
.dz-ship-row input{flex:1;min-width:0;min-height:46px;border:1px solid #d5dcd5;border-radius:8px;padding:11px;background:#fff;font-size:16px}
.dz-ship-result{font-size:14px;margin-top:12px}
.dz-ship-result.is-loading{color:var(--muted)}
.dz-ship-result.is-warn{color:#a5471c}
.dz-ship-result.is-ok{color:var(--ink)}
.dz-ship-rates{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dz-ship-rates li{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;background:#fff;border:1px solid #dbe6e1;border-radius:8px}
.dz-ship-label{font-weight:600}
.dz-ship-note{font-size:12px;margin:10px 0 0}
.dz-ship .dz-muted{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 0}

.dz-help-block{margin:20px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}
.dz-help{font-size:13px;font-weight:var(--w-label);color:var(--green);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.dz-help-secondary{font-size:14px;font-weight:600;color:var(--green)}
.dz-help-block .dz-muted{font-size:12px;color:var(--muted);margin:4px 0 0}

/* ---------------------------------------------------------------- section nav */
.dz-section-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-top:44px;overflow-x:auto;white-space:nowrap}
@media(max-width:780px){
/* On a phone the section list wraps instead of scrolling, so no entry is cut in half. */
.dz-section-nav{gap:var(--s2) var(--s4);margin-top:var(--s4);overflow:visible;white-space:normal;flex-wrap:wrap}
.dz-section-nav a{padding:10px 0}
}
.dz-section-nav a{padding:15px 0;color:var(--ink);text-decoration:none;font-size:13px;font-weight:var(--w-label);min-height:44px;display:inline-flex;align-items:center}
.dz-section-nav a:first-child{border-bottom:2px solid var(--green)}

/* ---------------------------------------------------------------- modules */
/* Same 55/45 rhythm as the top of the page, so the two halves read as one column pair. */
.dz-lower-grid{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);column-gap:56px;row-gap:var(--s5);padding:var(--s5) 0 0;align-items:start}
.dz-lower-main,.dz-lower-side{min-width:0}
.dz-module{margin-bottom:var(--s5);scroll-margin-top:24px}
.dz-module h2{font-size:24px;font-weight:var(--w-title);letter-spacing:-.5px;line-height:1.25;margin:0 0 var(--s3)}
.dz-module h3{font-size:16px;font-weight:var(--w-title);margin:var(--s4) 0 10px}
.dz-spec-note{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 var(--s3);padding-left:14px;border-left:3px solid var(--line)}
/* Prose of a module only: an inner component keeps its own size. */
.dz-module > p{font-size:15px;line-height:1.7}
.dz-product-description{font-size:15px;color:var(--muted);line-height:1.7}
.dz-product-description p{margin:0 0 16px}
.dz-scene-strip{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
/* One larger picture for the day-to-day block: it shows the product in use at a size you can
   actually read, instead of a row of small thumbnails with caption bars. */
.dz-scenario{margin:var(--s3) 0 0}
.dz-scenario-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.dz-scenario-open:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:var(--radius-img)}
.dz-scenario img{display:block;width:auto;height:auto;max-width:100%;max-height:440px;margin:0 auto;border-radius:var(--radius-img)}
.dz-scene{position:relative;display:block;width:100%;padding:0;border:1px solid #e4eaed;border-radius:10px;background:#eef2f4;overflow:hidden;cursor:zoom-in;aspect-ratio:1}
.dz-scene img{width:100%;height:100%;object-fit:cover;display:block}
.dz-scene-label{position:absolute;left:0;right:0;bottom:0;font-size:10px;line-height:1.8;font-weight:600;color:#fff;background:#0e211cb3;text-align:center}
.dz-spec-table{margin:0 0 8px}
.dz-spec-table div{display:grid;grid-template-columns:42% 1fr;gap:14px;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}
.dz-spec-table dt{color:var(--muted)}
.dz-spec-table dd{margin:0}
.dz-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.dz-list li{position:relative;padding-left:22px;line-height:1.55}
.dz-list li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.dz-list.is-muted li::before{content:"×";color:#a5471c}
.dz-list.is-muted li{color:var(--muted)}
ol.dz-list{counter-reset:dz}
ol.dz-list li::before{counter-increment:dz;content:counter(dz) ".";color:var(--green);font-weight:700}
.dz-fit,.dz-usage{background:#f7faf9;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:14px}
.dz-fit h3,.dz-usage h3{margin-top:0}
.dz-fit p{margin:0;font-size:15px;color:var(--muted);line-height:1.6}
.dz-faq details{border-bottom:1px solid var(--line);padding:4px 0}
.dz-faq-wide{margin-top:var(--s2);border-top:1px solid var(--line);padding-top:var(--s5)}
.dz-faq summary{font-size:15px;font-weight:600;cursor:pointer;min-height:48px;display:flex;align-items:center;padding-right:26px;position:relative}
.dz-faq summary::after{content:"+";position:absolute;right:4px;font-size:18px;color:var(--muted)}
.dz-faq details[open] summary::after{content:"–"}
.dz-faq details p{font-size:14px;color:var(--muted);margin:0 0 14px;line-height:1.65}

/* ---------------------------------------------------------------- image viewer */
html.dz-lightbox-open{overflow:hidden}
.dz-lightbox{position:fixed;inset:0;z-index:120;background:#0b1512f2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px}
.dz-lightbox[hidden]{display:none}
.dz-lightbox-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:#e8f1ee}
.dz-lightbox-count{margin:0;font-size:13px;letter-spacing:.04em}
.dz-lightbox-label{margin:0;flex:1;min-width:0;font-size:13px;color:#cfe0da;text-align:right;padding-right:12px}
.dz-lightbox-label[hidden]{display:none}
.dz-lightbox-close{background:#ffffff1a;border:1px solid #ffffff40;color:#fff;width:44px;height:44px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}
.dz-lightbox-close:hover{background:#ffffff2e}
.dz-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.dz-lightbox-image{max-width:min(100%,1100px);max-height:calc(100% - 40px);width:auto;height:auto;object-fit:contain;border-radius:10px;background:#fff}
.dz-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid #ffffff40;background:#ffffff1a;color:#fff;font-size:26px;line-height:1;cursor:pointer}
.dz-lightbox-nav:hover{background:#ffffff2e}
.dz-lightbox-nav.is-prev{left:6px}
.dz-lightbox-nav.is-next{right:6px}

/* ---------------------------------------------------------------- catalogue cards */
/* The catalogue keeps its own breakpoints in one place, in order: 4 / 3 / 2 / 1. Nothing about
   the grid is declared again further down the sheet, so no later block can win by accident. */
.dz-grid-section{margin-top:var(--s4);border-top:1px solid var(--line);padding-top:var(--s4)}
/* A listing page starts with its own grid: no divider with nothing above it. */
.dz-page > .dz-grid-section:first-child{margin-top:0;border-top:0;padding-top:0}
/* On the home page the featured grid follows the short introduction directly: no divider and no
   second paragraph of general explanation between them. */
.dz-hero + .dz-grid-section{margin-top:var(--s4);border-top:0;padding-top:0}
.dz-grid-heading{font-size:25px;letter-spacing:-.7px;line-height:1.2;margin:0 0 var(--s1)}
.dz-grid-intro{font-size:14px;color:var(--muted);margin:0 0 var(--s4);max-width:68ch}
/* Four across on a desktop; two from 780px down, which is what 768px and a 390px phone both get. */
.dz-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5) 22px}
.dz-card-item{display:flex;min-width:0}
.dz-card{display:flex;flex-direction:column;width:100%;min-width:0;text-decoration:none;color:inherit;border-radius:var(--radius-img)}
/* White on white: the picture sits on the page instead of inside a heavy grey frame. */
.dz-card-media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:var(--canvas);border-radius:14px;overflow:hidden;margin-bottom:var(--s2)}
.dz-card-media img{width:100%;height:100%;object-fit:contain;display:block}
.dz-card-badge{position:absolute;left:8px;top:8px;font-size:11px;font-weight:700;color:#6b4a12;background:#fdf3e7;border-radius:100px;padding:3px 9px}
.dz-card-badge.is-sale{color:#0b4f30;background:#e0f2e4}
.dz-card-body{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--s2)}
/* Two lines are reserved for the name and two for the purpose, so names, prices and buttons
   line up across a row without cutting a name short to reach a fixed card height. */
.dz-card-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink);font-size:14px;font-weight:var(--w-label);line-height:1.35;min-height:2.7em}
.dz-card-use{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.45;color:var(--muted);min-height:2.9em}
.dz-card-foot{display:flex;flex-direction:column;gap:var(--s2);margin-top:auto}
.dz-card .dz-price{font-size:20px;line-height:1.25;letter-spacing:-.4px;margin:0;gap:2px 8px}
.dz-card .dz-price-was{font-size:12px}
.dz-card .dz-price-save{font-size:11px;padding:2px 8px}
.dz-card-cta{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 14px;border-radius:var(--radius-btn);background:var(--green);color:#fff;font-size:14px;font-weight:700;text-align:center}
.dz-card:hover .dz-card-cta{background:var(--green-dark)}
.dz-card:hover .dz-card-media{background:var(--canvas)}
.dz-card:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.dz-grid-more{margin:var(--s4) 0 0}
.dz-grid-more-link{font-size:14px;font-weight:600}
@media(max-width:1000px){
.dz-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4) 18px}
}
@media(max-width:780px){
/* The home page keeps the featured products close under the short introduction. */
.dz-grid-section{margin-top:var(--s3);padding-top:var(--s3)}
.dz-page > .dz-grid-section:first-child{padding-top:0}
.dz-grid-heading{font-size:21px;margin-bottom:6px}
.dz-grid-intro{font-size:13px;margin-bottom:var(--s3)}
.dz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) 12px}
.dz-card-media{margin-bottom:var(--s1)}
.dz-card-body{margin-bottom:var(--s1)}
.dz-card-name{font-size:14px}
.dz-card-use{font-size:13px}
.dz-card .dz-price{font-size:18px}
.dz-card-cta{min-height:44px;padding:10px;font-size:13px}
.dz-grid-more{margin-top:var(--s3)}
}
/* At 320px two columns would squeeze the name and the price instead of helping. */
@media(max-width:340px){
.dz-grid{grid-template-columns:1fr}
.dz-card-body,.dz-card-media{margin-bottom:var(--s2)}
}

/* ---------------------------------------------------------------- notices, forms, payment */
.dz-notice{padding:14px 16px;border-radius:10px;font-size:14px;line-height:1.6;margin:0 0 18px}
.dz-notice.is-ok{background:#eef7f0;border:1px solid #c6e3cd;color:#0b4f30}
.dz-notice.is-warn{background:#fdf3e7;border:1px solid #f0d9b8;color:#6b4a12}
.dz-request-form{margin:0}
.dz-field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}
.dz-field label{font-size:14px;font-weight:600}
.dz-field input,.dz-field select,.dz-field textarea{border:1px solid #b5c3bc;border-radius:9px;padding:12px;background:#fff;font-size:15px;min-height:48px;width:100%}
.dz-field textarea{min-height:130px;resize:vertical}
.dz-field-hint{font-size:12px;color:var(--muted)}

.dz-pay-panel{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fafcfb;margin:24px 0}
.dz-pay-title{font-size:21px;margin:0 0 8px;line-height:1.3}
.dz-pay-status{font-size:14px;font-weight:600;margin:0 0 14px}
.dz-pay-status.is-wait{color:#8a6d00}
.dz-pay-status.is-ok{color:#0b4f30}
.dz-pay-status.is-warn{color:#a5471c}
.dz-pay-note{font-size:13px;color:var(--muted);margin:14px 0 0}
.dz-pix{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:20px;align-items:start;margin:0 0 6px}
.dz-pix-qr{position:relative;aspect-ratio:1;border:1px dashed #b9c9c3;border-radius:12px;background:repeating-linear-gradient(45deg,#f1f5f3,#f1f5f3 10px,#e9efec 10px,#e9efec 20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px;text-align:center}
.dz-pix-flag{font-size:12px;font-weight:800;letter-spacing:.06em;color:#a5471c;background:#fff;border:1px solid #f0d9b8;border-radius:100px;padding:4px 10px}
.dz-pix-note{font-size:11px;color:var(--muted);line-height:1.5}
.dz-pix-label{font-size:12px;color:var(--muted);margin:0 0 6px}
.dz-pix-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;word-break:break-all;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:0 0 10px}
.dz-pix-copy-hint{font-size:12px;color:#a5471c;margin:8px 0 0}
.dz-pix-side .dz-muted{font-size:13px;color:var(--muted);margin:8px 0 0}
.dz-test-entry{margin:18px 0 0;padding:14px 16px;border:1px dashed #c2ccc8;border-radius:10px;background:#fff}
.dz-test-entry .dz-muted{font-size:12px;color:var(--muted);margin:0 0 10px}
.dz-test-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.dz-test-link{font-size:13px;font-weight:600;color:var(--green);border:1px solid #cddbd5;border-radius:8px;padding:8px 12px;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.dz-test-link:hover{background:#f2f6f4}

/* ---------------------------------------------------------------- checkout extras */
.dz-savings-row td{background:#eef7f0;color:#0b4f30;font-size:13px;font-weight:600;border-top:1px solid #c6e3cd}
.dz-cep-status{font-size:13px;line-height:1.5;margin:7px 0 0;color:var(--muted)}
.dz-cep-status[hidden]{display:none}
.dz-cep-status.is-ok,.dz-cep-status.is-kept{color:#0b5c33}
.dz-cep-status.is-not-found,.dz-cep-status.is-unavailable,.dz-cep-status.is-partial{color:#a51c1c}
.woocommerce-checkout .checkout-inline-error-message{color:#a51c1c;font-size:13px;font-weight:600;margin:7px 0 0}
.woocommerce-checkout .woocommerce-invalid input.input-text,.woocommerce-checkout .woocommerce-invalid select,.woocommerce-checkout .woocommerce-invalid textarea{border-color:#a51c1c}
.woocommerce-checkout .woocommerce-invalid .select2-selection--single{border-color:#a51c1c}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{font-size:14px;padding:12px 16px 12px 44px}

/* A caption with no information is announced, not printed. */
.dz-view-label.is-generic{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ---------------------------------------------------------------- mobile */
.dz-mobile-buy{display:none}
@media(max-width:1000px){
.dz-lower-grid{column-gap:36px}
}
@media(max-width:780px){
.dz-breadcrumb{font-size:11px;margin-bottom:13px;gap:8px}
/* A trilha do celular para em Produtos: o nome do produto aparece inteiro, abaixo, no título. */
.dz-crumb-tail{display:none}
/* Phone reading order: name, purpose, picture, then price and the buy area. */
.dz-product{grid-template-columns:1fr;column-gap:0;row-gap:16px}
.dz-summary-head,.dz-gallery,.dz-summary{grid-column:1;grid-row:auto}
.dz-summary-head h1,.dz-summary h1{font-size:25px;font-weight:var(--w-title);line-height:1.18;letter-spacing:-.65px;margin-bottom:7px;max-width:25ch}
.dz-headline{font-size:14px;line-height:1.55}
.dz-visual{height:clamp(246px,73vw,286px);padding:10px;border-radius:13px}
.dz-visual img{border-radius:8px}
.dz-thumbnails{gap:9px;padding:8px 0 0}
/* O contorno da cápsula no celular é declarado pelo tema, que é impresso depois deste arquivo. */
.dz-thumbnail{width:44px;height:44px;border-radius:8px}
.dz-summary{padding-top:0}
.dz-price{font-size:31px;font-weight:var(--w-title);letter-spacing:-.8px;gap:4px 10px;margin-bottom:2px}
.dz-price-was{font-size:14px}
.dz-price-save{font-size:12px;padding:2px 9px}
.dz-purchase-row{margin-top:10px;gap:10px}
.dz-purchase-row input{width:62px;min-height:52px;font-size:16px}
.dz-primary{min-height:52px;padding:14px 18px;font-size:15px}
.dz-ship{padding:16px;margin-top:24px}
.dz-ship-row{flex-direction:row;gap:8px}
.dz-ship-row .dz-secondary{min-height:46px;width:auto;padding:10px 12px;flex-shrink:0}
.dz-section-nav{gap:10px 20px;margin-top:30px}
.dz-lower-grid{grid-template-columns:1fr;row-gap:0;padding-top:var(--s4)}
.dz-module{margin-bottom:var(--s4)}
.dz-module h2{font-size:21px;margin-bottom:var(--s2)}
.dz-module > p{font-size:14px}
.dz-scene-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s1)}
.dz-spec-table div{grid-template-columns:1fr;gap:2px}
.dz-pix{grid-template-columns:1fr;gap:14px}
.dz-pix-qr{max-width:200px}
.dz-lightbox-nav{width:44px;height:44px;font-size:22px}
.dz-mobile-buy{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 16px max(10px,env(safe-area-inset-bottom));gap:var(--s2);align-items:center;z-index:20;box-shadow:0 -3px 18px #132b2110}
.dz-mobile-buy-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.dz-mobile-buy-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--muted)}
.dz-mobile-buy-price{font-size:19px;line-height:1.25;font-weight:750}
.dz-mobile-buy .dz-price-range .woocommerce-Price-amount{font-size:16px}
.dz-mobile-buy .dz-primary{flex:0 0 auto;min-height:46px;padding:10px 18px;font-size:14px;white-space:nowrap}
.dz-mobile-buy.dz-hidden{display:none}
body:has(.dz-mobile-buy) .dz-footer,body.dz-has-mobile-buy .dz-footer{padding-bottom:112px}
}

/* ---------------------------------------------------------------- home page blocks */
/* The web fonts and the hero itself are the theme's: it owns the base sheet. What lives here
   is only what the theme has no reason to know about. */
.dz-grid.is-scenes{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.dz-scene-card-item{display:flex;min-width:0}
.dz-scene-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid #e4eaed;border-radius:14px;overflow:hidden;background:#fff}
.dz-scene-card-media{display:block;aspect-ratio:4 / 3;background:#eef2f4}
.dz-scene-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.dz-scene-card-body{display:block;padding:14px 16px 18px}
.dz-scene-card-name{display:block;font-size:15px;font-weight:700;margin-bottom:6px}
.dz-scene-card-text{display:block;font-size:14px;color:var(--muted);line-height:1.55}
.dz-scene-card:hover{border-color:#c6d6cf}

.dz-info{margin:0;display:grid;gap:10px}
.dz-info div{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.dz-info dt{font-size:13px;color:var(--muted);font-weight:600}
.dz-info dd{margin:0;font-size:14px;line-height:1.6}
.dz-info a{color:var(--green);font-weight:600}

/* A short store-service strip used by the home page. */
.dz-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:34px 0 0;margin-top:34px;border-top:1px solid var(--line)}
.dz-services h2{font-size:17px;margin:0 0 8px}
.dz-services p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}
.dz-steps{counter-reset:dzstep;list-style:none;margin:0;padding:0;display:grid;gap:16px}
.dz-steps li{position:relative;padding-left:44px;font-size:15px;line-height:1.6;color:var(--muted)}
.dz-steps li::before{counter-increment:dzstep;content:counter(dzstep);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--green);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center}
.dz-steps strong{color:var(--ink)}
@media(max-width:780px){
.dz-grid.is-scenes{grid-template-columns:1fr;gap:16px}
.dz-scene-card-media{aspect-ratio:16 / 10}
.dz-services{grid-template-columns:1fr;gap:16px;padding-top:26px;margin-top:26px}
.dz-info div{grid-template-columns:1fr;gap:2px}
}

/* Plain, non-interactive spec line and the compact reasons-to-buy block. */
.dz-spec-line{font-size:14px;color:var(--muted);margin:6px 0 18px;line-height:1.6}
.dz-benefits-block{margin:24px 0 0;padding:20px 0 0;border-top:1px solid #e6eae3}
.dz-benefits-title{font-size:13px;font-weight:var(--w-title);letter-spacing:0;text-transform:none;color:#394a40;margin:0 0 10px}
@media(max-width:780px){
.dz-spec-line{font-size:13px;margin:4px 0 14px}
.dz-benefits-block{margin-top:20px;padding-top:17px}
}
