/*
  The CSS in this style tag is based off of Bear Blog's default CSS.
  https://github.com/HermanMartinus/bearblog/blob/297026a877bc2ab2b3bdfbd6b9f7961c350917dd/templates/styles/blog/default.css
  License MIT: https://github.com/HermanMartinus/bearblog/blob/master/LICENSE.md
 */

/* 1. Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');

/* 2. Variables globales */
:root {
	--accent: 33, 145, 165;
	--accent-dark: 26, 109, 126;
	--black: 39, 67, 70; /* Texto fuerte */
	--gray: 91, 91, 91;
	--gray-light: 232, 236, 241;
	--gray-dark: 45, 48, 53;
	--gray-gradient: rgba(232, 236, 241, 0.5), #fff;
	--box-shadow:
		0 2px 6px rgba(var(--gray), 0.25),
		0 8px 24px rgba(var(--gray), 0.33),
		0 16px 32px rgba(var(--gray), 0.33);
}

/* 3. Estilos base */
body {
	font-family: 'Inter', sans-serif;
	margin: 0;
	padding: 0;
	text-align: left;
	background: linear-gradient(var(--gray-gradient)) no-repeat;
	background-size: 100% 600px;
	word-wrap: break-word;
	overflow-wrap: break-word;
	color: rgb(var(--gray-dark));
	font-size: 20px;
	line-height: 1.7;
}

main {
	max-width: 960px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

/* 4. Titulares */
h1, h2, h3, h4, h5, h6 {
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	margin: 0 0 0.5rem 0;
	color: rgb(var(--black));
	line-height: 1.2;
}

h1 { font-size: 3.052em; }
h2 { font-size: 2.441em; }
h3 { font-size: 1.953em; }
h4 { font-size: 1.563em; }
h5 { font-size: 1.25em; }

/* 5. Texto y enlaces */
p { margin-bottom: 1em; }

strong, b { font-weight: 700; }

a {
	color: var(--accent);
	text-decoration: none;
}

a:hover {
	color: var(--accent-dark);
}

.prose p {
	margin-bottom: 2em;
}

.prose p,
article p {
	text-align: justify;
}

/* 6. Formularios */
input,
textarea {
	font-size: 16px;
}

textarea {
	width: 100%;
}

/* 7. Elementos multimedia y bloques */
img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

p > img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

table {
	width: 100%;
}

code {
	padding: 2px 5px;
	background-color: rgb(var(--gray-light));
	border-radius: 2px;
}

pre {
	padding: 1.5em;
	border-radius: 8px;
}

pre > code {
	all: unset;
}

blockquote {
	border-left: 4px solid var(--accent);
	padding-left: 20px;
	margin: 0;
	font-size: 1.333em;
}

hr {
	border: none;
	border-top: 1px solid rgb(var(--gray-light));
}

/* 8. Accesibilidad */
.sr-only {
	border: 0;
	padding: 0;
	margin: 0;
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* 9. Responsive */
@media (max-width: 720px) {
	body { font-size: 18px; }
	main { padding: 1em; }
}

/* 10. Hero */
.hero {
	text-align: center;
	padding: 4em 1em 2em;
	background-color: var(--gray-light);
	border-radius: 8px;
	box-shadow: var(--box-shadow);
}

.hero-logo {
	height: 100px;
	margin-bottom: 1em;
}

.cta-button {
	display: inline-block;
	background-color: var(--accent);
	color: white;
	padding: 0.75em 1.5em;
	margin-top: 1em;
	border-radius: 6px;
	text-decoration: none;
	font-weight: 700;
	transition: background-color 0.2s ease;
}

.cta-button:hover {
	background-color: var(--accent-dark);
}

/* 11. Header y navegación */
header {
	background: white;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	padding: 1em 0 0.5em;
}

.header-wrapper {
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
}

.logo {
	display: block;
	margin: 0 auto 1em;
	max-height: 250px;
	height: auto;
	width: auto;
}

.main-nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5em;
}

.main-nav .links {
	display: flex;
	gap: 1.5em;
	font-size: 1.1em;
}

.main-nav .social-links {
	display: flex;
	gap: 1em;
	font-size: 1.5em;
	margin-top: 0.5em;
}

.main-nav a {
	color: rgb(var(--gray-dark));
	text-decoration: none;
}

.main-nav a:hover {
	color: var(--accent);
}

.floating-share {
	position: fixed;
	bottom: 1.5rem;
	left: 50%;
	transform: translateX(-50%);
	background-color: white;
	padding: 0.5em 1em;
	border-radius: 2em;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	display: flex;
	align-items: center;
	gap: 1em;
	z-index: 999;
	font-size: 1.2em;
}

.floating-share i {
	color: rgb(var(--gray-dark));
	transition: color 0.2s ease;
}

.floating-share i:hover {
	color: rgb(var(--accent));
}

.floating-share .share-label {
	font-size: 0.9em;
	font-weight: bold;
	color: rgb(var(--gray-dark));
}

#scrollToTopBtn {
  position: fixed;
  bottom: 2rem;
  right: 1.5rem;
  background-color: #2191A5;
  color: #fff;
  border: none;
  border-radius: 9999px;
  width: 44px;
  height: 44px;
  font-size: 1.5rem;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  display: none;
  z-index: 1000;
  transition: opacity 0.3s ease;
}

#scrollToTopBtn:hover {
  background-color: #166776;
}
