/* Public storefront opt-in. Do not apply these tokens to the ADM, PDV or file viewers. */
body.site-body.storefront-theme {
    --kp-bg: #ffffff;
    --kp-bg-soft: #f5f8f7;
    --kp-surface: #ffffff;
    --kp-surface-strong: #f2f8f7;
    --kp-surface-solid: #ffffff;
    --kp-card: #ffffff;
    --kp-card-strong: #eff7f5;
    --kp-border: #dce7e4;
    --kp-border-strong: #b8ceca;
    --kp-accent: #0abab8;
    --kp-accent-strong: #087d7c;
    --kp-accent-soft: #086e6d;
    --kp-accent-deep: #def4ef;
    --kp-text: #182e2d;
    --kp-muted: #526865;
    --kp-danger: #b9362b;
    --kp-shadow: 0 6px 24px rgba(24, 46, 45, .045);
    --kp-content-width: 1160px;
    --bs-body-color: #182e2d;
    --bs-body-bg: #ffffff;
    --bs-secondary-color: #526865;
    --bs-border-color: #dce7e4;
    --bs-link-color: #086e6d;
    --bs-link-hover-color: #064d4b;
    --kp-header-offset: 120px;
    margin: 0;
    padding-top: 0 !important;
    background: #fff;
    color: var(--kp-text);
    font-family: 'Manrope', sans-serif;
    font-size: .9375rem;
    line-height: 1.6;
}
body.site-body.storefront-theme *,
body.site-body.storefront-theme *::before,
body.site-body.storefront-theme *::after { box-sizing: border-box; }
body.site-body.storefront-theme .bg-grid { display: none; }
body.site-body.storefront-theme .site-main-shell { min-height: 45svh !important; }
body.site-body.storefront-theme :is(h1, h2, h3, h4, .section-title) { color: var(--kp-text); }
body.site-body.storefront-theme .section-title { font-size: clamp(1.9rem, 3vw, 2.65rem); letter-spacing: -.025em; line-height: 1.12; }
body.site-body.storefront-theme a { color: var(--kp-accent-soft); }
body.site-body.storefront-theme a:hover { color: #064d4b; }
body.site-body.storefront-theme .text-secondary,
body.site-body.storefront-theme .text-muted-soft,
body.site-body.storefront-theme .text-muted { color: var(--kp-muted) !important; }
body.site-body.storefront-theme .text-white { color: var(--kp-text) !important; }
body.site-body.storefront-theme .text-warning { color: #885512 !important; }
body.site-body.storefront-theme .text-success { color: #216846 !important; }
body.site-body.storefront-theme .text-danger { color: var(--kp-danger) !important; }
body.site-body.storefront-theme .eyebrow { color: var(--kp-accent-soft); font-size: .64rem; font-weight: 800; letter-spacing: .15em; }
body.site-body.storefront-theme :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #087d7c; outline-offset: 3px; }
body.site-body.storefront-theme .storefront-skip { position: fixed; z-index: 1100; inset: 8px auto auto 8px; padding: .75rem 1rem; background: white; border: 2px solid #087d7c; border-radius: 8px; transform: translateY(-160%); }
body.site-body.storefront-theme .storefront-skip:focus { transform: none; }

/* Brand and navigation: the original collapse, search and account actions remain in place. */
body.site-body.storefront-theme .site-header { background: rgba(255,255,255,.97); backdrop-filter: blur(12px); border-bottom: 1px solid var(--kp-border); box-shadow: none; }
body.site-body.storefront-theme .site-header .navbar { padding-block: .7rem !important; }
body.site-body.storefront-theme .navbar > .container { display: grid; grid-template-columns: auto minmax(200px, 1fr) auto; gap: 1.4rem; }
body.site-body.storefront-theme .navbar-brand { margin: 0; padding: 0; gap: .65rem !important; color: var(--kp-text); }
body.site-body.storefront-theme .brand-logo { width: 44px !important; height: 44px !important; border-radius: 50%; object-fit: contain; background: transparent; box-shadow: none; }
body.site-body.storefront-theme .brand-wording strong { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem !important; color: var(--kp-text); letter-spacing: -.015em; }
body.site-body.storefront-theme .navbar-collapse { justify-self: end; min-width: 0; }
body.site-body.storefront-theme .navbar-nav { flex-wrap: wrap; justify-content: flex-end; gap: .25rem; }
body.site-body.storefront-theme .nav-link { color: var(--kp-text) !important; font-size: .76rem; font-weight: 600; padding-inline: .5rem !important; }
body.site-body.storefront-theme .nav-link svg { stroke: currentColor; }
body.site-body.storefront-theme .navbar .btn { min-height: 38px; font-size: .73rem; padding: .5rem .85rem; }
body.site-body.storefront-theme .storefront-wishlist-link { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
body.site-body.storefront-theme .storefront-wishlist-link svg { flex-shrink: 0; }
body.site-body.storefront-theme .user-identity-chip { background: var(--kp-bg-soft); border-color: var(--kp-border); color: var(--kp-text); min-width: 0; max-width: 200px; padding: .35rem .6rem; }
body.site-body.storefront-theme .user-identity-chip :is(strong, small) { color: var(--kp-text); min-width: 0; max-width: none; overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
body.site-body.storefront-theme .navbar-toggler { border: 1px solid var(--kp-border); width: 44px; height: 44px; color: var(--kp-text); box-shadow: none; padding: .45rem; }
body.site-body.storefront-theme .navbar-toggler-icon { filter: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23182e2d' stroke-width='1.6'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E"); }
body.site-body.storefront-theme .storefront-cart-shortcut { display: none; }
body.site-body.storefront-theme .storefront-cart-drawer { --bs-offcanvas-width: min(400px, 100vw); z-index: 1085; background: #fff; color: var(--kp-text); border-left: 1px solid var(--kp-border); }
body.site-body.storefront-theme .offcanvas-backdrop { z-index: 1084; }
body.site-body.storefront-theme .storefront-cart-drawer .offcanvas-header { justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--kp-border); padding: 1rem; }
body.site-body.storefront-theme .storefront-cart-drawer .offcanvas-body { padding: 1rem 1rem calc(1rem + var(--kp-preview-toolbar-clearance, 0px)); }
body.site-body.storefront-theme .storefront-cart-close { width: 44px; height: 44px; }
body.site-body.storefront-theme .storefront-cart-items { display: grid; gap: .8rem; }
body.site-body.storefront-theme .storefront-cart-item { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding-block: .75rem; border-bottom: 1px solid var(--kp-border); }
body.site-body.storefront-theme .storefront-cart-item img { width: 58px; height: 58px; object-fit: contain; }
body.site-body.storefront-theme .storefront-cart-item a { display: block; font-size: .75rem; line-height: 1.5; text-decoration: none; }
body.site-body.storefront-theme .storefront-cart-item small { display: block; color: var(--kp-muted); font-size: .7rem; }
body.site-body.storefront-theme .storefront-cart-item > strong { font-size: .78rem; }
body.site-body.storefront-theme .storefront-cart-total { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.2rem; margin-bottom: .3rem; font-size: .85rem; }
body.site-body.storefront-theme .storefront-search { width: 100%; min-width: 0; margin: 0; }
body.site-body.storefront-theme .storefront-search .input-group { border: 1px solid var(--kp-border); border-radius: 9px; overflow: hidden; background: #f5f8f7; }
body.site-body.storefront-theme .storefront-search .form-control { background: transparent !important; border: 0 !important; min-height: 44px; padding: .65rem .9rem; border-radius: 0; font-size: .85rem !important; }
body.site-body.storefront-theme .storefront-search .btn-search { width: 46px; min-height: 44px; display: grid; place-items: center; border: 0; color: var(--kp-text); background: transparent; border-radius: 0; }
body.site-body.storefront-theme .storefront-search .input-group:focus-within { border-color: #087d7c; box-shadow: 0 0 0 2px #def4ef; }
body.site-body.storefront-theme .storefront-nav { border-top: 1px solid #eef3f1; }
body.site-body.storefront-theme .storefront-nav .container { display: flex; align-items: center; gap: 1.85rem; min-height: 42px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
body.site-body.storefront-theme .storefront-nav a { color: var(--kp-muted); font-size: .75rem; font-weight: 600; white-space: nowrap; text-decoration: none; padding-block: .65rem; }
body.site-body.storefront-theme .storefront-nav a:first-child { color: var(--kp-text); font-weight: 800; margin-right: auto; }
body.site-body.storefront-theme .storefront-nav a span { padding-left: .65rem; color: #087d7c; }

/* Shared public controls and panels, including customer pages using legacy ADM class names. */
body.site-body.storefront-theme .btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; text-align: center; vertical-align: middle; line-height: 1.35; min-height: 44px; border-radius: 8px !important; padding: .65rem 1rem; font-size: .82rem; font-weight: 700; letter-spacing: 0; box-shadow: none !important; text-decoration: none; transform: none !important; transition: background-color .16s, border-color .16s; }
body.site-body.storefront-theme .btn-kp { color: #083b3a !important; background: #0abab8 !important; border: 1px solid #0abab8 !important; }
body.site-body.storefront-theme .btn-kp:hover { background: #36c7c2 !important; border-color: #36c7c2 !important; }
body.site-body.storefront-theme :is(.btn-outline-light, .btn-whatsapp, .btn-search) { background: white; color: var(--kp-text); border: 1px solid var(--kp-border-strong); }
body.site-body.storefront-theme :is(.btn-outline-light, .btn-whatsapp):hover { background: #edf8f5; color: #064d4b; border-color: #087d7c; }
body.site-body.storefront-theme :is(.btn, button):disabled { opacity: .5; cursor: not-allowed; }
body.site-body.storefront-theme :is(.form-control, .form-select) { min-height: 44px; color: var(--kp-text) !important; background: #fff !important; border: 1px solid #c5d6d1; border-radius: 8px; font-size: .9rem; box-shadow: none; }
body.site-body.storefront-theme :is(.form-control, .form-select)::placeholder { color: #657975; opacity: 1; }
body.site-body.storefront-theme :is(.form-control, .form-select):focus { border-color: #087d7c; box-shadow: 0 0 0 3px #e0f5ef; }
body.site-body.storefront-theme :is(.form-control, .form-select):disabled { background: #f0f4f2 !important; color: #526865 !important; }
body.site-body.storefront-theme .form-label { color: var(--kp-text); font-size: .8rem; font-weight: 600; }
body.site-body.storefront-theme .form-check-input { border-color: #9ebbb4; background-color: white; }
body.site-body.storefront-theme .form-check-input:checked { background-color: #087d7c; border-color: #087d7c; }
body.site-body.storefront-theme :is(.panel-card, .form-shell, .checkout-shell, .checkout-block, .showcase-band, .admin-section, .stat-card, .contact-card, .contact-shell) { color: var(--kp-text); background: #fff !important; border: 1px solid var(--kp-border); box-shadow: none !important; border-radius: 12px; }
body.site-body.storefront-theme :is(.panel-card, .form-shell, .checkout-shell, .admin-section) { padding: clamp(1rem, 2vw, 1.6rem); }
body.site-body.storefront-theme .checkout-block { padding: 1rem; }
body.site-body.storefront-theme :is(.chip, .contact-chip, .admin-badge, .catalog-count-pill, .hero-pill, .category-pill) { color: #28635b; background: #edf7f3; border: 1px solid #d8eae3; box-shadow: none; font-family: 'Manrope', sans-serif; font-size: .68rem; }
body.site-body.storefront-theme .empty-state { background: #f6faf8; color: var(--kp-muted); border: 1px dashed #b8ceca; border-radius: 12px; padding: 2rem; }
body.site-body.storefront-theme .table { --bs-table-bg: #fff; --bs-table-color: #182e2d; --bs-table-border-color: #dce7e4; --bs-table-striped-bg: #f4f8f6; --bs-table-hover-bg: #eef7f3; --bs-table-hover-color: #182e2d; color: var(--kp-text); font-size: .83rem; }
body.site-body.storefront-theme .table > :not(caption) > * > * { color: inherit; background-color: var(--bs-table-bg); border-color: var(--kp-border); padding: .9rem .75rem; }
body.site-body.storefront-theme .table th { color: var(--kp-muted); font-size: .72rem; font-weight: 700; background: #f5f8f6; }
body.site-body.storefront-theme .table a { color: #086e6d; }
body.site-body.storefront-theme .payment-installments { color: var(--kp-text); background: #f7faf8; border: 1px solid var(--kp-border); border-radius: 8px; padding: .7rem .85rem; }
body.site-body.storefront-theme :is(.payment-installments__head, .payment-installments__row, .payment-installments__interest, .payment-installments__details summary) { color: var(--kp-text); }
body.site-body.storefront-theme :is(.payment-installments__head, .payment-installments__row) strong { color: var(--kp-text); }
body.site-body.storefront-theme .payment-installments__badge { color: #28635b; background: #e7f4ed; border-color: #cee4d8; }
/* Dynamic installment rows must not inherit the old dark-theme pale text. */
body.site-body.storefront-theme .payment-installments { --kp-payment-copy: #246c68; }
body.site-body.storefront-theme .payment-installments__row { background: #fff; border-color: #c7ded8; }
body.site-body.storefront-theme .payment-installments__row small,
body.site-body.storefront-theme .payment-installments__note,
body.site-body.storefront-theme .payment-installments__interest,
body.site-body.storefront-theme .payment-installments > small { color: var(--kp-payment-copy); opacity: 1; }
body.site-body.storefront-theme .kp-quantity { border-color: #b8ceca; background: white; border-radius: 8px; }
body.site-body.storefront-theme .kp-quantity .form-control { border: 0 !important; border-radius: 0; color: var(--kp-text); }
body.site-body.storefront-theme .kp-quantity button { color: #086e6d; background: #edf7f3; }

/* Home: editorial introduction, real categories, then the unchanged product selections. */
body.site-body.storefront-theme .home-coupon-strip { padding-block: .8rem !important; }
body.site-body.storefront-theme .site-main-shell > .home-coupon-strip:first-child { padding-top: .7rem !important; }
body.site-body.storefront-theme .home-offer-strip { padding: .65rem 1rem; border: 1px solid #d4e9e1; border-radius: 8px; background: #edf8f2; color: #244f46; box-shadow: none; }
body.site-body.storefront-theme .home-offer-strip :is(span, strong, small) { color: #244f46; font-size: .73rem; }
body.site-body.storefront-theme .home-offer-strip > div:first-child { display: grid; gap: .15rem; min-width: 0; }
body.site-body.storefront-theme .home-offer-strip strong { font-size: .78rem; line-height: 1.5; }
body.site-body.storefront-theme .home-offer-strip .btn { min-height: 44px; padding: .5rem .8rem; font-size: .72rem; white-space: nowrap; }
body.site-body.storefront-theme .storefront-intro { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1rem; }
body.site-body.storefront-theme .storefront-intro .eyebrow { margin-bottom: .5rem; }
body.site-body.storefront-theme .storefront-intro::before { content: ''; position: absolute; inset: 1rem var(--kp-compact-gap) 1rem 52%; z-index: -1; border-radius: 50% 35% 25% 60%; background: radial-gradient(ellipse, #e5f5ee 0, #f3faf6 45%, transparent 72%); }
body.site-body.storefront-theme .storefront-intro h2 { font-size: clamp(2rem, 3.3vw, 2.8rem) !important; font-weight: 600; line-height: 1.02 !important; letter-spacing: -.035em; margin-bottom: .65rem; }
body.site-body.storefront-theme .storefront-intro p:last-child { margin: 0; font-size: .82rem; color: var(--kp-muted); max-width: 65ch; }
body.site-body.storefront-theme .storefront-intro__link { display: flex; align-items: center; gap: 1.6rem; border-bottom: 1px solid #5a9990; padding: .75rem 0; margin-right: 3.5rem; font-size: .85rem; font-weight: 700; text-decoration: none; }
body.site-body.storefront-theme .storefront-intro__link span { font-size: 1.6rem; font-weight: 400; }
body.site-body.storefront-theme .storefront-categories { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 1rem; padding-block: .6rem; margin-bottom: .5rem; border-block: 1px solid var(--kp-border); }
body.site-body.storefront-theme .storefront-categories > span { color: var(--kp-muted); font-size: .7rem; font-weight: 700; }
body.site-body.storefront-theme .storefront-categories__links { display: flex; gap: .6rem; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; padding: .15rem 0; }
body.site-body.storefront-theme .storefront-categories__links a { flex: 0 0 auto; display: flex; align-items: center; gap: 1.3rem; min-height: 44px; padding: .65rem .9rem; border: 1px solid var(--kp-border); border-radius: 6px; font-size: .75rem; text-decoration: none; color: var(--kp-text); }
body.site-body.storefront-theme .storefront-categories__links a:hover { border-color: #087d7c; background: #f1faf5; }
body.site-body.storefront-theme .home-storefront { padding-block: 1.25rem !important; gap: 2.6rem; }
body.site-body.storefront-theme .home-section-heading { margin-bottom: .8rem; padding-bottom: .4rem; border-bottom: 1px solid var(--kp-border); }
body.site-body.storefront-theme .home-section-heading .eyebrow { margin-bottom: .35rem !important; }
body.site-body.storefront-theme .home-section-heading h2 { font-size: clamp(1.7rem, 2.5vw, 2.2rem) !important; margin-bottom: .35rem; }
body.site-body.storefront-theme .home-section-heading p:last-child { color: var(--kp-muted); font-size: .75rem; margin-bottom: .35rem; }
body.site-body.storefront-theme .home-section-heading > a { font-size: .72rem; color: #086e6d; }
body.site-body.storefront-theme .store-campaign { background: #edf8f4; border-color: #cfe5db; border-radius: 10px; }
body.site-body.storefront-theme .store-campaign__copy p { color: var(--kp-muted); }

/* Keep the approved compact cards, with lighter surfaces and the same detail controls. */
body.site-body.storefront-theme .product-card--brief { border: 1px solid #dce7e4 !important; border-radius: 11px !important; background: #fff !important; box-shadow: none !important; transition: border-color .16s; }
body.site-body.storefront-theme .product-card--brief:hover { border-color: #85b8ac !important; }
body.site-body.storefront-theme .product-card--brief .product-card-media { background: #fff; border-bottom: 1px solid #eef3f0; }
body.site-body.storefront-theme .product-card--brief .product-card__title a { color: var(--kp-text); }
body.site-body.storefront-theme .product-card--brief .price-main { color: var(--kp-text); font-weight: 800; }
body.site-body.storefront-theme .product-card--brief .price-old { color: #63746e; }
body.site-body.storefront-theme .product-card--brief .product-card__footer { border: 0; }
body.site-body.storefront-theme .product-card--brief .product-card__footer > .btn { border-radius: 6px !important; min-height: 44px !important; }
body.site-body.storefront-theme .product-card--brief .product-card__details-trigger { color: #345f56; }
body.site-body.storefront-theme .product-card--brief .product-card__details-panel { background: #fff; border-color: #85b8ac; box-shadow: 0 3px 12px rgba(24,46,45,.07); }
body.site-body.storefront-theme .product-card--brief .payment-installments { padding: .5rem; }
body.site-body.storefront-theme .product-card--brief .product-card__flag { background: #e8f4d9; color: #335421; border: 1px solid #d4e6c1; box-shadow: none; }
body.site-body.storefront-theme .product-stock-status.is-available { color: #276c49; }
body.site-body.storefront-theme .product-stock-status.is-unavailable { color: #8b4f37; }
body.site-body.storefront-theme .storefront-wishlist-control { display: inline-flex; margin: 0; flex-shrink: 0; }
body.site-body.storefront-theme .storefront-wishlist-button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; color: #086e6d; background: transparent; text-decoration: none; cursor: pointer; flex-shrink: 0; }
body.site-body.storefront-theme .storefront-wishlist-button svg { display: block; width: 19px; height: 19px; flex-shrink: 0; }
body.site-body.storefront-theme .storefront-wishlist-button:hover { color: #064d4b; background: #edf7f3; }
body.site-body.storefront-theme .storefront-wishlist-button[aria-pressed="true"] svg { fill: currentColor; }
body.site-body.storefront-theme .product-card--brief .product-card__price { position: relative; align-items: center; min-height: 36px; padding-right: 40px; }
body.site-body.storefront-theme .product-card__price > .storefront-wishlist-control { position: absolute; z-index: 5; right: 0; top: 50%; transform: translateY(-50%); }
body.site-body.storefront-theme .storefront-product__summary .storefront-wishlist-control { margin-left: auto; align-self: center; }
body.site-body.storefront-theme .storefront-wishlist-feedback:not([hidden]) { position: fixed; z-index: 1060; left: 16px; bottom: calc(18px + var(--kp-preview-toolbar-clearance, 0px) + env(safe-area-inset-bottom, 0px)); max-width: min(360px, calc(100vw - 96px)); padding: .8rem 1rem; border: 1px solid #b8ceca; border-radius: 8px; background: #fff; color: #182e2d; box-shadow: 0 4px 16px rgba(24,46,45,.12); font-size: .8rem; }
body.site-body.storefront-theme .catalog-group-shell { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 0; overflow: visible; }
body.site-body.storefront-theme .catalog-group-header { padding-bottom: .75rem; border-bottom: 1px solid var(--kp-border); }
body.site-body.storefront-theme .catalog-group-header > div { min-width: 0; }
body.site-body.storefront-theme .catalog-group-header :is(.eyebrow, h2) { overflow-wrap: anywhere; }
body.site-body.storefront-theme .catalog-category-menu a { color: var(--kp-muted); }
body.site-body.storefront-theme .catalog-category-menu a[aria-current="page"] { color: #086e6d; background: #e7f5ef; border-color: #bddccf; }
body.site-body.storefront-theme .catalog-filter-panel { top: calc(var(--kp-header-offset) + 1rem); }
body.site-body.storefront-theme .catalog-filter-panel > summary { color: var(--kp-text); }

/* Product purchase information precedes the full, unmodified description. */
body.site-body.storefront-theme .storefront-product { padding-block: 1.75rem !important; }
body.site-body.storefront-theme .storefront-product__summary > .panel-card { background: #f7faf8 !important; border: 1px solid #e0ebe5; padding: 1.5rem; }
body.site-body.storefront-theme .storefront-product__summary h1 { font-family: 'Manrope', sans-serif; font-size: clamp(1.35rem, 2.2vw, 1.85rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.3; }
body.site-body.storefront-theme .storefront-product__summary .price-main { font-size: 1.85rem !important; font-weight: 800; color: var(--kp-text); }
body.site-body.storefront-theme .storefront-product__summary .price-stack { gap: .3rem .8rem; margin-bottom: 1rem !important; }
body.site-body.storefront-theme .product-cover-frame { position: relative; display: block; aspect-ratio: 1; height: auto; min-height: 0; width: 100%; max-width: 430px; margin-inline: auto; padding: 0; overflow: hidden; border: 1px solid var(--kp-border); background: #fff; box-shadow: none; border-radius: 12px; }
/* A definite image box avoids legacy percentage heights overflowing the padded frame. */
body.site-body.storefront-theme .product-cover { position: absolute; inset: 0; display: block; box-sizing: border-box; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; min-height: 0; margin: 0 !important; padding: 1.1rem; border-radius: 0; object-fit: contain !important; object-position: center !important; }
body.site-body.storefront-theme .product-media-thumbs { justify-content: center; }
body.site-body.storefront-theme .product-media-thumb { background: #fff; border: 1px solid var(--kp-border); box-shadow: none; border-radius: 8px; }
body.site-body.storefront-theme .product-media-thumb.is-active { border: 2px solid #087d7c; }
body.site-body.storefront-theme .product-buy-button { min-height: 48px; }
body.site-body.storefront-theme :is(.free-shipping-product-hero, .free-shipping-product-note, .free-shipping-progress) { background: #edf7f0; border-color: #ccdfd3; box-shadow: none; color: #285d44; }
body.site-body.storefront-theme :is(.free-shipping-product-hero, .free-shipping-product-note) :is(small, strong, span) { color: #285d44; }
body.site-body.storefront-theme .free-shipping-product-hero { padding: .65rem .8rem; margin-bottom: .8rem !important; }
body.site-body.storefront-theme .product-variant-choice { background: #fff; border-color: #d4e3dc; color: var(--kp-text); box-shadow: none; }
body.site-body.storefront-theme .product-variant-choice :is(.product-variant-choice__title, .product-variant-choice__meta) { color: var(--kp-text); }
body.site-body.storefront-theme .product-variant-choice.is-selected { border-color: #087d7c; background: #edf7f0; }
body.site-body.storefront-theme .product-variant-choice__initial { color: #086e6d; background: #e5f5ec; }
body.site-body.storefront-theme .storefront-description-text { white-space: pre-line; line-height: 1.85; color: var(--kp-muted); max-width: 86ch; font-size: .9rem; margin: 0; overflow-wrap: anywhere; }
body.site-body.storefront-theme .product-specs-card { background: #fff; border-color: var(--kp-border); border-radius: 12px; box-shadow: none; }
body.site-body.storefront-theme :is(.product-specs-card__title, .product-specs-card__group-title, .product-specs-cell) { color: var(--kp-text); }
body.site-body.storefront-theme .product-specs-table { border-color: var(--kp-border); background: #fff; }
body.site-body.storefront-theme .product-specs-row:nth-child(odd) { background: #f5f8f5; }

/* Checkout and account use the same quiet visual language, not new business rules. */
body.site-body.storefront-theme .cart-item-main :is(strong, a),
body.site-body.storefront-theme .shipping-price-display,
body.site-body.storefront-theme .shipping-option-card { color: var(--kp-text); }
body.site-body.storefront-theme .cart-summary-card { background: #f5faf7 !important; }
body.site-body.storefront-theme .storefront-checkout .checkout-block { border: 0; border-bottom: 1px solid var(--kp-border); border-radius: 0; padding: .5rem 0 1.3rem; }
body.site-body.storefront-theme .storefront-checkout .section-title { font-size: clamp(1.8rem, 2.8vw, 2.35rem); max-width: 24ch; }
body.site-body.storefront-theme .checkout-summary { top: calc(var(--kp-header-offset) + 1rem); }
body.site-body.storefront-theme :is(.summary-total-row, .summary-line-item, .shipping-price-display, .showcase-band, .stat-card) strong { color: var(--kp-text); }
body.site-body.storefront-theme :is(.checkout-payment-card, .checkout-security-strip, .metric-highlight) { color: var(--kp-text); background: #f4f9f5; border: 1px solid var(--kp-border); box-shadow: none; border-radius: 10px; }
body.site-body.storefront-theme .checkout-security-strip__item { color: #315f4c; background: #eaf4ec; border-color: #d1e3d5; }
body.site-body.storefront-theme [data-billing-panel].opacity-50 { opacity: 1 !important; border-style: dashed; }
body.site-body.storefront-theme [data-billing-panel] .form-control:disabled { background: #f0f5f3 !important; color: #41625d !important; }
body.site-body.storefront-theme .auth-shell { max-width: 900px; border: 1px solid var(--kp-border); border-radius: 14px; background: #fff; box-shadow: none; overflow: hidden; }
body.site-body.storefront-theme .auth-side { background: linear-gradient(145deg, #f0f8f0, #def3ed); border: 0; border-radius: 0; padding: 2.25rem; }
body.site-body.storefront-theme .auth-side h1 { font-size: 2.25rem; }
body.site-body.storefront-theme .auth-form-panel { border: 0; border-radius: 0; background: #fff; padding: 2rem; }
body.site-body.storefront-theme .auth-form-header h2 { font-size: 1.7rem !important; }
body.site-body.storefront-theme .auth-form-copy,
body.site-body.storefront-theme .auth-hero-copy { font-size: .85rem; line-height: 1.7; }
body.site-body.storefront-theme .password-toggle { color: #426d60; }
body.site-body.storefront-theme .admin-disclosure { background: #fff; border: 1px solid var(--kp-border); border-radius: 10px; box-shadow: none; margin-bottom: .8rem; }
body.site-body.storefront-theme .admin-disclosure > summary { background: #f8faf7; color: var(--kp-text); padding: 1rem 1.2rem; min-height: 64px; border-radius: 10px; }
body.site-body.storefront-theme .admin-disclosure__title :is(strong, small),
body.site-body.storefront-theme .admin-disclosure__meta { color: var(--kp-text); }
body.site-body.storefront-theme .admin-disclosure__title strong { font-family: 'Manrope', sans-serif; font-size: .95rem; }
body.site-body.storefront-theme .admin-disclosure__body { padding: 1.25rem; }
body.site-body.storefront-theme .admin-disclosure__chevron { color: #087d7c; border-color: #087d7c; }
body.site-body.storefront-theme .admin-disclosure__chevron::before { border-color: #087d7c; }
body.site-body.storefront-theme .storefront-account #profile-sections { gap: .65rem !important; }
body.site-body.storefront-theme .storefront-account .admin-disclosure { margin-bottom: 0; }
body.site-body.storefront-theme .cart-peek-float { background: #fff; color: var(--kp-text); border-color: var(--kp-border); box-shadow: 0 4px 22px rgba(24,46,45,.1); }
body.site-body.storefront-theme .cart-peek-float :is(strong, small, .cart-peek-float__action--ghost) { color: var(--kp-text); }
body.site-body.storefront-theme .cart-peek-float__action--primary { color: #083b3a; background: #0abab8; }
body.site-body.storefront-theme .newsletter-popup__dialog { background: white; color: var(--kp-text); border-color: var(--kp-border); box-shadow: var(--kp-shadow); }
body.site-body.storefront-theme .newsletter-popup__dialog :is(h2, p, small, label) { color: var(--kp-text); }
body.site-body.storefront-theme .newsletter-popup__dialog { max-width: 490px; border-radius: 16px; padding: 1.6rem; }
body.site-body.storefront-theme .newsletter-popup__dialog h2 { font-size: 2rem; }
body.site-body.storefront-theme .newsletter-popup__dialog p { font-size: .85rem; }
body.site-body.storefront-theme .newsletter-popup__close { color: var(--kp-text); background: #edf7f3; border: 1px solid var(--kp-border); width: 44px; height: 44px; }
body.site-body.storefront-theme .newsletter-popup__shine { display: none; }

/* Keep one clear WhatsApp mark instead of the legacy nested green circles. */
body.site-body.storefront-theme .whatsapp-float { display: grid !important; place-items: center; width: 52px !important; height: 52px !important; padding: 0 !important; gap: 0; border-radius: 50% !important; border: 2px solid #fff !important; background: #0c7c43 !important; color: #fff !important; box-shadow: 0 4px 14px rgba(15, 66, 44, .18) !important; right: max(16px, env(safe-area-inset-right, 0px)) !important; bottom: calc(18px + env(safe-area-inset-bottom, 0px) + var(--kp-preview-toolbar-clearance, 0px)) !important; text-decoration: none; transform: none !important; transition: background-color .16s; }
body.site-body.storefront-theme .whatsapp-float:hover { background: #096337 !important; color: #fff !important; box-shadow: 0 4px 14px rgba(15, 66, 44, .18) !important; transform: none !important; }
body.site-body.storefront-theme .whatsapp-float__icon { display: grid; place-items: center; background: transparent !important; width: 28px !important; height: 28px !important; border: 0; border-radius: 0; color: inherit; }
body.site-body.storefront-theme .whatsapp-float__icon svg { display: block; width: 27px !important; height: 27px !important; fill: currentColor; }

/* Compact footer: the original horizontal hierarchy, with public theme colors. */
body.site-body.storefront-theme .storefront-footer { margin-top: 2rem; padding-block: 1rem .65rem; background: linear-gradient(110deg, #f4faf8, #edf7f5); border-top: 1px solid #d4e6e0; }
body.site-body.storefront-theme .storefront-footer__top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.25rem; padding-bottom: .8rem; border-bottom: 1px solid #d4e6e0; }
body.site-body.storefront-theme .storefront-footer__logo { display: flex; align-items: center; gap: .65rem; text-decoration: none; color: var(--kp-text); min-width: 0; }
body.site-body.storefront-theme .storefront-footer__logo img { width: 34px; height: 34px; flex: 0 0 34px; object-fit: contain; }
body.site-body.storefront-theme .storefront-footer__logo strong { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; line-height: 1.2; }
body.site-body.storefront-theme .storefront-footer :is(.storefront-footer__actions, .storefront-footer__social, .storefront-footer__links) { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .45rem; }
body.site-body.storefront-theme .storefront-footer .storefront-footer__actions { flex-wrap: nowrap; }
body.site-body.storefront-theme .storefront-footer nav a { color: #086e6d; text-decoration: none; }
body.site-body.storefront-theme .storefront-footer :is(.storefront-footer__actions, .storefront-footer__social) a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: .4rem .8rem; border: 1px solid #bdd8d1; border-radius: 7px; background: #fff; font-size: .72rem; font-weight: 600; line-height: 1.3; }
body.site-body.storefront-theme .storefront-footer :is(.storefront-footer__actions, .storefront-footer__social) a:hover { border-color: #087d7c; background: #e4f5ef; color: #064d4b; }
body.site-body.storefront-theme .storefront-footer .storefront-footer__social { flex-wrap: nowrap; }
body.site-body.storefront-theme .storefront-footer .storefront-footer__social a { width: 36px; padding: 0; }
body.site-body.storefront-theme .storefront-footer__social svg { display: block; flex-shrink: 0; }
body.site-body.storefront-theme .storefront-footer .storefront-footer__links { gap: .15rem .85rem; padding-top: .5rem; }
body.site-body.storefront-theme .storefront-footer__links a { display: inline-flex; align-items: center; min-height: 28px; font-size: .7rem; }
body.site-body.storefront-theme .storefront-footer__links a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.site-body.storefront-theme .storefront-footer__bottom { text-align: center; line-height: 1.4; padding-top: .1rem; }
body.site-body.storefront-theme .storefront-footer__bottom small { color: var(--kp-muted); font-size: .65rem; }

@media (min-width: 992px) {
    body.site-body.storefront-theme .storefront-intro h2 { font-size: 2.5rem !important; }
    body.site-body.storefront-theme .storefront-intro h2 br { display: none; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    body.site-body.storefront-theme .storefront-product__gallery,
    body.site-body.storefront-theme .storefront-product__summary { flex: 0 0 50%; width: 50%; }
}
/* Move the complete action group together before a narrow center column can orphan a link. */
@media (max-width: 991.98px) {
    body.site-body.storefront-theme .storefront-footer__top { grid-template-columns: minmax(0, 1fr) auto; }
    body.site-body.storefront-theme .storefront-footer .storefront-footer__actions { display: grid; grid-template-columns: repeat(4, max-content); grid-column: 1 / -1; grid-row: 2; }
    body.site-body.storefront-theme .storefront-footer__social { grid-column: 2; grid-row: 1; }
}

@media (max-width: 1199.98px) {
    body.site-body.storefront-theme .navbar > .container { grid-template-columns: minmax(0, 1fr) auto auto; gap: .7rem; }
    body.site-body.storefront-theme .navbar-toggler { grid-column: 3; grid-row: 1; }
    body.site-body.storefront-theme .storefront-cart-shortcut { position: relative; grid-column: 2; grid-row: 1; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--kp-text); border: 1px solid var(--kp-border); border-radius: 8px; text-decoration: none; }
    body.site-body.storefront-theme .storefront-cart-shortcut__count { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 18px; height: 18px; padding-inline: 3px; border-radius: 50%; background: #0abab8; color: #083b3a; font-size: .6rem; font-weight: 800; }
    body.site-body.storefront-theme .storefront-search { grid-column: 1 / -1; grid-row: 2; }
    body.site-body.storefront-theme .navbar-collapse { grid-column: 1 / -1; width: 100%; }
    body.site-body.storefront-theme .navbar-collapse { max-height: min(420px, calc(100svh - 160px)); overflow-y: auto; overscroll-behavior: contain; }
    body.site-body.storefront-theme .navbar-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch !important; gap: .5rem !important; padding-block: .75rem; }
    body.site-body.storefront-theme .navbar-nav > .nav-item { min-width: 0; margin: 0; }
    body.site-body.storefront-theme .navbar-nav > .storefront-menu-cart { display: none; }
    body.site-body.storefront-theme .navbar-nav .storefront-menu-profile { grid-column: 1 / -1; order: -1; }
    body.site-body.storefront-theme .navbar-nav .user-identity-chip { width: 100%; max-width: none; padding: .65rem .8rem; }
    body.site-body.storefront-theme .navbar-nav .nav-link { min-height: 44px; width: 100%; height: 100%; display: flex; align-items: center; justify-content: flex-start; gap: .5rem; padding: .65rem .8rem !important; border: 1px solid var(--kp-border); border-radius: 8px; background: #f5f8f7; font-size: .8rem; }
    body.site-body.storefront-theme .navbar-nav .btn { width: 100%; }
    body.site-body.storefront-theme .navbar-nav a[aria-label="Carrinho"] .visually-hidden { position: static !important; width: auto !important; height: auto !important; margin: 0 !important; clip: auto !important; overflow: visible !important; white-space: normal !important; order: 1; }
    body.site-body.storefront-theme .navbar-nav a[aria-label="Carrinho"] .badge { order: 2; }
    body.site-body.storefront-theme .navbar .btn { min-height: 44px; }
    body.site-body.storefront-theme .storefront-nav .container { gap: 1.5rem; }
    body.site-body.storefront-theme .storefront-footer__top { gap: .75rem; }
}
@media (max-width: 767.98px) {
    body.site-body.storefront-theme { --kp-header-offset: 162px; }
    body.site-body.storefront-theme .brand-logo { width: 42px !important; height: 42px !important; }
    body.site-body.storefront-theme .brand-wording strong { font-size: 1.2rem !important; }
    body.site-body.storefront-theme .site-header .navbar { padding-block: .55rem !important; }
    body.site-body.storefront-theme .storefront-nav .container { gap: 1.4rem; min-height: 36px; }
    body.site-body.storefront-theme .storefront-nav .container { scrollbar-width: none; }
    body.site-body.storefront-theme .storefront-nav .container::-webkit-scrollbar { display: none; }
    body.site-body.storefront-theme .storefront-nav a { font-size: .7rem; padding-block: .5rem; }
    body.site-body.storefront-theme .storefront-nav a:first-child { margin-right: .35rem; }
    body.site-body.storefront-theme :is(.form-control, .form-select),
    body.site-body.storefront-theme .storefront-search .form-control { font-size: 1rem !important; }
    body.site-body.storefront-theme .home-offer-strip { align-items: flex-start; gap: .6rem; }
    body.site-body.storefront-theme .home-offer-strip > div:first-child { display: grid; gap: .15rem; }
    body.site-body.storefront-theme .storefront-intro { display: none; }
    body.site-body.storefront-theme .storefront-categories { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
    body.site-body.storefront-theme .storefront-categories__links a { font-size: .72rem; }
    body.site-body.storefront-theme .storefront-categories__links { scrollbar-width: none; }
    body.site-body.storefront-theme .storefront-categories__links::-webkit-scrollbar { display: none; }
    body.site-body.storefront-theme .home-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .65rem; }
    body.site-body.storefront-theme .home-section-heading > a { max-width: 90px; text-align: right; line-height: 1.5; }
    body.site-body.storefront-theme .home-section-heading p:last-child { display: none; }
    body.site-body.storefront-theme .home-section-heading p:last-child { font-size: .72rem; }
    body.site-body.storefront-theme .home-storefront { gap: 2rem; padding-top: 1.5rem !important; }
    body.site-body.storefront-theme .storefront-product { padding-top: 1rem !important; }
    body.site-body.storefront-theme .storefront-product__summary > .panel-card { padding: 1rem; }
    body.site-body.storefront-theme .storefront-product__summary h1 { font-size: 1.3rem; }
    body.site-body.storefront-theme .storefront-wishlist-button { width: 44px; height: 44px; }
    body.site-body.storefront-theme .product-card--brief .product-card__price { min-height: 44px; padding-right: 46px; }
    body.site-body.storefront-theme .product-cover-frame { max-width: 100%; height: 240px; aspect-ratio: auto; }
    body.site-body.storefront-theme .product-cover { padding: .8rem; }
    body.site-body.storefront-theme .storefront-product__summary form > .col-sm-4 { flex: 0 0 155px; width: 155px; }
    body.site-body.storefront-theme .storefront-product__summary form > .col-sm-8 { flex: 1 1 0; width: auto; min-width: 0; }
    body.site-body.storefront-theme .storefront-product__summary .kp-quantity { grid-template-columns: 36px minmax(38px, 50px) 36px; }
    body.site-body.storefront-theme .product-media-thumb { width: 56px; height: 56px; }
    body.site-body.storefront-theme .auth-side { padding: 1.2rem 1.3rem; text-align: left !important; }
    body.site-body.storefront-theme .auth-side h1 { font-size: 1.8rem; margin-bottom: .5rem !important; }
    body.site-body.storefront-theme .auth-side .eyebrow { margin-bottom: .5rem !important; }
    body.site-body.storefront-theme .auth-hero-copy { margin-bottom: 0 !important; font-size: .77rem; }
    body.site-body.storefront-theme .auth-form-panel { padding: 1.3rem; }
    body.site-body.storefront-theme .auth-form-header { text-align: left !important; }
    body.site-body.storefront-theme .auth-form-header .eyebrow { margin-bottom: .4rem !important; }
    body.site-body.storefront-theme .auth-form-copy { margin-bottom: 1rem !important; }
    body.site-body.storefront-theme .admin-disclosure > summary { padding: .75rem 1rem; gap: .25rem .75rem; }
    body.site-body.storefront-theme .admin-disclosure__title small { font-size: .58rem; }
    body.site-body.storefront-theme .admin-disclosure__title strong { font-size: .88rem; }
    body.site-body.storefront-theme .admin-disclosure__meta { border: 0; padding: 0; background: transparent; color: var(--kp-muted); font-size: .68rem; }
    body.site-body.storefront-theme .admin-disclosure__chevron { width: 30px; height: 30px; }
}
@media (max-width: 575.98px) {
    body.site-body.storefront-theme .brand-logo { width: 38px !important; height: 38px !important; }
    body.site-body.storefront-theme .brand-wording strong { font-size: 1.05rem !important; }
    body.site-body.storefront-theme .storefront-footer { padding-top: .8rem; }
    body.site-body.storefront-theme .storefront-footer__top { grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; }
    body.site-body.storefront-theme .storefront-footer__logo { gap: .4rem; }
    body.site-body.storefront-theme .storefront-footer__logo strong { font-size: 1.1rem; }
    body.site-body.storefront-theme .storefront-footer .storefront-footer__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: 1 / -1; grid-row: 2; }
    body.site-body.storefront-theme .storefront-footer__social { grid-column: 2; grid-row: 1; gap: .3rem; }
    body.site-body.storefront-theme .storefront-footer :is(.storefront-footer__actions, .storefront-footer__social) a { min-height: 44px; }
    body.site-body.storefront-theme .storefront-footer .storefront-footer__social a { width: 44px; }
    body.site-body.storefront-theme .storefront-footer .storefront-footer__links { column-gap: .85rem; }
    body.site-body.storefront-theme .storefront-footer__links a { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    body.site-body.storefront-theme *,
    body.site-body.storefront-theme *::before,
    body.site-body.storefront-theme *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
