/* Composition derived from docs/Exemplo/Imagens PNGs, not generated mock CSS. */
:root { --df-model-border: #e5ded4; }
.df-brand { display:flex; align-items:center; gap:12px; font:22px var(--df-font-display); }
.df-brand small { display:block; font:9px var(--df-font-body); margin-top:4px; }
.df-brand img { width:64px; height:48px; object-fit:contain; }
.df-panel,.df-faq { border:1px solid var(--df-model-border); border-radius:8px; padding:24px; background:#fffdf9; margin-bottom:24px; }
.df-page-heading { margin:32px 0; }
.df-page-heading h1,.df-page-heading h2 { font-family:var(--df-font-display); color:var(--df-color-forest); margin:0 0 12px; }
.df-page-heading h1 { font-size:clamp(28px,3vw,38px); }
.df-eyebrow { color:var(--df-color-muted); font-size:14px; }
.woocommerce table.shop_table { width:100%; border-collapse:collapse; border:1px solid var(--df-model-border); border-radius:8px; background:#fffdf9; }
.woocommerce table.shop_table td,.woocommerce table.shop_table th { padding:16px 12px; border-bottom:1px solid var(--df-model-border); text-align:left; }
.woocommerce table.shop_table th { background:transparent; }
.woocommerce table.shop_table img { width:72px; border-radius:6px; }
.woocommerce .form-row { margin:0 0 16px; }
.woocommerce .form-row label { display:block; margin-bottom:6px; }
.woocommerce input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),.woocommerce select,.woocommerce textarea,.df-filter-form input,.df-filter-form select { max-width:100%; padding:10px 12px; border:1px solid var(--df-model-border); background:#fffcf8; border-radius:5px; min-height:44px; }
.woocommerce .form-row input.input-text,.woocommerce .form-row select,.woocommerce .form-row textarea { width:100%; }
.woocommerce .button,.df-help-page .button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:44px; padding:12px 20px; border:1px solid var(--df-color-forest); border-radius:5px; background:var(--df-color-forest); color:white; text-align:center; font-weight:600; cursor:pointer; }
.woocommerce .button:hover { background:#31513a; color:white; }
.woocommerce button:disabled { opacity:.55; cursor:not-allowed; }
.df-list-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; margin-bottom:24px; }
.product-card { position:relative; }
.df-favorite-form { position:absolute; right:10px; top:10px; z-index:4; margin:0; }
.df-favorite { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#fffdf9; color:var(--df-color-forest); border:1px solid var(--df-model-border); font-size:26px; }
.df-favorite[aria-pressed=true] { background:var(--df-color-sand); }
.df-wishlist ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); }
.df-empty-symbol { display:block; font-size:52px; color:var(--df-color-forest); margin:16px auto; }
.df-filters { border:1px solid var(--df-model-border); border-radius:6px; padding:20px; background:#f8f4eb; }
.df-filters summary,.df-faq summary,.df-checkout-section summary { cursor:pointer; font-weight:600; min-height:44px; padding:8px 0; }
.df-filter-form { display:grid; gap:16px; }
.df-filter-form ul { padding:0; list-style:none; }
.df-filter-form label { display:grid; gap:6px; }
.df-filter-form h3 { font:600 14px var(--df-font-body); text-transform:uppercase; margin:12px 0 0; }
.shop-layout { background:transparent; padding:0; border:0; gap:30px; }
.archive-product-page .page-header-shop { text-align:left; margin-block:24px; }
.woocommerce-cart .dafloresta-cart-wrapper > .container { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr); gap:28px; padding-inline:0; }
.woocommerce-cart .page-header-shop { grid-column:1/-1; text-align:left; }
.woocommerce-cart .cart-collaterals { margin:0; min-width:0; }
.woocommerce-cart .cart_totals { padding:20px; border:1px solid var(--df-model-border); background:#fffdf9; border-radius:8px; }
.woocommerce-cart .cart_totals table { border:0; }
.woocommerce-cart .cart_totals .checkout-button { display:flex; width:100%; margin-top:20px; }
.woocommerce .coupon { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.woocommerce .product-remove a { font-size:24px; }
.woocommerce .df-quantity { display:inline-flex; align-items:center; }
.woocommerce .df-quantity input { width:54px; text-align:center; padding-inline:4px!important; }
.woocommerce .df-quantity__btn { width:36px; min-height:44px; border:1px solid var(--df-model-border); background:#fffdf9; }
.df-checkout-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr); gap:28px; align-items:start; }
.df-checkout-review { position:sticky; top:24px; }
.df-checkout-review h2 { font-size:22px; }
.df-billing-group { margin-bottom:20px; }
.df-billing-group summary { cursor:pointer; padding:12px 0; font:600 21px var(--df-font-display); color:var(--df-color-forest); }
.woocommerce-billing-fields > h3 { display:none; }
.woocommerce-checkout #payment { margin-top:24px; padding-top:16px; border-top:1px solid var(--df-model-border); }
.woocommerce-checkout #payment ul { list-style:none; padding:0; }
.woocommerce-checkout #payment li { padding:12px 0; }
.woocommerce-checkout #payment .payment_box { padding:12px; background:#f3eee4; }
.woocommerce-checkout #place_order { width:100%; }
.woocommerce-checkout .woocommerce-order { max-width:none; border:0; background:transparent; padding:0; }
.df-confirmation-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:28px; align-items:start; }
.df-timeline { list-style:none; padding-left:22px; border-left:2px solid var(--df-color-sage); }
.df-timeline li { position:relative; padding:0 0 24px 8px; }
.df-timeline li:before { content:''; position:absolute; left:-29px; top:7px; width:12px; height:12px; border-radius:50%; background:var(--df-color-forest); }
.dafloresta-myaccount-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.dafloresta-myaccount-cards .df-panel { padding:16px; }
.df-stat { display:block; font:600 30px var(--df-font-display); color:var(--df-color-forest); margin:12px 0; }
.df-account-panels { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.df-myaccount-content { min-width:0; }
.df-myaccount-content .woocommerce-Addresses { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.df-myaccount-content address { padding:20px; border:1px solid var(--df-model-border); font-style:normal; }
.df-tracking { display:grid; grid-template-columns:1fr 2fr; gap:24px; align-items:start; }
.df-buy-now { margin-top:12px; background:transparent!important; color:var(--df-color-forest)!important; width:100%; }
.single-product .summary .single_add_to_cart_button { flex:1; }
.single-product .summary form.cart { display:flex; gap:12px; flex-wrap:wrap; }
.single-product .summary form.variations_form { display:block; }
.single-product .summary .variations_button { display:flex; flex-wrap:wrap; gap:12px; }
.single-product-content .badge { position:absolute; z-index:2; }
.single-product-content { position:relative; }
.single-product .summary > .df-favorite-form { position:static; margin-bottom:16px; }
.single-product-content .summary .badge { position:static; }
.df-mobile-buy,.df-bottom-nav { display:none; }
.df-help-page { padding-block:40px; max-width:980px; }
.mobile-menu-drawer:not(.is-open) { visibility:hidden; }
.mobile-menu-drawer.is-open { visibility:visible; }
.df-store-trust { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; padding-block:24px; margin-block:30px; border-radius:8px; background:#f0e9dc; color:var(--df-color-forest); }
.footer-grid { grid-template-columns:1.4fr 1fr 1fr 1fr; }
.header-nav__btn-mobile { display:none!important; }
@media(max-width:767px) { .footer-grid { grid-template-columns:1fr 1fr; } .df-store-trust { margin-inline:20px; width:auto; } }
.df-faq p { margin:16px 0 0; }
.central-atendimento-canais { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-block:30px; }
.canal-card { padding:24px; border:1px solid var(--df-model-border); border-radius:8px; }
@media(min-width:1024px) {
 .single-product .woocommerce-product-gallery { display:grid; grid-template-columns:76px minmax(0,1fr); gap:16px; }
 .single-product .woocommerce-product-gallery .flex-viewport { grid-column:2; grid-row:1; }
 .single-product .woocommerce-product-gallery .flex-control-thumbs { grid-column:1; grid-row:1; flex-direction:column; margin:0; }
}
@media(max-width:767px) {
 body { padding-bottom:72px; }
 .top-bar__inner { display:block; overflow:hidden; text-align:center; }
 .top-bar__item { display:none!important; }
 .top-bar__item:first-child { display:block!important; font-size:11px; white-space:normal; }
 .header-main { display:grid!important; grid-template-columns:32px minmax(0,1fr) 40px; grid-template-areas:'menu logo icons' 'search search search'; gap:12px; padding:14px 20px; }
 .site-logo { grid-area:logo; min-width:0; justify-self:center; }
 .df-brand { font-size:17px; gap:5px; }
 .df-brand small { font-size:7px; }
 .df-brand img { width:40px; height:38px; }
 .site-logo .custom-logo { max-width:180px; max-height:55px; object-fit:contain; }
 .header-action-icons { grid-area:icons; min-width:0; }
 .header-icones-acao { gap:0!important; }
 .header-icones-acao > :not(.link-carrinho) { display:none!important; }
 .header-search-area { display:block!important; grid-area:search; width:100%; }
 .header-search-area input { width:100%; min-width:0; }
 .mobile-menu-toggle { display:block!important; grid-area:menu; padding:0; }
 .main-navigation { display:block!important; border:0; }
 .main-navigation > .container { padding:0; }
 .header-nav-container { display:none; }
 .mobile-menu-drawer { max-width:calc(100vw - 24px); }
 .woocommerce-cart .dafloresta-cart-wrapper > .container,.df-checkout-grid,.df-confirmation-grid,.df-tracking,.df-account-panels,.df-myaccount-content .woocommerce-Addresses,.central-atendimento-canais { grid-template-columns:1fr; }
 .df-checkout-review { position:static; }
 .df-panel { padding:18px; }
 .dafloresta-myaccount-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .df-wishlist ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .woocommerce table.shop_table_responsive thead { display:none; }
 .woocommerce table.shop_table_responsive tr { display:block; padding:12px; border-bottom:1px solid var(--df-model-border); }
 .woocommerce table.shop_table_responsive td { display:block; border:0; padding:8px; text-align:right; }
 .woocommerce table.shop_table_responsive td[data-title]:before { content:attr(data-title); float:left; font-weight:600; margin-right:12px; }
 .woocommerce table.shop_table_responsive td.product-thumbnail { text-align:left; }
 .df-bottom-nav { display:flex; justify-content:space-around; position:fixed; bottom:0; left:0; right:0; z-index:80; background:#fffdf9; border-top:1px solid var(--df-model-border); padding:8px 4px max(8px,env(safe-area-inset-bottom)); }
 .df-bottom-nav a { display:grid; justify-items:center; padding:6px; font-size:12px; min-width:50px; min-height:44px; }
 .df-bottom-nav svg { width:22px; height:22px; }
 .df-mobile-buy { display:block; position:fixed; bottom:72px; left:0; right:0; z-index:70; background:#fffdf9; padding:10px 20px; border-top:1px solid var(--df-model-border); }
 .df-mobile-buy .button { width:100%; }
 .single-product { padding-bottom:145px; }
 .woocommerce .products .button { font-size:12px; padding-inline:8px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation:none!important; transition:none!important; } }
