/* Base styles for .rounded-image moved out of inline CSS */
.rounded-image{
  border-radius:30px;
  overflow:hidden;
  background:#111;
  min-height:350px;
  max-height:500px;
}

.rounded-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Smooth scrolling and header offset for anchored sections */
:root{
  --header-offset: 80px; /* default desktop offset */
}

html{
  scroll-behavior: smooth;
}

/* Apply safe scroll offset to sections that can be targeted by anchors */
section[id],
main section[id],
div[id] {
  scroll-margin-top: var(--header-offset);
}

/* Contact list icons in footer */
.contact-item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:inherit;
  margin:6px 0;
  font-size:15px;
}

.contact-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:inline-block;
  color:#d8b15a;
}

.contact-item a{
  color:inherit;
  text-decoration:none;
}

.contact-item a:hover,
.contact-item:hover{
  color:#dbb37c;
}

/* Center the contact section in the footer */
#contact{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:6px;
  padding:8px 0;
}

/* Back to top button styles */
.back-to-top{
  position:fixed;
  right:18px;
  bottom:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#d8b15a;
  color:#1b1b1b;
  border:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,0.4);
  cursor:pointer;
  opacity:0;
  transform:translateY(8px);
  transition:opacity 0.25s ease, transform 0.25s ease;
  pointer-events:none;
  z-index:9999;
}

.back-to-top.visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.back-to-top svg{ width:24px; height:24px; color:#ffffff; }

@media (max-width:600px){
  .back-to-top{ right:12px; bottom:18px; width:44px; height:44px; }
}
