/* ==========================================================================
   LadivDecor — identidade visual da loja (camada final, carrega por último)
   Tokens derivados do logo (preto) e dos banners (creme / chocolate / caramelo).
   As cores de marca continuam vindo das variáveis --cor_* do Setup da Loja,
   então trocar a paleta no painel ainda funciona.

   Seções: TOKENS · BASE · ANÚNCIO · HEADER · MENU · GAVETA MOBILE · SLIDER ·
           TÍTULOS · DIFERENCIAIS · CARDS DE PRODUTO · COMPRE POR MODELO ·
           MARCA/DEPOIMENTOS · BANNERS EXTRA · RODAPÉ · WHATSAPP · UTILITÁRIOS
   Obs.: style.css e theme-custom.css usam muito !important; aqui os seletores
   são mais específicos (e usam !important só onde é preciso vencer).
   ========================================================================== */

:root{
	/* Marca */
	--ld-ink:        var(--cor_titulo, #1C1916);       /* preto do logo */
	--ld-choco:      var(--cor_primaria, #6B4423);     /* chocolate dos banners */
	--ld-caramel:    var(--cor_secundaria, #A0714F);   /* caramelo / mel */
	--ld-cream:      #F2ECE2;                          /* fundo dos banners */
	--ld-cream-soft: var(--cor_fundo, #F8F4EE);        /* fundo da página */
	--ld-cream-img:  #F5F0E8;                          /* fundo das fotos de produto */
	--ld-paper:      var(--cor_fundo_secundario, #FFFFFF);
	--ld-line:       var(--cor_borda, #E6DCCF);
	--ld-text:       var(--cor_texto, #2B2520);
	--ld-muted:      var(--cor_texto_suave, #7D7066);
	--ld-success:    var(--cor_sucesso, #3F7D4E);
	--ld-danger:     var(--cor_erro, #B3261E);
	--ld-on-ink:     #E9E0D5;                          /* texto claro sobre --ld-ink */
	--ld-on-ink-muted: #A89A8C;

	/* Tipografia */
	--ld-font-display: "Jost", "Futura", "Century Gothic", system-ui, sans-serif;
	--ld-font-body:    "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	/* Forma */
	--ld-radius-sm: 8px;
	--ld-radius:    14px;
	--ld-radius-lg: 22px;
	--ld-shadow-sm: 0 1px 2px rgba(28,25,22,.06), 0 1px 3px rgba(28,25,22,.05);
	--ld-shadow:    0 6px 24px rgba(28,25,22,.08);
	--ld-shadow-lg: 0 18px 50px rgba(28,25,22,.12);
	--ld-ease:      cubic-bezier(.2,.7,.2,1);
}

/* ==========================================================================
   BASE
   ========================================================================== */
html, body{ overflow-x: clip; }
html body{
	background-color: var(--ld-cream-soft) !important;
	color: var(--ld-text) !important;
	font-family: var(--ld-font-body);
	font-size: 14px;
	line-height: 1.55;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6,
.btn, button, .ld-display{
	font-family: var(--ld-font-display);
}
h1, h2, h3, h4, h5, h6{ letter-spacing: -.005em; }
::selection{ background: var(--ld-caramel); color: #fff; }
.ld-ico{ display: inline-block; flex-shrink: 0; vertical-align: middle; }

/* ==========================================================================
   ANÚNCIO (barra fina no topo)
   ========================================================================== */
.ld-announce{
	background: var(--ld-ink);
	color: var(--ld-cream);
	font-family: var(--ld-font-display);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	line-height: 1;
}
.ld-announce__inner{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	min-height: 38px;
}
.ld-announce__inner:before, .ld-announce__inner:after{ display: none !important; }
.ld-announce__item{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
	color: var(--ld-cream);
}
.ld-announce__item .ld-ico{ color: var(--ld-caramel); opacity: .95; }
.ld-announce__sep{
	width: 4px; height: 4px; border-radius: 50%;
	background: var(--ld-caramel);
	opacity: .7;
}
@media (max-width: 767px){
	.ld-announce{ font-size: 10.5px; letter-spacing: .14em; }
	.ld-announce__inner{ position: relative; min-height: 34px; gap: 0; }
	.ld-announce__sep{ display: none; }
	.ld-announce__item{
		position: absolute;
		left: 0; right: 0;
		justify-content: center;
		opacity: 0;
		transform: translateY(6px);
		transition: opacity .5s var(--ld-ease), transform .5s var(--ld-ease);
	}
	.ld-announce__item.is-active{ opacity: 1; transform: none; }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce){
	.ld-announce__item{ transition: none; }
}

/* ==========================================================================
   HEADER (sticky)
   ========================================================================== */
.ld-header-shell{
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1030;
	background: var(--ld-paper);
	border-bottom: 1px solid var(--ld-line);
	transition: box-shadow .25s var(--ld-ease), border-color .25s var(--ld-ease);
}
.ld-header-shell.is-scrolled{
	box-shadow: 0 8px 28px rgba(28,25,22,.08);
	border-bottom-color: transparent;
}
.ld-header-shell.is-checkout{ position: relative; }

.ld-header-shell header:not(.header-checkout){
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 32px !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 16px 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}
.ld-header-shell header:not(.header-checkout) > .divLogo,
.ld-header-shell header:not(.header-checkout) > #col-busca,
.ld-header-shell header:not(.header-checkout) > #col-bottom{
	float: none !important;
	position: relative !important;
	left: auto !important; right: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	min-height: 0 !important;
}
/* logo */
.ld-header-shell header:not(.header-checkout) > .divLogo{
	flex: 0 0 auto;
	max-width: none !important;
}
.ld-header-shell header .divLogo .logo{ margin: 0 !important; padding: 0 !important; }
.ld-header-shell header .divLogo .logo a{
	float: none !important;
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}
.ld-header-shell header .divLogo img.ld-logo,
.ld-header-shell header .logo a img{
	width: 160px !important;
	max-width: 100% !important;
	height: auto !important;
	display: block;
}

/* busca em pílula */
.ld-header-shell header:not(.header-checkout) > #col-busca{
	flex: 1 1 auto !important;
	min-width: 0;
	max-width: 620px !important;
	display: flex !important;
	align-items: center !important;
}
.ld-header-shell #col-busca.is-hidden-flow{ visibility: hidden; }
.ld-header-shell header .formBusca{
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	float: none !important;
	width: 100% !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ld-header-shell header .formBusca .ld-search-ico{
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--ld-muted);
	display: inline-flex;
	pointer-events: none;
	z-index: 2;
	transition: color .2s ease;
}
.ld-header-shell header .formBusca .form-control{
	float: none !important;
	width: 100% !important;
	height: 48px !important;
	padding: 0 112px 0 46px !important;
	border: 1px solid var(--ld-line) !important;
	border-radius: 999px !important;
	background: var(--ld-cream-soft) !important;
	color: var(--ld-text) !important;
	font-family: var(--ld-font-body);
	font-size: 14px !important;
	box-shadow: none !important;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.ld-header-shell header .formBusca .form-control::placeholder{ color: #A2958A; opacity: 1; }
.ld-header-shell header .formBusca .form-control:hover{ border-color: #D6C8B7 !important; }
.ld-header-shell header .formBusca .form-control:focus{
	outline: none !important;
	background: #fff !important;
	border-color: var(--ld-caramel) !important;
	box-shadow: 0 0 0 4px rgba(160,113,79,.14) !important;
}
.ld-header-shell header .formBusca:focus-within .ld-search-ico{ color: var(--ld-caramel); }
.ld-header-shell header .formBusca .enviar{
	position: absolute !important;
	right: 5px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	float: none !important;
	margin: 0 !important;
	height: 38px !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ld-ink) !important;
	color: #fff !important;
	font-family: var(--ld-font-display) !important;
	font-size: 11.5px !important;
	font-weight: 500 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	line-height: 38px !important;
	box-shadow: none !important;
	z-index: 2;
}
.ld-header-shell header .formBusca .enviar span{ color: #fff !important; }
.ld-header-shell header .formBusca .enviar:hover,
.ld-header-shell header .formBusca .enviar:focus-visible{ background: var(--ld-choco) !important; }

/* ações */
.ld-header-shell header:not(.header-checkout) > #col-bottom,
.ld-header-shell #col-bottom.header-actions{
	flex: 0 0 auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 26px !important;
	flex-wrap: nowrap !important;
	padding-top: 0 !important;
}
.ld-header-shell header a.ha-item{
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	position: relative;
	padding: 4px 0 !important;
	color: var(--ld-ink) !important;
	text-decoration: none !important;
	white-space: nowrap;
	line-height: 1.2;
	flex-shrink: 0;
}
.ld-header-shell header a.ha-item .ld-ico.ha-ico{
	width: 24px; height: 24px;
	color: var(--ld-ink);
	transition: color .2s ease, transform .2s var(--ld-ease);
}
.ld-header-shell header a.ha-item .ha-texts{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	max-width: 132px;
	overflow: hidden;
}
.ld-header-shell header a.ha-item .ha-title{
	font-family: var(--ld-font-display);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .02em;
	color: var(--ld-ink) !important;
	max-width: 132px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ld-header-shell header a.ha-item .ha-sub{
	font-family: var(--ld-font-body);
	font-size: 11.5px;
	font-weight: 400;
	color: var(--ld-muted) !important;
	max-width: 132px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ld-header-shell header a.ha-item:hover .ha-ico,
.ld-header-shell header a.ha-item:hover .ha-title{ color: var(--ld-choco) !important; }
.ld-header-shell header a.ha-item:hover .ha-ico{ transform: translateY(-1px); }
.ld-header-shell header a.ha-item.ha-icon-only{
	flex-direction: column !important;
	gap: 4px !important;
}
.ld-header-shell header a.ha-item.ha-icon-only .ha-texts{ align-items: center; }
.ld-header-shell header a.ha-item.ha-icon-only .ha-title{
	font-size: 10.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ld-muted) !important;
}
.ld-header-shell .ha-ico-wrap{ position: relative; display: inline-flex; }
.ld-header-shell header a.ha-item .ha-badge{
	position: absolute !important;
	top: -6px !important;
	right: -10px !important;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	border: 2px solid var(--ld-paper);
	background: var(--ld-choco) !important;
	color: #fff !important;
	font-family: var(--ld-font-body);
	font-size: 10px;
	font-weight: 600;
	line-height: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	z-index: 2;
}
/* botão do menu (só celular) */
.ld-header-shell .ld-burger{ display: none; }

@media (max-width: 1199px){
	.ld-header-shell header:not(.header-checkout){ gap: 22px !important; }
	.ld-header-shell #col-bottom.header-actions{ gap: 20px !important; }
	.ld-header-shell header a.ha-item.ha-whats .ha-texts{ display: none !important; }
}
@media (max-width: 991px){
	.ld-header-shell header a.ha-item .ha-sub{ display: none !important; }
	.ld-header-shell header .divLogo img.ld-logo,
	.ld-header-shell header .logo a img{ width: 140px !important; }
	/* tablet: só ícones nas ações, para a busca ter espaço */
	.ld-header-shell header a.ha-item .ha-texts{ display: none !important; }
	.ld-header-shell header:not(.header-checkout){ gap: 16px !important; }
	.ld-header-shell #col-bottom.header-actions{ gap: 14px !important; }
}
@media (min-width: 768px) and (max-width: 991px){
	.ld-announce__inner{ gap: 18px; }
	/* 3º aviso (span 5) e seu separador (span 4) saem no tablet */
	.ld-announce__inner > span:nth-of-type(4), .ld-announce__inner > span:nth-of-type(5){ display: none; }
}
@media (max-width: 767px){
	.ld-header-shell header:not(.header-checkout){
		flex-wrap: wrap !important;
		gap: 10px 12px !important;
		padding: 10px 0 12px !important;
	}
	.ld-header-shell .ld-burger{
		order: 0;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 40px; height: 40px;
		margin: 0 0 0 -8px !important;
		padding: 0 !important;
		border: 0;
		border-radius: 50%;
		background: transparent;
		color: var(--ld-ink);
		font-size: 0 !important;
		cursor: pointer;
	}
	.ld-header-shell .ld-burger:active{ background: var(--ld-cream); }
	.ld-header-shell header:not(.header-checkout) > .divLogo{
		order: 1;
		flex: 1 1 auto !important;
		max-width: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.ld-header-shell header .divLogo img.ld-logo,
	.ld-header-shell header .logo a img{ width: 124px !important; }
	.ld-header-shell header:not(.header-checkout) > #col-bottom,
	.ld-header-shell #col-bottom.header-actions{
		order: 2;
		gap: 16px !important;
		max-width: none !important;
	}
	.ld-header-shell header a.ha-item.ha-whats{ display: none !important; }
	.ld-header-shell header a.ha-item .ha-texts{ display: none !important; }
	.ld-header-shell header a.ha-item{ padding: 4px !important; }
	.ld-header-shell header a.ha-item .ld-ico.ha-ico{ width: 23px; height: 23px; }
	.ld-header-shell header:not(.header-checkout) > #col-busca{
		order: 3;
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.ld-header-shell #col-busca.is-hidden-flow{ display: none !important; }
	.ld-header-shell header .formBusca,
	.ld-header-shell header .formBusca .form-control{ height: 44px !important; }
	.ld-header-shell header .formBusca .form-control{ padding: 0 96px 0 42px !important; font-size: 14px !important; }
	.ld-header-shell header .formBusca .ld-search-ico{ left: 15px; }
	.ld-header-shell header .formBusca .enviar{ height: 34px !important; line-height: 34px !important; padding: 0 16px !important; font-size: 10.5px !important; }
	.ld-header-shell header:not(.header-checkout){ min-height: 0 !important; }
}
@media (max-width: 360px){
	.ld-header-shell header .divLogo img.ld-logo,
	.ld-header-shell header .logo a img{ width: 108px !important; }
	.ld-header-shell #col-bottom.header-actions{ gap: 10px !important; }
}

/* header enxuto do checkout */
.ld-header-shell .header-checkout{
	background: var(--ld-paper) !important;
	border: 0 !important;
	padding: 18px 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
}
.ld-header-shell .header-checkout .logo-checkout img{ width: 150px !important; height: auto !important; }
.ld-header-shell .header-checkout .selo-seguranca{
	font-family: var(--ld-font-display);
	font-size: 11.5px !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ld-muted) !important;
}
.ld-header-shell .header-checkout .selo-seguranca span{ color: var(--ld-muted) !important; }
.ld-header-shell .header-checkout .selo-seguranca i{ color: var(--ld-caramel) !important; }

/* ==========================================================================
   MENU DE CATEGORIAS (desktop)
   ========================================================================== */
.ld-nav-band{
	position: relative;
	z-index: 1020;
	background: var(--ld-paper);
	border-bottom: 1px solid var(--ld-line);
}
.ld-nav-band.is-hidden{ display: none; }
body #categorias.ld-nav{
	position: relative;
	justify-content: center;
	background: transparent !important;
	padding: 0;
	margin: 0;
	border-radius: 0;
}
body #categorias.ld-nav > ul{
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 44px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
body #categorias.ld-nav > ul > li.categoria{ position: relative; display: flex; }
body #categorias.ld-nav > ul > li.categoria > a{
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 17px 0;
	font-family: var(--ld-font-display);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ld-ink) !important;
	text-decoration: none !important;
	cursor: pointer;
	white-space: nowrap;
}
body #categorias.ld-nav > ul > li.categoria > a .ld-ico{ color: var(--ld-caramel); }
body #categorias.ld-nav > ul > li.categoria > a::after{
	content: "";
	position: absolute;
	left: 0; right: 0;
	bottom: 11px;
	height: 1.5px;
	background: var(--ld-caramel);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .35s var(--ld-ease);
}
body #categorias.ld-nav > ul > li.categoria:hover > a,
body #categorias.ld-nav > ul > li.categoria > a:focus-visible{ color: var(--ld-choco) !important; }
body #categorias.ld-nav > ul > li.categoria:hover > a::after,
body #categorias.ld-nav > ul > li.categoria > a:focus-visible::after{ transform: scaleX(1); }

/* dropdowns: cartão branco com sombra suave */
body #categorias.ld-nav .oculto{
	top: 100%;
	left: -18px;
	width: auto !important;
	min-width: 0;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
	z-index: 60;
}
body #categorias.ld-nav .oculto::before{
	content: "";
	display: block;
	position: absolute;
	top: -14px; left: 0; right: 0;
	height: 14px;
}
body #categorias.ld-nav .oculto::after{ display: none; }
body #categorias.ld-nav > ul > li.categoria + li.categoria > .oculto,
body #categorias.ld-nav > ul > li.categoria:first-child > .oculto > .ld-drop__list{
	min-width: 250px;
	padding: 8px !important;
	background: var(--ld-paper);
	border: 1px solid var(--ld-line);
	border-radius: var(--ld-radius);
	box-shadow: var(--ld-shadow-lg);
	animation: ld-drop-in .22s var(--ld-ease);
}
body #categorias.ld-nav > ul > li.categoria + li.categoria > .oculto{ top: calc(100% + 1px); }
body #categorias.ld-nav > ul > li.categoria:first-child > .oculto{ top: calc(100% + 1px); padding-top: 0 !important; }
body #categorias.ld-nav > ul > li.categoria:first-child > .oculto > .ld-drop__list{ width: 270px; }
body #categorias.ld-nav .ld-drop__list{ padding: 0; background: transparent; width: auto; }
body #categorias.ld-nav .oculto a{ text-decoration: none !important; display: block; }
body #categorias.ld-nav .linha{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	padding: 11px 14px;
	border-radius: var(--ld-radius-sm);
	font-family: var(--ld-font-display);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ld-ink) !important;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
body #categorias.ld-nav .linha a{ color: inherit !important; }
body #categorias.ld-nav .linha .fa-chevron-right{ font-size: 10px; color: var(--ld-caramel); }
body #categorias.ld-nav .linha:hover{
	background-color: var(--ld-cream-soft);
	color: var(--ld-choco) !important;
}
/* painel da direita (subcategorias) do "Todas as categorias" */
body #categorias.ld-nav .ld-mega__panel{
	top: 0;
	left: 278px;
	width: 300px;
	height: auto;
	min-height: 100%;
	padding: 20px 22px;
	background: var(--ld-paper);
	border: 1px solid var(--ld-line);
	border-radius: var(--ld-radius);
	box-shadow: var(--ld-shadow-lg);
}
body #categorias.ld-nav .ld-mega__panel h1{
	margin: 0 0 4px;
	font-family: var(--ld-font-display);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ld-caramel) !important;
}
body #categorias.ld-nav .ld-mega__panel hr{ margin: 12px 0 6px; border-color: var(--ld-line); }
body #categorias.ld-nav .ld-mega__panel ul li{ padding: 0; }
body #categorias.ld-nav .ld-mega__panel ul li a{
	display: block;
	padding: 9px 0;
	font-size: 14px;
	color: var(--ld-text) !important;
}
body #categorias.ld-nav .ld-mega__panel ul li a:hover{ color: var(--ld-choco) !important; padding-left: 4px; }
@keyframes ld-drop-in{ from{ opacity: 0; transform: translateY(6px); } to{ opacity: 1; transform: none; } }
@media (max-width: 1199px){
	body #categorias.ld-nav > ul{ gap: 0 22px; flex-wrap: nowrap; }
	body #categorias.ld-nav > ul > li.categoria > a{ font-size: 11.5px; letter-spacing: .1em; white-space: nowrap; }
}
@media (max-width: 991px){
	body #categorias.ld-nav > ul{ gap: 0 16px; flex-wrap: nowrap; }
	body #categorias.ld-nav > ul > li.categoria > a{ font-size: 10.5px; letter-spacing: .07em; white-space: nowrap; }
}
@media (max-width: 767px){
	.ld-nav-band{ display: none; }
}

/* ==========================================================================
   GAVETA MOBILE (#categorias-mobile)
   ========================================================================== */
body #categorias-mobile{
	width: 86%;
	max-width: 360px;
	padding: 0 0 28px;
	background: var(--ld-paper);
	box-shadow: 18px 0 50px rgba(28,25,22,.22);
	border-radius: 0 var(--ld-radius-lg) var(--ld-radius-lg) 0;
}
body #categorias-mobile-backdrop{
	background: rgba(28,25,22,.52);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}
.ld-drawer__head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 16px 18px 22px;
	border-bottom: 1px solid var(--ld-line);
	position: sticky;
	top: 0;
	background: var(--ld-paper);
	z-index: 2;
}
.ld-drawer__logo img{ width: 128px; height: auto; display: block; }
body #categorias-mobile .ld-drawer__close{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px; height: 42px;
	padding: 0;
	border: 1px solid var(--ld-line);
	border-radius: 50%;
	background: var(--ld-paper);
	color: var(--ld-ink);
	font-size: 0;
	cursor: pointer;
}
body #categorias-mobile .ld-drawer__close::before{ content: none !important; display: none !important; }
body #categorias-mobile .ld-drawer__close .ld-ico{ pointer-events: none; }
body #categorias-mobile .ld-drawer__close:active{ background: var(--ld-cream); }
.ld-drawer__eyebrow{
	padding: 22px 22px 6px;
	font-family: var(--ld-font-display);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ld-caramel);
}
body #categorias-mobile > ul{ padding: 0; margin: 0; }
body #categorias-mobile li.categoria-mobile{
	border-bottom: 1px solid var(--ld-line);
	list-style: none;
}
body #categorias-mobile .ld-drawer__row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 17px 22px;
	cursor: pointer;
}
body #categorias-mobile .ld-drawer__row a{
	font-family: var(--ld-font-display);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ld-ink) !important;
	text-decoration: none !important;
}
body #categorias-mobile .ld-drawer__row .fa-chevron-right{ font-size: 11px; color: var(--ld-caramel); }
body #categorias-mobile .oculto-mobile{
	padding: 0 22px 14px;
	margin: 0;
	background: transparent;
}
body #categorias-mobile .oculto-mobile li{ padding: 0; list-style: none; }
body #categorias-mobile .oculto-mobile li a{
	display: block;
	padding: 10px 0 10px 16px;
	border-left: 1px solid var(--ld-line);
	font-size: 14px;
	color: var(--ld-muted) !important;
	text-decoration: none !important;
}
body #categorias-mobile .oculto-mobile li a:active,
body #categorias-mobile .oculto-mobile li a:hover{ color: var(--ld-choco) !important; border-left-color: var(--ld-caramel); }
.ld-drawer__links{
	display: grid;
	gap: 2px;
	margin: 22px 14px 0;
	padding: 10px;
	background: var(--ld-cream-soft);
	border-radius: var(--ld-radius);
}
.ld-drawer__links a{
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 10px;
	border-radius: var(--ld-radius-sm);
	font-size: 14px;
	color: var(--ld-text) !important;
	text-decoration: none !important;
}
.ld-drawer__links a .ld-ico{ color: var(--ld-caramel); }
.ld-drawer__links a:active{ background: var(--ld-cream); }

/* ==========================================================================
   SLIDER
   ========================================================================== */
.carousel-slick{ margin-top: 22px; }
.carousel-slick .slick-list{
	border-radius: var(--ld-radius-lg);
	overflow: hidden;
	box-shadow: var(--ld-shadow-sm);
	background: var(--ld-cream);
}
.carousel-slick .item img,
.carousel-slick img{ border-radius: 0 !important; display: block; width: 100% !important; height: auto !important; }
.carousel-slick .slick-dots{
	display: flex !important;
	justify-content: center;
	align-items: center;
	gap: 8px;
	position: static !important;
	margin: 16px 0 0 !important;
	padding: 0;
	bottom: auto;
}
.carousel-slick .slick-dots li{ width: auto; height: auto; margin: 0 !important; }
.carousel-slick .slick-dots li button{
	width: 8px; height: 8px;
	padding: 0;
	border: 0 !important;
	border-radius: 999px;
	background-color: #D9CBBB !important;
	transition: width .35s var(--ld-ease), background-color .35s ease;
}
.carousel-slick .slick-dots li button::before{ display: none !important; }
.carousel-slick .slick-dots li.slick-active button{ width: 26px; background-color: var(--ld-choco) !important; }
.carousel-slick .slick-dots li button:hover{ background-color: var(--ld-caramel) !important; }
.carousel-slick .slick-arrow{
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	height: 44px !important;
	top: calc(50% - 16px) !important;
	transform: translateY(-50%);
	border-radius: 50%;
	background: rgba(255,255,255,.78) !important;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0 4px 16px rgba(28,25,22,.12);
	color: var(--ld-ink);
	font-size: 0 !important;
	opacity: 0;
	z-index: 3;
	transition: opacity .3s ease, background-color .2s ease;
}
.carousel-slick .slick-prev{ left: 18px !important; }
.carousel-slick .slick-next{ right: 18px !important; }
.carousel-slick:hover .slick-arrow,
.carousel-slick .slick-arrow:focus-visible{ opacity: 1; }
.carousel-slick .slick-arrow:hover{ background: #fff !important; }
.carousel-slick .slick-arrow::before{
	content: "" !important;
	font-family: inherit !important;
	display: block;
	width: 9px; height: 9px;
	border-left: 1.5px solid var(--ld-ink);
	border-bottom: 1.5px solid var(--ld-ink);
	opacity: 1 !important;
}
.carousel-slick .slick-prev::before{ transform: translateX(2px) rotate(45deg); }
.carousel-slick .slick-next::before{ transform: translateX(-2px) rotate(-135deg); }
@media (max-width: 767px){
	.carousel-slick{ margin-top: 14px; }
	.carousel-slick .slick-list{ border-radius: var(--ld-radius); }
	.carousel-slick .slick-arrow{ display: none !important; }
	.carousel-slick .slick-dots{ margin-top: 12px !important; }
}
.banner-home img{ border-radius: var(--ld-radius-lg) !important; margin-top: 18px; }

/* ==========================================================================
   TÍTULOS DE SEÇÃO (eyebrow caramelo + título Jost)
   ========================================================================== */
.ld-section-head{
	text-align: center;
	margin: 64px auto 30px;
	max-width: 680px;
	padding: 0 16px;
}
.ld-eyebrow{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	font-family: var(--ld-font-display);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--ld-caramel);
}
.ld-eyebrow::before, .ld-eyebrow::after{
	content: "";
	width: 26px; height: 1px;
	background: currentColor;
	opacity: .6;
}
html body .ld-title{
	margin: 0;
	padding: 0;
	font-family: var(--ld-font-display);
	font-size: 34px;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--ld-choco) !important;
}
.ld-section-sub{
	margin: 12px auto 0;
	max-width: 520px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--ld-muted);
}
@media (max-width: 767px){
	.ld-section-head{ margin: 44px auto 22px; }
	html body .ld-title{ font-size: 26px; }
	.ld-section-sub{ font-size: 14px; }
}
.ld-related-band{ background: transparent; border-top: 1px solid var(--ld-line); margin-top: 48px; }
.ld-related-band .ld-section-head{ margin-top: 52px; }

/* ==========================================================================
   DIFERENCIAIS (faixa com 4 itens)
   ========================================================================== */
.ld-perks{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 34px 0 0;
	padding: 22px 8px;
	background: var(--ld-paper);
	border: 1px solid var(--ld-line);
	border-radius: var(--ld-radius-lg);
}
.ld-perk{
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 4px 22px;
	min-width: 0;
}
.ld-perk + .ld-perk{ border-left: 1px solid var(--ld-line); }
.ld-perk strong{
	display: block;
	font-family: var(--ld-font-display);
	font-size: 15px;
	font-weight: 500;
	color: var(--ld-ink);
	line-height: 1.25;
}
.ld-perk span:not(.ld-circle-ico){ display: block; font-size: 13px; color: var(--ld-muted); line-height: 1.4; margin-top: 2px; }
.ld-circle-ico{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 54px; height: 54px;
	border-radius: 50%;
	background: var(--ld-cream);
	color: var(--ld-caramel);
}
@media (max-width: 991px){
	.ld-perks{ grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; }
	.ld-perk{ padding: 14px 16px; }
	.ld-perk + .ld-perk{ border-left: 0; }
	.ld-perk:nth-child(2n){ border-left: 1px solid var(--ld-line); }
	.ld-perk:nth-child(n+3){ border-top: 1px solid var(--ld-line); }
}
@media (max-width: 767px){
	.ld-perks{ margin-top: 22px; border-radius: var(--ld-radius); }
	.ld-perk{ flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 12px; }
	.ld-perk strong{ font-size: 14px; }
	.ld-perk span:not(.ld-circle-ico){ font-size: 12px; }
	.ld-circle-ico{ width: 44px; height: 44px; }
	.ld-circle-ico .ld-ico{ width: 20px; height: 20px; }
}

/* ==========================================================================
   CARDS DE PRODUTO (.col-product) — globais (home, listagens, relacionados)
   ========================================================================== */
/* grade alinhada: 4 col desktop / 3 tablet / 2 celular */
.row:has(> .col-product){
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.row:has(> .col-product)::before,
.row:has(> .col-product)::after{ display: none !important; content: none !important; }
.row:has(> .col-product) > .col-product,
.row:has(> .col-product) > #destaques.col-product,
.row:has(> .col-product) > #lancamentos.col-product{
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}
@media (max-width: 991px){
	.row:has(> .col-product){ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 767px){
	.row:has(> .col-product){ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* Home: uma linha por modelo (todas as cores do modelo lado a lado) */
.ld-model-rows{ display: flex; flex-direction: column; gap: 46px; margin-top: 6px; }
html body header.ld-model-row__head{
	display: flex !important; align-items: flex-end; justify-content: space-between; gap: 16px;
	padding: 0 0 14px !important; margin: 0 0 20px; min-height: 0 !important; height: auto !important;
	background: transparent !important; box-shadow: none !important; position: static !important;
	border-bottom: 1px solid var(--ld-line);
}
.ld-model-row__eyebrow{
	display: block; margin: 0 0 4px;
	font-family: var(--ld-font-display); font-size: 11px; font-weight: 500;
	letter-spacing: .18em; text-transform: uppercase; color: var(--ld-caramel);
}
html body .ld-model-row__title{
	margin: 0; font-family: var(--ld-font-display); font-weight: 500; font-size: 27px;
	line-height: 1.1; letter-spacing: -.005em; color: var(--ld-choco) !important;
}
.ld-model-row__meta{ display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.ld-model-row__count{ font-size: 13px; color: var(--ld-muted); }
html body a.ld-model-row__link{
	font-family: var(--ld-font-display); font-size: 12px; font-weight: 500; letter-spacing: .14em;
	text-transform: uppercase; color: var(--ld-ink) !important; text-decoration: none !important;
	border-bottom: 1px solid var(--ld-caramel); padding-bottom: 3px; white-space: nowrap;
	transition: color .2s ease, border-color .2s ease;
}
html body a.ld-model-row__link:hover{ color: var(--ld-choco) !important; border-color: var(--ld-choco); }
.ld-model-row__grid{
	display: grid; grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4 * 20px) / 5);
	gap: 20px; overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; padding: 2px 2px 12px; margin: 0 -2px;
	scrollbar-width: thin; scrollbar-color: var(--ld-line) transparent;
}
.ld-model-row__grid::-webkit-scrollbar{ height: 6px; }
.ld-model-row__grid::-webkit-scrollbar-thumb{ background: var(--ld-line); border-radius: 6px; }
.ld-model-row__grid > .col-product{
	width: auto !important; margin: 0 !important; float: none !important;
	scroll-snap-align: start;
}
@media (max-width: 1199px){ .ld-model-row__grid{ grid-auto-columns: calc((100% - 3 * 18px) / 4); gap: 18px; } }
@media (max-width: 991px){ .ld-model-row__grid{ grid-auto-columns: calc((100% - 2 * 16px) / 3); gap: 16px; } }
@media (max-width: 767px){
	.ld-model-rows{ gap: 34px; }
	.ld-model-row__head{ align-items: center; margin-bottom: 14px; }
	html body .ld-model-row__title{ font-size: 21px; }
	.ld-model-row__count{ display: none; }
	.ld-model-row__grid{ grid-auto-columns: 46%; gap: 12px; }
}

html body .col-product{
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	padding: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	text-align: left !important;
	background: var(--ld-paper) !important;
	border: 1px solid var(--ld-line) !important;
	border-radius: var(--ld-radius) !important;
	box-shadow: none !important;
	overflow: hidden !important;
	transform: none !important;
	transition: box-shadow .35s var(--ld-ease), transform .35s var(--ld-ease), border-color .35s ease !important;
}
html body .col-product:hover{
	border-color: #DCCDBB !important;
	box-shadow: var(--ld-shadow-lg) !important;
	transform: translateY(-3px) !important;
	background: var(--ld-paper) !important;
}
html body .col-product > a:not(.btn-comprar){
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	padding: 10px 10px 0 !important;
	text-align: left !important;
	color: inherit !important;
	text-decoration: none !important;
}
html body .col-product > a > br{ display: none; }
html body .col-product .image-block{
	position: relative;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 1 / 1;
	margin: 0 0 16px !important;
	padding: 8% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--ld-cream-img) !important;
	border-radius: calc(var(--ld-radius) - 5px) !important;
	overflow: hidden !important;
}
html body .col-product .image-block img,
html body .col-product a .image-block img{
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	border-radius: 0 !important;
	/* fotos com fundo cinza-claro de estúdio: clareia o fundo e "funde" no creme */
	filter: brightness(1.08) contrast(1.03);
	mix-blend-mode: multiply;
	transform: none;
	transition: transform .6s var(--ld-ease) !important;
}
html body .col-product:hover .image-block img{ transform: scale(1.05) !important; }
html body .col-product a span.desc,
html body .col-product .desc{
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	height: auto !important;
	min-height: 2.7em !important;
	max-height: 2.7em !important;
	margin: 0 0 12px !important;
	padding: 0 6px !important;
	font-family: var(--ld-font-display) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: .005em;
	color: var(--ld-ink) !important;
	text-align: left !important;
}
html body .col-product a s{
	display: block !important;
	margin: 0 0 2px !important;
	padding: 0 6px !important;
	font-size: 12.5px !important;
	color: #A2958A !important;
	text-decoration: line-through;
}
html body .col-product a h2,
html body .col-product a h3,
html body .col-product h3{
	margin: auto 0 4px !important;
	padding: 0 6px !important;
	font-family: var(--ld-font-display) !important;
	font-size: 21px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -.01em !important;
	color: var(--ld-ink) !important;
}
html body .col-product a small{
	display: block !important;
	min-height: 0 !important;
	margin: 0 0 14px !important;
	padding: 0 6px !important;
	font-size: 12.5px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: var(--ld-muted) !important;
	background: transparent !important;
	position: static !important;
}
/* botão Comprar: preto -> chocolate */
html body .col-product .btn-comprar,
html body .col-product a.btn-primary.btn-comprar{
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: auto !important;
	height: 46px !important;
	margin: 0 16px 16px !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: var(--ld-radius-sm) !important;
	background: var(--ld-ink) !important;
	background-image: none !important;
	color: #fff !important;
	font-family: var(--ld-font-display) !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	box-shadow: none !important;
	transform: none !important;
	transition: background-color .25s ease, letter-spacing .35s var(--ld-ease) !important;
}
html body .col-product .btn-comprar::before{ content: none !important; display: none !important; }
html body .col-product .btn-comprar::after{
	content: "";
	width: 14px; height: 1.5px;
	background: currentColor;
	box-shadow: none;
	transition: width .3s var(--ld-ease);
}
html body .col-product .btn-comprar > span{
	font-family: var(--ld-font-display) !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	letter-spacing: .18em !important;
	color: #fff !important;
}
html body .col-product .btn-comprar .glyphicon{ display: none !important; }
html body .col-product .btn-comprar:hover,
html body .col-product .btn-comprar:focus-visible,
html body .col-product:hover .btn-comprar{
	background: var(--ld-choco) !important;
	box-shadow: none !important;
	transform: none !important;
}
html body .col-product:hover .btn-comprar::after{ width: 22px; }
html body .col-product > a:not(.btn-comprar) + div:empty{ height: 6px; }
/* favorito refinado */
html body .col-product .favorito-card{
	top: 18px !important;
	right: 18px !important;
	width: 38px !important; height: 38px !important;
	min-width: 38px !important; min-height: 38px !important;
	border: 1px solid rgba(230,220,207,.9) !important;
	background: rgba(255,255,255,.92) !important;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	box-shadow: 0 2px 10px rgba(28,25,22,.08) !important;
	color: var(--ld-ink) !important;
	font-size: 15px !important;
	transition: transform .25s var(--ld-ease), color .2s ease, background-color .2s ease, border-color .2s ease !important;
}
html body .col-product .favorito-card i{
	display: inline-block !important;
	font-size: 15px !important;
	line-height: 1 !important;
	color: inherit !important;
}
html body .col-product .favorito-card .fav-fallback{ display: none !important; }
html body .col-product .favorito-card:hover,
html body .col-product .favorito-card:focus-visible{
	color: var(--ld-choco) !important;
	border-color: var(--ld-caramel) !important;
	transform: scale(1.06);
}
html body .col-product .favorito-card.is-active,
html body .col-product .favorito-card:not(.add){
	color: #fff !important;
	background: var(--ld-choco) !important;
	border-color: var(--ld-choco) !important;
}
/* selo de vendas (quando existir) */
html body .col-product > small{
	top: 18px !important;
	left: 18px !important;
	background: rgba(255,255,255,.92) !important;
	border: 1px solid var(--ld-line) !important;
	color: var(--ld-choco) !important;
	font-family: var(--ld-font-body);
	font-size: 11px !important;
	font-weight: 500 !important;
}
html body .col-product > small i{ color: var(--ld-caramel) !important; }
html body .col-product .btn-warning.disabled{
	width: auto !important;
	height: 46px !important;
	margin: 0 16px 16px !important;
	border-radius: var(--ld-radius-sm) !important;
	background: var(--ld-line) !important;
	color: var(--ld-muted) !important;
	font-family: var(--ld-font-display) !important;
	letter-spacing: .14em !important;
}
@media (max-width: 767px){
	html body .col-product > a:not(.btn-comprar){ padding: 6px 6px 0 !important; }
	html body .col-product .image-block{ margin-bottom: 12px !important; padding: 7% !important; }
	html body .col-product a span.desc,
	html body .col-product .desc{ font-size: 13.5px !important; padding: 0 4px !important; margin-bottom: 8px !important; }
	html body .col-product a h3,
	html body .col-product h3{ font-size: 17px !important; padding: 0 4px !important; }
	html body .col-product a small{ font-size: 11.5px !important; padding: 0 4px !important; margin-bottom: 10px !important; }
	html body .col-product a s{ padding: 0 4px !important; font-size: 11.5px !important; }
	html body .col-product .btn-comprar,
	html body .col-product a.btn-primary.btn-comprar{ height: 40px !important; margin: 0 8px 8px !important; padding: 0 10px !important; font-size: 11px !important; letter-spacing: .14em !important; }
	html body .col-product .btn-comprar > span{ font-size: 11px !important; letter-spacing: .14em !important; }
	html body .col-product .btn-comprar::after{ display: none; }
	html body .col-product .favorito-card{ top: 12px !important; right: 12px !important; width: 32px !important; height: 32px !important; min-width: 32px !important; min-height: 32px !important; }
	html body .col-product .favorito-card i{ font-size: 13px !important; }
	html body .col-product:hover{ transform: none !important; }
}

/* carrossel de lançamentos */
#carouselDestaques2 .carousel-inner{ padding: 6px 2px 22px; }
#carouselDestaques2 + .pager,
.pager{
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 0 0 8px;
}
.pager li > a, .pager li > span{
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px; height: 44px;
	padding: 0 !important;
	border: 1px solid var(--ld-line) !important;
	border-radius: 50% !important;
	background: var(--ld-paper) !important;
	color: var(--ld-ink) !important;
	float: none !important;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.pager li > a:hover{ background: var(--ld-ink) !important; border-color: var(--ld-ink) !important; color: #fff !important; }
.pager li > a .glyphicon{ font-size: 12px; top: 0; }
.pager .previous, .pager .next{ float: none !important; }

/* ==========================================================================
   COMPRE POR MODELO
   ========================================================================== */
.ld-models__grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}
a.ld-model{
	display: flex;
	flex-direction: column;
	background: var(--ld-paper);
	border: 1px solid var(--ld-line);
	border-radius: var(--ld-radius-lg);
	overflow: hidden;
	color: var(--ld-ink) !important;
	text-decoration: none !important;
	transition: box-shadow .35s var(--ld-ease), transform .35s var(--ld-ease), border-color .35s ease;
}
a.ld-model:hover{ box-shadow: var(--ld-shadow-lg); transform: translateY(-3px); border-color: #DCCDBB; }
.ld-model__img{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 4.4;
	margin: 10px 10px 0;
	padding: 10%;
	background: var(--ld-cream);
	border-radius: var(--ld-radius);
	overflow: hidden;
}
.ld-model__img::after{
	content: "";
	position: absolute;
	right: -38px; bottom: -44px;
	width: 120px; height: 120px;
	border-radius: 58% 42% 50% 50% / 50% 55% 45% 50%;
	background: var(--ld-choco);
	opacity: .12;
	transition: transform .6s var(--ld-ease);
}
.ld-model__img img{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: brightness(1.08) contrast(1.03);
	mix-blend-mode: multiply;
	transition: transform .6s var(--ld-ease);
}
a.ld-model:hover .ld-model__img img{ transform: scale(1.05); }
a.ld-model:hover .ld-model__img::after{ transform: scale(1.25) rotate(12deg); }
.ld-model__body{ display: flex; flex-direction: column; gap: 4px; padding: 18px 20px 20px; }
.ld-model__name{
	font-family: var(--ld-font-display);
	font-size: 18px;
	font-weight: 500;
	color: var(--ld-ink);
	line-height: 1.25;
}
.ld-model__meta{ font-size: 13px; color: var(--ld-muted); }
.ld-model__cta{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-family: var(--ld-font-display);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ld-caramel);
}
.ld-model__cta .ld-ico{ transition: transform .3s var(--ld-ease); }
a.ld-model:hover .ld-model__cta{ color: var(--ld-choco); }
a.ld-model:hover .ld-model__cta .ld-ico{ transform: translateX(4px); }
@media (max-width: 991px){
	.ld-models__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 767px){
	.ld-models__grid{ gap: 12px; }
	a.ld-model{ border-radius: var(--ld-radius); }
	.ld-model__img{ margin: 6px 6px 0; border-radius: calc(var(--ld-radius) - 4px); }
	.ld-model__body{ padding: 12px 12px 14px; }
	.ld-model__name{ font-size: 14.5px; }
	.ld-model__meta{ font-size: 12px; }
	.ld-model__cta{ font-size: 10.5px; letter-spacing: .14em; margin-top: 6px; }
}

/* ==========================================================================
   MARCA ("Feito para durar") / DEPOIMENTOS
   ========================================================================== */
.ld-brand{
	position: relative;
	overflow: hidden;
	margin: 72px 0 8px;
	padding: 60px 48px 56px;
	background: var(--ld-cream);
	border-radius: var(--ld-radius-lg);
	isolation: isolate;
}
.ld-brand::before,
.ld-brand::after{
	content: "";
	position: absolute;
	z-index: -1;
	background: var(--ld-choco);
}
.ld-brand::before{
	top: -90px; right: -70px;
	width: 260px; height: 230px;
	border-radius: 62% 38% 46% 54% / 55% 48% 52% 45%;
	opacity: .9;
}
.ld-brand::after{
	bottom: -110px; left: -80px;
	width: 240px; height: 220px;
	border-radius: 45% 55% 60% 40% / 50% 40% 60% 50%;
	background: var(--ld-caramel);
	opacity: .35;
}
.ld-brand__intro{ text-align: center; max-width: 560px; margin: 0 auto 40px; }
.ld-brand__grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	max-width: 980px;
	margin: 0 auto;
}
.ld-brand__item{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 30px 26px 28px;
	background: rgba(255,255,255,.7);
	border: 1px solid rgba(230,220,207,.9);
	border-radius: var(--ld-radius);
}
.ld-brand__item .ld-circle-ico{ width: 62px; height: 62px; background: var(--ld-paper); margin-bottom: 16px; }
html body .ld-brand__item h3{
	margin: 0 0 8px;
	font-family: var(--ld-font-display);
	font-size: 18px;
	font-weight: 500;
	color: var(--ld-ink) !important;
}
.ld-brand__item p{ margin: 0; font-size: 14px; line-height: 1.6; color: var(--ld-muted); }
a.ld-link-arrow{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-family: var(--ld-font-display);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ld-choco) !important;
	text-decoration: none !important;
}
a.ld-link-arrow .ld-ico{ transition: transform .3s var(--ld-ease); }
a.ld-link-arrow:hover .ld-ico{ transform: translateX(4px); }
@media (max-width: 767px){
	.ld-brand{ margin-top: 52px; padding: 44px 16px 20px; border-radius: var(--ld-radius); }
	.ld-brand::before{ width: 170px; height: 150px; top: -70px; right: -60px; }
	.ld-brand__intro{ margin-bottom: 26px; }
	.ld-brand__grid{ grid-template-columns: 1fr; gap: 12px; }
	.ld-brand::after{ width: 150px; height: 130px; bottom: -80px; left: -70px; }
	.ld-brand__item{
		display: grid;
		grid-template-columns: 50px 1fr;
		align-content: start;
		align-items: start;
		gap: 2px 16px;
		text-align: left;
		padding: 18px;
		background: rgba(255,255,255,.88);
	}
	.ld-brand__item .ld-circle-ico{ width: 50px; height: 50px; margin: 0; grid-column: 1; grid-row: 1 / span 3; }
	.ld-brand__item > h3, .ld-brand__item > p, .ld-brand__item > a{ grid-column: 2; }
	html body .ld-brand__item h3{ font-size: 16px; margin-bottom: 4px; }
	.ld-brand__item p{ font-size: 13.5px; }
	a.ld-link-arrow{ margin-top: 8px; }
}
/* depoimentos (só aparecem se houver registros aprovados no banco) */
.ld-testimonials__grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ld-testimonial{
	margin: 0;
	padding: 28px 26px 24px;
	background: var(--ld-paper);
	border: 1px solid var(--ld-line);
	border-radius: var(--ld-radius);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ld-testimonial__stars{ color: var(--ld-caramel); letter-spacing: .14em; font-size: 14px; }
.ld-testimonial__stars .is-off{ color: var(--ld-line); }
.ld-testimonial blockquote{ margin: 0; padding: 0; border: 0; font-size: 15px; line-height: 1.65; color: var(--ld-text); flex: 1; }
.ld-testimonial figcaption{ display: flex; align-items: center; gap: 12px; font-family: var(--ld-font-display); font-weight: 500; color: var(--ld-ink); }
.ld-testimonial__avatar{ width: 38px; height: 38px; border-radius: 50%; background: var(--ld-cream); color: var(--ld-choco); display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 767px){ .ld-testimonials__grid{ grid-template-columns: 1fr; gap: 12px; } }

/* ==========================================================================
   BANNERS EXTRA
   ========================================================================== */
.container-extra .banner-extra,
.container-extra .banner-extra img{ border-radius: var(--ld-radius-lg) !important; overflow: hidden; }

/* ==========================================================================
   RODAPÉ (escuro, --ld-ink)
   ========================================================================== */
html body footer.ld-footer{
	float: none !important;
	position: relative;
	width: 100% !important;
	margin: 88px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--ld-ink) !important;
	box-shadow: 0 0 0 100vmax var(--ld-ink) !important;
	-webkit-clip-path: inset(0 -100vmax);
	clip-path: inset(0 -100vmax);
	color: var(--ld-on-ink) !important;
	font-family: var(--ld-font-body);
}
html body footer.ld-footer a{ color: var(--ld-on-ink) !important; text-decoration: none !important; transition: color .2s ease, transform .2s ease; }
html body footer.ld-footer a:hover{ color: #fff !important; }
html body footer.ld-footer strong,
html body footer.ld-footer b{ color: inherit !important; }
html body footer.ld-footer small{ color: var(--ld-on-ink-muted) !important; }
.ld-footer *{ box-sizing: border-box; }
.ld-footer .ft-top{
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr 1.35fr;
	gap: 44px;
	padding: 68px 0 48px;
	align-items: start;
}
.ld-footer .ft-logo{ width: 170px; max-width: 100%; height: auto; display: block; }
.ld-footer .ft-desc{ margin: 20px 0 22px; max-width: 290px; font-size: 14px; line-height: 1.65; color: var(--ld-on-ink-muted); }
.ld-footer .ft-badges{ list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ld-footer .ft-badges li{
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ld-font-display);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ld-on-ink);
}
.ld-footer .ft-badges .ld-ico{ color: var(--ld-caramel); }
.ld-footer .ft-col-title{
	margin: 4px 0 22px;
	font-family: var(--ld-font-display);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #fff;
}
.ld-footer .ft-col-title::after{
	content: "";
	display: block;
	width: 24px; height: 1.5px;
	margin-top: 12px;
	background: var(--ld-caramel);
}
.ld-footer .ft-links{ list-style: none; margin: 0; padding: 0; }
.ld-footer .ft-links li{ margin: 0 0 12px; }
html body footer.ld-footer .ft-links a{ font-size: 14px; color: var(--ld-on-ink-muted) !important; display: inline-block; }
html body footer.ld-footer .ft-links a:hover{ color: #fff !important; transform: translateX(3px); }
.ld-footer .ft-contact{ list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.ld-footer .ft-contact li{ display: flex; align-items: flex-start; gap: 14px; margin: 0; }
.ld-footer .ft-contact .ft-ico{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 38px; height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.14);
	color: var(--ld-caramel);
}
.ld-footer .ft-contact .ft-txt{ display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.45; color: var(--ld-on-ink); padding-top: 1px; }
html body footer.ld-footer .ft-contact .ft-txt strong{
	font-family: var(--ld-font-display);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ld-on-ink-muted) !important;
}
html body footer.ld-footer .ft-contact .ft-txt span{ color: var(--ld-on-ink) !important; }
.ld-footer .ft-pay{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 28px;
	padding: 26px 0;
	border-top: 1px solid rgba(255,255,255,.09);
}
.ld-footer .ft-pay-title{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ld-font-display);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ld-on-ink-muted);
}
.ld-footer .ft-pay-title .ld-ico{ color: var(--ld-caramel); }
.ld-footer .ft-pay-list{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ld-footer .ft-pay-list li{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 6px;
	min-height: 34px;
	line-height: 0;
	background: #fff;
	border-radius: 6px;
}
.ld-footer .ft-pay-list svg{ display: block; width: 38px; height: 24px; }
.ld-footer .ft-trust{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px 36px;
	padding: 24px 0;
	border-top: 1px solid rgba(255,255,255,.09);
}
.ld-footer .ft-trust-msg{ display: flex; align-items: center; gap: 14px; }
.ld-footer .ft-trust-msg > span:last-child{ display: flex; flex-direction: column; gap: 2px; }
.ld-footer .ft-trust-msg strong{ font-family: var(--ld-font-display); font-size: 14px; font-weight: 500; color: #fff !important; }
.ld-footer .ft-trust-msg small{ font-size: 12.5px; }
.ld-footer .ft-seal{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px; height: 46px;
	border-radius: 50%;
	background: rgba(160,113,79,.16);
	color: var(--ld-caramel);
}
.ld-footer .ft-trust-sep{ width: 1px; height: 32px; background: rgba(255,255,255,.12); }
.ld-footer .ft-copy{
	padding: 20px 0 26px;
	border-top: 1px solid rgba(255,255,255,.09);
	font-size: 12.5px;
	color: var(--ld-on-ink-muted);
	text-align: left;
	letter-spacing: .02em;
}
@media (max-width: 991px){
	.ld-footer .ft-top{ grid-template-columns: 1fr 1fr; gap: 36px 28px; padding: 52px 0 36px; }
	.ld-footer .ft-brand{ grid-column: 1 / -1; }
}
@media (max-width: 767px){
	html body footer.ld-footer{ margin-top: 64px !important; }
	.ld-footer .ft-top{ grid-template-columns: 1fr 1fr; gap: 34px 18px; padding: 44px 0 30px; }
	.ld-footer .ft-col:last-child{ grid-column: 1 / -1; }
	.ld-footer .ft-desc{ max-width: none; }
	.ld-footer .ft-pay{ flex-direction: column; align-items: flex-start; }
	.ld-footer .ft-trust{ flex-direction: column; align-items: flex-start; gap: 16px; }
	.ld-footer .ft-trust-sep{ display: none; }
	.ld-footer .ft-copy{ padding-bottom: 92px; }
}

/* ==========================================================================
   WHATSAPP (botão flutuante) · VOLTAR AO TOPO · COOKIES
   ========================================================================== */
a.btn-whatsapp-float{
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 10060;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 58px; height: 58px;
	border-radius: 50%;
	background: #25D366;
	color: #fff !important;
	box-shadow: 0 10px 28px rgba(28,25,22,.22), 0 0 0 5px rgba(255,255,255,.75);
	text-decoration: none !important;
	transition: transform .3s var(--ld-ease), box-shadow .3s ease;
}
a.btn-whatsapp-float svg{ display: block; width: 28px; height: 28px; }
body.menu-mobile-open a.btn-whatsapp-float,
body.menu-mobile-open .gotop{ opacity: 0; pointer-events: none; }
a.btn-whatsapp-float:hover{ transform: translateY(-2px); box-shadow: 0 14px 34px rgba(28,25,22,.26), 0 0 0 5px rgba(255,255,255,.9); }
.btn-whatsapp-float__label{
	position: absolute;
	right: calc(100% + 14px);
	top: 50%;
	transform: translate(8px, -50%);
	padding: 9px 14px;
	border-radius: 999px;
	background: var(--ld-ink);
	color: var(--ld-cream);
	font-family: var(--ld-font-display);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease, transform .3s var(--ld-ease);
}
a.btn-whatsapp-float:hover .btn-whatsapp-float__label,
a.btn-whatsapp-float:focus-visible .btn-whatsapp-float__label{ opacity: 1; transform: translate(0, -50%); }
@media (max-width: 767px){
	a.btn-whatsapp-float{ right: 16px; bottom: 16px; width: 52px; height: 52px; }
	a.btn-whatsapp-float svg{ width: 26px; height: 26px; }
	.btn-whatsapp-float__label{ display: none; }
}
html body .gotop{
	left: auto !important;
	right: 31px !important;
	bottom: 98px !important;
	width: 44px; height: 44px;
	padding: 0 !important;
	border: 1px solid var(--ld-line) !important;
	border-radius: 50% !important;
	background: var(--ld-paper) !important;
	color: transparent !important;
	font-size: 0 !important;
	box-shadow: var(--ld-shadow);
	z-index: 10055;
}
html body .gotop span{ display: block; width: 100%; height: 100%; font-size: 13px; line-height: 42px; text-align: center; color: var(--ld-ink); top: 0; }
html body .gotop:hover{ background: var(--ld-ink) !important; border-color: var(--ld-ink) !important; }
html body .gotop:hover span{ color: #fff; }
/* cookie consent na paleta da marca */
html body .cc-window{
	font-family: var(--ld-font-body) !important;
	font-size: 13.5px !important;
	line-height: 1.55 !important;
	border-radius: var(--ld-radius) !important;
	box-shadow: var(--ld-shadow-lg);
}
html body .cc-window.cc-floating{ max-width: 360px !important; padding: 22px !important; }
html body .cc-window .cc-link{ color: var(--ld-caramel) !important; opacity: 1; }
html body .cc-window .cc-btn{
	font-family: var(--ld-font-display) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	border-radius: var(--ld-radius-sm) !important;
	border: 0 !important;
	padding: 11px 16px !important;
}
html body .cc-window .cc-btn:hover{ background-color: var(--ld-choco) !important; }
@media (max-width: 767px){
	html body .cc-window.cc-floating{ left: 12px !important; right: 12px !important; bottom: 12px !important; max-width: none !important; }
	html body .cc-window.cc-floating{ padding: 16px !important; }
}

/* ==========================================================================
   UTILITÁRIOS
   ========================================================================== */
.ld-section{ position: relative; }
@media (prefers-reduced-motion: reduce){
	.ld-header-shell, .col-product, a.ld-model, .carousel-slick .slick-dots li button{ transition: none !important; }
	html body .col-product:hover, a.ld-model:hover{ transform: none !important; }
}
