/* static/styles.css */
body {
    font-family: Arial, sans-serif;
}

h1 {
    text-align: center;
}

.posts {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px;
}

.post img {
    /* Adjustments to make sure the image fits in the square */
    object-fit: cover; /* Cover the square without losing aspect ratio */
    width: 100%; /* Fill the entire width of the container */
    height: 100%; /* Fill the entire height of the container */
}

.post video {
  /* Adjustments to make sure the image fits in the square */
  object-fit: cover; /* Cover the square without losing aspect ratio */
  width: 100%; /* Fill the entire width of the container */
  height: 100%; /* Fill the entire height of the container */
}


/* SLIDESHOW STYLE */

* {box-sizing:border-box}

/* Slideshow container */
.slideshow-container {
  max-width: 100%;
  max-height: 100%;
  position: relative;
  margin: auto;
}

/* Hide the images by default */
.mySlides {
  display: none;
  position: relative;
  width: 100%; /* responsive width */
  padding-top: 100%; /* same as width to maintain aspect ratio */
  overflow: hidden; 
}

.mySlides img {
    position: absolute;
    inset: 0;
    margin: auto; /* Center the image within the container */
}

.mySlides video {
  position: absolute;
  inset: 0;
  margin: auto; /* Center the image within the container */
}

.enlarged {
  position: fixed !important;
  max-width: 80vw !important; 
  max-height: 80vh !important;
  top: 80% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 1000 !important; /* Ensure it's on top */
  object-fit: contain !important; /* Ensure the image fits without being cut */
}

.overlay {
  display: none; /* Hidden by default */
  position: fixed; /* Sit on top of the page content */
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0); /* Black background with opacity */
  z-index: 999; /* Ensure it sits right below the enlarged image */
}

/* Example adjustments for cloned controls within the overlay */
.overlay .prev, .overlay .next {
  top: 50%; /* Center vertically in the viewport */
  z-index: 1002; /* Ensure they are above the overlay */
}

.overlay .dots-container {
  bottom: 5%; /* Position at the bottom of the viewport */
  z-index: 1002;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  background-color: rgba(0, 0, 0, 0.1);
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* Styling for the dots container */
.dots-container {
    position: absolute;
    bottom: 20px; /* Adjust this value based on desired distance from the bottom */
    width: 100%;
    text-align: center;
  }

/* The dots/bullets/indicators */
.dot {
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    background-color: #bbbbbb79;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
    /* position: relative; Add this line if not already positioned */
    z-index: 2; /* Ensure dots are above the images */
}

.active, .dot:hover {
  background-color: #4848486d;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1s;
}

@keyframes fade {
  from {opacity: .4;background-color:black}
  to {opacity: 1;background-color:rgba(0, 0, 0, 0)}
}

/* ============================================================
   Polish pass: standard typography + interactive states
   ============================================================ */

/* --- Readable prose -------------------------------------- */

#about-content {
  font-size: 17px;
  line-height: 1.7;
}

#about-content h2 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

#about-content h3 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

#about-content iframe.ql-video {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

/* Post bodies on /perritos/<id> and /home */
.historia-container > p,
.accordion-body {
  line-height: 1.7;
}

/* --- Listing cards: lift + shadow + image zoom on hover --- */

.card {
  border: none;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.card .card-img-top {
  transition: transform 0.45s ease;
  will-change: transform;
}

.card:hover .card-img-top {
  transform: scale(1.05);
}

.card .card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.card:hover .card-title a {
  color: #1e1e1e;
}

/* --- Buttons: lift + shadow on hover --------------------- */

.btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.18);
}

/* --- Home slideshow container: hover shadow -------------- */
/* Note: no transform here — the enlarge mechanic relies on
   position:fixed escaping ancestors, which a transformed
   parent would trap inside its bounding box. */

.slideshow-container {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.25s ease;
}

.slideshow-container:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* --- Like button: pop on hover --------------------------- */

.info-table a .fa-thumbs-up {
  display: inline-block;
  transition: transform 0.2s ease, color 0.2s ease;
}

.info-table a:hover .fa-thumbs-up {
  transform: scale(1.25) rotate(-8deg);
  color: #0d6efd;
}

.info-table a:active .fa-thumbs-up {
  transform: scale(0.9);
}

/* --- Fullscreen video fix: stop forced 1:1 cropping ------ */

video:fullscreen,
video:-webkit-full-screen {
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
  position: static !important;
  inset: auto !important;
}