.bc-cookie-consent{
	--bc-green: var(--wp--preset--color--verde, #71AF2E);
	--bc-dark: var(--wp--preset--color--azul-escuro, #1D1E30);
	--bc-white: var(--wp--preset--color--branco, #fff);

	--bc-radius: 14px;
	--bc-shadow: 0 12px 30px rgba(0,0,0,.18);

	--bc-pad: var(--wp--preset--spacing--sm, 16px);
	--bc-gap: 10px;

	font-family: var(--wp--preset--font-family--roboto, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif);
}

/* ========= Banner ========= */
.bc-cc-banner{
	position:fixed;
	left:16px;
	right:16px;
	bottom:16px;
	z-index:99999;
}

.bc-cc-banner__inner{
	max-width:980px;
	margin:0 auto;
	background:var(--bc-white);
	border:1px solid rgba(0,0,0,.12);
	border-radius:var(--bc-radius);
	box-shadow:var(--bc-shadow);
	padding:var(--bc-pad);
}

.bc-cc-banner__title{
	margin:0 0 8px;
	font-size:1.125rem;
	font-weight:600;
	color:var(--bc-dark);
}

.bc-cc-banner__text{
	margin:0 0 10px;
	line-height:1.5;
	color:var(--bc-dark);
}

.bc-cc-banner__links{
	margin:0 0 12px;
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	align-items:center;
	opacity:.9;
}

.bc-cc-link{
	color:var(--bc-green);
	text-decoration:underline;
	text-underline-offset:2px;
}

.bc-cc-actions{
	display:flex;
	gap:var(--bc-gap);
	flex-wrap:wrap;
	justify-content:flex-end;
}

/* ========= Botões ========= */
.bc-cc-btn{
	border:0;
	border-radius:999px;
	padding:10px 14px;
	cursor:pointer;
	font-weight:700;
	line-height:1;
	white-space:nowrap;
}

.bc-cc-btn--primary{
	background:var(--bc-green);
	color:var(--bc-white);
}

.bc-cc-btn--secondary{
	background:rgba(0,0,0,.06);
	color:var(--bc-dark);
}

/* ========= Modal ========= */
.bc-cc-modal{
	position:fixed;
	inset:0;
	z-index:100000;
	display:grid;
	place-items:center;
	padding:18px;
	background:rgba(0,0,0,.45);
}

/* Card do modal com altura máxima + layout em coluna */
.bc-cc-modal__inner{
	width:min(980px,100%);
	background:var(--bc-white);
	border:1px solid rgba(0,0,0,.12);
	border-radius:var(--bc-radius);
	box-shadow:var(--bc-shadow);

	/* IMPORTANTES: */
	max-height: calc(100vh - 36px);
	display:flex;
	flex-direction:column;
	overflow:hidden;
}

/* Header fixo do modal */
.bc-cc-modal__header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;

	padding: var(--bc-pad);
	border-bottom:1px solid rgba(0,0,0,.08);
}

.bc-cc-modal__title{
	margin:0;
	font-size:1.125rem;
	font-weight:600;
	color:var(--bc-dark);
}

/* Conteúdo com scroll interno */
.bc-cc-modal__body{
	padding: var(--bc-pad);
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}

/* Rodapé com botões sempre visível */
.bc-cc-actions--modal{
	margin: 0;
	padding: var(--bc-pad);
	border-top:1px solid rgba(0,0,0,.08);
	background: var(--bc-white);

	/* fica sempre aparecendo mesmo com scroll */
	position: sticky;
	bottom: 0;

	display:flex;
	gap: var(--bc-gap);
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* Botão fechar */
.bc-cc-iconbtn{
	width:40px;
	height:40px;
	border-radius:12px;
	border:0;
	background:rgba(0,0,0,.06);
	cursor:pointer;
	font-size:22px;
	line-height:1;
	color:var(--bc-dark);
}

/* ========= Linhas ========= */
.bc-cc-row{
	display:grid;
	grid-template-columns:70px 1fr;
	gap:14px;
	padding:12px 0;
	border-top:1px solid rgba(0,0,0,.08);
	align-items:start;
}

.bc-cc-row__control{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
}

.bc-cc-row__text strong{
	color:var(--bc-dark);
}

.bc-cc-row__text p{
	margin:6px 0 0;
	line-height:1.5;
	opacity:.9;
}

/* Badge "sempre ativos" */
.bc-cc-badge{
	display:inline-block;
	padding:6px 10px;
	border-radius:999px;
	background:rgba(113,175,46,.14);
	color:#2a5d00;
	font-weight:800;
	font-size:12px;
	white-space:nowrap;
}

/* Switch */
.bc-cc-switch{
	position:relative;
	width:46px;
	height:26px;
	display:inline-block;
}

.bc-cc-switch input{
	opacity:0;
	width:0;
	height:0;
}

.bc-cc-switch__slider{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.18);
	border-radius:999px;
	cursor:pointer;
	transition:.2s ease;
}

.bc-cc-switch__slider::before{
	content:"";
	position:absolute;
	width:20px;
	height:20px;
	left:3px;
	top:3px;
	background:var(--bc-white);
	border-radius:50%;
	transition:.2s ease;
}

.bc-cc-switch input:checked + .bc-cc-switch__slider{
	background:var(--bc-green);
}

.bc-cc-switch input:checked + .bc-cc-switch__slider::before{
	transform:translateX(20px);
}

.bc-cc-note{
	margin:12px 0 0;
	opacity:.85;
}

/* Botão flutuante "Gerenciar cookies" */
.bc-cc-manage{
	position:fixed;
	right:16px;
	bottom:16px;
	z-index:99998;

	border:0;
	border-radius:999px;
	padding:10px 12px;
	cursor:pointer;
	font-weight:800;

	background:rgba(0,0,0,.06);
	color:var(--bc-dark);
}

/* ======= Responsivo: em telas pequenas, melhora a leitura ======= */
@media (max-width: 640px){
	.bc-cc-modal{
		padding: 10px;
		place-items: stretch;
	}

	.bc-cc-modal__inner{
		width: 100%;
		max-height: calc(100vh - 20px);
	}

	.bc-cc-row{
		grid-template-columns:56px 1fr;
		gap:12px;
	}

	.bc-cc-actions{
		justify-content: stretch;
	}
	.bc-cc-actions .bc-cc-btn,
	.bc-cc-actions--modal .bc-cc-btn{
		flex: 1 1 auto;
	}
}


/* ===========================
   HOTFIX: evitar texto "uma palavra por linha"
   (alguns temas aplicam word-break agressivo)
=========================== */
.bc-cookie-consent,
.bc-cookie-consent *{
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: manual !important;
}

/* Mantém links e textos legíveis */
.bc-cookie-consent p,
.bc-cookie-consent strong,
.bc-cookie-consent a,
.bc-cookie-consent h2{
	letter-spacing: normal;
}

/* ===========================
   Grid das linhas: controle + texto
   - garante que o texto use a largura toda
=========================== */
.bc-cookie-consent .bc-cc-row{
	/* em vez de 70px fixo, usa coluna pequena e texto fluido */
	grid-template-columns: 64px minmax(0, 1fr) !important;
}

/* Evita que o texto "trave" e empilhe */
.bc-cookie-consent .bc-cc-row__text{
	min-width: 0 !important;
}

/* Impede quebra absurda em palavras normais; se for URL grande, quebra só a URL */
.bc-cookie-consent .bc-cc-row__text p,
.bc-cookie-consent .bc-cc-banner__text,
.bc-cookie-consent .bc-cc-banner__links{
	white-space: normal !important;
}

/* Se tiver alguma URL enorme, quebra com elegância */
.bc-cookie-consent a{
	overflow-wrap: break-word !important;
	word-break: normal !important;
}

/* Ajuste fino em telas pequenas */
@media (max-width: 640px){
	.bc-cookie-consent .bc-cc-row{
		grid-template-columns: 56px minmax(0, 1fr) !important;
	}
}

.bc-cookie-consent .bc-cc-switch--disabled{
	opacity: .7;
	cursor: not-allowed;
}
.bc-cookie-consent .bc-cc-switch--disabled .bc-cc-switch__slider{
	cursor: not-allowed;
}

/* Garante que o atributo hidden sempre esconda elementos,
   mesmo se o tema sobrescrever estilos globais */
.bc-cookie-consent [hidden] {
	display: none !important;
}

/* garante hidden */
.bc-cookie-consent [hidden]{ display:none !important; }

/* switch disabled */
.bc-cookie-consent .bc-cc-switch--disabled{ opacity:.7; cursor:not-allowed; }
.bc-cookie-consent .bc-cc-switch--disabled .bc-cc-switch__slider{ cursor:not-allowed; }

/* badge de dica (Estatística/Marketing) */
.bc-cookie-consent .bc-cc-badge--hint{
	background: rgba(0,0,0,.06);
	color: var(--bc-dark);
	font-weight: 700;
	margin-left: 8px;
}