:root {
    --flora-cream: #f7f0e7;
    --flora-cream-2: #fffaf5;
    --flora-olive: #43492c;
    --flora-olive-dark: #30351f;
    --flora-rose: #d8a18d;
    --flora-terracotta: #b97856;
    --flora-gold: #b48b56;
    --flora-text: #3e3a35;
    --flora-muted: #7d766e;
    --flora-border: #eadfd2;
}

html { scroll-behavior: smooth; }
body {
    font-family: 'Manrope', sans-serif;
    color: var(--flora-text);
    background: #fff;
}

h1, h2, h3, h4, h5, .brand-name, .footer-brand {
    font-family: 'Cormorant Garamond', serif;
}

a { color: inherit; }
.brand-logo { width: 54px; height: 54px; object-fit: contain; }
.brand-name { font-size: 1.65rem; font-weight: 700; color: var(--flora-olive); }
.nav-link { font-weight: 600; color: #5b574f; }
.nav-link:hover { color: var(--flora-terracotta); }
.dropdown-menu .dropdown-item { padding: .65rem .8rem; color: #514b44; font-weight: 600; }
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus { background: var(--flora-cream-2); color: var(--flora-olive); }

.btn-brand {
    background: var(--flora-olive);
    color: #fff;
    border: 1px solid var(--flora-olive);
    border-radius: 999px;
    padding: .7rem 1.15rem;
    font-weight: 700;
}
.btn-brand:hover, .btn-brand:focus { background: var(--flora-olive-dark); color: #fff; border-color: var(--flora-olive-dark); }
.btn-outline-brand {
    color: var(--flora-olive);
    border-color: var(--flora-olive);
    border-radius: 999px;
    font-weight: 700;
}
.btn-outline-brand:hover { background: var(--flora-olive); color: #fff; }
.cart-badge { background: var(--flora-terracotta); }

.hero {
    background:
      radial-gradient(circle at 75% 25%, rgba(216,161,141,.22), transparent 30%),
      linear-gradient(135deg, var(--flora-cream-2), var(--flora-cream));
    overflow: hidden;
}
.hero h1 { font-size: clamp(3rem, 7vw, 5.9rem); line-height: .92; color: var(--flora-olive); }
.hero p { color: #696258; max-width: 610px; font-size: 1.05rem; }
.hero-logo-wrap {
    width: min(470px, 88vw);
    aspect-ratio: 1;
    margin-inline: auto;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.48);
    border: 1px solid rgba(180,139,86,.32);
    box-shadow: 0 30px 70px rgba(103,78,53,.10);
}
.hero-logo { width: 88%; height: 88%; object-fit: contain; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .75rem;
    font-weight: 800;
    color: var(--flora-terracotta);
}

.section-title { color: var(--flora-olive); font-size: clamp(2.2rem, 5vw, 3.6rem); }
.section-subtitle { color: var(--flora-muted); max-width: 660px; }

.product-card {
    border: 1px solid var(--flora-border);
    border-radius: 22px;
    overflow: hidden;
    height: 100%;
    transition: transform .22s ease, box-shadow .22s ease;
    background: #fff;
}
.product-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(78,66,54,.10); }
.product-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: linear-gradient(145deg, #f8eee7, #efe1d3);
}
.product-image.logo-fallback { object-fit: contain; padding: 2rem; }
.product-category { color: var(--flora-terracotta); font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-title { font-size: 1.65rem; color: var(--flora-olive); }
.product-price { color: var(--flora-olive-dark); font-size: 1.14rem; font-weight: 800; }
.product-buy-actions .btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; }

.info-strip { background: var(--flora-olive); color: #fff; }
.info-icon {
    width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(255,255,255,.10); font-size: 1.25rem;
}
.soft-section { background: var(--flora-cream-2); }
.feature-card { border: 1px solid var(--flora-border); border-radius: 20px; background: #fff; padding: 1.4rem; height: 100%; }
.feature-card i { color: var(--flora-terracotta); font-size: 1.5rem; }

.page-hero { background: var(--flora-cream-2); border-bottom: 1px solid var(--flora-border); }
.page-hero h1 { color: var(--flora-olive); font-size: clamp(2.6rem, 6vw, 4.6rem); }

.form-control, .form-select {
    border-radius: 14px;
    border-color: #ddd2c7;
    padding: .8rem .95rem;
}
.form-control:focus, .form-select:focus { border-color: var(--flora-gold); box-shadow: 0 0 0 .2rem rgba(180,139,86,.13); }

.cart-item { border: 1px solid var(--flora-border); border-radius: 18px; background: #fff; }
.cart-thumb { width: 92px; height: 92px; object-fit: cover; border-radius: 14px; background: var(--flora-cream); }
.summary-card { border: 1px solid var(--flora-border); border-radius: 20px; background: var(--flora-cream-2); }

.whatsapp-note { border-left: 4px solid #25d366; background: #f5fff8; }

.site-footer { background: #2f3421; color: #f7f1e7; }
.footer-logo { width: 66px; height: 66px; object-fit: contain; filter: drop-shadow(0 4px 8px rgba(0,0,0,.12)); }
.footer-brand { font-size: 1.8rem; font-weight: 700; }
.site-footer h6 { color: #fff; }
.site-footer a { display: block; color: #e7dfd4; text-decoration: none; margin-bottom: .55rem; }
.site-footer a:hover { color: #fff; }
.footer-text { color: #cfc8be; }

/* Ações flutuantes */
.floating-actions {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1035;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .7rem;
}
.floating-cart {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    min-height: 54px;
    padding: .55rem .95rem .55rem .6rem;
    border-radius: 999px;
    background: var(--flora-olive);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 14px 35px rgba(37, 42, 25, .24);
    transition: transform .2s ease, background .2s ease;
}
.floating-cart:hover { color: #fff; background: var(--flora-olive-dark); transform: translateY(-2px); }
.floating-cart-icon {
    position: relative;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    font-size: 1.15rem;
}
.floating-cart-icon span {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--flora-terracotta);
    color: #fff;
    font-size: .68rem;
    line-height: 1;
}
.floating-whatsapp {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    text-decoration: none;
    font-size: 1.55rem;
    box-shadow: 0 14px 35px rgba(15, 129, 56, .28);
    transition: transform .2s ease, background .2s ease;
}
.floating-whatsapp:hover { color: #fff; background: #1fb85a; transform: translateY(-2px); }

.admin-shell { min-height: 100vh; background: #f7f5f2; }
.admin-card { border: 1px solid #e7e0d8; border-radius: 18px; background: #fff; }
.admin-logo { width: 86px; height: 86px; object-fit: contain; }

/* Checkout */
.checkout-page { background: #f8f9fa; min-height: 70vh; }
.checkout-title { color: var(--flora-olive); font-size: clamp(2.2rem, 5vw, 3.6rem); }
.checkout-card {
    background: #fff;
    border: 1px solid #e4e5e7;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(38, 42, 46, .03);
}
.checkout-card-header {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e9eaec;
    background: #fff;
}
.checkout-card-header h2 { font-family: 'Manrope', sans-serif; font-weight: 800; color: #2f3848; }
.checkout-card .form-label { color: #344054; font-size: .9rem; }
.checkout-card .form-control,
.checkout-card .form-select {
    min-height: 48px;
    border-radius: 9px;
    border-color: #d8dde5;
    background-color: #fff;
}
.checkout-card textarea.form-control { min-height: 104px; }
.checkout-subsection {
    padding: 1rem;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #fbfbfc;
}
.checkout-summary { top: 94px; }
.checkout-thumb {
    width: 82px;
    height: 82px;
    object-fit: cover;
    flex: 0 0 82px;
    border-radius: 10px;
    background: var(--flora-cream-2);
}
.checkout-thumb.logo-fallback { object-fit: contain; padding: .45rem; }
.delivery-own {
    display: flex;
    gap: .75rem;
    align-items: center;
    padding: .9rem 1rem;
    border-radius: 10px;
    color: #2b7a46;
    background: #eefaf1;
}
.delivery-own i { font-size: 1.3rem; }
.delivery-own small { display: block; color: #5e7c67; margin-top: .15rem; }
.checkout-submit .btn-brand { background: var(--flora-terracotta); border-color: var(--flora-terracotta); }
.checkout-submit .btn-brand:hover { background: #9f6043; border-color: #9f6043; }

/* Confirmação do pedido */
.success-icon {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 2.3rem;
    color: #fff;
    background: var(--flora-olive);
}
.order-flow { max-width: 560px; margin-inline: auto; }
.order-flow-item { display: flex; gap: 1rem; position: relative; padding-bottom: 1.5rem; }
.order-flow-item:last-child { padding-bottom: 0; }
.order-flow-item::before {
    content: '';
    position: absolute;
    left: 20px;
    top: 42px;
    bottom: 0;
    width: 1px;
    background: #ddd8d1;
}
.order-flow-item:last-child::before { display: none; }
.order-flow-item > span {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f1eee9;
    color: #7e776e;
    z-index: 1;
}
.order-flow-item.active > span { background: var(--flora-olive); color: #fff; }
.order-flow-item strong, .order-flow-item small { display: block; }
.order-flow-item small { color: var(--flora-muted); margin-top: .2rem; }

/* Painel */
.scroll-margin-top { scroll-margin-top: 95px; }
.admin-stat-card {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: 1rem 1.1rem;
    background: #fff;
    border: 1px solid #e7e0d8;
    border-radius: 16px;
    min-height: 92px;
}
.admin-stat-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    font-size: 1.25rem;
}
.admin-stat-card small { display: block; color: #7a746d; }
.admin-stat-card strong { display: block; font-size: 1.6rem; line-height: 1.1; color: #302d2a; }
.admin-orders-table .order-unread td { background: #fff8f5; }
.admin-orders-table .order-unread td:first-child { box-shadow: inset 3px 0 0 var(--flora-terracotta); }
.order-detail-card { overflow: hidden; }
.order-dl dt { color: #6f6a64; font-weight: 600; }
.order-dl dd { margin-bottom: .65rem; }
.min-w-0 { min-width: 0; }
.dev-log-table { font-size: .82rem; }
.dev-log-context { max-width: 420px; white-space: normal; word-break: break-word; }
.dev-log-context code { color: #5e554d; }

@media (max-width: 991.98px) {
    .navbar-collapse { padding: 1rem 0 .5rem; }
    .hero { text-align: center; }
    .hero p { margin-inline: auto; }
    .checkout-summary { position: static !important; }
}

@media (max-width: 575.98px) {
    .brand-name { font-size: 1.35rem; }
    .checkout-card-header, .checkout-card > .p-4, .checkout-submit { padding-left: 1rem !important; padding-right: 1rem !important; }
    .admin-stat-card { padding: .85rem; }
    .admin-stat-icon { width: 40px; height: 40px; flex-basis: 40px; }
    .floating-actions { right: 14px; bottom: 14px; }
    .floating-cart { min-height: 50px; padding-right: .8rem; }
    .floating-cart-icon { width: 36px; height: 36px; }
    .floating-whatsapp { width: 50px; height: 50px; font-size: 1.4rem; }
}


/* Home redesign */
.home-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(4.25rem, 8vw, 7.5rem) 0 clamp(3.5rem, 7vw, 6.5rem);
    background:
        radial-gradient(circle at 82% 20%, rgba(216,161,141,.20), transparent 28%),
        radial-gradient(circle at 13% 88%, rgba(180,139,86,.10), transparent 24%),
        linear-gradient(135deg, #fffaf5 0%, #f8f0e7 58%, #f4e8dd 100%);
}
.home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .5;
    background-image:
        linear-gradient(rgba(180,139,86,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(180,139,86,.045) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 86%);
}
.home-hero .container {
    position: relative;
    z-index: 2;
}
.home-hero-copy {
    max-width: 650px;
}
.eyebrow-dot {
    width: 7px;
    height: 7px;
    display: inline-block;
    border-radius: 50%;
    background: var(--flora-terracotta);
    box-shadow: 0 0 0 4px rgba(185,120,86,.08);
}
.home-hero h1 {
    max-width: 660px;
    margin: 1.15rem 0 1.35rem;
    color: var(--flora-olive);
    font-size: clamp(3.05rem, 5.9vw, 5.15rem);
    line-height: .96;
    letter-spacing: -.035em;
}
.home-hero-lead {
    max-width: 580px;
    margin: 0;
    color: #71695f;
    font-size: 1.03rem;
    line-height: 1.75;
}
.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.8rem;
}
.home-hero-actions .btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.home-whatsapp-link {
    border: 1px solid rgba(67,73,44,.28);
    border-radius: 999px;
    color: var(--flora-olive);
    background: rgba(255,255,255,.58);
    font-weight: 750;
}
.home-whatsapp-link:hover {
    color: var(--flora-olive-dark);
    background: #fff;
    border-color: rgba(67,73,44,.5);
}
.home-hero-trust {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: .75rem;
    max-width: 590px;
    margin-top: 2rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(67,73,44,.12);
}
.home-hero-trust > div {
    display: flex;
    align-items: center;
    gap: .7rem;
}
.home-hero-trust > div > span {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--flora-olive);
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(180,139,86,.15);
}
.home-hero-trust strong,
.home-hero-trust small {
    display: block;
}
.home-hero-trust strong {
    color: #4c4b42;
    font-size: .78rem;
}
.home-hero-trust small {
    margin-top: .1rem;
    color: #8a8178;
    font-size: .68rem;
    line-height: 1.35;
}

.home-hero-visual {
    position: relative;
    width: min(570px, 100%);
    min-height: 570px;
    margin-inline: auto;
    display: grid;
    place-items: center;
}
.hero-brand-panel {
    position: relative;
    z-index: 3;
    width: min(430px, 78vw);
    min-height: 470px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.35rem;
    border: 1px solid rgba(180,139,86,.22);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,250,245,.60)),
        rgba(255,255,255,.62);
    box-shadow:
        0 35px 80px rgba(91,72,54,.13),
        inset 0 1px 0 rgba(255,255,255,.85);
    backdrop-filter: blur(10px);
    transform: rotate(1.2deg);
}
.hero-brand-panel::before {
    content: '';
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(180,139,86,.14);
    border-radius: 25px;
    pointer-events: none;
}
.hero-brand-panel-top,
.hero-brand-panel-bottom {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
}
.hero-brand-panel-top {
    justify-content: space-between;
    gap: 1rem;
    padding: .25rem .4rem;
}
.hero-brand-panel-top span {
    color: #4b5136;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.05rem;
    font-weight: 700;
}
.hero-brand-panel-top small {
    color: #a18e80;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hero-brand-mark {
    position: relative;
    z-index: 2;
    min-height: 310px;
    display: grid;
    place-items: center;
}
.hero-brand-mark::before {
    content: '';
    position: absolute;
    width: 255px;
    height: 255px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(255,255,255,.96) 0 58%, rgba(216,161,141,.13) 59% 60%, transparent 61%);
    box-shadow: 0 18px 45px rgba(99,76,56,.08);
}
.hero-brand-mark img {
    position: relative;
    z-index: 2;
    width: min(235px, 72%);
    max-height: 245px;
    object-fit: contain;
    filter: drop-shadow(0 10px 22px rgba(74,58,41,.08));
}
.hero-brand-panel-bottom {
    justify-content: center;
    gap: .65rem;
    padding: .4rem;
    color: #948b80;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.hero-brand-panel-bottom i {
    color: var(--flora-rose);
    font-size: .58rem;
}
.hero-botanical {
    position: absolute;
    z-index: 1;
    border: 1px solid rgba(180,139,86,.18);
    border-radius: 50%;
}
.hero-botanical::before,
.hero-botanical::after {
    content: '';
    position: absolute;
    border-radius: 60% 40% 65% 35%;
    border: 1px solid rgba(67,73,44,.16);
    transform: rotate(32deg);
}
.hero-botanical-one {
    width: 470px;
    height: 470px;
    right: 5%;
    top: 8%;
}
.hero-botanical-one::before {
    width: 95px;
    height: 180px;
    right: -18px;
    top: 38px;
}
.hero-botanical-one::after {
    width: 72px;
    height: 142px;
    left: -8px;
    bottom: 35px;
    transform: rotate(-34deg);
}
.hero-botanical-two {
    width: 350px;
    height: 350px;
    left: 2%;
    bottom: 3%;
    border-style: dashed;
    opacity: .58;
}
.hero-product-float,
.hero-note-float {
    position: absolute;
    z-index: 5;
    left: -2%;
    bottom: 9%;
    width: min(310px, 70%);
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .75rem;
    border: 1px solid rgba(180,139,86,.18);
    border-radius: 18px;
    color: inherit;
    background: rgba(255,255,255,.91);
    text-decoration: none;
    box-shadow: 0 18px 45px rgba(83,66,49,.13);
    backdrop-filter: blur(10px);
}
.hero-product-float img {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    object-fit: cover;
    border-radius: 14px;
    background: var(--flora-cream);
}
.hero-product-float > div,
.hero-note-float > div {
    min-width: 0;
    flex: 1;
}
.hero-product-float small,
.hero-product-float strong,
.hero-product-float span,
.hero-note-float strong,
.hero-note-float small {
    display: block;
}
.hero-product-float small {
    color: var(--flora-terracotta);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hero-product-float strong {
    margin-top: .15rem;
    overflow: hidden;
    color: #454b36;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1rem;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.hero-product-float span {
    margin-top: .18rem;
    color: #766d64;
    font-size: .68rem;
    font-weight: 700;
}
.hero-product-float > i {
    color: #6e7459;
}
.hero-note-float > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    border-radius: 13px;
    background: #f5eee8;
    color: var(--flora-terracotta);
}
.hero-note-float strong {
    color: #48503a;
    font-size: .75rem;
}
.hero-note-float small {
    margin-top: .1rem;
    color: #8e857d;
    font-size: .65rem;
}
.hero-seal-float {
    position: absolute;
    z-index: 5;
    right: 0;
    top: 15%;
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .65rem .8rem;
    border-radius: 14px;
    color: #626950;
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(180,139,86,.16);
    box-shadow: 0 14px 35px rgba(83,66,49,.09);
    font-size: .64rem;
    font-weight: 700;
    line-height: 1.35;
}
.hero-seal-float i {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--flora-olive);
}

.home-assurance {
    position: relative;
    z-index: 3;
    margin-top: -1px;
    background: var(--flora-olive);
}
.home-assurance-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
}
.home-assurance-item {
    min-height: 96px;
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1.1rem 1.4rem;
    color: #fff;
}
.home-assurance-item + .home-assurance-item {
    border-left: 1px solid rgba(255,255,255,.11);
}
.home-assurance-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: rgba(255,255,255,.10);
    color: #f0d9cc;
}
.home-assurance-item strong,
.home-assurance-item small {
    display: block;
}
.home-assurance-item strong {
    font-size: .76rem;
}
.home-assurance-item small {
    margin-top: .15rem;
    color: rgba(255,255,255,.64);
    font-size: .65rem;
    line-height: 1.4;
}

.home-products-section {
    padding: clamp(4.8rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 0 0, rgba(216,161,141,.06), transparent 20%),
        #fff;
}
.home-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.25rem;
}
.home-section-head h2,
.home-how-head h2 {
    margin: .65rem 0 .45rem;
    color: var(--flora-olive);
    font-size: clamp(2.35rem, 4.4vw, 3.65rem);
    line-height: 1;
}
.home-section-head p,
.home-how-head p {
    max-width: 620px;
    margin: 0;
    color: #817970;
    font-size: .9rem;
}
.home-section-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: max-content;
    padding: .6rem .1rem;
    color: var(--flora-olive);
    text-decoration: none;
    font-size: .78rem;
    font-weight: 800;
    border-bottom: 1px solid rgba(67,73,44,.28);
}
.home-section-link:hover {
    color: var(--flora-terracotta);
    border-color: var(--flora-terracotta);
}

.home-product-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid #eee4da;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(83,66,49,.035);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.home-product-card:hover {
    transform: translateY(-6px);
    border-color: #dfcdbf;
    box-shadow: 0 24px 55px rgba(83,66,49,.105);
}
.home-product-media {
    position: relative;
    display: block;
    aspect-ratio: 1.18 / 1;
    overflow: hidden;
    background: #f6eee6;
    text-decoration: none;
}
.home-product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}
.home-product-card:hover .home-product-image {
    transform: scale(1.035);
}
.home-product-placeholder {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, rgba(255,255,255,.94), rgba(255,250,245,.80) 32%, transparent 33%),
        linear-gradient(145deg, #f8eee7 0%, #f1e2d6 100%);
}
.home-product-placeholder::before {
    content: '';
    position: absolute;
    width: 66%;
    aspect-ratio: 1;
    border: 1px solid rgba(180,139,86,.24);
    border-radius: 50%;
}
.home-product-placeholder img {
    position: relative;
    z-index: 2;
    width: 44%;
    max-height: 58%;
    object-fit: contain;
    filter: drop-shadow(0 10px 20px rgba(83,66,49,.07));
    transition: transform .35s ease;
}
.home-product-card:hover .home-product-placeholder img {
    transform: scale(1.035);
}
.placeholder-orbit {
    position: absolute;
    border: 1px solid rgba(180,139,86,.16);
    border-radius: 50%;
}
.orbit-one {
    width: 84%;
    aspect-ratio: 1;
    transform: translate(24%, -16%);
}
.orbit-two {
    width: 58%;
    aspect-ratio: 1;
    transform: translate(-42%, 34%);
    border-style: dashed;
}
.home-product-category {
    position: absolute;
    left: 1rem;
    top: 1rem;
    max-width: calc(100% - 5rem);
    padding: .42rem .65rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.70);
    border-radius: 999px;
    color: #725a4d;
    background: rgba(255,255,255,.83);
    backdrop-filter: blur(10px);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.home-product-open {
    position: absolute;
    right: 1rem;
    top: 1rem;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #4c523b;
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 20px rgba(65,52,39,.08);
    transition: transform .22s ease, background .22s ease, color .22s ease;
}
.home-product-card:hover .home-product-open {
    transform: rotate(7deg);
    color: #fff;
    background: var(--flora-olive);
}
.home-product-body {
    min-height: 245px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.35rem;
}
.home-product-body h3 {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.08;
}
.home-product-body h3 a {
    color: var(--flora-olive);
    text-decoration: none;
}
.home-product-body p {
    margin: .55rem 0 0;
    color: #817a73;
    font-size: .76rem;
    line-height: 1.55;
}
.home-product-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #f0ebe5;
}
.home-product-footer small,
.home-product-footer strong {
    display: block;
}
.home-product-footer small {
    margin-bottom: .15rem;
    color: #a09790;
    font-size: .6rem;
}
.home-product-footer strong {
    color: #363d29;
    font-size: 1rem;
}
.home-product-button {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #566043;
    text-decoration: none;
    font-size: .7rem;
    font-weight: 800;
}
.home-product-button i {
    transition: transform .2s ease;
}
.home-product-button:hover {
    color: var(--flora-terracotta);
}
.home-product-button:hover i {
    transform: translateX(3px);
}
.home-empty-products {
    min-height: 300px;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
    border: 1px dashed var(--flora-border);
    border-radius: 24px;
    background: #fffbf7;
}
.home-empty-products i {
    margin-bottom: .7rem;
    color: var(--flora-terracotta);
    font-size: 1.8rem;
}
.home-empty-products h3 {
    color: var(--flora-olive);
}
.home-empty-products p {
    color: var(--flora-muted);
}

.home-how-section {
    padding: clamp(4.8rem, 8vw, 7rem) 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.30)),
        #fbf5ef;
}
.home-how-head {
    max-width: 720px;
    margin: 0 auto 2.7rem;
}
.home-how-head p {
    margin-inline: auto;
}
.home-step-card {
    position: relative;
    min-height: 265px;
    height: 100%;
    overflow: hidden;
    padding: 1.55rem;
    border: 1px solid #eadfd4;
    border-radius: 22px;
    background: rgba(255,255,255,.78);
}
.home-step-card::after {
    content: '';
    position: absolute;
    right: -45px;
    bottom: -55px;
    width: 140px;
    height: 140px;
    border: 1px solid rgba(180,139,86,.13);
    border-radius: 50%;
}
.home-step-number {
    position: absolute;
    right: 1.35rem;
    top: 1.1rem;
    color: rgba(185,120,86,.42);
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.2rem;
    font-weight: 700;
}
.home-step-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 1.25rem;
    border-radius: 14px;
    color: var(--flora-terracotta);
    background: #f8eee7;
    font-size: 1.15rem;
}
.home-step-card h3 {
    color: var(--flora-olive);
    font-size: 1.5rem;
}
.home-step-card p {
    max-width: 90%;
    margin: .55rem 0 0;
    color: #817a73;
    font-size: .78rem;
    line-height: 1.6;
}

@media (max-width: 1199.98px) {
    .home-hero-visual {
        min-height: 520px;
    }
    .hero-brand-panel {
        width: min(390px, 80vw);
        min-height: 430px;
    }
    .hero-brand-mark {
        min-height: 280px;
    }
    .hero-brand-mark::before {
        width: 225px;
        height: 225px;
    }
}

@media (max-width: 991.98px) {
    .home-hero {
        padding-top: 4rem;
        text-align: left;
    }
    .home-hero-copy {
        margin-inline: auto;
        text-align: center;
    }
    .home-hero h1,
    .home-hero-lead {
        margin-left: auto;
        margin-right: auto;
    }
    .home-hero-actions,
    .home-hero-trust {
        justify-content: center;
    }
    .home-hero-trust {
        text-align: left;
        margin-inline: auto;
    }
    .home-hero-visual {
        min-height: 510px;
        margin-top: .5rem;
    }
    .home-assurance-grid {
        grid-template-columns: 1fr;
    }
    .home-assurance-item + .home-assurance-item {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.10);
    }
    .home-assurance-item {
        min-height: 82px;
    }
}

@media (max-width: 767.98px) {
    .home-hero {
        padding-top: 3.4rem;
        padding-bottom: 3.2rem;
    }
    .home-hero h1 {
        font-size: clamp(2.65rem, 13vw, 4rem);
    }
    .home-hero-trust {
        grid-template-columns: 1fr;
        max-width: 390px;
    }
    .home-hero-actions {
        flex-direction: column;
    }
    .home-hero-actions .btn {
        width: 100%;
    }
    .home-hero-visual {
        min-height: 440px;
    }
    .hero-brand-panel {
        width: min(350px, 86vw);
        min-height: 390px;
        border-radius: 28px;
    }
    .hero-brand-mark {
        min-height: 245px;
    }
    .hero-brand-mark::before {
        width: 200px;
        height: 200px;
    }
    .hero-brand-mark img {
        width: 60%;
        max-height: 205px;
    }
    .hero-product-float,
    .hero-note-float {
        left: 1%;
        bottom: 3%;
        width: min(280px, 76%);
    }
    .hero-seal-float {
        right: 0;
        top: 7%;
    }
    .home-section-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .home-product-body {
        min-height: 225px;
    }
}

@media (max-width: 575.98px) {
    .home-hero-visual {
        min-height: 400px;
    }
    .hero-brand-panel {
        width: 88vw;
        min-height: 360px;
        padding: 1rem;
    }
    .hero-brand-panel-top small,
    .hero-brand-panel-bottom {
        display: none;
    }
    .hero-brand-mark {
        min-height: 255px;
    }
    .hero-brand-mark::before {
        width: 195px;
        height: 195px;
    }
    .hero-note-float,
    .hero-product-float {
        bottom: -2%;
        left: 1%;
    }
    .hero-seal-float {
        top: 3%;
        right: -1%;
        padding: .55rem .65rem;
    }
    .home-assurance-item {
        padding-left: .9rem;
        padding-right: .9rem;
    }
    .home-products-section,
    .home-how-section {
        padding: 4rem 0;
    }
}


/* Header refinado */
.navbar-brand {
    padding-top: .15rem;
    padding-bottom: .15rem;
}
.brand-logo {
    width: 76px;
    height: 64px;
    object-fit: contain;
}
@media (max-width: 575.98px) {
    .brand-logo {
        width: 64px;
        height: 56px;
    }
}

/* Carrinho flutuante compacto */
.floating-cart {
    width: 54px;
    height: 54px;
    min-height: 54px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
}
.floating-cart-icon {
    width: 42px;
    height: 42px;
}
.floating-cart-text {
    display: none !important;
}

/* Carrossel de produtos da home */
.home-carousel-head-actions {
    display: flex;
    align-items: center;
    gap: 1.1rem;
}
.home-carousel-controls {
    display: flex;
    gap: .45rem;
}
.home-carousel-button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid #dfd7cf;
    border-radius: 50%;
    background: #fff;
    color: var(--flora-olive);
    transition: .2s ease;
}
.home-carousel-button:hover {
    color: #fff;
    background: var(--flora-olive);
    border-color: var(--flora-olive);
}
.home-products-carousel {
    position: relative;
}
.home-products-viewport {
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: .35rem .1rem 1.5rem;
}
.home-products-viewport::-webkit-scrollbar {
    display: none;
}
.home-products-track {
    display: flex;
    gap: 18px;
}
.home-product-slide {
    flex: 0 0 calc((100% - 54px) / 4);
    min-width: 0;
    scroll-snap-align: start;
}
.home-product-card.is-simple {
    border-radius: 18px;
    box-shadow: none;
    border-color: #ece7e1;
}
.home-product-card.is-simple:hover {
    transform: translateY(-3px);
    border-color: #d8cdc3;
    box-shadow: 0 14px 34px rgba(74,58,41,.08);
}
.home-product-card.is-simple .home-product-media {
    aspect-ratio: 1 / .92;
    background: #fff;
}
.home-product-card.is-simple .home-product-image {
    object-fit: contain;
    padding: .6rem;
    background: #fff;
}
.home-product-card.is-simple .home-product-placeholder {
    background: #fffaf6;
}
.home-product-featured {
    position: absolute;
    left: .85rem;
    top: .85rem;
    padding: .38rem .62rem;
    border-radius: 999px;
    background: #fff;
    color: var(--flora-terracotta);
    border: 1px solid #ead8cc;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    box-shadow: 0 7px 18px rgba(73,57,43,.06);
}
.home-product-card.is-simple .home-product-body {
    min-height: auto;
    gap: .85rem;
    padding: 1rem 1rem 1.05rem;
}
.home-product-copy {
    min-height: 72px;
}
.home-product-category-text {
    display: block;
    margin-bottom: .35rem;
    color: #a27661;
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.home-product-card.is-simple .home-product-body h3 {
    font-family: 'Manrope', sans-serif;
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.35;
    text-transform: uppercase;
}
.home-product-price-block small,
.home-product-price-block strong {
    display: block;
}
.home-product-price-block small {
    color: #8f8882;
    font-size: .64rem;
}
.home-product-price-block strong {
    margin-top: .05rem;
    color: #2f3421;
    font-size: 1.05rem;
}
.home-product-shop-button {
    width: 100%;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--flora-olive);
    color: #fff;
    text-decoration: none;
    font-size: .72rem;
    font-weight: 800;
    transition: .2s ease;
}
.home-product-shop-button:hover {
    color: #fff;
    background: var(--flora-olive-dark);
}
.catalog-category-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}
.catalog-subcategory-btn {
    border: 1px solid #e4ddd5;
    border-radius: 999px;
    background: #fff;
    color: #6f675f;
    font-weight: 700;
}
.catalog-subcategory-btn:hover,
.catalog-subcategory-btn.active {
    background: #f6eee7;
    border-color: #dfc9ba;
    color: var(--flora-terracotta);
}

@media (max-width: 1199.98px) {
    .home-product-slide {
        flex-basis: calc((100% - 36px) / 3);
    }
}
@media (max-width: 991.98px) {
    .home-product-slide {
        flex-basis: calc((100% - 18px) / 2);
    }
}
@media (max-width: 767.98px) {
    .home-carousel-head-actions {
        width: 100%;
        justify-content: space-between;
    }
    .home-product-slide {
        flex-basis: 82%;
    }
}


/* Footer claro */
.site-footer {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 0%, rgba(216,161,141,.10), transparent 26%),
        linear-gradient(180deg, #fffaf6 0%, #f7f0e8 100%);
    color: var(--flora-text);
    border-top: 1px solid #eadfd2;
}
.site-footer::before {
    content: '';
    position: absolute;
    width: 320px;
    height: 320px;
    right: -150px;
    bottom: -190px;
    border: 1px solid rgba(180,139,86,.14);
    border-radius: 50%;
}
.site-footer .container {
    position: relative;
    z-index: 2;
}
.footer-logo {
    width: 82px;
    height: 82px;
    padding: .25rem;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(73,56,40,.08));
}
.footer-brand {
    color: var(--flora-olive);
    font-size: 1.75rem;
}
.site-footer h6 {
    color: var(--flora-olive);
    font-weight: 800;
}
.site-footer a {
    color: #655f57;
}
.site-footer a:hover {
    color: var(--flora-terracotta);
}
.footer-text {
    color: #7d756c;
}
.site-footer hr {
    border-color: #ddd3c8;
    opacity: 1;
}
.site-footer small {
    color: #9a8e82;
}


/* Checkout - regiões atendidas */
.checkout-service-region-note {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .85rem 1rem;
    border: 1px solid #e7dfd6;
    border-radius: 12px;
    background: #fbf8f4;
}
.checkout-service-region-note > i {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #eef1e8;
    color: var(--flora-olive);
}
.checkout-service-region-note strong,
.checkout-service-region-note span {
    display: block;
}
.checkout-service-region-note strong {
    color: #3e4533;
    font-size: .78rem;
}
.checkout-service-region-note span {
    margin-top: .12rem;
    color: #817970;
    font-size: .7rem;
    line-height: 1.4;
}


/* Ajustes de checkout, footer e ações flutuantes */
.checkout-summary.sticky-lg-top {
    top: 104px !important;
    z-index: 20;
}
.checkout-summary-item {
    position: relative;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) 34px;
    align-items: center;
    gap: .8rem;
    padding: .15rem 0;
}
.checkout-summary-item + .checkout-summary-item {
    padding-top: .9rem;
    border-top: 1px solid #f0ece7;
}
.checkout-summary-item-info {
    min-width: 0;
}
.checkout-remove-item {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    align-self: start;
    margin-top: .15rem;
    border: 1px solid #ece5de;
    border-radius: 9px;
    background: #fff;
    color: #a08f84;
    transition: .18s ease;
}
.checkout-remove-item:hover {
    border-color: #e8c2c5;
    background: #fff5f5;
    color: #c44f58;
}
.checkout-remove-item i {
    font-size: .75rem;
}

.site-footer {
    margin-top: 0 !important;
    padding-top: 0;
}
.footer-brand-block {
    max-width: 360px;
}
.footer-logo {
    width: 112px;
    height: 96px;
    margin-bottom: .85rem;
    padding: 0;
}
.footer-brand-block .footer-text {
    max-width: 330px;
    line-height: 1.6;
}
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 2rem;
    color: #8d8278;
    font-size: .74rem;
}
.footer-credits {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .35rem;
}
.footer-credits a {
    color: var(--flora-olive);
    font-weight: 800;
    text-decoration: none;
}
.footer-credits a:hover {
    color: var(--flora-terracotta);
}
.footer-credits > span {
    color: #b3a79c;
}

.floating-actions {
    right: 20px;
    bottom: 20px;
}
.floating-cart {
    width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 !important;
    overflow: visible;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--flora-olive) !important;
    box-shadow: 0 10px 28px rgba(49, 55, 36, .22) !important;
}
.floating-cart:hover {
    background: var(--flora-olive-dark) !important;
    transform: translateY(-2px);
}
.floating-cart-icon {
    width: 54px !important;
    height: 54px !important;
    display: grid !important;
    place-items: center;
    position: relative;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
}
.floating-cart-icon > i {
    font-size: 1.05rem;
}
.floating-cart-icon > span {
    position: absolute;
    right: -3px;
    top: -4px;
    min-width: 21px;
    height: 21px;
    padding: 0 .3rem;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: var(--flora-terracotta);
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    line-height: 1;
}
.floating-whatsapp {
    box-shadow: 0 10px 28px rgba(25, 135, 84, .20);
}

@media (max-width: 991.98px) {
    .checkout-summary.sticky-lg-top {
        position: static !important;
        top: auto !important;
    }
}
@media (max-width: 767.98px) {
    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }
    .footer-credits {
        justify-content: flex-start;
    }
}


/* Catálogo */
.catalog-hero {
    position: relative;
    overflow: hidden;
    padding: 3rem 0 2.6rem;
    background:
        radial-gradient(circle at 88% 15%, rgba(216,161,141,.11), transparent 24%),
        linear-gradient(180deg, #fffaf6 0%, #fbf6f0 100%);
    border-bottom: 1px solid #eadfd2;
}
.catalog-hero-inner {
    position: relative;
    overflow: hidden;
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem 2.2rem;
    border: 1px solid rgba(180,139,86,.15);
    border-radius: 28px;
    background: rgba(255,255,255,.55);
    box-shadow: 0 16px 45px rgba(78,66,54,.045);
}
.catalog-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 760px;
}
.catalog-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .42rem;
    margin-bottom: 1.15rem;
    color: #a39a91;
    font-size: .68rem;
}
.catalog-breadcrumb a {
    color: #8a8278;
    text-decoration: none;
}
.catalog-breadcrumb a:hover {
    color: var(--flora-terracotta);
}
.catalog-breadcrumb i {
    font-size: .55rem;
    color: #bbb2a8;
}
.catalog-hero h1 {
    margin: .65rem 0 .7rem;
    color: var(--flora-olive);
    font-size: clamp(2.7rem, 5vw, 4.7rem);
    line-height: .98;
    letter-spacing: -.025em;
}
.catalog-hero-copy p {
    max-width: 650px;
    margin: 0;
    color: #7d766e;
    font-size: .9rem;
    line-height: 1.65;
}
.catalog-hero-meta {
    position: relative;
    z-index: 2;
    min-width: 260px;
    display: grid;
    gap: .75rem;
}
.catalog-hero-count,
.catalog-hero-service {
    border: 1px solid rgba(67,73,44,.09);
    border-radius: 16px;
    background: rgba(255,255,255,.80);
    backdrop-filter: blur(8px);
}
.catalog-hero-count {
    padding: 1rem 1.05rem;
}
.catalog-hero-count strong,
.catalog-hero-count span {
    display: block;
}
.catalog-hero-count strong {
    color: var(--flora-olive);
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.3rem;
    line-height: .9;
}
.catalog-hero-count span {
    margin-top: .35rem;
    color: #8c847c;
    font-size: .68rem;
    font-weight: 700;
}
.catalog-hero-service {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .85rem 1rem;
}
.catalog-hero-service > i {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--flora-terracotta);
    background: #f8eee8;
}
.catalog-hero-service strong,
.catalog-hero-service span {
    display: block;
}
.catalog-hero-service strong {
    color: #4d533e;
    font-size: .72rem;
}
.catalog-hero-service span {
    margin-top: .1rem;
    color: #978f87;
    font-size: .63rem;
}
.catalog-hero-orbit {
    position: absolute;
    border: 1px solid rgba(180,139,86,.11);
    border-radius: 50%;
    pointer-events: none;
}
.catalog-hero-orbit.orbit-a {
    width: 310px;
    height: 310px;
    right: -120px;
    top: -150px;
}
.catalog-hero-orbit.orbit-b {
    width: 190px;
    height: 190px;
    right: 115px;
    bottom: -125px;
    border-style: dashed;
}

.catalog-section {
    padding: 2.8rem 0 5.5rem;
    background: #fff;
}
.catalog-filter-panel {
    margin-bottom: 2.3rem;
    padding: 1rem 1.05rem;
    border: 1px solid #ece5dd;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(78,66,54,.035);
}
.catalog-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .1rem .15rem .9rem;
    border-bottom: 1px solid #f1ece6;
}
.catalog-filter-kicker {
    display: block;
    color: #a98a78;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.catalog-filter-head h2 {
    margin: .12rem 0 0;
    color: #3a402f;
    font-family: 'Manrope', sans-serif;
    font-size: .9rem;
    font-weight: 800;
}
.catalog-clear-filter {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #8b8178;
    text-decoration: none;
    font-size: .66rem;
    font-weight: 700;
}
.catalog-clear-filter:hover {
    color: var(--flora-terracotta);
}
.catalog-filter-groups {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    padding-top: .9rem;
}
.catalog-filter-pill,
.catalog-filter-root,
.catalog-filter-child {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .18s ease;
}
.catalog-filter-all {
    gap: .4rem;
    padding: .55rem .8rem;
    border: 1px solid #e1ddd6;
    border-radius: 12px;
    color: #676159;
    background: #fff;
    font-size: .68rem;
    font-weight: 800;
}
.catalog-filter-all:hover,
.catalog-filter-all.active {
    color: #fff;
    background: var(--flora-olive);
    border-color: var(--flora-olive);
}
.catalog-filter-group {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap;
    padding: .25rem;
    border: 1px solid #ece7e1;
    border-radius: 13px;
    background: #fbfaf8;
}
.catalog-filter-root {
    gap: .4rem;
    padding: .48rem .7rem;
    border-radius: 9px;
    color: #586049;
    background: #f0f2eb;
    font-size: .67rem;
    font-weight: 850;
}
.catalog-filter-root:hover,
.catalog-filter-root.active {
    color: #fff;
    background: var(--flora-olive);
}
.catalog-filter-child {
    padding: .48rem .68rem;
    border-radius: 9px;
    color: #7b746d;
    font-size: .66rem;
    font-weight: 700;
}
.catalog-filter-child:hover,
.catalog-filter-child.active {
    color: var(--flora-terracotta);
    background: #f9eee8;
}

.catalog-results-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.35rem;
}
.catalog-results-kicker {
    display: block;
    color: var(--flora-terracotta);
    font-size: .6rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.catalog-results-head h2 {
    margin: .18rem 0 0;
    color: #3a402f;
    font-family: 'Manrope', sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
}
.catalog-results-note {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #8c857d;
    font-size: .66rem;
    font-weight: 700;
}
.catalog-results-note i {
    color: var(--flora-olive);
}

.catalog-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.catalog-product-card {
    overflow: hidden;
    border: 1px solid #ebe5df;
    border-radius: 18px;
    background: #fff;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.catalog-product-card:hover {
    transform: translateY(-4px);
    border-color: #d8cdc3;
    box-shadow: 0 18px 40px rgba(78,66,54,.08);
}
.catalog-product-media {
    position: relative;
    display: block;
    aspect-ratio: 1 / .88;
    overflow: hidden;
    background: #f9f3ed;
}
.catalog-product-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: .55rem;
    transition: transform .35s ease;
}
.catalog-product-media img:not(.logo-fallback) {
    object-fit: cover;
    padding: 0;
}
.catalog-product-card:hover .catalog-product-media img {
    transform: scale(1.025);
}
.catalog-product-featured {
    position: absolute;
    left: .75rem;
    top: .75rem;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .34rem .55rem;
    border: 1px solid rgba(180,139,86,.20);
    border-radius: 999px;
    color: #a86e4f;
    background: rgba(255,255,255,.90);
    box-shadow: 0 7px 18px rgba(73,57,43,.05);
    font-size: .55rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.catalog-product-arrow {
    position: absolute;
    right: .75rem;
    top: .75rem;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #4e563f;
    background: rgba(255,255,255,.92);
    box-shadow: 0 7px 18px rgba(73,57,43,.06);
    transition: .2s ease;
}
.catalog-product-card:hover .catalog-product-arrow {
    color: #fff;
    background: var(--flora-olive);
}
.catalog-product-content {
    padding: 1rem;
}
.catalog-product-category {
    display: block;
    overflow: hidden;
    margin-bottom: .4rem;
    color: #a57861;
    font-size: .56rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.catalog-product-content h3 {
    margin: 0;
    font-family: 'Manrope', sans-serif;
    font-size: .93rem;
    font-weight: 800;
    line-height: 1.35;
}
.catalog-product-content h3 a {
    color: #343b2b;
    text-decoration: none;
}
.catalog-product-content p {
    min-height: 54px;
    margin: .45rem 0 .8rem;
    color: #8b837c;
    font-size: .68rem;
    line-height: 1.5;
}
.catalog-product-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: .7rem;
    padding-top: .8rem;
    border-top: 1px solid #f0ece7;
}
.catalog-product-price small,
.catalog-product-price strong {
    display: block;
}
.catalog-product-price small {
    color: #aaa198;
    font-size: .56rem;
}
.catalog-product-price strong {
    margin-top: .04rem;
    color: #2f3421;
    font-size: .9rem;
}
.catalog-product-cta {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-width: max-content;
    color: #5d654c;
    text-decoration: none;
    font-size: .62rem;
    font-weight: 850;
}
.catalog-product-cta i {
    transition: transform .18s ease;
}
.catalog-product-cta:hover {
    color: var(--flora-terracotta);
}
.catalog-product-cta:hover i {
    transform: translateX(3px);
}
.catalog-empty-state {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    border: 1px dashed #dfd5cc;
    border-radius: 20px;
    text-align: center;
    background: #fffaf6;
}
.catalog-empty-state > span {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin-bottom: .9rem;
    border-radius: 16px;
    color: var(--flora-terracotta);
    background: #f7ebe4;
    font-size: 1.4rem;
}
.catalog-empty-state h2 {
    color: var(--flora-olive);
    font-size: 1.7rem;
}
.catalog-empty-state p {
    color: #8a8178;
    font-size: .78rem;
}

/* Crédito do rodapé alinhado */
.footer-credits {
    line-height: 1;
}
.footer-credits a,
.footer-credits > span {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    line-height: 1;
}
.footer-credits a {
    padding: 0;
}
.footer-bottom > span {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
}

@media (max-width: 1199.98px) {
    .catalog-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 991.98px) {
    .catalog-hero-inner {
        align-items: flex-start;
        flex-direction: column;
    }
    .catalog-hero-meta {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .catalog-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767.98px) {
    .catalog-hero {
        padding: 1.2rem 0 1.5rem;
    }
    .catalog-hero-inner {
        min-height: 0;
        padding: 1.35rem;
        border-radius: 20px;
    }
    .catalog-hero h1 {
        font-size: 2.7rem;
    }
    .catalog-hero-meta {
        grid-template-columns: 1fr;
    }
    .catalog-filter-head,
    .catalog-results-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .catalog-results-note {
        margin-top: .15rem;
    }
}
@media (max-width: 575.98px) {
    .catalog-product-grid {
        grid-template-columns: 1fr;
    }
    .catalog-filter-panel {
        padding: .85rem;
    }
    .catalog-filter-groups {
        align-items: stretch;
        flex-direction: column;
    }
    .catalog-filter-all,
    .catalog-filter-group {
        width: 100%;
    }
    .catalog-filter-group {
        align-items: stretch;
        flex-direction: column;
    }
    .catalog-filter-root,
    .catalog-filter-child {
        width: 100%;
        justify-content: flex-start;
    }
}


/* Catálogo sem hero */
.catalog-section-without-hero {
    padding-top: 1.6rem;
}
.catalog-section-without-hero .catalog-filter-panel {
    margin-top: 0;
}
@media (max-width: 767.98px) {
    .catalog-section-without-hero {
        padding-top: 1rem;
    }
}


/* Página de produto detalhada */
.product-detail-page {
    padding: 3rem 0 5.5rem;
    background:
        radial-gradient(circle at 4% 2%, rgba(216,161,141,.06), transparent 22%),
        #fff;
}
.product-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2.4rem, 5vw, 5rem);
    align-items: start;
}
.product-detail-media-column {
    min-width: 0;
}
.product-detail-media-card {
    position: relative;
    overflow: hidden;
    padding: 1rem;
    border: 1px solid var(--flora-border);
    border-radius: 26px;
    background: #fff;
}
.product-detail-image {
    width: 100%;
    aspect-ratio: 1 / .92;
    display: block;
    border-radius: 20px;
    object-fit: cover;
    background: linear-gradient(145deg, #faf2eb, #f2e5d9);
}
.product-detail-image.logo-fallback {
    object-fit: contain;
    padding: 2.5rem;
}
.product-detail-featured {
    position: absolute;
    z-index: 2;
    left: 1.8rem;
    top: 1.8rem;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .65rem;
    border: 1px solid rgba(180,139,86,.22);
    border-radius: 999px;
    color: var(--flora-terracotta);
    background: rgba(255,255,255,.92);
    box-shadow: 0 8px 24px rgba(78,66,54,.08);
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.product-detail-mini-features {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .75rem;
    margin-top: .85rem;
}
.product-detail-mini-features > div {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .85rem;
    border: 1px solid #eee8e2;
    border-radius: 14px;
    background: #fbfaf8;
}
.product-detail-mini-features > div > span {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #f4eee8;
    color: var(--flora-terracotta);
}
.product-detail-mini-features strong,
.product-detail-mini-features small {
    display: block;
}
.product-detail-mini-features strong {
    color: #3e4435;
    font-size: .7rem;
}
.product-detail-mini-features small {
    margin-top: .12rem;
    color: #8f8780;
    font-size: .61rem;
    line-height: 1.4;
}
.product-detail-main {
    padding-top: .45rem;
}
.product-detail-back {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #8a8279;
    text-decoration: none;
    font-size: .72rem;
    font-weight: 700;
}
.product-detail-back:hover {
    color: var(--flora-terracotta);
}
.product-detail-category {
    display: block;
    margin-top: 1.5rem;
    color: var(--flora-terracotta);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.product-detail-main h1 {
    max-width: 650px;
    margin: .65rem 0 1rem;
    color: var(--flora-olive);
    font-size: clamp(2.8rem, 5vw, 4.6rem);
    line-height: .98;
    letter-spacing: -.025em;
}
.product-detail-price small,
.product-detail-price strong {
    display: block;
}
.product-detail-price small {
    color: #a09992;
    font-size: .62rem;
}
.product-detail-price strong {
    margin-top: .1rem;
    color: #2f3421;
    font-size: 1.45rem;
}
.product-detail-lead {
    max-width: 680px;
    margin: 1.55rem 0 0;
    color: #7e7770;
    font-size: .9rem;
    line-height: 1.7;
}
.product-detail-info-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .65rem;
    margin-top: 1.6rem;
}
.product-detail-info-grid > div {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 72px;
    padding: .8rem;
    border: 1px solid #ece8e3;
    border-radius: 13px;
    background: #fff;
}
.product-detail-info-grid > div > span {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #65704f;
    background: #eff2ea;
}
.product-detail-info-grid small,
.product-detail-info-grid strong {
    display: block;
}
.product-detail-info-grid small {
    color: #9b948d;
    font-size: .58rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.product-detail-info-grid strong {
    margin-top: .12rem;
    color: #43493b;
    font-size: .68rem;
}
.product-detail-purchase {
    margin-top: 1.6rem;
    padding-top: 1.4rem;
    border-top: 1px solid #ece8e3;
}
.product-detail-quantity > label {
    display: block;
    margin-bottom: .5rem;
    color: #484d40;
    font-size: .72rem;
    font-weight: 800;
}
.product-quantity-control {
    width: 168px;
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    overflow: hidden;
    border: 1px solid #ddd6ce;
    border-radius: 12px;
    background: #fff;
}
.product-quantity-control button {
    border: 0;
    background: #f7f5f1;
    color: #596147;
    transition: .18s ease;
}
.product-quantity-control button:hover {
    background: #eef1e8;
}
.product-quantity-control input {
    width: 100%;
    height: 46px;
    padding: 0;
    border: 0;
    outline: 0;
    text-align: center;
    color: #33382b;
    font-weight: 800;
    appearance: textfield;
}
.product-quantity-control input::-webkit-inner-spin-button,
.product-quantity-control input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.product-detail-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
    margin-top: .9rem;
}
.product-add-cart,
.product-buy-now {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border-radius: 13px;
    font-size: .76rem;
    font-weight: 850;
}
.product-add-cart {
    border: 1px solid var(--flora-olive);
    color: var(--flora-olive);
    background: #fff;
}
.product-add-cart:hover {
    color: #fff;
    background: var(--flora-olive);
}
.product-buy-now {
    border: 1px solid var(--flora-olive);
    color: #fff;
    background: var(--flora-olive);
}
.product-buy-now:hover {
    color: #fff;
    background: var(--flora-olive-dark);
    border-color: var(--flora-olive-dark);
}
.product-detail-order-note {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin-top: 1rem;
    padding: .9rem 1rem;
    border-left: 3px solid #6ca17a;
    border-radius: 11px;
    background: #f4fbf6;
}
.product-detail-order-note > i {
    color: #5d956c;
    margin-top: .05rem;
}
.product-detail-order-note strong,
.product-detail-order-note span {
    display: block;
}
.product-detail-order-note strong {
    color: #4b674f;
    font-size: .7rem;
}
.product-detail-order-note span {
    margin-top: .14rem;
    color: #738176;
    font-size: .64rem;
    line-height: 1.5;
}

.product-about-section {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr);
    gap: 1.25rem;
    margin-top: 4.5rem;
}
.product-about-main,
.product-service-card {
    border: 1px solid #ece5de;
    border-radius: 20px;
    background: #fff;
}
.product-about-main {
    padding: 1.6rem;
}
.product-about-main h2 {
    margin: .55rem 0 1rem;
    color: var(--flora-olive);
    font-size: 2rem;
}
.product-description-card {
    padding-top: 1rem;
    border-top: 1px solid #eee9e4;
}
.product-description-card p {
    margin: 0;
    color: #756f68;
    font-size: .82rem;
    line-height: 1.8;
}
.product-service-card {
    padding: 1.5rem;
    background: #fbfaf7;
}
.product-service-kicker {
    color: var(--flora-terracotta);
    font-size: .6rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.product-service-card h3 {
    margin: .35rem 0 1.1rem;
    color: var(--flora-olive);
    font-size: 1.8rem;
}
.product-service-steps {
    display: grid;
    gap: .9rem;
}
.product-service-steps > div {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
}
.product-service-steps > div > span {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eef1e8;
    color: #5f694e;
    font-size: .6rem;
    font-weight: 850;
}
.product-service-steps strong,
.product-service-steps small {
    display: block;
}
.product-service-steps strong {
    color: #454b3b;
    font-size: .72rem;
}
.product-service-steps small {
    margin-top: .12rem;
    color: #8a837c;
    font-size: .63rem;
    line-height: 1.5;
}

.product-help-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 1rem 1.15rem;
    border: 1px solid #e6e4dd;
    border-radius: 16px;
    background: linear-gradient(90deg, #f6f8f2, #fff);
}
.product-help-strip > div {
    display: flex;
    align-items: center;
    gap: .75rem;
}
.product-help-strip > div > span {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #eaf7ee;
    color: #3a8e57;
}
.product-help-strip strong,
.product-help-strip small {
    display: block;
}
.product-help-strip strong {
    color: #404738;
    font-size: .76rem;
}
.product-help-strip small {
    margin-top: .12rem;
    color: #8d877f;
    font-size: .64rem;
}
.product-help-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .6rem .9rem;
    border: 1px solid #dfe4da;
    border-radius: 11px;
    color: #46533d;
    background: #fff;
    font-size: .7rem;
    font-weight: 800;
}
.product-help-button:hover {
    color: #fff;
    background: var(--flora-olive);
    border-color: var(--flora-olive);
}

.product-related-section {
    margin-top: 4rem;
}
.product-related-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.3rem;
}
.product-related-head h2 {
    margin: .5rem 0 0;
    color: var(--flora-olive);
    font-size: 2.2rem;
}
.product-related-head > a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #687054;
    text-decoration: none;
    font-size: .68rem;
    font-weight: 800;
}
.product-related-head > a:hover {
    color: var(--flora-terracotta);
}
.product-related-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 1rem;
}

@media (max-width: 991.98px) {
    .product-detail-grid,
    .product-about-section {
        grid-template-columns: 1fr;
    }
    .product-detail-main {
        padding-top: 0;
    }
    .product-related-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 767.98px) {
    .product-detail-page {
        padding: 1.5rem 0 4rem;
    }
    .product-detail-mini-features,
    .product-detail-info-grid,
    .product-detail-actions,
    .product-related-grid {
        grid-template-columns: 1fr;
    }
    .product-detail-main h1 {
        font-size: 2.8rem;
    }
    .product-help-strip,
    .product-related-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .product-help-button {
        width: 100%;
        justify-content: center;
    }
}


/* Ajuste de escala do hero */
.home-hero-copy {
    max-width: 600px;
}
.home-hero h1 {
    max-width: 600px;
    font-size: clamp(2.8rem, 4.55vw, 4.25rem);
    line-height: .99;
    letter-spacing: -.03em;
}
@media (max-width: 767.98px) {
    .home-hero h1 {
        font-size: clamp(2.45rem, 10vw, 3.25rem);
        line-height: 1;
    }
}
