/* =========================
BASE TYPOGRAPHY
========================= */

body{
  font-family: Calibri, sans-serif;
  color:#000;
  background:#eef5f7;
}

p{
  line-height:1.75 !important;
}

h1,h2,h3,h4,h5,h6{
  font-family: Cambria, serif;
  color:#000 !important;
}

img{
  border-radius:4px;
}
.site-content,
#content,
.content-area,
#primary{

  max-width:1200px;
  margin:0 auto;

  background:#fff;

  box-shadow:0 0 10px rgba(0,0,0,0.08);

}
.entry-content a{
  font-weight:600;
  text-decoration:none;
}

.entry-content a:hover{
  text-decoration:underline;
}

.entry-content h2{
  margin-top:36px;
}

.entry-content table{
  border-collapse:collapse;
  width:100%;
}

.entry-content th,
.entry-content td{
  padding:10px;
  border:1px solid #ddd;
}

.entry-content h2{
  margin-top:36px;
}

/* Sidebar Widget Text */

#secondary .widget,
#secondary .widget p,
#secondary .widget h1,
#secondary .widget h2,
#secondary .widget h3,
#secondary .widget h4,
#secondary .widget h5,
#secondary .widget h6,
#secondary .widget li,
#secondary .widget span,
#secondary .widget a{
  color:#fff !important;
}
/* =========================
LINKS
========================= */

a{
  color:#0000EE;
}

a:hover,
a:focus{
  color:#0000CC;
}

/* =========================
READABILITY
========================= */

p,
li{
  font-size:18px;
  line-height:1.75;
  margin-bottom:1.2em;
}

/* =========================
CONTENT WIDTH
========================= */

.entry-content,
.site-content,
.wp-block-post-content{
  max-width:900px;
  margin:auto;
}

/* =========================
SECTION SPACING
========================= */

h2{
  margin-top:1.8em;
  margin-bottom:.6em;
}

h3{
  margin-top:1.4em;
  margin-bottom:.4em;
}

/* =========================
IMAGES
========================= */

img{
  border:1px solid #084d50;
  max-width:100%;
  height:auto;
  display:block;
}

/* =========================
TABLES
========================= */

table{
  width:100%;
  border-collapse:collapse;
  margin:20px 0;
}

th,
td{
  padding:10px;
}

/* =========================
FIX GUTENBERG COLOR CLASSES
========================= */

.entry-content,
.wp-block-post-content{
  color:#000 !important;
}


/* ensure headings never turn blue */
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.wp-block-post-content h2,
.wp-block-post-content h3,
.wp-block-post-content h4,
.wp-block-post-content h5,
.wp-block-post-content h6{
  color:#000 !important;
}

/* Keep links blue */
.entry-content a,
.wp-block-post-content a{
  color:#0000EE !important;
}

.entry-content a:hover,
.wp-block-post-content a:hover{
  color:#0000CC !important;
}

/* Remove conflicting block backgrounds */
.entry-content .has-background-color,
.wp-block-post-content .has-background-color{
  background:transparent !important;
}

/* =========================
HOMEPAGE TITLE FIX
========================= */

.hide-homepage-title .entry-header,
.hide-homepage-title .entry-title,
.hide-homepage-title .page-title,
.hide-homepage-title .wp-block-post-title{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}


.main-navigation ul.sub-menu a,
.main-navigation ul ul a,
.main-navigation .sub-menu a {
    color: #ffffff !important;
}
.main-navigation ul ul a {
    color: #ffffff !important;
}

.main-navigation ul ul a[href*="rentals"],
.main-navigation ul ul a[href*="hotels"] {
    color: #ffd700 !important;
    font-weight: 600;
}
.main-navigation ul ul a[href*="rentals"],
.main-navigation ul ul a[href*="hotels"],
.main-navigation ul ul a[href*="beach-houses"] {
    color: #ffd700 !important;
    font-weight: 600;
}

.main-navigation ul ul a[href*="rentals"]:hover,
.main-navigation ul ul a[href*="hotels"]:hover,
.main-navigation ul ul a[href*="beach-houses"]:hover {
    color: #ffd700 !important;
}
/* ===== GRID SYSTEM ===== */
.eb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
  margin-top: 15px;
}

/* ===== BUTTON STYLE ===== */
.eb-button {
  display: block;
  text-align: center;
  padding: 16px;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  text-decoration: none;
  color: #1e3a5f;
  font-weight: 600;
  transition: all 0.2s ease;
}

/* ===== HOVER EFFECT ===== */
.eb-button:hover {
  background: #1e3a5f;
  color: #ffffff;
  transform: translateY(-2px);
}

/* ===== PRIMARY BUTTON ===== */
.eb-button-primary {
  background: #1e3a5f;
  color: #ffffff;
  border: none;
}

.eb-button-primary:hover {
  background: #16324d;
}
/* ===== SECTION HEADER ===== */
.eb-grid-title {
  text-align: center;
  font-size: 22px;
  margin-top: 30px;
}
@media (max-width: 768px) {
  img {
    float: none !important;
    display: block;
    margin: 10px auto;
    width: 100%;
    height: auto;
  }
}
@media (max-width: 768px) {
  .wp-element-caption {
    display: none;
  }
}
@media (max-width: 768px) {

  /* =========================
     TEXT & UX IMPROVEMENTS
     ========================= */

  p {
    font-size: 17px;
    line-height: 1.65;
  }

  h2, h3 {
    line-height: 1.25;
    margin-top: 28px;
    margin-bottom: 12px;
  }

  a.wp-block-button__link,
  .wp-block-button__link {
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px 18px;
    margin-bottom: 10px;
  }

  table {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }

  li {
    margin-bottom: 8px;
    line-height: 1.55;
  }

  iframe {
    max-width: 100%;
  }


  /* =========================
     IMAGE & LAYOUT FIXES
     ========================= */

  img {
    float: none !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    height: auto;
  }

  .alignleft,
  .alignright {
    float: none !important;
    display: block !important;
    margin: 10px auto !important;
  }

  .wp-block-columns {
    display: block !important;
  }

  .wp-block-column {
    width: 100% !important;
    margin-bottom: 15px;
  }

  .wp-block-media-text {
    display: block !important;
  }

  .wp-block-media-text__media {
    margin-bottom: 10px;
  }

}
@media (max-width: 768px) {
  .wp-element-caption {
    display: none;
  }
}
/* Hide ALL image captions on mobile */
@media screen and (max-width: 768px) {

    figcaption,
    .wp-caption-text,
    .wp-element-caption,
    .blocks-gallery-caption,
    .gallery-caption,
    .wp-block-image figcaption,
    .wp-block-gallery figcaption {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

}
/* Sullivan's Island mobile menu visibility fix */
@media screen and (max-width: 768px) {

  .main-navigation,
  .main-navigation ul,
  .main-navigation li,
  .main-navigation ul ul,
  .main-navigation ul ul li,
  .menu,
  .menu-item {
    background: #ffffff !important;
  }

  .main-navigation a,
  .main-navigation a:link,
  .main-navigation a:visited,
  .main-navigation a:not(:hover),
  .main-navigation ul a,
  .main-navigation ul a:link,
  .main-navigation ul a:visited,
  .main-navigation ul ul a,
  .main-navigation ul ul a:link,
  .main-navigation ul ul a:visited,
  .menu a,
  .menu a:link,
  .menu a:visited,
  .menu-item a,
  .menu-item a:link,
  .menu-item a:visited {
    color: #1e3a5f !important;
    -webkit-text-fill-color: #1e3a5f !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #ffffff !important;
  }

  .main-navigation a:hover,
  .main-navigation a:focus,
  .main-navigation a:active,
  .menu a:hover,
  .menu a:focus,
  .menu a:active {
    color: #1e3a5f !important;
    -webkit-text-fill-color: #1e3a5f !important;
    background: #ffffff !important;
  }
}
/* Gold mobile money links */
@media screen and (max-width: 768px) {

  .main-navigation ul ul a[href*="hotels"],
  .main-navigation ul ul a[href*="rentals"],
  .main-navigation ul ul a[href*="vacation-rentals"],
  .main-navigation ul ul a[href*="beach-houses"],
  .main-navigation ul ul a[href*="weddings"],
  .main-navigation ul ul a[href*="where-to-get-married"] {
    color: #b8860b !important;
    -webkit-text-fill-color: #b8860b !important;
    font-weight: 600;
  }

}

/* Beach Widget Text Fix */

.si-beach-widget,
.si-beach-widget * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.si-beach-widget .si-beach-link,
.si-beach-widget .si-beach-link:visited,
.si-beach-widget .si-beach-link:hover,
.si-beach-widget .si-beach-link:active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: none !important;
}
/* Hide theme-generated H1 page titles on mobile */

@media (max-width:768px){

  .site-main .entry-title,
  .site-main .page-title,
  .content-area .entry-title,
  .content-area .page-title,
  article > h1,
  main h1.entry-title{
    display:none !important;
  }

	/* SI hero paragraph */
.si-hero .si-hero-color {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
	
/* Normal SI pages — black text */
body:not(.page-id-19) .entry-content,
body:not(.page-id-19) .entry-content p,
body:not(.page-id-19) .entry-content li,
body:not(.page-id-19) .entry-content span,
body:not(.page-id-19) .wp-block-post-content,
body:not(.page-id-19) .wp-block-post-content p,
body:not(.page-id-19) .wp-block-post-content li,
body:not(.page-id-19) .wp-block-post-content span {
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
}
	
	/* Restore normal text fill color sitewide */
body {
  -webkit-text-fill-color: currentColor;
}

/* Restore normal text rendering sitewide */
body * {
  -webkit-text-fill-color: currentColor !important;
}

/* Keep SI hero paragraph white */
.si-hero .si-hero-color {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* =========================================
   SI HOMEPAGE — FINAL COLOR OVERRIDE
   ========================================= */

/* Desktop homepage: all content white */
body.page-id-19 .wp-block-post-content *,
body.page-id-19 .entry-content * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Desktop hero H2: black */
body.page-id-19 .si-hero .si-hero-heading {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
}

/* Mobile: hero H2 becomes white too */
@media screen and (max-width: 768px) {
    body.page-id-19 .si-hero .si-hero-heading {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }
}