/* ==========================================================================
   Flora Decor — main.css

   Nenhuma cor, fonte, medida, raio, sombra ou imagem está fixada aqui.
   Tudo é lido das variáveis geradas por Identidade Visual (flora_identity_css),
   sempre com um valor de segurança no var() para o caso de o painel ainda não
   ter sido salvo nenhuma vez. Para mudar a aparência do site basta usar o
   painel: este arquivo não precisa ser editado.
   ========================================================================== */

/* ---------- Reset e base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
	margin:0;
	background:var(--flora-bg,#faf7f2);
	color:var(--flora-ink,#2b2b2b);
	font-family:var(--flora-font-body,system-ui,-apple-system,Segoe UI,Roboto,sans-serif);
	font-size:var(--flora-text-size,16px);
	font-weight:var(--flora-weight-text,400);
	line-height:var(--flora-line-height,1.6);
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

h1,h2,h3,h4{
	font-family:var(--flora-font-title,Georgia,serif);
	font-weight:var(--flora-weight-title,600);
	line-height:var(--flora-line-height-ttl,1.2);
	letter-spacing:var(--flora-letter-spacing,0px);
	text-transform:var(--flora-transform-title,none);
	color:var(--flora-title,#2b2b2b);
	margin:0 0 .4em;
}
h1{font-size:var(--flora-h1-size,44px)}
h2{font-size:var(--flora-title-size,34px)}

.flora-container{
	width:100%;
	max-width:var(--flora-container,1200px);
	margin:0 auto;
	padding:0 var(--flora-gutter,24px);
}

/* Destaque *entre asteriscos* nos títulos. */
.flora-accent{color:var(--flora-accent,#c9a86a);font-style:var(--flora-accent-style,italic)}

.flora-skip{position:absolute;left:-9999px}
.flora-skip:focus{left:8px;top:8px;background:var(--flora-card,#fff);padding:8px 14px;z-index:100;border-radius:var(--flora-radius,14px)}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}

/* Ocultar por dispositivo (controlado por seção no painel). */
@media(max-width:1024px){.flora-hide-tb{display:none!important}}
@media(max-width:768px){.flora-hide-mb{display:none!important}}

/* ---------- Imagens responsivas ---------- */
.flora-picture{display:block;width:100%;height:100%}
.flora-picture img{width:100%;height:100%;object-fit:cover}

/* ---------- Ícones (família única, do painel) ---------- */
.flora-icon{display:inline-block;vertical-align:middle;flex:0 0 auto;color:currentColor}
.flora-btn__i,.flora-topbar__i,.flora-footer__i,.flora-loja__i,.flora-burger__i,.flora-caret__i,.flora-pagination__i,.flora-crumbs__sep,.flora-archive__notice-i,.flora-single__permanent-i,.flora-hero__badge-i,.flora-hero__field-i,.flora-searchform__ico{display:inline-flex;align-items:center;justify-content:center;line-height:0}

/* ---------- Botões ---------- */
.flora-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	padding:var(--flora-btn-py,13px) var(--flora-btn-px,24px);
	border-radius:var(--flora-radius-btn,10px);
	font-family:var(--flora-font-btn,system-ui,sans-serif);
	font-weight:var(--flora-weight-btn,600);
	font-size:var(--flora-btn-size,15px);
	text-transform:var(--flora-btn-transform,none);
	text-decoration:none;
	border:var(--flora-btn-border,0) solid transparent;
	cursor:pointer;
	transition:transform .18s ease,filter .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.flora-btn:hover{transform:translateY(-1px)}

/* Principal */
.flora-btn--primary{background:var(--flora-button,#2f4a35);color:var(--flora-button-text,#fff);border-color:var(--flora-button,#2f4a35);box-shadow:var(--flora-btn-shadow,none)}
.flora-btn--primary:hover{background:var(--flora-button-hover,#263c2b);border-color:var(--flora-button-hover,#263c2b)}

/* Secundário */
.flora-btn--outline,.flora-btn--secondary{background:transparent;border-width:max(var(--flora-btn-border,0px),1.5px);border-color:var(--flora-primary,#2f4a35);color:var(--flora-primary,#2f4a35)}
.flora-btn--outline:hover,.flora-btn--secondary:hover{background:var(--flora-primary,#2f4a35);color:var(--flora-button-text,#fff)}

/* WhatsApp */
.flora-btn--wa{background:var(--flora-wa,#25D366);color:#fff;border-color:var(--flora-wa,#25D366);box-shadow:var(--flora-btn-shadow,none)}
.flora-btn--wa:hover{filter:brightness(.96)}

/* Campanha */
.flora-btn--campaign{background:var(--flora-campaign,#c9a86a);color:var(--flora-button-text,#fff);border-color:var(--flora-campaign,#c9a86a);box-shadow:var(--flora-btn-shadow,none)}
.flora-btn--campaign:hover{filter:brightness(1.06)}

/* Discreto */
.flora-btn--quiet{background:transparent;color:var(--flora-muted,#7a7a72);border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}
.flora-btn--quiet:hover{color:var(--flora-primary,#2f4a35);text-decoration:underline}

.flora-btn--lg{padding:calc(var(--flora-btn-py,13px) + 3px) calc(var(--flora-btn-px,24px) + 10px);font-size:calc(var(--flora-btn-size,15px) + 2px)}
.flora-btn--block{width:100%}

/* ---------- Barra superior ---------- */
.flora-topbar{background:var(--flora-topbar-bg,#2f4a35);color:var(--flora-topbar-text,#eef3ea);font-size:12.5px}
.flora-topbar__inner{display:flex;justify-content:center;gap:26px;align-items:center;min-height:36px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.flora-topbar a{color:inherit;text-decoration:none}
.flora-topbar a:hover{text-decoration:underline}
.flora-topbar__item{display:inline-flex;align-items:center;gap:7px}
.flora-topbar__sep{opacity:.85}
.flora-topbar__wa{font-weight:600}

/* ---------- Cabeçalho ---------- */
.flora-header{
	position:relative;z-index:50;
	background:var(--flora-header-bg,#fff);
	color:var(--flora-header-text,#2b2b2b);
	border-bottom:1px solid var(--flora-border,#ece7dd);
}
.flora-header--sticky{position:sticky;top:0;backdrop-filter:saturate(1.2) blur(6px)}
.flora-header--transparent{background:transparent;border-bottom-color:transparent}
.flora-header--transparent.is-scrolled{background:var(--flora-header-bg,#fff);border-bottom-color:var(--flora-border,#ece7dd)}
.flora-header__inner{display:flex;align-items:center;gap:24px;min-height:var(--flora-header-height,74px)}
.flora-header__brand{display:flex;align-items:center;gap:12px}

/* Alinhamento da logomarca, escolhido no painel. */
.flora-header--logo-center .flora-header__inner{position:relative}
.flora-header--logo-center .flora-header__brand{position:absolute;left:50%;transform:translateX(-50%)}
.flora-header--logo-center .flora-nav{margin-left:0}
.flora-header--logo-center .flora-header__actions{margin-left:auto}
.flora-header--logo-right .flora-header__brand{order:3;margin-left:auto}
.flora-header--logo-right .flora-nav{order:1;margin-left:0;margin-right:auto}
.flora-header--logo-right .flora-header__actions{order:2;margin-left:0}

/* Logomarca — largura sempre por variável, imagem sempre da Biblioteca de Mídia. */
.flora-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}
.flora-logo__img{max-width:var(--flora-logo-w,180px);width:auto;max-height:calc(var(--flora-header-height,74px) - 22px);height:auto;object-fit:contain}
.flora-logo__mark{color:var(--flora-primary,#2f4a35);display:inline-flex;align-items:center}
.flora-logo__text{font-family:var(--flora-font-title,Georgia,serif);font-size:22px;font-weight:700;color:var(--flora-primary,#2f4a35)}
.flora-logo--light .flora-logo__text,.flora-logo--light .flora-logo__mark{color:var(--flora-footer-text,#fff)}
.flora-logo--footer .flora-logo__img{max-width:var(--flora-footer-logo-w,150px);max-height:none}
.custom-logo{max-height:48px;width:auto}

/* Menu */
.flora-nav{margin-left:auto}
.flora-menu{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center}
.flora-menu>li{position:relative}
.flora-menu>li>a{
	display:inline-flex;align-items:center;gap:5px;padding:10px 14px;text-decoration:none;
	color:var(--flora-header-text,#2b2b2b);
	font-family:var(--flora-font-menu,system-ui,sans-serif);
	font-weight:500;font-size:var(--flora-menu-size,15px);
	border-radius:calc(var(--flora-radius,14px) / 2);
	transition:color .18s,background .18s;
}
.flora-menu>li>a:hover,.flora-menu>li.is-open>a{color:var(--flora-primary,#2f4a35);background:var(--flora-bg-soft,#f3efe8)}
.flora-caret{opacity:.7;display:inline-flex}
.flora-caret__i{color:currentColor}

.flora-header__actions{display:flex;gap:6px;align-items:center}
.flora-iconbtn{
	width:42px;height:42px;border:0;background:var(--flora-bg-soft,#f3efe8);border-radius:50%;
	display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;
	color:var(--flora-icon,#2f4a35);transition:background .18s,transform .18s;
}
.flora-iconbtn:hover{filter:brightness(.96);transform:translateY(-1px)}
.flora-iconbtn--wa{background:var(--flora-wa,#25D366);color:#fff}

.flora-burger{display:none;width:40px;height:40px;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center;color:var(--flora-header-text,#2b2b2b)}

/* Mega menu */
.flora-has-mega .flora-mega{
	position:absolute;top:calc(100% + 8px);left:0;min-width:520px;
	background:var(--flora-card,#fff);border:1px solid var(--flora-border,#ece7dd);
	border-radius:var(--flora-radius,14px);box-shadow:var(--flora-shadow,0 14px 30px rgba(47,74,53,.10));
	padding:18px;opacity:0;visibility:hidden;transform:translateY(6px);
	transition:opacity .18s,transform .18s,visibility .18s;z-index:60;
}
.flora-has-mega:hover .flora-mega,.flora-has-mega:focus-within .flora-mega{opacity:1;visibility:visible;transform:translateY(0)}
.flora-mega__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 18px}
.flora-mega__link{padding:8px 10px;border-radius:calc(var(--flora-radius,14px) / 2);text-decoration:none;color:var(--flora-ink,#2b2b2b);font-size:14px;transition:background .15s,color .15s}
.flora-mega__link:hover{background:var(--flora-bg-soft,#f3efe8);color:var(--flora-primary,#2f4a35)}

/* ---------- Busca ---------- */
.flora-searchbar{border-top:1px solid var(--flora-border,#ece7dd);background:var(--flora-bg-alt,#fff);padding:16px 0;position:relative}
.flora-searchform{
	display:flex;align-items:center;gap:10px;
	background:var(--flora-field,#f7f4ef);border:1px solid var(--flora-border,#ece7dd);
	border-radius:var(--flora-radius,14px);padding:6px 8px 6px 14px;max-width:760px;margin:0 auto;
}
.flora-searchform__ico{opacity:.6;color:var(--flora-icon,#2f4a35)}
.flora-searchform__input{flex:1;border:0;background:transparent;padding:10px;font:inherit;font-size:15px;color:var(--flora-ink,#2b2b2b);outline:none}
.flora-searchform__btn{
	background:var(--flora-button,#2f4a35);color:var(--flora-button-text,#fff);border:0;
	border-radius:var(--flora-radius-btn,10px);padding:11px 20px;
	font-family:var(--flora-font-btn,system-ui,sans-serif);font-weight:var(--flora-weight-btn,600);cursor:pointer;
}
.flora-suggest{max-width:760px;margin:8px auto 0;background:var(--flora-card,#fff);border:1px solid var(--flora-border,#ece7dd);border-radius:var(--flora-radius,14px);box-shadow:var(--flora-shadow,0 14px 30px rgba(47,74,53,.10));overflow:hidden}
.flora-suggest a{display:flex;gap:12px;align-items:center;padding:10px 14px;text-decoration:none;color:var(--flora-ink,#2b2b2b);border-bottom:1px solid var(--flora-border,#ece7dd)}
.flora-suggest a:hover{background:var(--flora-field,#f7f4ef)}
.flora-suggest img{width:44px;height:44px;object-fit:cover;border-radius:8px}
.flora-suggest .fs-code{color:var(--flora-muted,#7a7a72);font-size:12px}
.flora-suggest .fs-group{padding:8px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--flora-muted,#7a7a72);background:var(--flora-bg,#faf7f2)}

/* ---------- Seções (motor de seções da Home) ---------- */
.flora-section{
	position:relative;
	/*
	 * Folga padrão vinda do painel. Quando a administradora define folga extra
	 * em uma seção específica, flora_sec_style() escreve padding inline, que tem
	 * precedência sobre estas duas linhas sem precisar de variável intermediária.
	 */
	padding-top:var(--flora-section-gap,64px);
	padding-bottom:var(--flora-section-gap,64px);
}
.flora-sec__bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.flora-sec__bgimg,.flora-sec__bg .flora-picture,.flora-sec__bg img{width:100%;height:100%;object-fit:cover}
.flora-sec__veil{position:absolute;inset:0;background:#000;opacity:var(--flora-sec-overlay,0)}
.flora-sec__inner{position:relative;z-index:1}
.flora-sec--hasbg{min-height:var(--flora-sec-height,auto);display:flex;align-items:center;color:var(--flora-sec-ink,#fff)}
.flora-sec--hasbg .flora-section__title,.flora-sec--hasbg h2,.flora-sec--hasbg h3{color:var(--flora-title,inherit)}
.flora-sec__text{margin:0 auto 26px;max-width:760px}
.flora-sec__text p{margin:0 0 .8em}

.flora-section__head{text-align:center;max-width:720px;margin:0 auto 34px}
.flora-eyebrow{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--flora-secondary,#c9a86a);font-weight:700;margin-bottom:8px}
.flora-section__title{font-size:var(--flora-title-size,34px);margin:0 0 8px}
.flora-section__sub{color:var(--flora-muted,#7a7a72);margin:0;font-size:var(--flora-text-size,16px)}

/* ---------- Grade de produtos + cartão ---------- */
.flora-grid,ul.products{
	display:grid;
	gap:var(--flora-card-gap,24px);
	grid-template-columns:repeat(var(--flora-cols,4),minmax(0,1fr));
	list-style:none;margin:0;padding:0;
}
.flora-grid--archive{margin-top:10px}
.flora-card-li{list-style:none}
.flora-card{
	background:var(--flora-card,#fff);
	border:var(--flora-card-border,1px) solid var(--flora-border,#ece7dd);
	border-radius:var(--flora-radius-card,14px);
	overflow:hidden;display:flex;flex-direction:column;height:100%;
	transition:box-shadow .25s ease,transform .25s ease;
}
.flora-card:hover{box-shadow:var(--flora-shadow,none);transform:translateY(var(--flora-card-hover,0px))}
.flora-card__media{
	position:relative;
	aspect-ratio:100 / var(--flora-media-ratio-n,100);
	padding-top:0;
	display:flex;align-items:center;justify-content:center;
	background:var(--flora-bg-soft,#f3efe8);overflow:hidden;text-decoration:none;
}
.flora-card__img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.flora-card:hover .flora-card__img{transform:scale(1.05)}
.flora-card__ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;opacity:.5;color:var(--flora-icon,#2f4a35)}
.flora-card__phicon{opacity:.75}
.flora-card__img--ph{opacity:.9}
.flora-card__badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;z-index:2}
.flora-badge{
	background:var(--flora-badge,#2f4a35);color:var(--flora-badge-text,#fff);
	font-size:11px;font-weight:600;letter-spacing:.02em;padding:5px 10px;border-radius:999px;text-transform:uppercase;
}
.flora-badge--sale{background:var(--flora-promo,#c0392b)}
.flora-badge--campaign{background:var(--flora-campaign,#c9a86a)}
.flora-card__body{padding:16px 17px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.flora-card__code{font-size:11px;letter-spacing:.08em;color:var(--flora-muted,#7a7a72);text-transform:uppercase}
.flora-card__title{font-family:var(--flora-font-body,system-ui,sans-serif);font-size:15.5px;font-weight:600;line-height:1.35;margin:0;color:var(--flora-ink,#2b2b2b);text-transform:none}
.flora-card__title a{color:inherit;text-decoration:none}
.flora-card__title a:hover{color:var(--flora-primary,#2f4a35)}
.flora-card__sub{font-size:13px;color:var(--flora-muted,#7a7a72);margin:0;min-height:18px}
.flora-card__price{margin:4px 0 12px}
.flora-price{font-size:18px;font-weight:700;color:var(--flora-primary,#2f4a35)}
.flora-price__old{color:var(--flora-muted,#7a7a72);text-decoration:line-through;font-size:14px;font-weight:500;margin-right:4px}
.flora-price__now{color:var(--flora-promo,#c0392b);font-size:18px;font-weight:700}
.flora-card__cta{margin-top:auto}
.flora-card__cta .flora-wa-btn{width:100%}

/* Botão de WhatsApp gerado pelo Core */
.flora-wa-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	background:var(--flora-wa,#25D366);color:#fff;text-decoration:none;
	font-family:var(--flora-font-btn,system-ui,sans-serif);font-weight:var(--flora-weight-btn,600);font-size:14px;
	padding:11px 16px;border-radius:var(--flora-radius-btn,10px);
	text-transform:var(--flora-btn-transform,none);
	transition:filter .2s,transform .2s;
}
.flora-wa-btn:hover{filter:brightness(.96);transform:translateY(-1px);color:#fff}

/* ---------- Chips ---------- */
.flora-chip-row{display:flex;flex-wrap:wrap;gap:10px}
.flora-chip-row--center{justify-content:center}
.flora-chip{
	display:inline-flex;align-items:center;padding:9px 18px;border-radius:999px;
	background:var(--flora-card,#fff);color:var(--flora-primary,#2f4a35);text-decoration:none;
	font-weight:500;font-size:14px;border:1px solid var(--flora-border,#ece7dd);
	transition:background .2s,color .2s,transform .2s;
}
.flora-chip:hover{background:var(--flora-primary,#2f4a35);color:var(--flora-button-text,#fff);transform:translateY(-1px)}

/* ---------- Cartões de categoria / ambiente / coleção ---------- */
.flora-termgrid{display:grid;grid-template-columns:repeat(var(--flora-term-cols,5),minmax(0,1fr));gap:var(--flora-card-gap,18px)}
.flora-termcard{text-decoration:none;color:var(--flora-ink,#2b2b2b);text-align:center;transition:transform .2s}
.flora-termcard:hover{transform:translateY(-3px)}
.flora-termcard__media{
	position:relative;display:flex;align-items:center;justify-content:center;
	aspect-ratio:1/1;border-radius:var(--flora-radius-card,14px);overflow:hidden;
	background:var(--flora-bg-soft,#f3efe8);margin-bottom:10px;box-shadow:var(--flora-shadow,none);
}
/* Escurecimento definido na tela do próprio termo (nunca no CSS). */
.flora-termcard__media::after{content:"";position:absolute;inset:0;background:#000;opacity:var(--flora-term-overlay,0);pointer-events:none}
.flora-termcard__img{width:100%;height:100%;object-fit:cover}
.flora-termcard__ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--flora-icon,#2f4a35);opacity:.5}
.flora-termcard__icon{opacity:.8}
.flora-termcard--noimg .flora-termcard__media{background:var(--flora-bg-soft,#f3efe8)}
.flora-termcard__name{font-weight:600;font-size:calc(var(--flora-text-size,16px) - 2px)}

/* ---------- Arquivo / loja ---------- */
.flora-archive{padding:40px 0 70px}
.flora-archive__head{text-align:center;max-width:760px;margin:0 auto 26px}
.flora-archive__title{font-size:var(--flora-h1-size,34px)}
.flora-archive__desc{color:var(--flora-muted,#7a7a72)}
.flora-archive__notice{
	display:inline-flex;align-items:center;gap:8px;
	color:var(--flora-notice,#2f4a35);font-weight:600;margin-top:6px;
}
.flora-archive__toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:14px;flex-wrap:wrap}
.flora-pagination{display:flex;justify-content:center;margin-top:40px}
.flora-pagination .page-numbers{
	display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;
	border:1px solid var(--flora-border,#ece7dd);border-radius:var(--flora-radius-btn,10px);
	margin:0 4px;text-decoration:none;color:var(--flora-ink,#2b2b2b);
}
.flora-pagination .page-numbers:hover{background:var(--flora-bg-soft,#f3efe8)}
.flora-pagination .current{background:var(--flora-primary,#2f4a35);color:var(--flora-button-text,#fff);border-color:var(--flora-primary,#2f4a35)}
.flora-empty{text-align:center;color:var(--flora-muted,#7a7a72);padding:40px 0}

/* ---------- Página de produto ---------- */
.flora-single{padding:26px 0 70px}
.flora-crumbs{display:flex;gap:8px;align-items:center;color:var(--flora-muted,#7a7a72);font-size:13px;margin-bottom:22px;flex-wrap:wrap}
.flora-crumbs a{text-decoration:none;color:var(--flora-muted,#7a7a72)}
.flora-crumbs a:hover{color:var(--flora-primary,#2f4a35)}
.flora-crumbs__sep{opacity:.55}
.flora-single__top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.flora-single__gallery{position:relative}
.flora-single__badges{position:absolute;top:12px;left:12px;z-index:3;display:flex;gap:6px}
.flora-single__gallery img{border-radius:var(--flora-radius-card,14px)}
.flora-single__title{font-size:var(--flora-h1-size,34px);margin-bottom:6px}
.flora-single__sub{color:var(--flora-muted,#7a7a72);margin:0 0 10px}
.flora-single__code{color:var(--flora-muted,#7a7a72);margin:0 0 14px}
.flora-single__price{margin:8px 0 18px}
.flora-single__price .flora-price,.flora-single__price .flora-price__now{font-size:28px}
.flora-single__short{color:var(--flora-ink,#2b2b2b);margin-bottom:18px}
.flora-single__cta .flora-wa-btn{font-size:16px;padding:15px 26px}
.flora-single__permanent{
	background:var(--flora-bg-soft,#f3efe8);border-radius:var(--flora-radius,14px);
	padding:14px 16px;margin:18px 0;display:flex;flex-direction:column;gap:4px;
	border-left:3px solid var(--flora-notice,#2f4a35);
}
.flora-single__permanent strong{display:flex;align-items:center;gap:8px;color:var(--flora-notice,#2f4a35)}
.flora-single__permanent span{color:var(--flora-muted,#7a7a72);font-size:13.5px}
.flora-single__meta{list-style:none;padding:0;margin:16px 0;border-top:1px solid var(--flora-border,#ece7dd)}
.flora-single__meta li{padding:9px 0;border-bottom:1px solid var(--flora-border,#ece7dd);font-size:14.5px}
.flora-single__meta li span{color:var(--flora-muted,#7a7a72);display:inline-block;min-width:96px}
.flora-single__meta a{color:var(--flora-link,#2f4a35);text-decoration:none}
.flora-single__share{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--flora-muted,#7a7a72);margin-top:10px;flex-wrap:wrap}
.flora-single__share a{color:var(--flora-link,#2f4a35);text-decoration:none}
.flora-single__desc{margin:48px 0 10px;max-width:820px}
.flora-single__desc h2{font-size:calc(var(--flora-title-size,34px) - 10px)}
.flora-single__variacao{color:var(--flora-muted,#7a7a72);font-size:13px;font-style:italic;margin-top:14px}

/* ---------- Rodapé ---------- */
.flora-footer{background:var(--flora-footer-bg,#2f4a35);color:var(--flora-footer-text,#dfe7dc);margin-top:20px}
.flora-footer__grid{
	display:grid;
	grid-template-columns:repeat(var(--flora-footer-cols,4),minmax(0,1fr));
	gap:34px;padding:56px var(--flora-gutter,24px);
}
.flora-footer__brand{grid-column:span 1}
.flora-footer__about{color:var(--flora-footer-text,#c7d3c2);font-size:14px;max-width:340px;opacity:.9}
.flora-footer__insta{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-weight:600}
.flora-footer__insta:hover{text-decoration:underline}
.flora-footer__title,.footer-widget__title{
	color:var(--flora-footer-text,#fff);
	font-family:var(--flora-font-menu,system-ui,sans-serif);
	font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px;
}
.flora-footer__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.flora-footer__list li{display:flex;gap:9px;align-items:flex-start;font-size:14px}
.flora-footer__list a{color:inherit;text-decoration:none;font-size:14px}
.flora-footer__list a:hover{text-decoration:underline}
.flora-footer__i{opacity:.8;margin-top:1px}
.flora-footer__hour{display:block}
.flora-footer__bottom{border-top:1px solid rgba(255,255,255,.14)}
.flora-footer__bottom .flora-container{display:flex;justify-content:space-between;align-items:center;padding:18px var(--flora-gutter,24px);font-size:13px;flex-wrap:wrap;gap:8px;opacity:.9}

/* ---------- 404 e páginas ---------- */
.flora-404{padding:80px 0}
.flora-404__box{
	max-width:560px;margin:0 auto;text-align:center;background:var(--flora-card,#fff);
	border:1px solid var(--flora-border,#ece7dd);border-radius:var(--flora-radius,14px);
	padding:48px 30px;box-shadow:var(--flora-shadow,none);
}
.flora-404__leaf{display:inline-flex;color:var(--flora-icon,#2f4a35);opacity:.7;margin-bottom:8px}
.flora-404__cta{display:flex;gap:12px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.flora-page{padding:50px 0 70px;max-width:820px}
.flora-page__title{font-size:var(--flora-h1-size,34px)}

/* ==========================================================================
   Responsivo — notebook, tablet (retrato e paisagem) e celular
   ========================================================================== */

/* Notebook 1366/1440: só reduz a folga lateral. */
@media(max-width:1440px){
	.flora-container{padding:0 max(18px,calc(var(--flora-gutter,24px) - 4px))}
}

/* Tablet paisagem (1024px) — tratamento próprio, não é "celular grande". */
@media(max-width:1024px){
	.flora-header__inner{gap:16px}
	.flora-has-mega .flora-mega{min-width:min(92vw,520px);left:auto;right:0}
	.flora-mega__grid{grid-template-columns:1fr 1fr}
	.flora-termgrid{gap:16px}
	.flora-single__top{grid-template-columns:1fr 1fr;gap:30px}
	.flora-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
	.flora-section__head{margin-bottom:26px}
}

/* Tablet retrato (834px) — duas colunas confortáveis e produto em coluna única. */
@media(max-width:900px){
	.flora-single__top{grid-template-columns:1fr;gap:26px}
	.flora-single__desc{margin-top:34px}

	/*
	 * No tablet em retrato o menu horizontal ficaria apertado: o nome da loja
	 * quebrava em duas linhas e itens como "Monte seu Arranjo" em três. Aqui o
	 * menu passa a abrir em gaveta (o mesmo comportamento do celular), sem
	 * esconder nenhum item. O JavaScript usa exatamente esta mesma largura.
	 */
	.flora-burger{display:inline-flex}
	.flora-logo{white-space:nowrap}
	.flora-header__inner{gap:12px}
	.flora-nav{
		position:fixed;inset:0 0 0 auto;width:min(72vw,360px);
		background:var(--flora-header-bg,#fff);transform:translateX(100%);
		transition:transform .28s ease;box-shadow:-10px 0 30px rgba(0,0,0,.12);
		padding:80px 20px 30px;z-index:70;overflow:auto;
	}
	.flora-nav.is-open{transform:translateX(0)}
	.flora-menu{flex-direction:column;align-items:stretch;gap:2px}
	.flora-menu>li>a{padding:14px 12px;border-radius:var(--flora-radius-btn,10px);justify-content:space-between}
	.flora-has-mega .flora-mega{position:static;min-width:0;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 12px;display:none;background:transparent}
	.flora-has-mega.is-open .flora-mega{display:block}
	.flora-mega__grid{grid-template-columns:1fr}
	.flora-header--logo-center .flora-header__brand,.flora-header--logo-right .flora-header__brand{position:static;transform:none;order:0;margin-left:0}
	.flora-header--logo-right .flora-nav{order:0}
}

/* Celular (768px e abaixo) */
@media(max-width:768px){
	/* O menu em gaveta já vem do bloco de tablet acima; aqui só a largura muda. */
	.flora-nav{width:min(84vw,340px)}
	.flora-section__title{font-size:var(--flora-title-size,26px)}
	.flora-termgrid{gap:12px}
	.flora-footer__grid{grid-template-columns:1fr;gap:26px;padding-top:40px}
	.flora-footer__bottom .flora-container{justify-content:center;text-align:center}
	.flora-single__price .flora-price,.flora-single__price .flora-price__now{font-size:24px}
	.flora-btn{width:auto}
	.flora-searchform{flex-wrap:wrap;padding:8px}
	.flora-searchform__btn{width:100%}
}

/* Celular pequeno (360/375/390) */
@media(max-width:430px){
	/*
	 * Em telas de 360px o cabeçalho não cabia: nome da loja, botão do menu e
	 * os três botões redondos somavam alguns pixels a mais que a largura da
	 * tela e a página ganhava rolagem lateral. Aqui só os espaços e os
	 * diâmetros diminuem — nenhum item é escondido.
	 */
	.flora-header__inner{gap:10px}
	.flora-header__brand{gap:6px}
	.flora-burger{width:34px;height:34px;margin-left:-6px}
	.flora-header__actions{gap:4px}
	.flora-iconbtn{width:36px;height:36px}
	.flora-logo__text{font-size:20px}
	.flora-topbar__inner{gap:10px;font-size:11px}
	.flora-card__body{padding:12px 13px 14px}
	.flora-404__box{padding:34px 20px}
}

/* ==========================================================================
   ETAPA 4.1 — CAMADA PREMIUM (refinamento visual, UX e acessibilidade)

   Regras desta camada:
   1. Nenhuma cor, medida, fonte ou imagem nova foi fixada aqui. Tudo continua
      lendo as variáveis geradas pelo painel (flora_identity_css), sempre com um
      valor de segurança depois da vírgula.
   2. Nenhum arquivo PHP foi alterado. Esta camada é somente aparência.
   3. Toda animação é feita apenas com transform e opacity (aceleradas por GPU)
      e respeita "reduzir movimento" do sistema operacional.
   4. Efeitos de passar o mouse ficam dentro de @media(hover:hover), para que o
      celular nunca fique com um card "preso" no estado de hover.
   ========================================================================== */

/* ---------- 1. Constantes de movimento e profundidade ----------
   Curvas e durações são decisões de direção de arte do tema, não conteúdo;
   por isso vivem aqui. As COREs continuam vindo do painel: os tons abaixo são
   derivados da cor primária escolhida pela administradora. */
:root{
	--flora-ease:cubic-bezier(.22,.61,.36,1);
	--flora-ease-emph:cubic-bezier(.16,1,.3,1);
	--flora-dur-1:.16s;
	--flora-dur-2:.28s;
	--flora-dur-3:.5s;

	/* Redes de segurança (navegadores antigos, sem color-mix). */
	--flora-ring:rgba(47,74,53,.30);
	--flora-tint-6:rgba(47,74,53,.06);
	--flora-tint-12:rgba(47,74,53,.12);
	--flora-line-2:var(--flora-border,#ece7dd);
	--flora-scrim:rgba(0,0,0,.42);
}
@supports (color:color-mix(in srgb,red,blue)){
	:root{
		--flora-ring:color-mix(in srgb,var(--flora-primary,#2f4a35) 30%,transparent);
		--flora-tint-6:color-mix(in srgb,var(--flora-primary,#2f4a35) 6%,transparent);
		--flora-tint-12:color-mix(in srgb,var(--flora-primary,#2f4a35) 12%,transparent);
		--flora-line-2:color-mix(in srgb,var(--flora-primary,#2f4a35) 28%,var(--flora-border,#ece7dd));
		--flora-scrim:color-mix(in srgb,var(--flora-title,#2b2b2b) 55%,transparent);
	}
}

@keyframes flora-spin{to{transform:rotate(360deg)}}
@keyframes flora-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---------- 2. Foco visível (acessibilidade + acabamento) ----------
   O tema tinha outline:none em campos de busca sem substituto: quem navega por
   teclado ficava sem saber onde estava. Agora existe um anel único, na cor da
   marca, aplicado a tudo que recebe foco. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
	outline:2px solid var(--flora-primary,#2f4a35);
	outline-offset:2px;
}
.flora-btn:focus-visible,
.flora-iconbtn:focus-visible,
.flora-wa-btn:focus-visible,
.flora-searchform__btn:focus-visible{
	outline:2px solid var(--flora-primary,#2f4a35);
	outline-offset:2px;
	box-shadow:0 0 0 4px var(--flora-ring);
}
.flora-card a:focus-visible,
.flora-termcard:focus-visible,
.flora-chip:focus-visible,
.flora-mega__link:focus-visible,
.flora-suggest a:focus-visible{
	outline:2px solid var(--flora-primary,#2f4a35);
	outline-offset:3px;
	border-radius:calc(var(--flora-radius,14px) / 2);
}
/* O card inteiro reage quando qualquer link interno recebe foco. */
.flora-card:focus-within{border-color:var(--flora-line-2)}

/* ---------- 3. Botões: um só padrão para todos os estados ---------- */
.flora-btn{
	position:relative;
	line-height:1.15;
	letter-spacing:.01em;
	transition:transform var(--flora-dur-1) var(--flora-ease),
		filter var(--flora-dur-1) var(--flora-ease),
		box-shadow var(--flora-dur-2) var(--flora-ease),
		background var(--flora-dur-1) var(--flora-ease),
		border-color var(--flora-dur-1) var(--flora-ease),
		color var(--flora-dur-1) var(--flora-ease);
}
.flora-btn__i{transition:transform var(--flora-dur-2) var(--flora-ease-emph)}
@media(hover:hover) and (pointer:fine){
	.flora-btn:hover{transform:translateY(-2px);box-shadow:var(--flora-btn-shadow,none)}
	.flora-btn--primary:hover{filter:none;background:var(--flora-button-hover,var(--flora-button,#2f4a35))}
	.flora-btn--outline:hover,.flora-btn--secondary:hover{background:var(--flora-tint-12)}
	.flora-btn--wa:hover .flora-btn__i{transform:scale(1.12)}
	.flora-wa-btn:hover{transform:translateY(-2px);box-shadow:var(--flora-btn-shadow,none)}
	.flora-iconbtn:hover{transform:translateY(-2px);background:var(--flora-tint-12)}
	.flora-iconbtn--wa:hover{background:var(--flora-wa,#25D366);filter:brightness(.95)}
}
/* Pressionar devolve o botão ao lugar: confirma o clique sem exagero. */
.flora-btn:active,.flora-wa-btn:active,.flora-iconbtn:active{transform:translateY(0) scale(.985)}

/* Carregando — usado quando o botão dispara uma navegação demorada. */
.flora-btn.is-loading{pointer-events:none;opacity:.8}
.flora-btn.is-loading::after{
	content:"";width:1em;height:1em;flex:0 0 auto;
	border:2px solid currentColor;border-top-color:transparent;border-radius:50%;
	animation:flora-spin .7s linear infinite;
}
/* Desabilitado. */
.flora-btn:disabled,.flora-btn[aria-disabled="true"]{opacity:.5;pointer-events:none}

/* ---------- 4. Cabeçalho premium ---------- */
.flora-header{
	transition:background var(--flora-dur-2) var(--flora-ease),
		box-shadow var(--flora-dur-2) var(--flora-ease),
		border-color var(--flora-dur-2) var(--flora-ease);
}
.flora-header__inner{transition:min-height var(--flora-dur-2) var(--flora-ease)}
/* Ao rolar, o cabeçalho encolhe um pouco e ganha profundidade: mais área útil
   de leitura e a sensação de camada flutuante das lojas premium. */
.flora-header--sticky.is-scrolled{
	box-shadow:0 6px 26px var(--flora-tint-12);
	backdrop-filter:saturate(1.3) blur(10px);
	-webkit-backdrop-filter:saturate(1.3) blur(10px);
}
.flora-header--sticky.is-scrolled .flora-header__inner{
	min-height:max(56px,calc(var(--flora-header-height,74px) - 12px));
}
.flora-logo__img{transition:max-height var(--flora-dur-2) var(--flora-ease)}

/* Menu: sublinhado que cresce a partir da esquerda, em vez de um bloco cinza. */
.flora-menu>li>a{position:relative;transition:color var(--flora-dur-1) var(--flora-ease),background var(--flora-dur-1) var(--flora-ease)}
.flora-menu>li>a::after{
	content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;
	background:currentColor;opacity:.6;transform:scaleX(0);transform-origin:left center;
	transition:transform var(--flora-dur-2) var(--flora-ease-emph);
}
@media(hover:hover) and (pointer:fine){
	.flora-menu>li>a:hover{background:transparent;color:var(--flora-primary,#2f4a35)}
	.flora-menu>li>a:hover::after{transform:scaleX(1)}
}
.flora-menu>li.current-menu-item>a::after,
.flora-menu>li.current-menu-parent>a::after,
.flora-menu>li>a:focus-visible::after{transform:scaleX(1)}
.flora-caret{transition:transform var(--flora-dur-2) var(--flora-ease)}
.flora-has-mega:hover>a .flora-caret,.flora-has-mega.is-open>a .flora-caret{transform:rotate(180deg)}

/* Mega menu: entra com leve escala, some sem piscar. */
.flora-has-mega .flora-mega{
	transform:translateY(10px) scale(.99);transform-origin:top left;
	transition:opacity var(--flora-dur-2) var(--flora-ease),
		transform var(--flora-dur-2) var(--flora-ease-emph),
		visibility var(--flora-dur-2);
}
.flora-has-mega:hover .flora-mega,.flora-has-mega:focus-within .flora-mega{transform:translateY(0) scale(1)}
.flora-mega__link{position:relative;padding-left:12px;transition:background var(--flora-dur-1) var(--flora-ease),color var(--flora-dur-1) var(--flora-ease),padding-left var(--flora-dur-2) var(--flora-ease-emph)}
@media(hover:hover) and (pointer:fine){
	.flora-mega__link:hover{padding-left:16px}
}

/* ---------- 5. Busca premium ---------- */
.flora-searchbar{
	overflow:hidden;
	opacity:0;transform:translateY(-8px);
	transition:opacity var(--flora-dur-2) var(--flora-ease),transform var(--flora-dur-2) var(--flora-ease-emph);
}
.flora-searchbar.is-open{opacity:1;transform:none}
.flora-searchform{
	transition:border-color var(--flora-dur-2) var(--flora-ease),
		box-shadow var(--flora-dur-2) var(--flora-ease),
		background var(--flora-dur-2) var(--flora-ease);
}
.flora-searchform:focus-within{
	background:var(--flora-card,#fff);
	border-color:var(--flora-line-2);
	box-shadow:0 0 0 4px var(--flora-ring);
}
.flora-searchform__ico{transition:opacity var(--flora-dur-2) var(--flora-ease),transform var(--flora-dur-2) var(--flora-ease-emph)}
.flora-searchform:focus-within .flora-searchform__ico{opacity:1;transform:scale(1.06)}
.flora-searchform__btn{
	transition:transform var(--flora-dur-1) var(--flora-ease),filter var(--flora-dur-1) var(--flora-ease),box-shadow var(--flora-dur-2) var(--flora-ease);
}
@media(hover:hover) and (pointer:fine){
	.flora-searchform__btn:hover{transform:translateY(-2px);box-shadow:var(--flora-btn-shadow,none)}
}

/* Sugestões: entram deslizando e cada item ganha uma marca lateral no destaque. */
.flora-suggest{animation:flora-rise var(--flora-dur-2) var(--flora-ease-emph) both}
.flora-suggest a{position:relative;transition:background var(--flora-dur-1) var(--flora-ease),padding-left var(--flora-dur-2) var(--flora-ease-emph)}
.flora-suggest a::before{
	content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;
	background:var(--flora-primary,#2f4a35);transform:scaleY(0);transform-origin:center;
	transition:transform var(--flora-dur-2) var(--flora-ease-emph);
}
.flora-suggest a:last-child{border-bottom:0}
.flora-suggest a.is-active,.flora-suggest a:hover,.flora-suggest a:focus-visible{background:var(--flora-field,#f7f4ef);padding-left:18px}
.flora-suggest a.is-active::before,.flora-suggest a:hover::before,.flora-suggest a:focus-visible::before{transform:scaleY(1)}
.flora-suggest img{transition:transform var(--flora-dur-2) var(--flora-ease-emph)}
.flora-suggest a:hover img,.flora-suggest a.is-active img{transform:scale(1.05)}

/* ---------- 6. Cards de produto ----------
   A sombra continua sendo ligada/desligada no painel (--flora-shadow). Aqui ela
   apenas ganha um estado de repouso mais suave (45%) que sobe para 100% no
   hover: se a administradora desligar a sombra, "none" continua sendo nada. */
.flora-card{position:relative;isolation:isolate;overflow:visible}
/* O recorte das quatro pontas saiu do card e foi para a mídia: assim a sombra
   de repouso não é cortada pelo overflow. */
.flora-card__media{border-top-left-radius:inherit;border-top-right-radius:inherit}
.flora-card__body{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}
.flora-card::after{
	content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
	box-shadow:var(--flora-shadow,none);opacity:.45;
	transition:opacity var(--flora-dur-3) var(--flora-ease);
}
.flora-card{
	transition:transform var(--flora-dur-3) var(--flora-ease-emph),
		border-color var(--flora-dur-2) var(--flora-ease);
}
.flora-card:hover{box-shadow:none}
@media(hover:hover) and (pointer:fine){
	.flora-card:hover::after,.flora-card:focus-within::after{opacity:1}
	.flora-card:hover{border-color:var(--flora-line-2)}
	.flora-card:hover .flora-card__img{transform:scale(1.06)}
	.flora-card:hover .flora-card__title a{color:var(--flora-primary,#2f4a35)}
}
.flora-card__media::after{
	content:"";position:absolute;inset:0;pointer-events:none;
	background:linear-gradient(to top,var(--flora-tint-12),transparent 55%);
	opacity:0;transition:opacity var(--flora-dur-3) var(--flora-ease);
}
.flora-card:hover .flora-card__media::after{opacity:1}
.flora-card__img{transition:transform var(--flora-dur-3) var(--flora-ease-emph)}
.flora-card__title a{transition:color var(--flora-dur-1) var(--flora-ease)}
.flora-badge{
	box-shadow:0 2px 8px var(--flora-tint-12);
	transition:transform var(--flora-dur-2) var(--flora-ease-emph);
}
.flora-card:hover .flora-badge{transform:translateY(-1px)}
/* O preço é o dado que decide a conversão: ganha respiro e alinhamento firme. */
.flora-card__price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}

/* ---------- 7. Cards de categoria / ambiente / coleção ---------- */
.flora-termcard{transition:transform var(--flora-dur-3) var(--flora-ease-emph)}
.flora-termcard__media{
	box-shadow:var(--flora-shadow,none);
	transition:box-shadow var(--flora-dur-3) var(--flora-ease);
}
.flora-termcard__img{transition:transform var(--flora-dur-3) var(--flora-ease-emph)}
.flora-termcard__media::after{transition:opacity var(--flora-dur-3) var(--flora-ease)}
.flora-termcard__name{transition:color var(--flora-dur-1) var(--flora-ease)}
.flora-termcard__icon{transition:transform var(--flora-dur-3) var(--flora-ease-emph)}
@media(hover:hover) and (pointer:fine){
	.flora-termcard:hover .flora-termcard__img{transform:scale(1.07)}
	.flora-termcard:hover .flora-termcard__icon{transform:scale(1.1)}
	.flora-termcard:hover .flora-termcard__name{color:var(--flora-primary,#2f4a35)}
	.flora-chip:hover{box-shadow:0 6px 16px var(--flora-tint-12)}
}
.flora-chip{transition:background var(--flora-dur-2) var(--flora-ease),color var(--flora-dur-2) var(--flora-ease),transform var(--flora-dur-2) var(--flora-ease-emph),box-shadow var(--flora-dur-2) var(--flora-ease),border-color var(--flora-dur-2) var(--flora-ease)}

/* ---------- 8. Cabeçalho de seção: hierarquia de leitura ---------- */
.flora-eyebrow{transition:color var(--flora-dur-2) var(--flora-ease)}
.flora-section__title{text-wrap:balance}
.flora-section__sub{text-wrap:pretty}

/* ---------- 9. Entrada suave ao rolar (Intersection Observer) ----------
   A classe só é aplicada pelo JavaScript. Sem JavaScript, nada fica escondido:
   o conteúdo aparece normalmente e o site continua indexável. */
.flora-anim{
	opacity:0;transform:translateY(18px);
	transition:opacity var(--flora-dur-3) var(--flora-ease),transform var(--flora-dur-3) var(--flora-ease-emph);
	transition-delay:calc(var(--flora-i,0) * 60ms);
	will-change:opacity,transform;
}
.flora-anim.is-in{opacity:1;transform:none;will-change:auto}

/* ---------- 10. Menu em gaveta: fundo escuro e travamento de rolagem ---------- */
.flora-scrim{
	/* z-index 45 e não 55: a gaveta (z-70) mora dentro do cabeçalho, que já é um
	   contexto de empilhamento próprio (.flora-header{z-index:50}). Uma cortina
	   acima de 50 escureceria a própria gaveta. Em 45 ela escurece a página e
	   deixa o cabeçalho e o menu por cima, que é o comportamento esperado. */
	position:fixed;inset:0;z-index:45;background:var(--flora-scrim);
	opacity:0;visibility:hidden;
	transition:opacity var(--flora-dur-2) var(--flora-ease),visibility var(--flora-dur-2);
	-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
.flora-scrim.is-on{opacity:1;visibility:visible}
body.flora-no-scroll{overflow:hidden}

/* ---------- 11. Toque: nada fica "preso" no estado de hover ---------- */
@media(hover:none){
	.flora-card:hover,.flora-termcard:hover,.flora-chip:hover,
	.flora-btn:hover,.flora-wa-btn:hover,.flora-iconbtn:hover{transform:none}
	.flora-card:hover .flora-card__img,.flora-termcard:hover .flora-termcard__img{transform:none}
	.flora-card::after{opacity:1}
}

/* ---------- 12. Responsividade premium ---------- */

/* Notebook: a grade não deve encostar nas bordas nem esticar demais. */
@media(max-width:1280px){
	.flora-has-mega .flora-mega{min-width:440px}
	.flora-menu{gap:2px}
	.flora-menu>li>a{padding:10px 11px}
	.flora-menu>li>a::after{left:11px;right:11px}
}

/* Tablet: o mega-menu vira uma coluna dupla e o cabeçalho respira menos. */
@media(max-width:1024px){
	.flora-has-mega .flora-mega{min-width:0;width:min(92vw,520px)}
	.flora-mega__grid{grid-template-columns:repeat(2,1fr)}
	.flora-suggest a{padding:12px 14px}
}

/* Tablet retrato e celular: a gaveta ganha profundidade e os submenus viram
   sanfona; o dedo precisa de alvos maiores. */
@media(max-width:900px){
	.flora-nav{box-shadow:-18px 0 40px var(--flora-tint-12);transition:transform var(--flora-dur-3) var(--flora-ease-emph)}
	.flora-menu{display:block;gap:0}
	.flora-menu>li>a{padding:14px 4px;width:100%;font-size:calc(var(--flora-menu-size,15px) + 1px)}
	.flora-menu>li>a::after{display:none}
	.flora-has-mega .flora-mega{
		position:static;min-width:0;width:auto;border:0;box-shadow:none;padding:0 0 10px;
		opacity:1;visibility:visible;transform:none;
		display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--flora-dur-3) var(--flora-ease-emph);
	}
	.flora-has-mega .flora-mega__grid{overflow:hidden;grid-template-columns:1fr;gap:0}
	.flora-has-mega.is-open .flora-mega{grid-template-rows:1fr}
	.flora-mega__link{padding:11px 12px}
	.flora-iconbtn{width:44px;height:44px}
}

/* Celular: alvos de toque confortáveis e cards com respiro. */
@media(max-width:768px){
	.flora-btn{min-height:46px}
	.flora-card__body{gap:5px}
	.flora-suggest{max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
	.flora-searchform:focus-within{box-shadow:0 0 0 3px var(--flora-ring)}
}

/* ---------- 13. Reduzir movimento: obrigatório ---------- */
@media(prefers-reduced-motion:reduce){
	*,*::before,*::after{
		animation-duration:.001ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.001ms !important;
		scroll-behavior:auto !important;
	}
	.flora-anim{opacity:1;transform:none}
}
