:root {
  /* Colors */
  --color-bg: #ebdfc7;
  --color-bg-trans: rgba(235, 223, 199, 0.9);
  --color-section: #F5F5DC;
  --color-primary: #556B2F;
  --color-primary-dark: #4C7031;
  --color-accent: #A0522D;
  --color-text: #2F4F4F;
  --color-grey: #9c9c9c;
  --color-primary-light: rgba(85, 107, 47, 0.08);

  /* Services */
  --color-desarrollo: #789262;
  --color-hosting: #B28F5E;
  --color-servidores: #6C757D;
  --color-servicios: #A97155;

  --color-desarrollo-light: rgba(120, 146, 98, 0.1);
  --color-hosting-light: rgba(178, 143, 94, 0.1);
  --color-servidores-light: rgba(108, 117, 125, 0.1);
  --color-servicios-light: rgba(169, 113, 85, 0.1);

  /* Typos */
  --font-heading: 'Libre Baskerville', serif;
  --font-body: 'Nunito', sans-serif;
  --font-ui: 'Rubik', sans-serif;

  /* Webkit var */
  scrollbar-color: var(--color-primary) var(--color-bg); /* thumb track */
  scrollbar-width: thin;
}

.color-accent {
  color: var(--color-accent)!important;
}

/* Webkit bar **/
::-webkit-scrollbar {
  width: 10px;
  background-color: var(--color-bg);
}

::-webkit-scrollbar-track {
  background-color: var(--color-bg);
}

::-webkit-scrollbar-thumb {
  background-color: var(--color-primary);
  border-radius: 6px;
  border: 2px solid var(--color-bg);
}

/* Hover del thumb */
::-webkit-scrollbar-thumb:hover {
  background-color: var(--color-primary-dark);
}

.tabs-wrapper {
  margin: 0;
  padding: 0;
  background-color: #dee2e6;
}

.tabs-wrapper .nav-item {
  background-color: #dee2e6;
  padding:0;
}

.tabs-wrapper .nav-link {
  color: var(--color-accent);
}

.tabs-wrapper .nav.nav-tabs {
  border:0;
}

body {
  font-family: var(--font-body);
  background-color: var(--color-bg);
  color: var(--color-text);
}

h1, h2, h3 {
  font-family: var(--font-heading);
  color: var(--color-primary);
}

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

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

button, input, select {
  font-family: var(--font-ui);
}

/** Maintenance **/
.big-logo img {
  width: 500px;
  max-width: 95%;
  margin-bottom: 30px;
}

/** Hero **/
.hero-section {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  text-align: center;
  background-color: var(--color-section);
  position: relative;
}

.hero-section.has-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

.hero-section.has-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 247, 229, 0.8);
  z-index: 1;
}

.hero-section .container {
  position: relative;
  z-index: 2;
  max-width: 720px;
}

/* Texts */
.hero-title {
  font-family: var(--font-heading);
  color: var(--color-primary);
  font-size: 2.5rem;
  font-weight: 700;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}

.hero-subtitle {
  font-family: var(--font-body);
  color: #f3ede3;
  font-size: 1.25rem;
  margin-top: 1rem;
  margin-bottom: 2rem;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Buttons */
.hero-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}

.hero-button {
  padding: 0.5rem 2rem;
  font-family: var(--font-ui);
  text-decoration: none;
  background-color: var(--color-primary)!important;
  border: 2px solid var(--color-primary)!important;
  border-radius: 0.25rem;
  transition: all 0.3s ease;
  display: inline-block;
}

.hero-button.primary {
  background-color: var(--color-primary);
  color: white;
}

.hero-button.primary:hover {
  background-color: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

.hero-button.outline:hover {
  background-color: var(--color-primary-dark)!important;
  color: white!important;
  border-color: var(--color-primary-dark)!important;
}

.hero-button.outline {
  background-color: white!important;
  color: var(--color-primary)!important;
}

/** Header **/
nav.navbar {
  background-color: var(--color-bg-trans);
  z-index: 1050;
  border-bottom: 1px solid #A0522D3D;
}

.navbar-nav a {
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: 1px;
  -webkit-transition: all 0.5s linear;
  -moz-transition: all 0.5s linear;
  -ms-transition: all 0.5s linear;
  -o-transition: all 0.5s linear;
  transition: all 0.5s linear;
  border-bottom: 1px solid transparent;
  margin-right: 10px;
}

.navbar-nav > .nav-item > a.active {
  color: var(--color-accent)!important;
  border-bottom: 1px solid;
}

.navbar-nav a:hover {
  color: var(--color-text);
  border-bottom: 1px solid;
}

.navbar .nav-link i {
  display: inline-block;
  vertical-align: -0.125em;
}

/** Remove template admin from front **/
#admin-toolbar, .gin-secondary-toolbar--frontend,
#toolbar-administration,
#sliding-popup {
  display:none!important;
}

.dialog-off-canvas-main-canvas {
  margin-left:0 !important;
  background-color: #F5F5DC;
}

/** Services Block **/
.services-section {
  background-color: var(--color-section);
  padding: 4rem 1rem;
  text-align: center;
}

.services-section .container {
  max-width: 960px;
  margin: 0 auto;
}

.section-title {
  font-family: var(--font-heading);
  font-size: 2rem;
  color: var(--color-primary);
  margin-bottom: 2.5rem;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
}

.service-item {
  background-color: var(--color-bg);
  border-radius: 12px;
  padding: 2rem 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease-in-out;
}

.service-item:hover {
  transform: translateY(-4px);
}

.service-icon {
  font-size: 2.5rem;
  color: var(--color-accent);
  margin-bottom: 1rem;
}

.service-title {
  font-family: var(--font-ui);
  font-size: 1.25rem;
  color: var(--color-primary-dark);
  margin-bottom: 0.5rem;
}

.service-text {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--color-text);
}

/** About me **/
.about-section {
  background-color: var(--color-bg);
  padding: 4rem 1rem;
  text-align: center;
}

.about-section .container {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}

.about-section .section-title {
  font-family: var(--font-heading);
  font-size: 2rem;
  color: var(--color-primary);
  margin-bottom: 2.5rem;
  grid-column: 1 / -1;
}

.about-image img {
  max-width: 100%;
  border-radius: 12px;
  width: 300px;
}

.about-text {
  font-family: var(--font-body);
  font-size: 1.1rem;
  color: var(--color-text);
  text-align: left;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .about-section .container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .about-text {
    text-align: center;
  }
}

/** Usecases **/
.usecases-section {
  background-color: rgb(230, 211, 174);
  padding: 4rem 1rem;
  text-align: center;
}

.usecases-section .container {
  max-width: 960px;
  margin: 0 auto;
}

.section-title {
  font-family: var(--font-heading);
  font-size: 2rem;
  color: var(--color-primary);
  margin-bottom: 2.5rem;
}

.usecases-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  text-align: left;
}

.usecase-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background-color: var(--color-bg);
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.usecase-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}


.usecase-item strong {
  color: var(--color-accent);
}
.usecase-item i {
  font-size: 1.8rem;
  color: var(--color-accent);
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.usecase-item p {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--color-text);
  margin: 0;
}

@media (min-width: 768px) {
  .usecases-grid {
    grid-template-columns: 1fr 1fr;
  }
}


/** Contact / Llamada a la acción **/
.cta-form,
#block-ruralbytes-bs5-ventajasdecontratarme {
  background: linear-gradient(90deg, #4C7031 0%, #7B3E20 50%, #A0522D 100%);
  color: var(--color-section);
  padding: 2rem 1rem 2rem 1rem;
  color: white;
  text-align: center;
  border-radius: 0;
}

.cta-container {
  max-width: 720px;
  margin: 0 auto;
}

.cta-title {
  font-family: var(--font-heading);
  font-size: 2rem;
  margin-bottom: 1rem;
  color: white;
}

.cta-subtitle {
  font-family: var(--font-body);
  font-size: 1.125rem;
  margin-bottom: 2rem;
  color: white;
}

.cta-form-wrapper {
  background-color: white;
  color: var(--color-text);
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
  text-align: left;
}

/* Ajuste de campos dentro del formulario */
.cta-form-wrapper input,
.cta-form-wrapper textarea,
.cta-form-wrapper select {
  font-family: var(--font-body);
  font-size: 1rem;
}

.cta-form-wrapper label {
  color: var(--color-text);
  font-weight: 600;
}

/* Botón de envío */
.cta-form-wrapper input[type="submit"],
.cta-form-wrapper button[type="submit"] {
  background-color: var(--color-primary);
  border: 2px solid var(--color-primary);
  color: white;
  padding: 0.5rem 2rem;
  border-radius: 4px;
  transition: all 0.3s ease;
  font-family: var(--font-ui);
  font-weight: 600;
}

.cta-form-wrapper input[type="submit"]:hover,
.cta-form-wrapper button[type="submit"]:hover {
  background-color: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
}

.cta-form-wrapper #edit-actions-submit {
  width: 100%;
}

.path-contacto .region-content {
  padding:0;
}

.path-contacto .alert {
  margin: 10px;
}

footer {
  background-color: var(--color-primary-dark)!important;
  color: white!important;
}

/** Animations **/
.anim-on-scroll {
  opacity: 0;
}
.anim-on-scroll.animate__animated {
  opacity: 1;
}

/** Main **/
main {
  margin-top:30px;
}

.path-contacto main,
.path-front main {
  margin-top:0;
}

main > .container > .row.g-0 {
  position: relative;
}

.feed-icons {
  font-size: 30px;
  position: absolute;
  top: 10px;
  right: 0;
}

/** Breadcrumb **/
.breadcrumb a, .breadcrumb span, .breadcrumb-item .lni {
  color: #9c9c9c;
  text-transform: uppercase;
}

.breadcrumb-item:before {
  display:none;
}

.breadcrumb .lni {
  display: inline-block;
  vertical-align: -0.125em;
}

.breadcrumb-nav {
  padding: 0;
  background-color: var(--color-section);
  border-radius: 0.5rem;
  font-family: var(--font-ui);
  font-size: 0.95rem;
  display: flex;
  justify-content: flex-start;
}

/** Tabs & breadcrumb **/

.tabs-wrapper  .nav-item a, .breadcrumb-nav a, .breadcrumb-nav span, .breadcrumb-nav .lni {
  border:0!important;
  border-radius:0!important;
  padding: 5px 10px;
  text-transform: uppercase;
  font-size: 10px;
}

.breadcrumb-nav .lni {
  padding-left: 0;
  padding-right: 0;
}

.tabs-wrapper .nav-item.active a{
  background-color: var(--color-accent)!important;
  color: #ffffff!important;
}

.tabs-wrapper  {
  float:right;
}

.tabs-wrapper .nav-item a:hover {
  text-decoration: underline!important;
}

.breadcrumb .breadcrumb-item a, .breadcrumb .breadcrumb-item, .breadcrumb .breadcrumb-item span,
.breadcrumb .breadcrumb-item .lni {
  padding-left: 0!important;
  padding-right: 0!important;
  color: var(--color-accent) !important;
}
.breadcrumb .breadcrumb-item a:hover {
  text-decoration:underline!important;
}

/** Code block **/

.copy-button {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: var(--color-accent);
  color: white;
  border: none;
  padding: 0.3rem 0.6rem;
  font-size: 0.8rem;
  border-radius: 4px;
  cursor: pointer;
  z-index: 2;
}
.code-block {
  position: relative;
}

.code-block-name {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  background: var(--color-accent);
  color: white;
  border: none;
  padding: 0.3rem 0.6rem;
  font-size: 0.8rem;
  border-radius: 4px;
  cursor: pointer;
  z-index: 2;
}

.code-block code {
  padding-top: 45px!important;
}

.field--name-field-p-blog-imagen,
.code-block code {
  border-radius: 4px;
  border: 1px solid #A0522D3D;
  overflow: hidden;
}

.field--name-field-p-blog-imagen {
  margin-top: 15px;
  margin-bottom: 15px;
}

.hljs-ln-numbers {
  text-align: right;
  color: var(--color-primary-dark); /* un verde oliva oscuro o similar */
  border-right: 1px solid var(--color-accent); /* línea divisoria suave */
  vertical-align: top;
  padding-right: 0.8rem;
  padding-left: 0.5rem;
  user-select: none;
  background-color: rgba(85, 107, 47, 0.05); /* fondo muy sutil */
  font-size: 0.85rem;
  font-family: monospace;
  line-height: 1.4;
}

.hljs-ln-n {
  padding: 0 5px;
}

.hljs-ln-code {
  user-select: none;
}
.hljs-ln-code {
  padding-left: 5px!important;
}

.hljs-ln-numbers {
  background-color: transparent!important;
}

.code-block .lni {
  font-size: initial;
  padding-top: 3px;
}

/** Paragraphs **/
.paragraph--type--p-blog-header > h2 {
  margin-top: 40px;
}
.paragraph--type--p-blog-header > h3{
  margin-top: 30px;
}
.paragraph--type--p-blog-header > h5{
  margin-top: 30px;
}
.paragraph--type--p-blog-header > h5{
  margin-top: 10px;
}

/** Block autor **/
.rural-author-block {
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 2rem;
  box-shadow: none;
}

.rural-author-header {
  background-color: var(--color-primary);
  padding: 0.5rem 1rem;
}

.rural-author-header h6 {
  margin: 0;
  color: white;
  text-transform: uppercase;
  font-family: var(--font-ui);
  font-size: 0.9rem;
}

.rural-author-body {
  background-color: var(--color-section);
  padding: 1.5rem;
  text-align: center;
  font-family: var(--font-body);
  color: var(--color-text);
}

.rural-author-body img {
  width: 90px;
  border-radius: 50%;
  margin-bottom: 0.75rem;
}

.rural-author-body h5 {
  font-family: var(--font-heading);
  color: var(--color-primary);
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}

.rural-author-body p {
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

.rural-author-body .intro {
  font-weight: 600;
}

.rural-author-body .cta {
  margin-top: 1rem;
}

.rural-author-body .cta a {
  font-size: 0.85rem;
  color: var(--color-accent);
  text-decoration: underline;
}

/** Block TOC **/
.rural-toc-block {
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 2rem;
  box-shadow: none;
  display:none;
}

body.is-mobile.page-node-type-blog .node__content .rural-toc-block {
  display: block!important;
}

.rural-toc-header {
  background-color: var(--color-primary);
  padding: 0.5rem 1rem;
}

.block-block-content2f972a2b-8d31-498c-89f3-df25a4dbb318 > .rural-toc-header {
  text-align: center;
}

.rural-toc-block > .rural-toc-body > #rural-toc-list > li {
  padding-left: 0!important;
}

.rural-toc-header h6 {
  margin: 0;
  color: white;
  text-transform: uppercase;
  font-family: var(--font-ui);
  font-size: 0.9rem;
}

.rural-toc-body {
  background-color: var(--color-section);
  padding: 1.5rem;
  font-family: var(--font-body);
  color: var(--color-text);
}

.rural-toc-body ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.rural-toc-body li {
  margin-bottom: 0.5rem;
}

.rural-toc-body a {
  font-size: 0.9rem;
  text-decoration: underline;
  color: var(--color-primary-dark);
}

.rural-author-block h6 .lni,
.rural-toc-block h6 .lni {
  vertical-align: -0.2em;
  padding-right: 5px;
  font-size: large;
}

/** Mobile menu **/
.custom-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--color-bg, #fff);
  z-index: 2000;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem;
}

.custom-mobile-menu.active {
  display: flex;
}

.custom-mobile-inner a {
  font-size: 1.5rem;
  margin: 1rem 0;
}
.custom-mobile-menu .close-menu {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 2.5rem;
  line-height: 1;
  color: var(--color-accent);
  cursor: pointer;
  z-index: 10;
}

.navbar-toggler-icon, #mobileMenuToggle {
  color: var(--color-accent);
  font-size: 30px;
  padding:0;
}

#mobileMenuToggle:focus {
  border:0;
  box-shadow: none;
}

.block-block-content2f972a2b-8d31-498c-89f3-df25a4dbb318 {
  margin-bottom: 0;
}

.node__content h1,
.node__content h2,
.node__content h3,
.node__content h4,
.node__content h5,
.node__content h6 {
  scroll-margin-top: 70px;
}

/** Blog image **/
.image-background-wrapper {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 0.5rem;
  overflow: hidden;
}

.image-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  background: rgba(0, 0, 0, 0.3);
  color: var(--color-section);
  padding: 1rem;
  font-family: var(--font-ui);
}

.reading-time {
  padding-left: 20px;
  cursor: pointer;
}

.reading-time .lni {
  font-size: 1rem;
  vertical-align: -0.125em;
}

.post-category span,
.post-category a {
  background-color: #d5c4a1!important;
  transition: all 0.3s ease-in-out;
}

.post-category span:hover,
.post-category a:hover {
  color: #fff!important;
  background-color: var(--color-accent) !important;
}

.field--name-field-blog-teaser-img {
  margin-bottom: 30px;
}

.overlay-meta {
  border-radius: 4px;
  overflow: hidden;
}

.path-blog .region-content #block-ruralbytes-bs5-page-title {
  border-bottom: 1px dotted;
  padding-bottom: 10px;
}

.path-blog .node--view-mode-teaser {
  margin-top: 30px;
}

.path-blog .reading-time {
  display: none;
}

hr {
  border: none;
  height: 1px;
  background: linear-gradient(to right, var(--color-primary), var(--color-accent));
  margin: 2rem 0;
  border-radius: 1px;
  opacity: 0.7;
}

.region-content #block-ruralbytes-bs5-content .views-element-container .view-blog .views-row:last-child hr,
.region-content #block-ruralbytes-bs5-content .views-element-container .view-taxonomy-term .views-row:last-child hr {
  display: none;
}

/** Standard block layout **/
.standard-block {
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 2rem;
  box-shadow: none;
  background-color: var(--color-section);
  font-family: var(--font-body);
  color: var(--color-text);
}

.standard-block-header {
  background-color: var(--color-primary);
  padding: 0.5rem 1rem;
}

.standard-block-header h6 {
  margin: 0;
  color: white;
  text-transform: uppercase;
  font-family: var(--font-ui);
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.standard-block-body {
  padding: 1.5rem;
}

.standard-block-body a {
  font-size: 0.9rem;
  text-decoration: underline;
  color: var(--color-primary-dark);
}

/** Btn accent **/
.btn-accent {
  display: inline-block;
  padding: 0.5rem 1.75rem 0.5rem 1.2rem;
  background-color: var(--color-accent);
  color: white;
  font-family: var(--font-ui);
  font-size: 0.95rem;
  font-weight: 600;
  border: 2px solid var(--color-accent);
  border-radius: 8px;
  transition: all 0.3s ease;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.btn-accent:hover {
  background-color: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  color: white;
  text-decoration: none;
}

.btn-accent .lni {
  vertical-align: -0.125em!important;
}

.view-content {
  margin-bottom: 30px;
}

/** Quote **/
.quote-block {
  position: relative;
  background-color: var(--color-section);
  color: var(--color-text);
  padding: 2rem 2.5rem;
  border: 1px solid color-mix(in srgb, var(--color-primary) 50%, transparent);
  border-left: 8px solid color-mix(in srgb, var(--color-primary) 50%, transparent);
  border-radius: 1rem;
  font-family: var(--font-heading);
  margin: 2rem 0;
  overflow: hidden;
  background-image: url("../assets/img/otis-redding.png");
  font-style: italic;
}

.quote-block::after {
  content: "”";
  font-size: 10rem;
  color: var(--color-primary);
  opacity: 0.08;
  position: absolute;
  bottom: -4rem;
  right: 2rem;
  line-height: 1;
  z-index: 0;
}

.quote-block .quote-text {
  position: relative;
  z-index: 1;
  font-size: 1.5rem;
  font-style: italic;
  line-height: 1.7;
  margin: 0;
}

.quote-block .quote-author {
  position: relative;
  z-index: 1;
  font-size: 1rem;
  color: var(--color-grey);
  text-align: right;
  margin-top: 1rem;
}

.lg-container {
  z-index: 9999;
}

/** Field gallery **/
.p-blog-gallery-lightgallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1rem;
  justify-content: center;
}


@media (max-width: 992px) {
  .p-blog-gallery-lightgallery {
    grid-template-columns: repeat(3, 1fr);
    max-width: 100%;
  }
}

@media (max-width: 600px) {
  .p-blog-gallery-lightgallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-blog-image-lightgallery, .p-blog-gallery-wrapper {
  margin: 20px auto;
}

.p-blog-gallery-lightgallery a {
  display: block;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
}

.p-blog-gallery-lightgallery a:hover {
  transform: scale(1.03);
}

.p-blog-image-lightgallery img {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08)!important;
}

.p-blog-gallery-lightgallery img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: inherit;
}

.lg-backdrop {
  background-color: #f5f5dc!important;
}

.lg-toolbar * {
  color: var(--color-accent)!important;
}

.lg-next, .lg-prev {
  background-color: var(--color-accent)!important;
  color: #fff!important;
  border: 1px solid transparent;
}

.lg-next:hover, .lg-prev:hover {
  background-color: #faebcc!important;
  border: 1px solid var(--color-accent);
}

.lg-icon:hover:after, .lg-icon:hover:before {
  color: var(--color-accent)!important;
}

/** Code tag **/
code {
  font-family: monospace;
  background-color: rgba(160, 82, 45, 0.1);
  color: var(--color-accent);
  padding: 0.2em 0.4em;
  border-radius: 0.3em;
  font-size: 0.95em;
  word-break: break-word;
}

/** Servicios **/
.path-servicios main {
  margin-top: 0;
}

.bg-services{
  background-color: var(--color-primary);
}
.bg-services h2{
  color: var(--color-section);
}

.services-icons > a > i {
  border: 1px solid var(--color-accent);
  background-color: transparent;
  border-radius: 50%;
  width: 80px;
  height: auto;
  transition: all 300ms;
  padding: 0;
  display: block;
  margin: 0 auto;
}

.services-icons .lni,
.service-i .lni {
  padding: 5px;
  font-size: 3em;
  color: var(--color-accent);
  text-align: center;
  display: block;
  line-height: 70px;
}

.services-icons > a:hover > i{
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}

.services-icons:hover .lni {
  color: #fff!important;
}

.service-icon {
  width: 200px;
  height: 200px;
  background-color: var(--color-accent);
  border-radius: 50%;
  padding: 20px;
  margin: 5vh auto;
  transition: all 300ms;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 3px solid rgb(142, 62, 23);
}

.services-description .service-icon:last-child {
  width: 200px;
  height: 200px;
  background-color: var(--color-accent);
  border-radius: 60% 40% 50% 70% / 60% 30% 70% 40%;
  padding: 20px;
  margin: 5vh auto;
  transition: all 300ms;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 3px solid rgb(142, 62, 23);
}

.services-description .service-icon:first-child {
  width: 200px;
  height: 200px;
  background-color: var(--color-accent);
  border-radius: 40% 60% 70% 50% / 30% 60% 40% 70%;
  padding: 20px;
  margin: 5vh auto;
  transition: all 300ms;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 3px solid rgb(142, 62, 23);
}

.service-icon .lni{
  padding-bottom: 10px;
  font-size: 1em;
  color: var(--color-section);
  text-align: center;
  margin: 0 auto;
  display: block;
}

.services-icons p {
  margin-top: 10px!important;
}

.services-description {
  background-color: var(--color-bg-trans)!important;
}

.services-description-2, .services-description-4 {
  background-color: rgb(230, 211, 174);
}

.services-description h4 {
  font-family: var(--font-body)!important;
  color: var(--color-section)!important;
}

#block-ruralbytes-bs5-servicios .intro-text  {
  color: #fff!important;
}

.qa-servicios {
  margin: 30px auto;
}

.service-icon-2,
.service-desc .col-sm-6 .lni {
  color: var(--color-accent);
}

.service-icon-2 .lni {
  font-size: 3em;
}

.service-desc .col-sm-6 .lni {
  font-size: 3em !important;
}


.services-description #desarrollo .service-icon {
  background: var(--color-desarrollo-light)!important;
  border-color: var(--color-desarrollo)!important;
}

.services-description #desarrollo h4,
.services-description #desarrollo .lni {
  color: var(--color-desarrollo)!important;
}

.services-description #hosting .service-icon {
  background: var(--color-hosting-light)!important;
  border-color: var(--color-hosting)!important;
}

.services-description #hosting h4,
.services-description #hosting .lni {
  color: var(--color-hosting)!important;
}

.services-description #servidores .service-icon {
  border-color: var(--color-servidores-light)!important;
  background: var(--color-servidores)!important;
  border-radius: 70% 30% 30% 70% / 60% 40% 60% 40%;
}

.services-description #servidores h4,
.services-description #servidores .lni {
  color: #fff!important;
}

.services-description #servicios .service-icon {
  background: var(--color-servicios-light)!important;
  border-color: var(--color-servicios)!important;
}

.services-description #servicios h4,
.services-description #servicios .lni {
  color: var(--color-servicios)!important;
}

/** Ventajas **/
.cta-title {
  font-family: var(--font-heading);
  color: var(--color-section);
}

.cta-subtitle {
  font-family: var(--font-body);
  color: var(--color-section);
  max-width: 720px;
  margin-inline: auto;
}

.cta-container i.lni {
  color: var(--color-section);
}

.cta-container h5 {
  font-family: var(--font-heading);
  color: var(--color-section);
}

.cta-container p {
  color: var(--color-bg-trans);
}

#block-ruralbytes-bs5-ventajasdecontratarme .cta-title {
  border-left: 2px solid var(--color-section);
  padding-left: 10px;
}

.lni-2x { font-size: 2rem!important; }
.lni-3x { font-size: 3rem!important; }
.lni-4x { font-size: 4rem!important; }

@media (min-width: 768px) {
  .lni-md-1x { font-size: 1.25rem!important; }
  .lni-md-2x { font-size: 2rem!important; }
  .lni-md-3x { font-size: 3rem!important; }
  .lni-md-4x { font-size: 4rem!important; }
}


/* Banner general */
#sliding-popup {
  background-color: #f5f5dc !important;
  color: #2f4f4f !important;
  font-family: 'Rubik', sans-serif !important;
  padding: 1.5rem !important;
  border-top: 1px solid #9c9c9c !important;
  box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.05) !important;
  z-index: 1000 !important;
}

#sliding-popup .eu-cookie-compliance-message h2 {
  font-size: 1.1rem !important;
  margin-bottom: 0.5rem !important;
  font-weight: 700 !important;
  color: #2f4f4f !important;
}

#sliding-popup .eu-cookie-compliance-message p {
  font-size: 1rem !important;
  margin-bottom: 1rem !important;
  color: #2f4f4f !important;
  font-weight: lighter !important;
}

#sliding-popup .eu-cookie-compliance-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
}

/* Botón "No, gracias" (principal, terracota) */
#sliding-popup .eu-cookie-compliance-default-button {
  background-color: #a0522d !important;
  color: #ffffff !important;
  border: none !important;
  padding: 0.5rem 1.25rem !important;
  border-radius: 0.5rem !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
}

#sliding-popup .eu-cookie-compliance-default-button:hover {
  background-color: #8b3c1d !important;
}

/* Botón "Aceptar" (secundario, verde oliva) */
#sliding-popup .eu-cookie-compliance-secondary-button {
  background-color: #556b2f !important;
  color: #ffffff !important;
  border: none !important;
  padding: 0.5rem 1.25rem !important;
  border-radius: 0.5rem !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color 0.3s ease, color 0.3s ease !important;
}

#sliding-popup .eu-cookie-compliance-secondary-button:hover {
  background-color: #4c7031 !important;
  color: #ffffff !important;
}

#sliding-popup .find-more-button {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-size: 0.9rem !important;
  color: #a0522d !important;
  text-decoration: underline !important;
  cursor: pointer !important;
}

#sliding-popup .find-more-button:hover {
  color: #8b3c1d !important;
}

#sliding-popup .decline-button {
  background-color: #fff5f2 !important;
  color: #a0522d !important;
  border: 2px solid #a0522d !important;
  border-radius: 0.5rem !important;
  font-weight: 600 !important;
  padding: 0.5rem 1.25rem !important;
  font-size: 0.95rem !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  background-image: none !important;
}

#sliding-popup .decline-button:hover {
  background-color: #a0522d !important;
  color: #ffffff !important;
  background-image: none !important;
  text-shadow: none !important;
  border: 2px solid #a0522d !important;
}

@media (max-width: 767.98px) {
  #sliding-popup .eu-cookie-compliance-buttons button {
    margin-top: 0.5rem !important;
  }
}

.text-bg-accent {
  background-color: var(--color-accent)!important;
  color: white;
}

.path-sobre-mi .region-content {
  padding: 0!important;
}

.path-sobre-mi .bg-gradient-rural {
  background-color: var(--color-bg-trans);
}

.path-taxonomy .reading-time {
  display: none!important;
}


/** Privacy card **/
#privacy-banner {
  display: none;
}

.privacy-card {
  box-shadow: rgba(60, 64, 67, 0.3) 0 1px 2px 0, rgba(60, 64, 67, 0.15) 0 2px 6px 2px;
  border-radius: 1rem;
  max-width: 300px;
  background-color: #ffffff;
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 1000;
}

.privacy-button {
  background-color: var(--color-accent);
  color: var(--color-section);
  border-radius: 0.5rem;
  padding: 0.5rem 2rem;
  transition: all 0.3s ease;
  border: none;
}

.privacy-button:hover {
  background-color: var(--color-primary);
  color: var(--color-section);
}

.privacy-link {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.privacy-link:hover {
  color: var(--color-primary-dark);
}

@media (max-width: 576px) {
  .privacy-card {
    right: 0;
    left: 0;
    bottom: 0;
    margin: 0 auto;
    border-radius: 1rem 1rem 0 0;
    width: 100%;
    max-width: none;
  }
}


/** Card **/
.card1 {
  display: block;
  position: relative;
  /*max-width: 262px;*/
  background-color: #fff;
  border-radius: 4px;
  padding: 32px 24px;
  margin: 12px;
  text-decoration: none;
  z-index: 0;
  overflow: hidden;
  color: var(--color-text);
  font-family: var(--font-body);
  border: 1px solid #ece1c9;
  background-image: url("../assets/img/cubes.png")!important;
  width: 100%;
}

/*.card1:hover {
  transform: scale(1.02);
}*/

.card1 i {
  font-size: 1.5rem;
  color: #fff;
  transition: color 0.5s ease-out;
  line-height: 2.5rem;
}

.card1 .lni-teaser {
  font-size: 3rem;
  color: var(--color-accent);
}
.card1:hover::before {
  top: 0;
  right: 0px;
}
.card1:hover i {
  color: #fff;
}

.card1 p {
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  color: var(--color-grey);
}

.card1 p.small {
  font-size: 14px;
}

.card1:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -16px;
  right: -16px;
  background: var(--color-accent);
  height: 32px;
  width: 32px;
  border-radius: 32px;
  transform: scale(1);
  transform-origin: 50% 50%;
  transition: transform 0.25s ease-out;
}

.card1:hover:before {
  transform: scale(21);
}

.card1:hover p {
  transition: all 0.3s ease-out;
  color: rgba(255, 255, 255, 0.8);
}

.card1:hover h3 {
  transition: all 0.3s ease-out;
  color: #fff;
}

.go-corner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 32px;
  height: 32px;
  overflow: hidden;
  top: 0;
  right: 0;
  background-color: var(--color-accent);
  border-radius: 0 4px 0 32px;
}

.go-arrow {
  margin-top: -4px;
  margin-right: -4px;
  color: var(--color-section);
  font-family: courier, sans;
}

.card1-desarrollo {
  background-color: var(--color-desarrollo-light);
  border: 1px solid var(--color-desarrollo);
}

.card1-desarrollo:before {
  background: var(--color-desarrollo);
}

.card1-desarrollo i {
  color: var(--color-desarrollo);
}

.card1-desarrollo:hover {
  background-color: var(--color-desarrollo);
}

.card1-hosting {
  background-color: var(--color-hosting-light);
  border: 1px solid var(--color-hosting);
}

.card1-hosting:before {
  background: var(--color-hosting);
}

.card1-hosting i {
  color: var(--color-hosting);
}

.card1-hosting:hover {
  background-color: var(--color-hosting);
}

.card1-servidores {
  background-color: var(--color-servidores-light);
  border: 1px solid var(--color-servidores);
}

.card1-servidores:before {
  background: var(--color-servidores);
}

.card1-servidores i {
  color: var(--color-servidores);
}

.card1-servidores:hover {
  background-color: var(--color-servidores);
}

.card1-servicios {
  background-color: var(--color-servicios-light);
  border: 1px solid var(--color-servicios);
}

.card1-servicios:before {
  background: var(--color-servicios);
}

.card1-servicios i {
  color: var(--color-servicios);
}

.card1-servicios:hover {
  background-color: var(--color-servicios);
}

.card1-desarrollo .go-corner {
  background-color: var(--color-desarrollo);
}

.card1-hosting .go-corner {
  background-color: var(--color-hosting);
}

.card1-servidores .go-corner {
  background-color: var(--color-servidores);
}

.card1-servicios .go-corner {
  background-color: var(--color-servicios);
}

.go-arrow {
  margin-top: -4px;
  margin-right: -4px;
  color: var(--color-section);
  font-family: courier, sans;
}

.card1 .go-arrow .lni {
  color: #fff;
}

.card1-desarrollo .lni-teaser {
  color: var(--color-desarrollo);
}

.card1-hosting .lni-teaser {
  color: var(--color-hosting);
}

.card1-servidores .lni-teaser {
  color: var(--color-servidores);
}

.card1-servicios .lni-teaser {
  color: var(--color-servicios);
}

.card1 ul {
  margin: 0;
  padding: 0;
  list-style: none;
  color: rgba(255, 255, 255, 0.8);
}

.card1 ul li {
  line-height: 1.4;
  color: var(--color-grey);
  display: flex;
  align-items: flex-start;
}

.card1:hover ul li {
  color: #fff;
}

.card1 .bubble {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: -3px;
  margin-top: 2px;
}

.card1 .bubble .lni {
  color: #fff;
  line-height: 20px!important;
  font-size: 16px;
  width: 20px;
  text-align: center;
}

.card1 button {
  border-radius: 4px;
  color: #fff;
  text-align: center;
  width: 100%;
}

.card1-hosting .bubble {
  background: var(--color-hosting);
}

.card1-hosting:hover .bubble .lni {
  color: #fff;
}

.card1-hosting button {
  margin-top: 10px;
  border: 1px solid var(--color-hosting);
  background-color: var(--color-hosting);
}

.card1-hosting:hover button {
  border-color: #fff;
}

.card1-desarrollo .bubble {
  background: var(--color-desarrollo);
}

.card1-desarrollo:hover .bubble .lni {
  color: #fff;
}

.card1-desarrollo button {
  margin-top: 10px;
  border: 1px solid var(--color-desarrollo);
  background-color: var(--color-desarrollo);
}

.card1-desarrollo:hover button {
  border-color: #fff;
}


.card1-servidores .bubble {
  background: var(--color-servidores);
}

.card1-servidores:hover .bubble .lni {
  color: #fff;
}

.card1-servidores button {
  margin-top: 10px;
  border: 1px solid var(--color-servidores);
  background-color: var(--color-servidores);
}

.card1-servidores:hover button {
  border-color: #fff;
}

.card1-servicios .bubble {
  background: var(--color-servicios);
}

.card1-servicios:hover .bubble .lni {
  color: #fff;
}

.card1-servicios button {
  margin-top: 10px;
  border: 1px solid var(--color-servicios);
  background-color: var(--color-servicios);
}

.card1-servicios:hover button {
  border-color: #fff;
}

.card1 .lni-arrow-right {
  color: #fff !important;
  vertical-align: middle;
  transition: all 0.3s ease-out;
  padding-left: 0;
}

.card1:hover .lni-arrow-right {
  padding-left:30%;

}

/** Badge **/
.badge-custom {
  display: inline-block;
  padding: 0.25em 0.75em;
  margin-right: 1em;
  border: 1px dashed var(--color-accent);
  border-radius: 999px;
  background-color: var(--color-section);
  color: var(--color-accent);
  box-shadow: 0 0 0 2px var(--color-section), 1px 1px 2px rgba(0, 0, 0, 0.3);
  font-family: var(--font-ui);
  font-size: 0.8rem;
  line-height: 1;
  transition: transform 0.1s ease-in-out, box-shadow 0.1s ease-in-out, color 0.4s ease-in-out;
}

.badge-custom:active {
  transform: translate(0.05em, 0.05em);
  box-shadow: 0 0 0 2px var(--color-section), 0.5px 0.5px 1.5px rgba(0, 0, 0, 0.3);
}

/** User **/
.path-sobre-mi .field--name-field-blog-description {
  background-color: var(--color-primary-dark);
  border: 1px solid var(--color-primary);
  padding: 20px 10px;
  border-radius: 4px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  color: #fff;
  font-style: italic;
  text-align: center;
}

/** Desarrollo web **/
#block-ruralbytes-bs5-desarrollowebblock .services-block .bg-services {
  background-color: var(--color-desarrollo-light);
}

#block-ruralbytes-bs5-desarrollowebblock .services-block .bg-services h2 {
  color: var(--color-desarrollo);
}

#block-ruralbytes-bs5-desarrollowebblock .services-block .bg-services p {
  color: var(--color-grey);
}

#block-ruralbytes-bs5-desarrollowebblock .services-block {
  position: relative;
  overflow: hidden;
  background-color: var(--color-section);
}

@keyframes floatBlob {
  0%, 100% {
    transform: translateX(-50%) translateY(0) scale(1);
  }
  50% {
    transform: translateX(-50%) translateY(-10px) scale(1.02);
  }
}

#block-ruralbytes-bs5-desarrollowebblock .services-block::before {
  content: "";
  position: absolute;
  top: -50px;
  left: 300px;
  transform: translateX(-50%);
  width: 600px;
  height: 400px;
  background: url('../assets/img/icons/desarrollo.svg') no-repeat center/contain;
  opacity: 0.55;
  z-index: 0;
  animation: floatBlob 6s ease-in-out infinite;
}

#block-ruralbytes-bs5-desarrollowebblock .bg-services {
  position: relative;
  z-index: 1;
}


/** Cards services intro **/
#cards-desarrollo .big-icon .lni{
  font-size: 3em;
  color: var(--color-desarrollo);
}

.srv-card {
  background-color: #fff;
  border: none;
  padding: 2rem;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.09);
}

.srv-card-bubble {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  top: -1rem;
  right: -1rem;
}

.srv-card-number {
  bottom: 0;
  left: 1.4rem;
  font-size: 1.5rem;
  color: #fff;
  font-weight: bold;
}

.srv-card-icon {
  width: 2.5rem;
  font-size: 2rem;
}

.srv-card i.lni {
  font-size: 2em;
}

/*** Colors services developing **/

.srv-card-bubble.bg-desarrollo {
  background-color: var(--color-desarrollo);
}

#cards-servicios .text-desarrollo .lni,
#cards-servicios .text-dark {
  color: var(--color-desarrollo)!important;
}

#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(1) .bg-desarrollo,
#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(1) h3,
#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(1) .lni {
  opacity: 0.7;
}

#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(2) .bg-desarrollo,
#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(2) h3,
#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(2) .lni {
  opacity: 0.8;
}

#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(3) .bg-desarrollo,
#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(3) h3,
#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(3) .lni {
  opacity: 0.9;
}

#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(4) .bg-desarrollo,
#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(4) h3,
#block-ruralbytes-bs5-desarrollowebblock #cards-servicios > .row > .col-12:nth-child(4) .lni {
  opacity: 1;
}

