/*
Theme Name: Ai Fruits Love Island
Theme URI: https://aifruitsloveisland.com
Author: Jei Akito Kanazawa
Author URI: https://jeiseo.com
Description: Custom WordPress theme for Ai Fruits Love Island.
Version: 1.0
License: GPL-2.0+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: ai-fruit-love-island, ai-fruits-love-island, fruit-love-island, fruits-love-island, ai-fruits, ai-fruit
Text Domain: aifruitsloveisland
*/

.banner-caption {
  position: relative;
  margin-top: -20px;
  margin-left: 50vw;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 0, 0, 0.4);
  padding: 2px 6px;
  border-radius: 3px;
  line-height: 1.2;
  z-index: 999999999;
}

.my-custom-table td {
    color: #fff;
}

.dark-mode .ez-toc-title {
    color: #333;
}

    .featured-item a:hover p {
        color: #333!important;
    }
    
    .featured-item a:hover .p3 {
         border-bottom: 2px solid #333;
    }

.banner-caption {
  font-size: 0.85rem;
  color: #666;
  font-style: italic;
}

.partner-links, .partner-links p, .partner-links a {
    font-size: 0.6rem;
}

.contact-success {
  background: #e7fff1;
  border: 1px solid #00c37a;
  padding: 1em;
  margin-bottom: 1.5em;
  border-radius: 6px;
  color: #0a4d35;
  font-weight: bold;
}

/* Center and style the contact form */
.contact-form {
  max-width: 500px;
  margin: 2em auto;
  padding: 2em;
  background: #f9f9f9;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  gap: 1em;
}

/* Labels and inputs full width */
.contact-form label {
  font-weight: bold;
  margin-bottom: 0.25em;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 0.75em;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1em;
}

.contact-form button {
  background-color: #000;
  color: #fff;
  border: none;
  padding: 0.75em;
  font-size: 1em;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.contact-form button:hover {
  background-color: #333;
}

.dark-mode .contact-form p,
.dark-mode .contact-form label,
.dark-mode .contact-form input,
.dark-mode .contact-form textarea {
    color: #333;
}

/* Default — Desktop */
.tp-badge-img {
    margin-top: -10px;
    width: 7.5%;
    height: auto;
    vertical-align: middle;
}

/* Mobile (max-width 768px) */
@media (max-width: 768px) {
    
    .banner-caption {
  font-size: 0.7em;
  margin-left: 40vw;
}
    
    .tp-badge-img {
        width: 30%;
    }
    .partner-links, .partner-links p, .partner-links a {
    font-size: 0.48rem!important;
}
}



@media screen and (max-width: 1280px) {
 header {
     height: 90px!important;
 }

 .site-title {
     width: 55%!important;
     height: 80%!important;
}
.mobile-menu {
    top: 99%!important;
}


}

@media screen and (max-width: 780px) {
 header {
     height: 70px;
         background-repeat: 
        no-repeat, 
        no-repeat!important;
 }
  .banner-image {
        display: block;
        width: 100%;
        max-width: 100%;
        height: 200px!important;
        margin-top: 0;
}
    .site-title {
    width: 65%!important;
    height: 45px!important;
}
}



.category-nav .dropdown-menu li a:hover {
    background: linear-gradient(90deg, #E91E8C, #4DD0E1);
}
.dropdown-panel {
    z-index: 999999999999999999999!important;
}


body.home .announcement-bar,
body.home #search-container {
    width: 100% !important;
    margin-right: 0 !important; /* optional: removes the little gap */
}

@media screen and (min-width: 1600px) {
.on-page-promo-space {
  width: 56.25%;
  margin-left: 21.75%;
}



.featured-article-image {
  height: 100%!important;
}



.featured-article h5 {
    max-height: 50px!important;
    font-size: 11.5px!important;
}


/* Image Styling */
.featured-article-image img {
    width: 100%;
    height: 90%;
    object-fit: fill; /* Crops and scales image to fit */
    border-radius: 0;
}
.featured-article a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
}


.featured-article {
    margin: 0 auto;
    margin-bottom: 20px;
    background-color: #0D1B2A; /* Dark navy */
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    width: 100%;
    max-width: 300px; /* Adjust based on your layout */
    height: 220px!important;
    min-height: 220px!important;
}

.featured-article a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: -10px;
}

/* Featured Image Container */
.featured-article-image {
    height: 180px; /* Keep consistent height */
    overflow: hidden;
    border-radius: 0;
    background-color: #ddd; /* Default placeholder */
}

/* Image Styling */
.featured-article-image img {
    width: 100%;
    height: 90%;
    object-fit: fill; /* Crops and scales image to fit */
    border-radius: 0;
}


.dark-mode .post-grid-item a {
    color: #fff!important;
}


.toc-section {
  border: 1px solid #FF4081; /* pink border */
  border-radius: 10px;
    margin: 0 auto;
    height: 220px!important;
    min-height: 220px!important;
    min-width: 100%!important;
    overflow-y: auto; /* Enables vertical scroll if content overflows */
}
    .toc-section h4 {
    color: #fff;
    margin-bottom: -15px !important;
    margin-top: 0px !important;
}

/* ✅ On smaller laptops (below 1200px): 2 rows x 3 columns */
@media (max-width: 1400px) {
.featured-sections .featured-item {
    flex: 1 1 calc(33.333% - 20px)!important;
    max-width: calc(23.333% - 20px);
  }
}

@media screen and (max-width: 1600px) {
.toc-section h4 {
    color: #fff;
    font-size: 60%;
}
}

.dark-mode .toc-section h4 {
    color: #fff;
}


.toc-section li  {
    font-size: 0.4rem;
    line-height: 0.5rem;
    font-weight: bold;
}

@media screen and (min-width: 1600px) {


.toc-section li  {
    font-size: 0.5rem;
    line-height: 1.68rem;
}

.toc-section {
    height: 250px;
}

.toc-section a {
  display: inline-block;
  padding: 1px 3px;

  text-decoration: none;
  transition: background-color 0.3s ease;
  width: 90%;
}
}


.toc-section ul {
  list-style: none;
  padding: 0;
  margin-top: 25px;  
  flex-wrap: wrap;       /* wrap to next line if needed */
  gap: 1px;             /* spacing between buttons */
  width: 100%;
}


.toc-section a {
  display: inline-block;
  padding: 1px 3px;
  text-decoration: none;
  transition: background-color 0.3s ease;
  width: 90%;

}



@media screen and (min-width: 1281px) {
.main-content {
    width: 96%!important;
}
.supplementary-content {
    width: 63%!important;
    margin: 0 auto!important;
}
.sidebar, .sidebar-right, .sidebar-right .gradient-left-border, .sidebar .gradient-right-border {
    height: 100%!important;
    max-height: 100%!important;
}
}

/* Main Content Area */
.main-content {
    width: 92%!important;
    margin: 0 auto;
}



.header-row {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    z-index: 999;
}


.related-articles .scrollable-wrapper {
  overflow-x: auto;
  position: relative;
}

.related-articles .scrollable-category-box {
  display: flex;
  gap: 16px;
  padding: 10px 0;
}

.related-articles .post-grid-item {
    height: 450px;
  flex: 0 0 280px; /* fixed card width */
  background: #333;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 12px;
  display: flex;
  flex-direction: column;
}

.related-articles .post-grid-item img.banner-image {
  width: 100%!important;
  height: auto!important;
  border-radius: 8px;
  object-fit: cover;
  margin-bottom: 8px;
}

.post-grid-item img {
    width: 100%!important;
  height: auto!important;  
}

.related-articles .post-grid-item h3, .related-articles .post-grid-item .p3 {
  font-size: 1rem;
  margin: 0 0 8px;
}

.related-articles .post-excerpt {
  font-size: 0.9rem;
  margin-bottom: auto;
}

.related-articles .post-meta {
  font-size: 0.8rem;
  color: #666;
  margin-top: 8px;
}



.article-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.post-grid-item {
  background: #333;
  color: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
}

.post-grid-item a, .post-grid-item h2, .post-grid-item p, .post-grid-item span {
  color: #fff!important;
}

.post-grid-item a:hover, .post-grid-item h2:hover, .post-grid-item h3:hover, .post-grid-item p:hover, .post-grid-item span:hover {
  color: #333!important;
}

.related-articles .post-grid-item:hover {
    color: #333!important;
}
.related-articles .post-grid-item:hover p {
    color: #333!important;
}

.post-grid-item:hover {
    background: #B3E5FC;
  transform: translateY(-4px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}

.dark-mode .post-grid-item:hover {
    background: #fde6fc;
}

.post-grid-item .banner-image {
  width: 100%;
  height: auto!important;
  object-fit: cover;
  border-radius: 6px 6px 0 0;
}

.post-grid-item h2 {
  font-size: 1rem;
  margin: 10px;
}

.post-excerpt {
  font-size: 0.85rem;
  margin: 0 10px 10px;
  color: #555;
}

.post-meta {
  font-size: 0.75rem;
  color: #777;
  padding: 8px 10px;
  margin-top: auto;
}

.pagination {
  grid-column: 1 / -1;
  text-align: center;
  margin-top: 30px;
}

/* Shared base styles */
.pagination a.page-numbers,
.pagination span.page-numbers {
  display: inline-block;
  margin: 0 4px;
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 0.85rem;
  transition: all 0.2s ease-in-out;
}

/* Gradient text for links */
.pagination a.page-numbers {
  background: linear-gradient(90deg, #E91E8C, #4DD0E1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* ✅ Hover underline works for all links (including Next) */
.pagination a.page-numbers:hover {
  text-decoration: underline;
  text-decoration-color: #fff; /* optional custom color */
  transform: scale(1.05);
}

/* Current page style */
.pagination span.page-numbers.current {
  background: linear-gradient(90deg, #E91E8C, #4DD0E1);
  color: #fff;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
  font-weight: bold;
  text-decoration: none;
}


  .post-meta img.avatar {
    width: 32px!important;
    height: 32px!important;
  }

/* 🌐 Mobile Styles (≤768px) */
@media screen and (max-width: 1280px) {
  /* Grid → 2 across */
  .article-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  /* Card container */
  .post-grid-item {
    padding: 8px;
    border-radius: 8px;
  }

  /* Thumbnail images */
  .post-grid-item .banner-image {
    height: 120px;   /* shorter for mobile */
    object-fit: cover;
  }

  /* Titles */
  .post-grid-item h2 {
    font-size: 0.9rem;
    margin: 6px 0;
    line-height: 1.3;
    overflow: hidden;
  }

  /* Excerpt */
  .post-excerpt {
    font-size: 0.75rem;
    line-height: 1.4;
    height: 3em; /* approx 2 lines */
    overflow: hidden;
    margin-bottom: 6px;
  }

  /* Meta (author + date) */
  .post-meta {
    font-size: 0.7rem;
    padding: 4px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  .post-meta img.avatar {
    width: 16px!important;
    height: 16px!important;
  }

  /* Pagination */
  .pagination {
    margin-top: 20px;
  }

  .pagination a,
  .pagination span {
    font-size: 0.75rem;
    padding: 4px 8px;
    margin: 0 2px;
  }
}

/* 📱 Extra Small Phones (≤400px) */
@media screen and (max-width: 400px) {
  .article-cards {
    grid-template-columns: 1fr; /* fallback to 1 per row */
  }

  .post-grid-item .banner-image {
    height: 100px;
  }

  .post-grid-item h2 {
    font-size: 0.8rem;
  }

  .post-excerpt {
    font-size: 0.7rem;
  }
}




/* hide panels by default, slide-in when ".open" is added */
.mobile-slider-panel {
  position: fixed;
  top: 0; right: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
  z-index: 1002;
  display: flex;
  flex-direction: column;
}
.mobile-slider-panel.open {
  transform: translateX(0);
}

/* header inside each panel */
.mobile-slider-header {
  display: flex;
  align-items: center;
  padding: 1rem;
  background: #333;
  color: #fff;
}
.mobile-slider-header .slider-back {
  background: none;
  border: none;
  color: #fff;
  font-size: 1rem;
  cursor: pointer;
}
.mobile-slider-header h2 {
  flex: 1;
  margin: 0;
  text-align: center;
}

/* scrollable content */
.mobile-slider-content {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}

/* mobile‐only grid & thumbs */
@media (max-width: 768px) {

  .mobile-slider-content ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.4rem;        /* tighter than before */
    margin: 0;
    padding: 0;
    list-style: none;
  }

  /* ensure your slider items themselves drop any list‐item display */
  .mobile-slider-content .slider-item,
  .mobile-slider-content .dropdown-item {
    display: block !important;
    padding: 0 !important;
    margin: 0;
    list-style: none;
  }

  /* responsive thumb container */
  .mobile-slider-content .thumb-container {
    position: relative;
    width: 100%;
    padding-bottom: 30%;   /* a bit taller than 3:2 */
    overflow: hidden;
    border-radius: 6px;
  }
  .mobile-slider-content .thumb-container img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
  }

  /* tiny overlay caption */
  .mobile-slider-content .thumb-overlay {
    position: absolute;
    bottom: 0.2rem;        /* pull in a hair */
    left: 0.2rem;
    right: 0.2rem;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 0.85rem;    /* super small text */
    line-height: 1.1;
    padding: 0.15rem 0.3rem;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* make mobile‐only elements visible */
  .mobile-only {
    display: block !important;
  }
}

@media (max-width: 768px) {
  /* make the slider search inputs smaller and centered */
  .mobile-slider-search input.dropdown-search-input {
    width: 60%;           /*  change this to taste */
    max-width: 240px;     /*  cap it so it never grows too wide */
    margin: 0.5rem auto;  /*  vertical spacing + center */
    display: block;       /*  so `margin: auto` works */
  }
}


.category-list { list-style: none; padding: 0; margin: 0; display: flex; gap: 1rem; }
.category-list li { position: relative; }
.dropdown-menu { display: none; position: absolute; top: 100%; left: 0; background: #fff; box-shadow: 0 4px 8px rgba(0,0,0,0.1); padding: .5rem; z-index: 10; max-height: 400px; overflow-y: auto; }
.dropdown:hover .dropdown-menu { display: block; }
.thumb-container { position: relative; overflow: hidden; width: 100px; height: 60px; }
.thumb-container img { width: 100%; height: 100%; object-fit: cover; }
.thumb-overlay { position: absolute; bottom: 0; left: 0; width: 100%; background: rgba(0,0,0,0.6); color: #fff; padding: .25rem; font-size: .75rem; text-align: center; box-sizing: border-box; }
.dropdown-search-input { width: calc(100% - 1rem); margin: .25rem; padding: .25rem; border: none; border-radius: 4px; }
.dropdown-item { display: flex; align-items: center; gap: .5rem; padding: .25rem 0; }
.no-results { padding: .5rem; text-align: center; color: #666; font-style: italic; }

/* make the dropdown scroll when it gets too tall */
.category-nav .dropdown-menu {
  position: relative;
  max-height: 85vh;      /* or use e.g. 50vh */
  overflow-y: auto;
  /* keep horizontal layout intact */
  overflow-x: hidden;
  /* two‐layer background: first the scrolling fade, then the base color */
  background:
    /* 1) gradient that scrolls with the content */
    linear-gradient(
      to bottom,
      rgba(234,234,225,0),
      rgba(234,234,225,1) 75%
    ) no-repeat bottom / 100% 1.5rem local,
    /* 2) solid base behind it */
    #eaeae1;
}


/* make the search li span all 3 cols */
.category-nav .dropdown-menu .dropdown-search {
  grid-column: 1 / -1;
  padding:     2px;
}

/* style the input */
.dropdown-search-input {
  width:        100%;
  box-sizing:   border-box;
  padding:      4px 6px;
  font-size:    0.85rem;
  border:       1px solid #ccc;
  border-radius:4px;
}

/* 2) On hover: show as a 3-column grid */
.category-nav .dropdown:hover > .dropdown-menu {
  display: grid!important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 4px!important;        /* vertical spacing */
  column-gap: 4px!important;     /* horizontal spacing */
  padding: 4px!important;        /* inside the whole menu */
  max-width: none;    /* no cap */
  width: 400px;       /* fixed width */
}

/* 3) Tighter links */
.category-nav .dropdown-menu li a {
  font-size: 0.85rem;
  display: block;
}



/* base nav reset */
.category-nav .category-list,
.category-nav .dropdown-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.category-nav .category-list {
  display: flex;
  gap: 1rem;
}
.category-nav a {
  text-decoration: none;
  padding: 0.5rem;
  display: block;
}

/* dropdown positioning */
.category-nav .dropdown {
  position: relative;
}
.category-nav .dropdown > a {
  cursor: pointer;
}

/* hide submenu by default */
.category-nav .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%!important;      /* sit below parent */
  left: -142.5px!important;
  background: #eaeae1;  /* match your header bg */
  min-width: 200px;  /* adjust as needed */
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  z-index: 10;
}

.dark-mode .category-nav .dropdown-menu {
  background: #333;  /* match your header bg */
}



/* Hide dropdown menus by default */
.category-nav .dropdown-menu {
  display: none !important;
}

.scrollable-wrapper {
  position: relative;
  max-height: 2200px;
  overflow: hidden;
  margin-bottom: 2rem;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/* This is the scrollable area */
.scrollable-category-box {
  max-height: 2200px;
  overflow-y: auto;
  padding-right: 10px;
}


/* Faded overlay to hint scroll */
.scroll-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2rem;
  background: linear-gradient(to bottom, #ffffff29, rgb(0 0 0 / 30%));
  pointer-events: none; /* Allow clicks to pass through */
  z-index: 1;
}


/* Mobile Optimization */
@media screen and (max-width: 1280px) {
  .scrollable-category-box {
  max-height: 70vh;
    padding-right: 0;
  }
  
  .scrollable-wrapper {
  max-height: 2000px;
  border: none;
}
}


.child-pages {
  margin-top: 50px;
  padding-top: 20px;
  border-top: 2px solid #ddd;
}



.child-page {
  margin-bottom: 40px;
  padding: 10px 0;
  border-bottom: 1px dashed #ccc;
}



.child-excerpt {
  font-size: 16px;
  color: #555;
  margin-bottom: 10px;
}

.grandchildren-list {
  list-style-type: disc;
  padding-left: 20px;
  margin-top: 10px;
}

.grandchildren-list li {
  margin-bottom: 5px;
}

.child-page a {
  text-decoration: none;
  color: #0073aa;
}

.child-page a:hover {
  text-decoration: underline;
}




.aifruitsloveisland-table-wrapper {
  width: 100%;
  overflow-x: hidden;
  max-height: 100vh;
  display: flex;
  flex-direction: column;
}



/* Search bar / filters */
.aifruitsloveisland-controls {
  margin-bottom: 10px;
  flex: 0 0 auto;
}



/* Actual table */
.aifruitsloveisland-table-wrapper table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

/* Sticky header */
.aifruitsloveisland-table-wrapper thead th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}




/* Cells */
.aifruitsloveisland-table-wrapper th,
.aifruitsloveisland-table-wrapper td {
  padding: 8px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #ccc;
  word-break: break-word;
}



.aifruitsloveisland-controls {
  margin-bottom: 1em;
  padding: 1em;
  background: #f9f9f9;
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  align-items: flex-start;
}

.aifruitsloveisland-controls label {
  font-weight: 500;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 0.3em;
  flex: 0 1 auto; /* default for filters */
  max-width: 22.5vw;
}

.aifruitsloveisland-controls .aifruitsloveisland-search-label {
  flex: 1 1 100%; /* allow full width */
  width: 350px;
  max-width: 85vw;
  text-align: center;
}

.aifruitsloveisland-controls input[type="text"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.aifruitsloveisland-table-filter {
  width: 100%;
  max-width: 80vw!important;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aifruitsloveisland-table-filter option {
  max-width: 80vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.aifruitsloveisland-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

/* 🌙 Dark mode */

.dark-mode .aifruitsloveisland-controls {
    background: #222;
    border: 1px solid #333;
  }

.dark-mode .aifruitsloveisland-controls input[type="text"],
.dark-mode .aifruitsloveisland-controls select {
    background: #333;
    color: #fff;
    border-color: #444;
  }

.dark-mode .aifruitsloveisland-controls label {
    color: #eee;
  }


.dark-mode .share-icon i {
   color: #fff;
}

.spotlight-feature li, .spotlight-feature h2 {
    color: #fff;
}
  .featured-item p {
    color: #fff;
  }

.announcement-track a {
  text-decoration: none;
    color: #B3E5FC;
}



.announcement-track a:hover {
     color: #FF4081;
}

.dark-mode .announcement-track a:hover {
     color: #FF4081;
}

#ztp-announcement {
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#ztp-announcement.hidden {
  opacity: 0;
  visibility: hidden;
}



/* === Cookie Banner Styles (Based on Custom Positioning) === */

.cookie-banner {
  position: fixed;
  top: 13.6%;
  left: 11.5%;
  width: 75%;
  background-color: #111;
  color: #fff;
  padding: 1em;
  z-index: 9999;
  text-align: center;
  font-size: 14px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  gap: 0.75em;
  transition: opacity 0.3s ease;
}



.cookie-link {
  color: #00bfff;
  text-decoration: underline;
}

.cookie-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75em;
}

.cookie-button {
  padding: 0.5em 1.2em;
  background-color: #4caf50;
  color: #fff;
  font-weight: 500;
  font-size: 14px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.cookie-button:hover {
  background-color: #43a047;
}

.cookie-button.reject {
  background-color: #e53935;
}

.cookie-button.reject:hover {
  background-color: #d32f2f;
}


/* Tablet and Mobile (below 1024px) */
@media (max-width: 1023px) {
  .cookie-banner {
    top: 7.5%;
    left: 0;
    width: 98.5%;
    border-radius: 0;
    font-size: 8px;
    padding: 0.5em 0.5em;
  }

  .cookie-actions {
    flex-direction: column;
  }

  .cookie-button {
    width: 100%;
  }
}

@media (min-width: 1500px) {

.cookie-banner {
    width: 76%;
    top: 10.65%;
}
}

.dark-mode .wp-block-button__link {
  color: #333;
  background-color: #fde6fc;
    
}

.wp-block-embed,
.wp-block-embed iframe {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.wp-embed-responsive .wp-block-embed iframe,
.wp-block-embed iframe {
    
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.wp-block-embed-youtube iframe {
    width: 100%;
    height: 400px; /* Change this to your preferred height */
    margin-left: auto;
    margin-right: auto;
    display: block;
}


.wp-block-embed-instagram {
    justify-content: center;
}

.wp-block-embed-instagram .wp-block-embed__wrapper {
    width: 100%;
    max-width: 500px;
    height: 450px;
    display: flex;
    justify-content: center;
}

.wp-block-embed-instagram blockquote.instagram-media {
    margin: 0 auto !important;
}



.wp-block-embed-tiktok blockquote {
    max-height: 620px;
    overflow: auto;
}


.wp-block-embed figcaption {
    font-size: 0.8em;     /* Smaller text */
    color: #666;          /* Light gray */
    font-style: italic;   /* Italic text */
    text-align: center;   /* Optional: center align */
    margin-bottom: 3rem;      /* Optional: spacing */
}


.dark-mode .rank-math-breadcrumb span {
    color: #fff;
}

.community-engagement {
  text-align: center;
  padding: 1.5rem;
}

.community-engagement a {
  text-decoration: none;
  margin: 0 10px;
  font-weight: 600;
  color: #fde6fc;
}

.dark-mode .aifruitsloveisland-social {
    filter: brightness(0) invert(1);
}

.community-engagement a:hover {
  color: #4DD0E1; /* Cyan hover for tropical flair */
}


.center {
  width: fit-content!important; /* or any fixed width like 600px */
  margin: 0 auto!important;
  display: flex!important;
    
}

.featured-toc {
  list-style: none; /* removes default dots */
  padding-left: 1rem;
  margin-top: 10px;
}

.featured-toc li {
  position: relative;
  padding-left: 1.4em;
  margin-bottom: 6px;
}

.featured-toc li::before {
  content: "🂡";
  position: absolute;
  left: 0;
  top: 0;
}


.dark-mode a , .dark-mode .rank-math-breadcrumb a {
    color: #B3E5FC;
}

.site-title {
    width: 35%;
    height: auto;
}

a[href*="sitemap"] {
    display: none !important;
}

@media (max-width: 600px) {
  body.search .post-excerpt {
    display: none;
  }
}

/* Dark Mode - Footer Links */
.dark-mode .footer-links a {
    color: #fff;
    transition: color 0.3s ease;
}

.dark-mode .footer-links a:hover {
    color: #FF4081;
}

/* Dark Mode - Social Icons */
.dark-mode .footer-socials a {
    color: #fff; /* Light icons */
    transition: opacity 0.3s ease;
}

.dark-mode .footer-socials a:hover {
    opacity: 0.7; /* Subtle fade on hover */
}

/* Footer General Styling */
footer {
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    text-align: center;
    background-color: #333; /* black background */
    padding-bottom: 100px; /* Adjusted for spacing */
    color: #fff;
    font-size: 1rem;
}

/* Footer Container */
.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    gap: 30px;
}

/* Footer Links Section - Now in columns */
.footer-links {
    display: grid;
    grid-template-columns: repeat(3, auto); /* 3 columns */
    gap: 15px 40px; /* Space between links */
    text-align: center;
    justify-content: center;
}




/* Remove Bullet Points */
.footer-links ul {
    display: inline-block!important;
    list-style: none;
    padding: 0 50px;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}


/* Footer Link Styling */
.footer-links a {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
    display: block;
    margin: 5px;
}




/* Social Icons Section */
.footer-socials {
    margin-top: 15px;
}

.footer-socials a {
    color: #fff;
    font-size: 22px;
    margin: 0 12px;
    display: inline-block;
    transition: opacity 0.3s ease;
}

.footer-socials a:hover {
    opacity: 0.7;
}

/* Responsive Footer for Mobile */
@media screen and (max-width: 1280px) {
    
    .site-title {
    width: 65%;
}
    
    footer p {
        font-size: 0.7rem;
    }
    
    .footer-links {
        font-size: 0.5rem;
        gap: 0!important;
    }

}




.related-articles .row {
    display: flex;
    flex-wrap: wrap; /* Allows wrapping */
    gap: 20px;
    margin-bottom: 20px;
}

/* Make sure each article shares the available space */
.related-articles .article-summary {
    flex: 1;
    min-width: 44%; /* Prevents full width on single articles */
    max-width: 44%; /* Keeps them in half-width */
}

/* Specifically target last-child when it's alone */
.related-articles .row .article-summary:last-child:nth-child(odd) {
    max-width: 44%; /* Force it to take up only half */
}


.related-articles h3, .related-articles .p3 {
    height: 10%;
    color: #fff;
}

.related-articles h3::before, .related-articles .p3::before {
    left: 0.15%;
}

@media screen and (min-width: 1600px) {
.related-articles h3::before, .related-articles .p3::before {
    left: 0.15%;
}
}

@media screen and (max-width: 1280px) {

.related-articles h3::before, .related-articles .p3::before {
  left: 0.15%;
}
.related-articles h3, .related-articles .p3 {
    height: 18.25%; /* Set a fixed height */
    overflow: hidden; /* Hide overflowing text */
    display: block; /* Ensure it behaves properly */
    line-height: 1.2em; /* Ensure proper spacing */
    white-space: normal; /* Allow normal line wrapping */
}



}

.ep-embed-content-wraper.insta-grid {
    display: flex;
    justify-content: center;
    max-width: 100%;
}

.ep-embed-content-wraper.insta-grid .ose-embedpress-responsive,
.ep-embed-content-wraper.insta-grid .ose-tiktok {
    width: 100% !important;
    max-width: 400px !important; /* adjust as preferred */
    height: 450px !important;
}

.ep-embed-content-wraper.insta-grid iframe {
    width: 100% !important;
    height: 450px !important;
}

.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.author-container {
    display: flex;
    gap: 3px;
    max-width: 100%;
    margin: 0 auto;
    padding: 2px;
    flex-wrap: wrap;
}

.author-left h2 {
    justify-content: center;
    text-align: center;
    width: 170%;
}

/* Left side (66% width) */
.author-left {
    width: 75%;
}

.author-about {
    background: #f9f9f9;
    padding: 2px;
    border-radius: 10px;
}

.author-about h2 {
   text-align: center;
   margin-left: -35%;
    
}

.author-image {
    width: 100%;
    max-width: 400px;
    border-radius: 10px;
    display: block;
    margin-top: 10px;
}

/* Latest Articles */
.author-posts {
    margin-top: 20px;
}

.post-item {
    padding: 15px;
    border: 1px solid #ddd;
    background-color: #fff;
    margin-bottom: 15px;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}

/* Right side (33% width) */
.author-right {
    width: 20%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
}

.author-social ul {
    list-style: none;
    padding: 2px;
    margin-top: 50px;
}

.author-social li {
    margin-bottom: 10px;
}

.author-social a {
    text-decoration: none;
    font-weight: bold;
    color: #E91E8C;
}

.author-photo img {
    width: 100%;
    max-width: 300px;
    border-radius: 10px;
    margin-top: 20px;
}


/* Mobile Styles */
@media (max-width: 600px) {
  .post-grid {
    grid-template-columns: repeat(3, 1fr); /* Keep two columns */
    gap: 10px; /* Reduce gap for mobile */
  }
  
  .author-about h2 {
   text-align: center;
   margin-left: auto;
    
}

.author-left h2 {
  width: 100%;
}
  
  .author-container {
gap: 10%;
}
  
  /* Right side (33% width) */
.author-right {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 10px;
}

.author-left {
    width: 100%;
}

.author-left .wp-block-button {
    width: 170%;
}

  .post-grid-item {
    padding: 10px; /* smaller padding */
  }
  


  .post-grid-item h2 {
    font-size: 0.8rem!important; /* smaller headings */
    height: 60px!important;
  }
  
  .post-grid-item h3 {
    font-size: 0.8rem!important; /* smaller headings */
    height: 60px!important;
    margin-left: -22px!important;
   }

  .post-grid-item .post-excerpt {
    font-size: 0.5rem!important; /* smaller excerpts */
  }

  .post-grid-item .read-more {
    font-size: 0.6rem!important; /* smaller link text */
  }
}

.post-grid-item {
  background: #333;
  border: 1px solid #333;
  padding: 15px;
  border-radius: 8px;
  display: flex;          /* Make it a flex container */
  flex-direction: column; /* Vertical stacking */
}

.post-grid-item .banner-image {
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.post-grid-item h2 {
  font-size: 1.2rem;
  margin: 10px 0;
 overflow: hidden;
    display: block;
    white-space: normal; /* Allows wrapping */
    word-break: break-word; /* Ensures long words break properly */
    position: relative;
}

.post-grid-item h3 {
  font-size: 1.2rem;
  margin: 10px 0;
  height: 65px;
 overflow: hidden;
    display: block;
    white-space: normal; /* Allows wrapping */
    word-break: break-word; /* Ensures long words break properly */
    position: relative;
}

.post-grid-item .post-excerpt {
  font-size: 0.9rem;
  margin-bottom: 10px;
  flex-grow: 1;  /* Expand to fill available space */
}

.post-grid-item .read-more {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
  color: #fde6fc;
  margin-top: auto; /* Push to bottom */
}


/* Your button styles (adjust to your theme/color preference) */
.wp-block-button__link {
  color: #333;
  padding: 10px 24px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: opacity 0.2s ease;
  border: 1px solid #fde6fc;
  background-color: #B3E5FC;
  display: flex;            /* Enables flexible alignment */
  justify-content: center;  /* Centers horizontally */  
}

.wp-block-button__link:hover {
  background-color: #61f6ff;
  color: #333;
}

.dark-mode .wp-block-button__link:hover {
  background-color: #FF4081;
  color: #333;
}

.wp-block-button {
  display: flex;            /* Enables flexible alignment */
  justify-content: center;  /* Centers horizontally */
  margin: 1.5em 0;          /* Optional spacing above/below the button */
}

.wp-element-button {
  display: flex;            /* Enables flexible alignment */
  justify-content: center;  /* Centers horizontally */
  margin: 1.5em 0;          /* Optional spacing above/below the button */
}



/* Center the button in your article content */
.entry-content .wp-block-button {
  text-align: center;
  margin: 1.5em 0;
  justify-content: center;
}

figure.wp-block-table.my-custom-table table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  table-layout: fixed;
}

.my-custom-table, figure.wp-block-table.my-custom-table {
  /* Make it responsive to parent width */
  width: 100%;
  /* Combine borders for a cleaner look (removes double borders) */
  border-collapse: collapse;
  /* Optional margin to give space above/below the table */
  margin: 1em 0;
  /* Optional, if you want text to wrap inside narrow screens: */
  table-layout: fixed;
  overflow-y: auto;
}

/* Cells (both <th> and <td>) */
.my-custom-table th,
.my-custom-table td,
figure.wp-block-table.my-custom-table th,
figure.wp-block-table.my-custom-table td {
  /* Border around cells */
  border: 1px solid #ccc;
  /* Padding for breathing room */
  padding: 8px;
  /* Center align text by default */
  text-align: center;
  /* Ensures multi-line content or images don't overflow */
  vertical-align: top;
}



/* Make images responsive if they appear inside table cells */
.my-custom-table img, figure.wp-block-table.my-custom-table img {
  width: 100px;
  height: 100px;
  display: block; /* Ensures no extra white space below the image in some browsers */
  margin: auto; /* Centers the image inside the table cell */
}


.dark-mode body a, .dark-mode .rank-math-breadcrumb a {
    color: #fb83f6;
}

body a {
    color: #00aaff;
}

.wp-block-image img {
  width: 600px;
  height: 400px;
  object-fit: fill; /* or 'contain', depending on desired cropping behavior */
  display: block;
  margin: 1em auto; /* centers the image if you like */
}

/* Rank Math places breadcrumbs in a container with class 'rank-math-breadcrumb' by default. */
.rank-math-breadcrumb {
  display: inline-block;  /* or block, up to you */
  margin-top: 10vh;
  padding: 0 2px;
  font-size: 0.9rem; /* Slightly smaller text */
  font-family: "Merriweather", serif; /* Example funky font */
}

/* Style each breadcrumb link */
.rank-math-breadcrumb a {
  text-decoration: none;
  color: #B3E5FC;
  font-weight: bold;
  transition: color 0.3s ease;
  font-size: 0.9rem; /* Slightly smaller text */

}



/* Hover effect on links */
.rank-math-breadcrumb a:hover {
  color: #61f6ff;
  text-decoration: underline;
}

.dark-mode .rank-math-breadcrumb a:hover { 
  color: #FF4081;
}

.latest-articles h3::before, .related-articles h3::before, .latest-articles .p3::before, .related-articles .p3::before {
    left: -0.95%;
}

@media screen and (min-width: 1600px) {
.latest-articles h3::before, .related-articles h3::before, .latest-articles .p3::before, .related-articles .p3::before {
    left: -0.65%;
}
}

@media screen and (max-width: 1280px) {

.latest-articles h3::before, .related-articles h3::before, .latest-articles .p3::before, .related-articles .p3::before {
  left: -1.55%;
}

.wp-block-embed, .wp-block-embed iframe {
    min-width: 80vw!important;
    max-width: 80vw!important;
}

}


/* The default separator (like a slash or '>') 
   often appears as .separator or .separator-class.
   Adjust if needed by checking your HTML output. */
.rank-math-breadcrumb .separator {
  margin: 0 4px;
  color: black; /* separator */
  font-weight: normal;
}

/* Fine-tune text color for non-link elements (the "current" crumb) */
.rank-math-breadcrumb span {
  color: #555;
  font-weight: normal;
  font-size: 0.9rem; /* Slightly smaller text */

}

@media screen and (max-width: 1280px) {
.rank-math-breadcrumb span, .rank-math-breadcrumb a {
  font-size: 0.6rem; /* Slightly smaller text */
}

.rank-math-breadcrumb {
  margin-bottom: -10%;
}

.wp-block-image img {
  width: 330px;
  height: 165px;

}

/* Make images responsive if they appear inside table cells */
.my-custom-table img, figure.wp-block-table.my-custom-table img {
  width: 100%;
  max-width: 100px;
  height: 80px;
  min-height: 80px;
  max-height: 80px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
  margin: auto;
}

}
/* ===========================
   GLOBAL STYLES & RESET
=========================== */
body {
    font-family: "DM Serif Display", serif;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-image: linear-gradient(#feffdbed, #a7a98df0, #b3b3b3), /* fades icons */ url(https://aifruitsloveisland.com/wp-content/uploads/2026/03/Ai-Fruit-Love-Island-Day-Wallpaper-Icons.webp), url(https://aifruitsloveisland.com/wp-content/uploads/2026/03/Ai-Fruit-Love-Island-Day-Wallpaper-BG.webp);
    background-size: cover, 33% auto, cover;
    background-repeat: no-repeat, space, no-repeat;
    background-position: center, center, center;
    color: var(--text-color, #000000);
    transition: background-color 0.3s ease, color 0.3s ease;
    max-width: 100%;
    overflow-x: hidden;
}

.dark-mode body {
    background-image: linear-gradient(#6a6a64f7, #505035), /* fades icons */ url(https://aifruitsloveisland.com/wp-content/uploads/2026/03/Ai-Fruit-Love-Island-Day-Wallpaper-Icons.webp), url(https://aifruitsloveisland.com/wp-content/uploads/2026/03/Ai-Fruit-Love-Island-Day-Wallpaper-BG.webp);
}

      .comment-form input[type="text"],
    .comment-form input[type="email"],
    .comment-form input[type="url"] {
        width: 100%;
    }
    
    .comment-form textarea {
    margin-left: 0 !important;
    width: 100% !important;
    min-height: 150px; /* Adjust height */
    resize: vertical; /* Allow resizing */
    padding: 10px; /* Better spacing */
    font-size: 16px; /* Readable text */
    border: 1px solid #ccc; /* Optional styling */
    border-radius: 5px; /* Rounded corners */
}


#search-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: #fff;
    padding: 8px 12px;
    transition: color 0.3s ease-in-out;
}



#menu-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
    color: #fff;
    padding: 6px 12px;
    transition: color 0.3s ease-in-out;
    top: 1%;
    right: 5%;
}




#dark-mode-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 15px;
    color: #fff;
    padding: 8px 12px;
    transition: color 0.3s ease-in-out;
}


.icon:hover {
    color: #61f6ff;
}

.dark-mode .icon:hover {
    color: #FF4081;
    
}

.dark-mode #dark-mode-toggle, .dark-mode #search-toggle {
    color: #fff;
}




body.admin-bar header {
    top: 28px; /* Admin bar is typically 32px tall on desktop */
}

#search-container {
  padding: 10px;
  background: #0D1B2A;
  border: 1px solid #333;
  position: absolute; /* or fixed, based on your design */
  top: 85px!important; /* Adjust based on your header height */
  width: 62.1%;
  z-index: 998;
  margin-right: 0.65%;
}

@media screen and (min-width: 1600px) {
#search-container {
  width: 63.4%;
  margin-right: 0.5%;
}
.announcement-bar {
  width: 65.3%!important;
}
}


/* Hide Scrollbars */
html, body {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE, Edge */
    min-height: 100vh; /* Ensures page is at least full height */
}

@media screen and (min-width: 1281px) {


html {
  scroll-padding-top: 110px!important;
}

h2, h3, .wp-block-heading {
  scroll-margin-top: 110px!important;
}

}

html::-webkit-scrollbar, body::-webkit-scrollbar {
    display: none !important; /* Chrome, Safari, Opera */
}

/* Hide/Show PC & Mobile Elements */
.pc-only {
    display: flex;  /* Default for PC */
}

.mobile-only {
    display: none; /* Default hidden on PC */
}

.mobile-menu {
    display: none; /* Default hidden on PC */
}

/* ===========================
   ANNOUNCEMENT BAR & SCROLLING TEXT
=========================== */


.announcement-bar {
    margin-right: 10.2px!important;
    color: #fff;
    font-weight: bold;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    display: flex;
    padding: 3px 0;
    height: 4rem!important;
    margin-bottom: -3px;
}

.announcement-track p {
    font-size: 0.9rem;
    color: #fff;

}

.announcement-track {
    display: flex;
    padding: 5px 0;
    align-items: center; /* Ensures text stays vertically centered */
    white-space: nowrap;
    padding-left: 50vw; /* Reduce padding so it starts earlier */
    animation: scrollText 300s linear infinite; /* Adjust timing */
}

@keyframes scrollText {
    from {
        transform: translateX(30vw); /* Start slightly off-screen instead of far right */
    }
    to {
        transform: translateX(-100%); /* Moves smoothly across */
    }
}


/* Dark Mode Announcement */
.dark-mode .announcement-bar {
    color: #fff;
}

.dark-mode .author-about {
    background-color: #121212;
}

.dark-mode .announcement-track p {
    color: #fff;
}

.dark-mode .announcement-track a {
    color: #B3E5FC;
}

/* ===========================
   TYPOGRAPHY & TEXT STYLES
=========================== */
h1 {
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    color: #333;
    font-family: "Merriweather";
    margin-top: 1%;
}

h2 {
    font-size: 2rem;
    font-weight: bold;
    margin: 30px 0 15px;
    color: #222;
    padding-bottom: 5px;
    font-family: "Merriweather";
    margin-top: 5%;

}

h2.wp-block-heading {
  position: relative;
  padding-bottom: 20px; /* Adjust based on your emoji size */
}

h2.wp-block-heading::before {
  content: "";
  position: absolute;
  left: -5px;
  bottom: -5px;
  width: 24px;
  height: 24px;
  background-image: url('https://aifruitsloveisland.com/wp-content/uploads/2026/03/coconut-icon.webp');
  background-size: cover;
  background-repeat: no-repeat;
}


h2.wp-block-heading::after {
  content: "";
  position: absolute;
  bottom: 3.5px; /* Vertically aligns line with emoji */
  width: calc(100% - 18.5px);
  height: 2px;
  background: linear-gradient(to right, #e6fdfc, /* Deep raspberry pink */ #00a2d3, /* Vivid pink */ #8fc6df, /* Light sky blue */ #386164 /* White */);



}

.dark-mode h2.wp-block-heading::after {
background: linear-gradient(to right,
  #fde6fc,  /* Deep raspberry pink */
  #E91E8C,  /* Vivid pink */
  #B3E5FC,  /* Light sky blue */
  #FFFFFF   /* White */
);
}

/* To extend the line fully across the container or page: */
h2.wp-block-heading::after {
  left: 18px; /* Keep room for emoji */
  right: 0;
  width: unset; /* Allows it to fully stretch */
}



.featured-item:hover h2, .spotlight-feature:hover h2, .featured-item:hover h3 {
        border-bottom: 2px solid #F0F8FF;

}

.sidebar h4, .sidebar-right h4 {
    text-align: center;
    align-items: center;
    font-size: 1rem;
    font-family: "Merriweather";
    margin-bottom: -15px !important;
    margin-top: 0px !important;
    
}

h3, .p3 {
  font-size: 1.5rem;
  font-weight: bold;
  margin: 20px 0 10px;
  color: #222;
  font-family: "Merriweather";
  position: relative;
  padding-left: 25px; /* make space for the bar */
  margin-top: 5%;
  border: none; /* remove old border */
}


/* Add Rose emoji at the top */
h3::before, .p3::before {
  content: "🌹";
  position: absolute;
  left: -0.4%;
  top: -3px; /* adjust to align vertically */
  font-size: 20px; /* adjust size */
}

@media screen and (min-width: 1600px) {
h3::before, .p3::before {
  left: -0.245%;
}
}

@media screen and (max-width: 1280px) {
h3::before, .p3::before {
  left: -0.65%;
}
}

/* Add green stem with thorn */
h3::after, .p3::after {
  content: "";
  position: absolute;
  left: 9px; /* align under rose */
  top: 18px; /* start just below rose */
  bottom: 0;
  width: 2px; /* stem width */
  background: #83d18d; /* natural green color */
  background-image: 
    linear-gradient(135deg, transparent 45%, #3ea055 45%, #3ea055 55%, transparent 55%),
    linear-gradient(#3ea055, #3ea055);
  background-repeat: no-repeat;
  background-size: 8px 8px, 100% 100%;
  background-position: left 0px top 10px, 0 0;
}



h4 {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 50px 0 10px;
    color: #222;
    font-family: "Merriweather";
    padding-left: 10px; /* Adjust spacing as needed */
    margin-bottom: 3%;
}

p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #333;
    margin-bottom: 15px;
    font-family: "Montserrat", serif;

}

/* Post Metadata */
.post-meta .post-author {
    font-weight: bold;
    color: #333;
    font-size: 0.7rem;
}

.post-meta .post-date {
    font-style: italic;
    color: #555;
}

.post-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.7rem;
    color: #666;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

/* Author Info */
.author-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.author-info p {
    font-size: 0.7rem;
}

.author-info img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-bottom: 5px;
}

/* Author Name */
.post-author {
    font-weight: bold;
    color: #333;
    text-decoration: none;
}

.post-author:hover {
    text-decoration: underline;
}

/* Follow & Share Actions */
.meta-actions {
    display: flex;
    gap: 15px;
    align-items: center;
}

.follow-us, .social-share {
    display: flex;
    gap: 8px;
}

.follow-us {
    margin-left: 2px;
    margin-bottom: -10px;
}

/* Social Share positioning */
.social-share {
    display: flex;
    gap: 8px;
    margin-bottom: -50px;
    left: 75%;
    position: sticky;
}

/* Icon Styles */
.follow-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    text-decoration: none;
    color: #fff;
    font-size: 7px;
    transition: 0.3s;
}

.share-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    text-decoration: none;
    color: #fff;
    font-size: 11px;
    transition: 0.3s;
}

/* Follow Us Icons */
.follow-icon.tiktok { background-color: #000; }
.follow-icon.tiktok:hover { background-color: #222; }

.follow-icon.youtube { background-color: #FF0000; }
.follow-icon.youtube:hover { background-color: #CC0000; }

.follow-icon.instagram { background-color: #E1306C; }
.follow-icon.instagram:hover { background-color: #C12A5B; }

.follow-icon.twitter { background-color: #000; }
.follow-icon.twitter:hover { background-color: #333; }

/* Social Share Icons */
.social-share {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 85px;
}

/* Share Buttons */
.share-icon.facebook { background-color: #1877f2; }
.share-icon.facebook:hover { background-color: #1358b0; }

.share-icon.twitter { background-color: #000; }
.share-icon.twitter:hover { background-color: #333; }

.share-icon.linkedin { background-color: #0077b5; }
.share-icon.linkedin:hover { background-color: #005582; }

.share-icon.pinterest { background-color: #E60023; }
.share-icon.pinterest:hover { background-color: #B2001B; }

/* Dark Mode Adjustments */
.dark-mode .post-meta { color: #bbb; }

.dark-mode .post-author {
    color: #fff;
}

.dark-mode .follow-us span, 
.dark-mode .social-share span {
    color: #ddd;
}

/* Comments Section */


/* Make the comment box less wide */
.comment-form textarea {
    width: 80%;
    max-width: 600px;
    margin: 0 auto;
    display: block;
}

.dark-mode .comment-form input[type="submit"],
.dark-mode .comment-form button {
    background-color: #fde6fc;
    color: black !important;
}

/* Style the Post Comment button */
.comment-form input[type="submit"],
.comment-form button {
    background-color: #B3E5FC;
    color: black !important;
    border: none;
    padding: 10px 15px;
    font-size: 1rem;
    font-weight: bold;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.3s ease-in-out;
}

.comment-form input[type="submit"]:hover,
.comment-form button:hover {
    background-color: #61f6ff!important;
}

.dark-mode a:hover {
    color: #FF4081;
}

a:hover {
    color: #61f6ff;
}

.dark-mode .comment-form input[type="submit"]:hover,
.dark-mode .comment-form button:hover {
    background-color: #FF4081;
}

.dark-mode input[type="submit"]:hover,
.dark-mode button[type="submit"]:hover {
    background-color: #FF4081 !important;
}

.dark-mode input[type="submit"], .dark-mode button[type="submit"] {
    background-color: #fde6fc !important;
    color: black !important;
}

input[type="submit"],
button[type="submit"] {
    background-color: #B3E5FC !important;
    color: black !important;
    font-weight: bold;
    border: none;
    padding: 3px 15px;
    border-radius: 5px; /* Rounded corners */
    cursor: pointer;
    transition: background 0.3s ease-in-out;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
    background-color: #61f6ff !important;
}

/* Make all comment links match brand color (inside comment content) */
.comment-content a {
    color: #fde6fc;
    text-decoration: none;
    font-weight: bold;
}

.comment-content a:hover {
    text-decoration: underline;
}

/* Center the comment section */
.comment-respond {
    width: 80%;
    max-width: 700px;
    margin: 0 auto;
}

/* Make the commenter's name brand color */
.comment-author .fn,
.comment-author a {
    color: #fde6fc !important;
    font-weight: bold;
    text-decoration: none;
}

.comment-author .fn:hover,
.comment-author a:hover {
    text-decoration: underline;
}

/* ✅ Make the comment date and time brand color */
.comment-metadata a,
.comment-metadata time {
    color: #fde6fc !important;
    font-size: 0.9rem;
    text-decoration: none;
    font-weight: bold;
}

.comment-metadata a:hover,
.comment-metadata time:hover {
    text-decoration: underline;
}

/* ✅ Make the Reply button brand color */
.comment-reply-link,
.comment-reply-link a {
    color: #fde6fc !important;
    font-weight: bold;
    text-decoration: none;
    font-size: 0.9rem;
}

.comment-reply-link:hover,
.comment-reply-link a:hover {
    text-decoration: underline;
}

/* ✅ Fix for buttons that might be inside comment actions */
.comment-reply a,
.comment-reply {
    color: #fde6fc !important;
    font-weight: bold;
    text-decoration: none;
    font-size: 0.9rem;
}

.comment-reply a:hover,
.comment-reply:hover {
    text-decoration: underline;
}

/* ✅ Force comment date & time to be brand color */
.comment-metadata a,
.comment-metadata time,
.comment-metadata span,
.comment-metadata {
    color: #fde6fc !important;
    font-size: 0.9rem;
    font-weight: bold;
    text-decoration: none;
}

/* ✅ Ensure hover effect */
.comment-metadata a:hover,
.comment-metadata time:hover,
.comment-metadata span:hover {
    text-decoration: underline;
}




.comments-area {
    margin-top: 40px;
    padding: 20px;
    background-color: #f8f8f8;
    border-radius: 8px;
}

.comment-list {
    list-style: none;
    padding: 0;
}

.comment-body {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.comment-author img {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-right: 10px;
}

.comment-meta {
    font-size: 0.9rem;
    color: #555;
}

.comment-reply-link {
    color: #1877f2;
    font-weight: bold;
}

/* Comments Button */
.comments-button {
    display: inline-block;
    color: #b3e5fc;
    padding: 3px 10px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.6rem;
    margin-top: 20px;
    transition: 0.3s;
    order: 1; /* Moves it above the share icons */
    margin-bottom: 10px;
    position: sticky;
}

.comments-button:hover {
    background-color: #b3e5fc;
    color: #fff;
}



.dark-mode .comments-button:hover {
    background-color: #fde6fc;
}

/* ===========================
   LAYOUT STYLES
=========================== */
.container {
    display: flex;
    flex: 1;
    width: 69%;
    margin: 0 auto;
}


/* Hide main-content scrollbars */
.main-content::-webkit-scrollbar {
    display: none;
}

.toc-section {
    border: 1px solid #fde6fc;
    background-color: #0D1B2A; /* Dark navy */
    margin: 0 auto;
    height: 200px;
    overflow-y: auto; /* Enables vertical scroll if content overflows */
}


.toc-section h4 {
    color: #fff;
}

.dark-mode .toc-section h4 {
    color: #fff;
}


.toc-section li  {
    font-size: 0.8rem!important;
    line-height: 1.5rem;
    font-weight: bold;
}

@media screen and (min-width: 1600px) {

.toc-section li  {
    font-size: 0.5rem;
    line-height: 1.68rem;
}

.toc-section {
    height: 250px;
}

.toc-section a {
  display: inline-block;
  padding: 1px 3px;
  color: #B3E5FC;               /* light blue text */
  text-decoration: none;
  transition: background-color 0.3s ease;
  width: 90%;

}
}


.toc-section ul {
  list-style: none;
  padding: 0;
  margin-top: 25px;
  flex-wrap: wrap;       /* wrap to next line if needed */
  gap: 1px;             /* spacing between buttons */

}


.toc-section a {
  display: inline-block;
  padding: 1px 3px;
  color: #B3E5FC;               /* light blue text */
  text-decoration: none;
  transition: background-color 0.3s ease;
  width: 90%;

}

/* Hover and focus states for better interactivity */
.toc-section a:hover,
.toc-section a:focus {
    border-bottom: 2px solid #B3E5FC;
    color: #61f6ff;
}

.dark-mode .toc-section a:hover,
.dark-mode .toc-section a:focus {
    border-bottom: 2px solid #fde6fc;
    color: #FF4081;
}


.banner-image {
    width: 100%;
    height: 350px;
    display: block;
    margin: 0 auto;
    margin-top: 1.1%;
    object-fit: fill;
}

@media screen and (min-width: 1600px) {
.banner-image {
    height: 450px;
}
}

.author-banner {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    margin-top: 1.1%;
    object-fit: fill;
}

@media screen and (min-width: 1600px) {
.author-banner {
    height: auto;
}
}


/* ===========================
   HEADER & NAVIGATION
=========================== */

header {
    background-image: 
        url('https://aifruitsloveisland.com/wp-content/uploads/2026/03/Ai-Fruit-Love-Island-Header-Banner-Characters.webp'),
        url('https://aifruitsloveisland.com/wp-content/uploads/2026/03/Ai-Fruits-Love-Island-Day-Beach-Banner.webp');

    background-size: 
        contain,   /* characters */
        100% auto;     /* beach */

    background-repeat: 
        space, 
        no-repeat;

    background-position: 
        center, 
        center 42%;

    color: #fff;
    padding: 3px 5px;
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 80px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999999999 !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.site-title {
    position: absolute;
    top: 2%;
    left: 50%;
    transform: translateX(-50%);
}

.site-title:hover {
  transform: translateX(-50%);
  animation: pulseGlowBlue 1.2s ease-in-out infinite alternate;
}

.dark-mode .site-title:hover {
  transform: translateX(-50%);
  animation: pulseGlowPink 1.2s ease-in-out infinite alternate;
}

@keyframes pulseGlowPink {
  from {
    filter: drop-shadow(0 0 6px #FF4081) 
            drop-shadow(0 0 12px #fde6fc);
  }
  to {
    filter: drop-shadow(0 0 12px #FF4081) 
            drop-shadow(0 0 24px #fde6fc);
  }
}

@keyframes pulseGlowBlue {
  from {
    filter: drop-shadow(0 0 6px #61f6ff) 
            drop-shadow(0 0 12px #B3E5FC);
  }
  to {
    filter: drop-shadow(0 0 12px #61f6ff) 
            drop-shadow(0 0 24px #B3E5FC);
  }
}



.site-title img {
    height: 55px;
}

.main-content {
    padding-top: 60px; /* Push content below the fixed header */
}

/* Fixed Sidebars */
.sidebar {
    padding: 10px;
    position: fixed;
    top: 85.5px!important;
    left: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sidebar-right {
    padding: 10px;
    position: fixed;
    top: 85.5px!important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
    right: 0;
}

.sidebar, .sidebar-right {
    width: 16.5%;
    height: 100%!important;
    z-index: 1200;
    background-color: #b3e5fc21;
}


/* Main Content Area */
.main-content {
    width: 82.5%;
    margin: 0 auto;
}

.header-row {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}

.header-icons {
    display: flex;
    gap: 10px;
    position: absolute;
    top: 1%;
    right: 1%;
}

.header-icons button {
    background: none;
    border: none;
    cursor: pointer;
}

/* Category Navigation */
.category-nav {
    display: flex;
    justify-content: center;
    gap: 20px;
    width: 100%;
    flex-wrap: wrap;
    padding-top: 38px;
}

.category-nav a {
    text-decoration: none;
    color: #fff;
    padding: 2px;
    font-size: 0.8rem;
    font-width: bold;
}

.category-nav a:hover {
    color: #61f6ff;

}

/* ===========================
   MOBILE MENU
=========================== */

.dark-mode .mobile-menu-content a {
    color: #fff;
}

.dark-mode .mobile-menu-content button {
    color: #fff;
}

.dark-mode .mobile-menu {
    background: #333;
}

.dark-mode .mobile-menu-content {
    background: black;
}

.dark-mode  .mobile-menu.active .mobile-menu-content {
    background: black;
}

.mobile-menu {
    display: none;
    text-align: center;
    padding: 0;
    background: #e0e0e0;
}

.mobile-menu button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
}

.mobile-menu-content {
    display: none;
    padding: 10px;
    background: #f8f9fa;
}

.mobile-menu.active .mobile-menu-content {
    display: block;
}

/* ===========================
   MEDIA QUERIES - MOBILE
=========================== */
@media screen and (max-width: 1280px) {
    /* Hide sidebars */
    .sidebar, .sidebar-right {
        display: none;
    }
    
  html {
  scroll-padding-top: 70px!important;
}

h2, h3, .wp-block-heading {
  scroll-margin-top: 70px!important;
}
  
    
#search-toggle {
    left: 7%;
    position: fixed;
}    

#dark-mode-toggle {
    left: 1%;
    position: fixed;}   

.site-title img {
    height: 45px;
}
    
    .mobile-menu,
.mobile-menu-content {
    border: none !important; /* Remove any borders */
    outline: none !important; /* Remove outlines */
    box-shadow: none !important; /* Remove shadows */
    background-color: #f8f9fa; /* Ensure background is consistent */
}
    
      body.admin-bar header {
    top: 46px !important; /* Adjust as needed */
  }
  
  
  #search-container {
  padding: 10px;
  background: #0D1B2A;
  border: 1px solid #333;
  position: absolute; /* or fixed, based on your design */
        top: 90px!important; /* Adjust for mobile */
        width: 100%; /* Prevent it from being too wide */
  z-index: 1001;
}
  


body {
    overflow-x: hidden; /* Prevent horizontal scrolling */
    overflow-y: auto; /* Allow vertical scrolling */
    padding-bottom: 0;
}

      #wpadminbar {
    position: fixed !important;
    top: 0 !important;
    bottom: auto !important;
    width: 100%;
    z-index: 99999 !important;
  }
    
        body.admin-bar header {
        top: 0;
    }
    
 /* Let the children of .meta-left act as direct children of .post-meta */
  .meta-left {
    display: contents;
  }
  
  /* Use a grid layout for .post-meta */
  .post-meta {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* Three equal columns */
    grid-template-rows: auto auto;
    grid-template-areas:
      "author author author"
      "follow comments share";
    gap: 3px;
    align-items: center;
    font-size: 0.5rem;
    margin-top: -1%;
    margin-bottom: 1%;
  }
  
  /* Author info spans the full top row */
  .author-info {
    grid-area: author;
    text-align: center;

  }
  
  /* Follow icons go in the left cell of the second row */
  .follow-us {
    grid-area: follow;
    display: flex;

    gap: 5px;
  }
  
  /* Comments button goes in the center cell */
  .comments-button {
    grid-area: comments;
    font-size: 0.6rem;  /* Smaller font size for better fit */
    padding: 0 0.2px;    /* Adjust padding as needed */
    margin-left: 5px;
  }
  
  /* Share icons go in the right cell of the second row */
  .social-share {
    grid-area: share;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
  }
  
  /* Optionally, reduce the icon sizes for a tighter fit */
  .follow-icon i,
  .share-icon i {
    font-size: 0.5rem;
  }
  

    
    .site-title {
    top: 15%;
    right: 0%;
    position: absolute;
}


    /* Full-width main content */
    .main-content {
        width: 100%!important;
        margin-left: 0;
        position: relative;
    }
    
        /* Full-width main content */
    .supplementary-content {
        width: 100%!important;
        position: relative!important;
        max-width: 100%!important;
        padding: 0 15px!important; /* optional: adds side padding */
        box-sizing: border-box!important;
        margin: 0 auto!important;
    }
    
      .container {
    width: 100%!important;
    max-width: 100%;
    padding: 0 15px; /* optional: adds side padding */
    box-sizing: border-box;
    margin: 0 auto;
  }

    /* Typography adjustments */
    h1 {
        font-size: 2rem;
        margin: 20px 0;
    }

  .banner-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 400px;
    margin-top: 0;
  }
  
    .author-image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 200px;
    margin-top: 0;
  }

    .description {
        font-size: 1rem;
        margin: 10px;
        line-height: 1.5;
        margin-bottom: 15px;
    }

    h2 {
        font-size: 1.5rem;
        margin-top: 20px;
        margin-bottom: 10px;
        padding-bottom: 4px;
    }

    h3, .p3 {
        font-size: 1.3rem;
        margin-top: 15px;
        margin-bottom: 8px;
    }
    
        h4 {
        font-size: 1.1rem;
        margin-top: 15px;
        margin-bottom: 8px;
    }

    p {
        font-size: 1rem;
        line-height: 1.6;
    margin-bottom: 0px;
    }
    

    


    /* Mobile-specific layout */
  /* Ensure the header stays fixed at the top */
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
  }
  
  
  /* Mobile Menu Container */
  .mobile-menu {
    position: absolute; /* So it doesn't affect the header's height */
    top: 100%; /* Place it immediately below the header */
    width: 100%;
    z-index: 999; /* Ensure it's behind the header */
  }
  
   .mobile-menu {
    display: flex;       /* or block, whichever you prefer */
    flex-direction: column;
  }
  /* keep content hidden until .active */
  .mobile-menu-content {
    display: none;
  }
  .mobile-menu.active .mobile-menu-content {
    display: block;
  }
  
  .dark-mode #menu-toggle {
      color: #fff;
  }
  
  @media screen and (max-width: 1280px) {
  .mobile-menu {
    display: flex !important; /* or block if you prefer */
    flex-direction: column;
    right: 0;
    width: 100%;
    z-index: 1000;
  }
  
  /* keep its inner content hidden until you toggle */
  .mobile-menu-content {
    display: none;
  }
  .mobile-menu.active .mobile-menu-content {
    display: block;
  }
}
  
  /* Mobile Menu Content with Transition */
  
  /* When the menu is active (opened) */
  .mobile-menu.active .mobile-menu-content {
    max-height: 500px; /* Adjust as needed based on content */
    background-color: #f8f9fa;
    padding: 15px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: max-height 0.3s ease-out;

    align-items: center; /* Center items horizontally */
    justify-content: center; /* Center items vertically */
  }
  
  #toc-toggle {
      font-size: 1.05rem;
  }
  
  /* Style the links and buttons within the mobile menu */
  .mobile-menu-content a,
  .mobile-menu-content button {
    display: block;
    margin: 0 auto!important;
    font-size: 1.05rem;
    color: #333;
    text-decoration: none;
    padding: 10px!important;
    transition: background-color 0.3s ease;
    border: none;
    background: none;
    width: auto; /* Make sure width is not full */
    text-align: center;

  }
  
  /* Hover and Focus State for Menu Items */
  .mobile-menu-content a:hover,
  .mobile-menu-content button:hover {
    background-color: #dcdcdc;
  }

    .pc-only {
        display: none;
    }

    .mobile-only {
        display: flex;
    }

    /* Adjust category navigation */
    .category-nav {
        gap: 10px;
        font-size: 0.8rem;
    }

    /* Override social share positioning */
    .social-share {
        position: relative;
        left: auto;
        margin: 10px auto 0;
    }

    /* Comments button spacing */
    .comments-button {
        margin-right: 10px;
    }

    /* Stack homepage sections */
    .homepage-content {
        flex-direction: column;
    }
    .latest-articles, 
    .homepage-sidebar {
        width: 100%;
    }

  .close-ad {
    right: auto;
    left: 85%; /* Adjust this value to move it further left */
  }

    
    
}

/* ===========================
   MOBILE ENHANCEMENTS (max-width: 480px)
=========================== */
@media screen and (max-width: 480px) {
  header {
    padding: 0 0;
  }
  


  /* Arrange title and icons in one row */
  .header-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  
  /* Remove absolute positioning from icons on mobile */
  .header-icons {
    top: 5%;
    right: 1%;
  }
  

  

    .header-icons button {
        font-size: 18px;
    }

.category-nav {
    visibility: hidden;
}

    

    .category-nav a {
        visibility: hidden;
    }
    
    .nav-menu li a {
        visibility: hidden;
    }
    .mobile-menu button {
        font-size: 24px;
    }
    .comments-button {
        margin-right: 5px;
    }
    
      .mobile-menu:not(.active) {
    background: transparent;
    padding: 0;
  }
  
  .announcement-track {
    padding-left: 80vw; /* Reduce padding so it starts earlier */
    animation: scrollText 300s linear infinite; /* Adjust timing */
}

.featured-sections .featured-item h2 {
    font-size: 0.88rem;
}

.featured-sections .featured-item h3, .featured-sections .featured-item .p3 {
    font-size: 0.88rem;
}

.featured-sections .featured-item p {
    font-size: 0.75rem;
}
    
}

/* ===========================
   DARK MODE STYLES
=========================== */
.dark-mode {
    --background-color: #121212;
    --text-color: #ffffff;
}


.dark-mode footer {
    background-color: #333;
    color: #fff;
}

.dark-mode header {
    background-image: 
        url('https://aifruitsloveisland.com/wp-content/uploads/2026/03/Ai-Fruit-Love-Island-Header-Banner-Characters.webp'),
        url('https://aifruitsloveisland.com/wp-content/uploads/2026/03/Ai-Fruits-Love-Island-Night-Beach-Banner.webp');
}



.dark-mode footer p {
    color: #fff;
}

footer p {
    color: #fff;
}

.dark-mode .sidebar, 
.dark-mode .sidebar-right {
    background-color: #fde6fc4a;
    color: #fff;
}

/* Dark Mode - Change pink sections to brown/grey */
.dark-mode .featured-item,
.dark-mode .community-engagement,
.dark-mode .spotlight-feature {
    background: #333;
    color: #fff;
}

.featured-item:hover, .spotlight-feature:hover, .latest-article:hover, .related-article:hover {
    background: #B3E5FC;
}

.dark-mode .featured-item:hover, .dark-mode .spotlight-feature:hover, .dark-mode .latest-article:hover, .dark-mode .related-article:hover {
    background: #fde6fc;   
}



.featured-article h4 {
        color: #fff;
}


.dark-mode .featured-article h4 {
        color: #fff;
}

.my-custom-table th, figure.wp-block-table.my-custom-table th {
    color: #fff;
    background-color: #696969;
    align-content: center;
}



.my-custom-table td, figure.wp-block-table.my-custom-table td {
    background-color: #404040;
}


.spotlight-feature img {
    border: 2px solid #0D2137;
}

.featured-item a,
.community-engagement p,
.spotlight-feature p {
    color: #fff;
}



.dark-mode .description {
    color: #bbbbbb;
}

.dark-mode .category-nav a {
    color: black;
    font-weight: bold;
}

.dark-mode .category-nav a:hover {
    color: #FF4081;
}


.dark-mode h1, 
.dark-mode h2, 
.dark-mode h3,
.dark-mode h4, 
.dark-mode p {
    color: #fff;
}

.dark-mode .post-meta {
    color: #bbb;
}

.dark-mode .post-meta .post-author {
    color: #fff;
}

.dark-mode .post-meta .post-date {
    color: #ccc;
}



.dark-mode .main-content::-webkit-scrollbar {
    display: none;
}

/* ===========================
   FOOTER & BOTTOM AD BANNER
=========================== */
body:not(.home) .homepage-container,
body:not(.home) .container {
    padding-bottom: 40px;
}




.promo-space {

  width: 100%;
}

.promo-placeholder {
  width: 100%;
  height: 100px;             /* same height as your SVG */
  background-color: #ddd;    /* mimic the 'rect' background */
  border: 2px solid #ccc;    /* mimic the outer #ccc background */
  display: flex;             /* center text horizontally/vertically */
  align-items: center;
  justify-content: center;
  color: #888;               /* text color */
  font-size: 20px;           /* font size from your SVG text */
  font-family: sans-serif;   /* or your preferred font */
  margin-bottom: -5px;
}

.on-page-promo-space {
  width: 81.5%;
  margin-left: 9%;
  margin-bottom: 25px;
  margin-top: 25px;
}

.on-page-promo-placeholder {
  width: 100%;
  height: 350px;             /* same height as your SVG */
  background-color: #ddd;    /* mimic the 'rect' background */
  border: 2px solid #ccc;    /* mimic the outer #ccc background */
  display: flex;             /* center text horizontally/vertically */
  align-items: center;
  justify-content: center;
  color: #888;               /* text color */
  font-size: 20px;           /* font size from your SVG text */
  font-family: sans-serif;   /* or your preferred font */
  margin-bottom: 5px;
}

@media screen and (min-width: 1600px) {
.on-page-promo-space {
  width: 56.25%;
  margin-left: 21.75%;
}

.on-page-promo-placeholder {
  width: 100%;
  height: 400px;             /* same height as your SVG */
  background-color: #ddd;    /* mimic the 'rect' background */
  border: 2px solid #ccc;    /* mimic the outer #ccc background */
  display: flex;             /* center text horizontally/vertically */
  align-items: center;
  justify-content: center;
  color: #888;               /* text color */
  font-size: 20px;           /* font size from your SVG text */
  font-family: sans-serif;   /* or your preferred font */
  margin-bottom: 5px;
}

.promo-placeholder {
  height: 155px;
}

.featured-article-image {
  height: 168px!important;
  width: 100%!important;
}

.featured-article h5 {
    max-height: 50px!important;
    font-size: 11.5px!important;
}

.featured-article {
    height: 220px!important;


}
}


.featured-article {
    margin-top: 0 auto;
    margin-bottom: -4px;
    background-color: #0D1B2A; /* Dark navy */
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    width: 100%;
    max-width: 300px; /* Adjust based on your layout */
    height: 220px;
}

.featured-article a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

/* Featured Image Container */
.featured-article-image {
    height: 168px; /* Keep consistent height */
    overflow: hidden;
    border-radius: 0;
    background-color: #ddd; /* Default placeholder */
    width: 100%!important;
}

/* Image Styling */
.featured-article-image img {
    width: 100%;
    height: 100%;
    object-fit: fill; /* Crops and scales image to fit */
    border-radius: 0;
}

/* Placeholder for No Image */
.placeholder-featured {
    width: 100%;
    height: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #888;
}

/* Featured Article Title */
.featured-article h5 {
    font-size: 11.5px;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    color: #B3E5FC;
    max-height: 40px;
}



#bottom-ad-banner {
    position: fixed;
    bottom: 0;
    width: 75.6%;
    margin: 0 11.5%;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 85px;
    z-index: 999999;
}

#home-bottom-ad-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    margin: 0 auto;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 85px;
    z-index: 999999;
}

@media screen and (max-width: 480px) {
#bottom-ad-banner {
    bottom: 0;
    width: 100%;
    margin: 0 auto;
}
#home-bottom-ad-banner {
    bottom: 0;
}

.on-page-promo-space {
  width: 75%;
  margin-left: 12.5%;
}

.on-page-promo-placeholder {
  height: 200px;             /* same height as your SVG */
}
}



@media screen and (min-width: 1600px) {
.bottom-ad-content {
    max-width: 1800px!important;
}
#bottom-ad-banner {
    width: 100%;
    margin: 0 auto;
    height: 80px;
}
}

@media screen and (max-width: 480px) {

.bottom-ad-content {
    max-width: 480px;
}

.close-ad {

    top: 15px!important;

}

}

.bottom-ad-content img {
    width: 100%;
    height: auto;
    max-height: 90px;
}

.close-ad {
    position: absolute;
    top: 10px;
    right: 30px;
    background: #fff;
    color: #000;
    font-size: 16px;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: bold;
}

.dark-mode #bottom-ad-banner {
    background: rgba(20, 20, 20, 0.9);
}

/* ===========================
   HOMEPAGE LAYOUT
=========================== */
.homepage-container {
    width: 90%;
    margin: 0 auto;
}

.main-navigation {
    margin-bottom: 20px;
}

.nav-menu {
    display: flex;
    justify-content: space-around;
    list-style: none;
    padding: 0;
}

.nav-menu li a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}



.featured-sections {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
  margin: 20px 0 40px;
}

@media screen and (min-width: 1600px) {
.featured-item {
    height: 300px!important;
}
}

.featured-item {
    flex: 1;
    min-width: 220px;
    max-width: 300px;
    background: #333;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    transition: background 0.3s;
    height: 330px;
}


.featured-image {
    width: auto;
    max-width: 300px; /* Adjust this as needed */
    height: 150px;
    overflow: hidden;
    justify-content: center;
    display: flex; /* Enables flexbox */
    margin: 0 auto; /* Ensures it's centered in block layout */
}

.featured-image img {
    width: 100%;
    height: 150px;
    display: block;
    object-fit: fill;
    border-radius: 8px; /* Optional: Rounded corners */
}


.featured-article {
  transition: transform 0.2s ease-in-out;
  margin: 0 auto!important;
}

.featured-article:hover {
  transform: scale(1.15);
}

.featured-item a {
    text-decoration: none;
}

.featured-item h2 {
    margin-bottom: 10px;
    font-size: 1.2rem;
    color: #fff;
}

.featured-item h3, .featured-item .p3 {
    margin-bottom: 10px;
    font-size: 1.2rem;
    color: #fff;
    padding-left: 0;
}

@media screen and (max-width: 1280px) {
  .featured-sections {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px; /* Reduced gap for mobile */
  }
  
  @media (max-width: 768px) {
.announcement-bar { 
    margin-top: 35px!important;
    margin-right: 0!important;
    width: 100%!important;
}
}


body.home .announcement-bar,
body.home #search-container {
    width: 100% !important;
    margin-right: 0 !important; /* optional: removes the little gap */
}

@media (min-width: 769px) and (max-width: 1599px) {
.announcement-bar {
    width: 64.7%!important;
}
}



  
.featured-item {
    padding: 10px;
    font-size: 0.9rem;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%!important;
    height: 260px;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    overflow: hidden;
}


.featured-item p {
    flex-grow: 1;
    overflow: hidden;
    word-break: break-word;
    margin: 0;
}

  
  /* Optionally, adjust headings inside grid items */
  .featured-item h2 {
    font-size: 1rem; /* Smaller heading on mobile */
    margin-bottom: 5px;
  }
  
    .featured-item h3, .featured-item .p3 {
    font-size: 1rem; /* Smaller heading on mobile */
    margin-bottom: 5px;
  }
  
  .featured-item p {
    font-size: 0.8rem;
  }
  
  .featured-image {
    width: auto;
    max-width: 150px; /* Adjust this as needed */
    height: 75px;
    overflow: hidden;
}

.featured-image img {
    width: 100%;
    height: 75px;
    display: block;
    object-fit: fill;
    border-radius: 8px; /* Optional: Rounded corners */
}

  
}

.article-summary {
    margin-bottom: 20px;
}

.article-summary p {
    height: 150px; /* Adjust as needed */
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin-bottom: -5%;
}

.homepage-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}


.latest-articles {
    width: 66%;
    grid-template-columns: repeat(4, 1fr); /* Creates two equal columns */
    gap: 20px; /* Adjust spacing between items */
}

.article-summary img:not(.avatar) {
    height: 200px;
}

.latest-articles h2 {
    grid-column: span 4; /* Make the first H2 span both columns */
    text-align: center;
    justify-self: center; /* Centers horizontally in the grid */
    font-size: 1.5rem;
    margin-bottom: 5%;
    width: 100%; /* Ensures full width */
}




.latest-articles h3::before {
    left: 0.15%;
}

@media screen and (min-width: 1600px) {
.latest-articles h3::before {
    left: 0.15%;
}
}

@media screen and (max-width: 1280px) {

.latest-articles h3::before {
  left: 0.15%;
}

.article-summary img:not(.avatar) {
    height: 100px;
}

.latest-articles {
    grid-template-columns: repeat(2, 1fr); /* Creates two equal columns */
    gap: 5px; /* Adjust spacing between items */
}
.latest-articles h2 {
    grid-column: span 2; /* Make the first H2 span both columns */
}

.article-summary p {
    height: 75px; /* Adjust as needed */
    margin-bottom: -5%;
}

}


.homepage-sidebar {
    width: 33%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 160px;
}

.community-engagement, .spotlight-feature {
    background: #333;
    padding: 15px;
    border-radius: 8px;
    text-align: center;
}



.community-engagement h2, .spotlight-feature h2 {
    font-size: 1rem;
}

.community-engagement p, .spotlight-feature p {
    font-size: 0.85rem;
    text-align: left;
}

.spotlight-feature img {
    width: 100%;
    border-radius: 8px;
}

@media screen and (max-width: 1280px) {
    .homepage-content {
        flex-direction: column;
    }
    .latest-articles, .homepage-sidebar {
        width: 100%;
    }
}

/*    ☞ Mobile-only override + menu display  ☜  */
@media (max-width: 768px) {
  /* anything you've tagged as mobile-only gets shown */
  .mobile-only {
    display: block !important;
  }

  /* ensure your mobile menu container actually lays out */
  .mobile-menu {
    display: flex !important;
    flex-direction: column;
  }
}

/* ✅ Force Site Map heading to break full-width on both flex & grid */
.featured-sections > h2 {
  flex-basis: 100% !important;  /* full row in flexbox */
  width: 100% !important;       /* backup for older browsers */
  grid-column: 1 / -1 !important; /* span all columns in grid */
  display: block !important;
  text-align: center;
  margin-bottom: 1rem;
  order: -1; /* ensures it stays on top even if flex reorders */
}

/* Firefox support */
* {
    scrollbar-width: thin;
    scrollbar-color: #61f6ff rgb(0 0 0);
}

.dark-mode * {
    scrollbar-color: #ff42a9 rgb(0 0 0);

}

.icon {
  width: 16px;
  height: 16px;
  display: block;
  color: currentColor;
}

#menu-toggle .icon {
  width: 20px;
  height: 20px;
}

/* Sun / Moon toggle */
.icon-moon {
  display: none;
}

.icon-moon:hover {
    color: #FF4081;
}

.icon-sun:hover {
    color: #61f6ff;
}


.dark-mode .icon-sun {
  display: none;
}

.dark-mode .icon-moon {
  display: block;
}

.share-svg {
  width: 16px;
  height: 16px;
  display: inline-block;
  color: currentColor;
}