body, html {
  height: 100%;
  margin: 0;
  padding: 0;
  color: #fff; /* White text for readability on dark background */
  background: radial-gradient(circle, #382E57, #1A1A1A, #000000);
  background-size: 100%; /* Large size to allow for the 'movement' */
  overflow-x: hidden; /* Prevent horizontal scroll */
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.navbar-nav {
  margin: 0 auto; /* Centers the <ul> horizontally */
  display: flex;
  justify-content: center; /* Aligns items in the center horizontally */
  align-items: center; /* Aligns items vertically in the center */
}
.collapse.navbar-collapse {
  flex-grow: 1; /* Ensures this div expands and takes up available space */
}


.navbar {
  margin-top: 2%;
  background-color: #262527; /* Dark background for navbar */
  padding: 1rem 1.5rem; /* Add padding to navbar */
  border-radius: 10px; /* Rounded edges */
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); /* Soft shadow */
  width: 80%;
}


/* Google Sign-In Button */
.gsi-material-button {
background-color: white; /* White background for Google sign-in */
border: none;
padding: 10px 20px;
border-radius: 15px; /* Rounded corners */
display: flex;
align-items: center;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Soft shadow */
}

.gsi-material-button:hover {
background-color: #f8f8f8; /* Light grey on hover */
}

.gsi-material-button .gsi-material-button-icon svg {
height: 20px;
margin-right: 8px;
}

.gsi-material-button .gsi-material-button-contents {
color: black; /* Black text for Google sign-in */
font-weight: 500;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .navbar-nav {
      flex-direction: column;
      gap: 10px; /* Space between items when stacked */
  }

  .btn-pricing, .gsi-material-button {
      margin-right: 0;
      margin-bottom: 10px; /* Add spacing between buttons */
  }
}

@media (max-width: 700px) {
    .style-group {
        overflow-x: auto;
        scrollbar-width: 0.1px; /* Decreased thickness for Firefox */
        scrollbar-color: white transparent;
    }

    /* For Webkit browsers like Chrome and Safari */
    .style-group::-webkit-scrollbar {
        height: 0.1px; /* Decreased thickness for Webkit browsers */
    }

    .style-group::-webkit-scrollbar-thumb {
        background: white;
    }
}

.btn-pricing {
  border-radius: 15px;
  background-color: #000000;
  padding: 9px 15px;
  border-style: none;
  display: flex;
  align-items: center; /* Align icon and text vertically */
  justify-content: center;
}

.btn-pricing img {
  margin-right: 5px; /* Adds space between icon and text */
}

.btn-pricing a {
  color: #ffffff; /* Ensure the text is white for visibility on black background */
  text-decoration: none; /* Remove underline */
  font-size: 16px; /* Adjust text size as needed */
}

.navbar-nav {
  margin: 0 auto; /* Centers the <ul> horizontally */
  display: flex;
  justify-content: center; /* Aligns items in the center horizontally */
  align-items: center; /* Aligns items vertically in the center */
}
.collapse.navbar-collapse {
  flex-grow: 1; /* Ensures this div expands and takes up available space */
}

/* .writing-styles-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
} */

/* Style for all buttons
.writing-style-button {
  padding: 15px;
  background-color: rgba(73, 73, 73, 0.4);
  border-radius: 15px;
  color: white;
  font-size: 1.2rem;
  font-weight: bold;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: transform 0.3s ease, background-color 0.3s ease;
  opacity: 0.9;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  width: 100%;
  text-align: center;
  margin-bottom: 15px;
} */

/* Grid for other buttons */
.button-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 100%;
}

/* Optional: Hover effect */
/* Media Queries for responsive design */

/* For screens smaller than 768px (mobile screens) */
@media (max-width: 768px) {
  .button-grid {
      grid-template-columns: repeat(2, 1fr); /* 2 columns on smaller screens */
  }

  .writing-style-button {
      font-size: 1rem;
      padding: 15px;
  }
}

/* For screens smaller than 576px (extra small screens) */
@media (max-width: 576px) {
  .button-grid {
      grid-template-columns: 1fr; /* Stack all buttons vertically */
  }

  .writing-style-button {
      font-size: 0.9rem;
      padding: 8px;
  }
}
/* Central button */
.center-button {
top: 25%;
left: 36%;
background-color: #6f26f7;
border: none;
color: white;
}

/* Container for the buttons */
/* Container for the buttons */
.writing-styles-container {
position: relative;
width: 700px; /* Increased width to stretch ellipse */
height: 350px; /* Increased height */
margin: 0 auto;
background: transparent;
}

@media (max-width: 1024px) {
.writing-styles-container {
  width: 600px; /* Adjusted width for 1024px screen */
  height: 300px; /* Adjusted height for 1024px screen */
}
.center-button{
  left: 30%;
}
}

@media (max-width: 768px) {
.writing-styles-container {
  width: 450px; /* Adjusted width for 1024px screen */
  height: 300px; /* Adjusted height for 1024px screen */
}
}

/* Ellipse in the background */
.writing-styles-container::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 100%; /* Adjusted width for the ellipse */
height: 80%; /* Adjusted height for the ellipse */
border: 2px dashed rgba(255, 255, 255, 0.3); /* Dotted ellipse */
border-radius: 50%;
transform: translate(-50%, -50%) scaleX(1.5); /* Stretched the ellipse along X-axis */
}

/* Style for all buttons */
.writing-style-button {
position: absolute;
padding: 10px 20px;
background-color: rgba(73, 73, 73, 0.4); /* Semi-transparent background */
border-radius: 10px;
text-align: center;
color: white;
border: 1px solid rgba(255, 255, 255, 0.3); /* Light border for better contrast */
font-weight: bold;
font-size: 1.2rem;
transition: transform 0.3s ease, background-color 0.3s ease;
opacity: 0.9;
backdrop-filter: blur(10px); /* Apply blur effect behind the button */
-webkit-backdrop-filter: blur(10px); /* For Safari support */
}


@media (max-width: 431px) {
.writing-styles-container {
  width: 200px; /* Adjusted width for 1024px screen */
  height: 100px; /* Adjusted height for 1024px screen */
  margin-bottom: 20px;
}
.writing-style-button {
  position: absolute;
  padding: 5px 5px;
  background-color: rgba(73, 73, 73, 0.4); /* Semi-transparent background */
  border-radius: 10px;
  text-align: center;
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.3); /* Light border for better contrast */
  font-size: 0.8rem;
  transition: transform 0.3s ease, background-color 0.3s ease;
  opacity: 0.9;
  backdrop-filter: blur(10px); /* Apply blur effect behind the button */
  -webkit-backdrop-filter: blur(10px); /* For Safari support */
}
.btn-outline-secondary {
  padding: 5px !important;
}
.center-button {
  left: 26%;
}
}



/* Buttons around the ellipse */
.chic-button {
top: 40%; /* Adjusted positioning */
left: -30%; /* Adjusted positioning */
}

.wordsmith-button {
top: 70%;
left: -10%; /* Adjusted positioning */
}

.default-button {
top: 80%;
left: 40%;
}

.casual-button {
top: 68%;
right: -15%; /* Adjusted positioning */
}

.jot-button {
top: 40%; /* Adjusted positioning */
right: -30%; /* Adjusted positioning */
}



.accordion-button {
  background-color: #1e1e1e;
  color: #fff;
  font-weight: 600;
  padding: 15px;
  border: none; /* Remove solid border */
  border-radius: 5px;
  text-align: left;
  box-shadow: none;
  transition: all 0.3s ease;
}

.accordion {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 20px;
  border-radius: 20% !important;
}

.accordion .accordion-item {
  border-radius: 5px; /* Optional: to round the corners */
  border-style: none !important;
}

.accordion .accordion-button::before {
  content: 'Q';
  display: inline-block;
  padding: 2px 10px;
  background-color: white;
  border-radius: 8px;
  color: #000000;
  text-align: center;
  line-height: 30px;
  margin-right: 15px;
}

.accordion-header {
  border: none;
}

.accordion-body {
  background-color: transparent;
}

.accordion-item {
  width: 100%; /* Ensure the item takes up full width */
}

.freq-button {
  border-style: dashed; /* Apply the dashed border */
  border-width: 1px; /* Set the thickness of the dashed border */
  border-color: #858585; /* Set the border color */
  border-radius: 15px !important;
}

.freq-content {
  border-style: dashed; /* Apply the dashed border */
  border-width: 1px; /* Set the thickness of the dashed border */
  border-color: white; /* Set the border color */
  border-radius: 15px;
  border-top: none;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}


.btn-outline-secondary {
  background-image: linear-gradient(45deg, #A083F7, #561EFF); /* Purple to blue gradient */
  border: none;
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s ease;
}
.textarea-container {
  position: relative;
  width: 100%;
}

/* Buttons inside text area */
.textarea-style-buttons {
  display: flex;
  flex-direction: row; /* Horizontal row alignment */
  justify-content: flex-start; /* Align buttons to the left */
  flex-wrap: wrap;
  gap: 5px;
  position: absolute;
  bottom: 10px; /* Position buttons at the bottom of the textarea */
  left: 10px; /* Left padding for buttons */
  z-index: 2; /* Ensure buttons are above the textarea */
}

.textarea-style-btn {
  background-color: #494949;
  color: white;
  border-radius: 15px;
  padding: 5px 20px;
  border: none;
  font-weight: bold;
  font-size: 1rem;
  text-align: center;
  transition: background-color 0.3s ease, transform 0.3s ease;
  opacity: 0.9;
  cursor: pointer;
}

.textarea-style-btn:hover {
  background: linear-gradient(135deg, #6f26f7 0%, #a07ef0 100%);
  color: white;
  transform: scale(1.05);
}

/* Gradient effect when a button is active/selected */
.btn-check:checked + .textarea-style-btn {
  background: linear-gradient(135deg, #6f26f7 0%, #a07ef0 100%);
  color: white;
  opacity: 1;
}

/* Ensure the buttons are styled separately but look cohesive */
.textarea-style-btn + .textarea-style-btn {
  margin-left: 0; /* Remove extra margin between buttons */
}

/* General Button Styles */
.paste-text-btn {
  /* Your existing styles for the button */
  margin-bottom: 0; /* Default margin */
}

/* Add margin-bottom on phone-sized screens */
@media (max-width: 768px) {
  .paste-text-btn {
      margin-bottom: 75px;
  }
}

#paraphrase-loader {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 9999;
  background: rgba(30, 30, 30, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader-overlay {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes fadeOut {
  from { opacity: 1; }
  to   { opacity: 0; }
}

.loader-gif {
  width: 50vw;
  max-width: 100vw;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 10px #6f26f7);
  opacity: 0;
  animation: fadeIn 0.8s ease-in forwards;
}

.loader-text {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  background: rgba(111, 38, 247, 0.9);
  padding: 10px 24px;
  border-radius: 20px;
  font-size: 1.2rem;
  font-weight: 600;
  box-shadow: 0 2px 12px rgba(111,38,247,0.2);
  margin-top: 20px;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .loader-gif, .paraphrase-gif {
    width: 95vw;
    max-width: 95vw;
    height: auto;
  }
  .loader-text, .paraphrase-gif-text {
    font-size: 1rem;
    padding: 8px 12px;
  }
}

.paraphrase-gif {
  width: 90vw;
  height: auto;
  margin: 0 auto;
  opacity: 0;
  animation: fadeIn 0.8s ease-in forwards;
  display: block;
}

.paraphrase-gif-text {
  display: inline-block;
  /* No width/max-width on desktop! */
  box-sizing: border-box;
  color: #fff;
  background: rgba(83, 28, 186, 0.9);
  padding: 10px 24px;
  border-radius: 20px;
  font-size: 1.2rem;
  font-weight: 600;
  box-shadow: 0 2px 12px rgba(111,38,247,0.2);
  margin: 0 auto 10px auto;
  text-align: center;
}

@media (max-width: 600px) {
  .paraphrase-gif, .loader-gif {
    width: 95vw;
    max-width: 95vw;
    height: auto;
  }
  .paraphrase-gif-text, .loader-text {
    width: 95vw;
    max-width: 95vw;
    font-size: 1rem;
    padding: 8px 12px;
    display: block;
  }
}