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

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

h1,h2,h3,h4,h5,h6{
  font-family: Cambria, serif;
  color:#000 !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;
}

/* keep headings black */
.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;
}

/* 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;
}

/* =========================
OLD HOMEPAGE (page ID 25)
========================= */

/* body text white */
body.page-id-25 .entry-content,
body.page-id-25 .entry-content p,
body.page-id-25 .entry-content li,
body.page-id-25 .entry-content span,
body.page-id-25 .entry-content div,
body.page-id-25 .wp-block-post-content,
body.page-id-25 .wp-block-post-content p,
body.page-id-25 .wp-block-post-content li{
  color:#fff !important;
}

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

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

/* H1 black */
body.page-id-25 h1,
body.page-id-25 .entry-title{
  color:#000 !important;
}

/* H2-H6 white */
body.page-id-25 h2,
body.page-id-25 h3,
body.page-id-25 h4,
body.page-id-25 h5,
body.page-id-25 h6,
body.page-id-25 .wp-block-heading{
  color:#fff !important;
}

/* =========================
NEW HOMEPAGE (page ID 701)
Ensure normal text behavior
========================= */

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

body.page-id-701 a{
  color:#0000EE !important;
}

body.page-id-701 a:hover{
  color:#0000CC !important;
}

body.page-id-701 h1,
body.page-id-701 h2,
body.page-id-701 h3,
body.page-id-701 h4,
body.page-id-701 h5,
body.page-id-701 h6{
  color:#000 !important;
}
/* Homepage dropdown menu text should be white */
.home .main-navigation ul ul a,
.front-page .main-navigation ul ul a{
color:#ffffff !important;
}
.main-navigation ul ul a {
    color: #ffffff !important;
}

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

.main-navigation ul ul a:hover {
    background-color: rgba(255,255,255,0.08);
    transition: all 0.2s ease;
}

.main-navigation ul ul a[href*="hotels"]:hover,
.main-navigation ul ul a[href*="rentals"]:hover,
.main-navigation ul ul a[href*="beach-houses"]:hover,
.main-navigation ul ul a[href*="vacation-rentals"]:hover,
.main-navigation ul ul a[href*="weddings"]:hover,
.main-navigation ul ul a[href*="where-to-get-married"]:hover {
    color: #ffd700 !important;
}
/* Homepage body content links only */
.home .entry-content a,
.home .entry-content a:visited,
.home .wp-block-post-content a,
.home .wp-block-post-content a:visited {
  color: #d4af37 !important;
}

.home .entry-content a:hover,
.home .entry-content a:focus,
.home .entry-content a:active,
.home .wp-block-post-content a:hover,
.home .wp-block-post-content a:focus,
.home .wp-block-post-content a:active {
  color: #d4af37 !important;
}
/* Existing (keep this) */
.home .entry-content a,
.home .wp-block-post-content a {
  color: #d4af37 !important;
}

/* Add this below */
.home .entry-content a:hover,
.home .wp-block-post-content a:hover {
  color: #c19b2e !important;
  text-decoration: underline;
}
@media (max-width: 768px) {
  img {
    float: none !important;
    display: block;
    margin: 10px auto;
    width: 100%;
    height: auto;
  }
}

@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;
    }
}
/* Fix invisible IOP mobile menu text on white background */
.main-navigation a,
.main-navigation ul li a,
.primary-menu a,
.primary-menu li a,
.menu-primary-container a,
.nav-menu a,
.site-navigation a,
.wp-block-navigation a {
  color: #1e3a5f !important;
  -webkit-text-fill-color: #1e3a5f !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Keep dropdown/mobile menu background white */
.main-navigation,
.primary-menu,
.primary-menu-container,
.menu-primary-container,
.nav-menu,
.wp-block-navigation__responsive-container {
  background: #ffffff !important;
}

/* Hover/tap color */
.main-navigation a:hover,
.primary-menu a:hover,
.menu-primary-container a:hover,
.nav-menu a:hover,
.wp-block-navigation a:hover {
  color: #2d5d8a !important;
  -webkit-text-fill-color: #2d5d8a !important;
}

/* Global Heading Sizes */
h1 {
  font-size: 38px !important;
  line-height: 1.2 !important;
}

h2 {
  font-size: 30px !important;
  line-height: 1.3 !important;
}

h3 {
  font-size: 24px !important;
  line-height: 1.35 !important;
}

h4 {
  font-size: 20px !important;
  line-height: 1.4 !important;
}

h5 {
  font-size: 18px !important;
  line-height: 1.4 !important;
}

h6 {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

/* Mobile heading adjustments */
@media (max-width: 768px) {
  h1 {
    font-size: 30px !important;
  }

  h2 {
    font-size: 26px !important;
  }

  h3 {
    font-size: 22px !important;
  }
}
