/* =========================
   GLOBAL
========================= */

body{
margin:0;
font-family:'Playfair Display', serif;
color : #212529 !important;
} 


/* =========================
   HERO (MOBILE FIRST)
========================= */
/* TOP BAR */
.logo-header{
color: #FFF;
text-decoration: none;
font-family: 'Playfair Display', serif;
} 
.logo-footer{
color: white;
text-decoration: none;  
text-shadow: 1px 0px #dbe7fe;
}
.pm-topbar{
background:#b59771;
color:white;
font-size:13px;
padding:6px 0;
}

.pm-topbar a{
color:white;
margin-right:15px;
text-decoration:none;
}

/* NAV */

.pm-nav{
background:#232f3e;

}

.pm-nav .nav-link{
font-weight:600;
margin-left:15px; 
color : #fff;
} 
.pm-nav .navbar-toggler{
    border-color : #fff;
}

/* HERO */

.pm-hero{
position:relative;
background:url("./img/carnival-radiance.avif")
center/cover no-repeat;
min-height:420px;
display:flex;
align-items:flex-end;
padding:40px 10px;
}

.pm-hero-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.2);
}

.pm-cards{
position:relative;
z-index:2;
}

/* HERO CARDS */

.pm-hero-card{
background:#e9e9e9f2;
border-radius:12px;
padding:25px;
box-shadow:0 10px 25px rgba(0,0,0,.2);
}

.pm-btn{
background:#b59771;
color:white;
padding:10px 25px;
margin-top:10px;
}

/* MOBILE FIRST */

.pm-hero-card h4{
font-weight:700;
}

/* DESKTOP */

@media(min-width:992px){

.pm-hero{
min-height:520px;
align-items:center;
padding-bottom:0;
}

.pm-hero-card{
padding:35px;
}

}


/* =========================
   NEWS SECTION – MOBILE FIRST
========================= */

.pm-news{
background:#fff;
font-family:'Playfair Display', serif;
}

.pm-news-title{
position:relative;
display:inline-block;
padding-bottom:10px; 
}

.pm-news-title:after{
content:'';
position:absolute;
left:0;
bottom:0;
width:40px;
height:4px;
background:#1c9be6;
border-radius:3px;
}

.pm-news-btn{
background:#2e4b9b;
color:white;
padding:10px 22px;
border-radius:6px;
font-size:14px;
}

/* CARD */

.pm-news-card{
background:white;
border-radius:10px;
overflow:hidden;
box-shadow:0 6px 18px rgba(0,0,0,.12);
height:100%;
}

.pm-news-card img{
width:100%;
height:200px;
object-fit:cover;
}

.pm-news-body{
padding:20px;
}

.pm-news-body h5{
font-weight:700;
font-size:16px;
margin-bottom:10px;
color:#1c9be6;
}

.pm-news-body p{
font-size:14px;
color:#555;
margin:0;
}

/* TABLET */

@media(min-width:768px){

.pm-news-card img{
height:220px;
}

}

/* DESKTOP */

@media(min-width:992px){

.pm-news-btn{
font-size:15px;
}

.pm-news-body h5{
font-size:17px;
}

}


/* =========================
   ABOUT SECTION
========================= */

.pm-about{
padding:10px 0 0;
font-family:'Playfair Display', serif;
}

.pm-about-title{
font-weight:700;
position:relative;
display:inline-block;
padding-bottom:8px;
}

.pm-about-title:after{
content:'';
position:absolute;
left:0;
bottom:0;
width:35px;
height:4px;
background:#1c9be6;
border-radius:3px;
}


.pm-about-text{
max-width:700px;
margin:15px 0 40px;
font-size:15px;
color:#444;
}

/* IMAGE STATS */

.pm-about-bg{
position:relative;
background:url("./img/stats-banner.jpg")
center/cover no-repeat;
padding:60px 0;
}

.pm-about-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,.45);
}

.pm-about-bg .container{
position:relative;
z-index:2;
}

.pm-about-bg h3{
font-weight:800;
font-size:32px;
margin-bottom:5px;
}

.pm-about-bg p{
font-size:13px;
margin:0;
}

/* TABLET */

@media(min-width:768px){

.pm-about-bg h3{
font-size:40px;
}

}

/* DESKTOP */

@media(min-width:992px){

.pm-about-bg{
padding:90px 0;
}

.pm-about-bg h3{
font-size:46px;
}

.pm-about-bg p{
font-size:15px;
}

}


/* =========================
   CTA
========================= */

.miami-cta-wrap{
padding:40px 15px;
}

.miami-cta{
background:linear-gradient(135deg,#003b6f,#0a7bc2);
border-radius:16px;
padding:40px 25px;
color:white;
text-align:center;
}

/* =========================
   PORT MIAMI FOOTER
========================= */

.pm-footer{
background:#fff;
color: #545e69;
padding:50px 0;
font-family:'Playfair Display', serif;
}

.pm-footer h6{
font-weight:700;
margin-bottom:15px;
}

.pm-footer ul{
list-style:none;
padding:0;
margin:0;
}

.pm-footer li{
margin-bottom:10px;
}

.pm-footer a{
color:#545e69;
text-decoration:none;
font-size:14px;
}

.pm-footer a:hover{
text-decoration:underline;
}

.pm-footer-social{
display:flex;
gap:10px;
justify-content:center;
margin:15px 0;
}

.pm-footer-social a{
width:36px;
height:36px;
border-radius:50%;
background:white;
display:flex;
align-items:center;
justify-content:center;
color:#b59771;
font-size:14px;
}

.pm-legal{
font-size:11px;
opacity:.8;
margin-top:15px;
line-height:1.4;
}

/* DESKTOP */

@media(min-width:992px){

.pm-footer-social{
justify-content:flex-end;
}

.pm-legal{
max-width:300px;
margin-left:auto;
}

}


@media (max-width: 768px) {
    .hero-luxury {
        padding: 20px 0 70px;
    }
}



/* =========================
   MOBILE HEADER (SPOT STYLE)
========================= */

@media (max-width: 768px) { 
.pm-nav {
   
    display: none;
} 

}
.scroll-to-top {
  position: fixed;
  right: 18px;
  bottom: 20px;
  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
} 

.call-cta i {
    transform: rotate(11deg);
}



/* =========================
   PORT SEO SECTION
========================= */

.pm-seo-section{
    padding:70px 0;
    background:#fff;
    font-family:'Playfair Display', serif;
}

.pm-seo-header{
    max-width:850px;
    /*margin:auto;*/
    margin-bottom:50px;
}

.pm-seo-subtitle{
    display:inline-block;
    color:#1c9be6;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:10px;
    font-weight:600;
}

.pm-seo-header h1{
    font-size:38px;
    font-weight:700;
    color:#232f3e;
    margin-bottom:18px;
    line-height:1.3;
}

.pm-seo-header p{
    font-size:16px;
    color:#555;
    line-height:1.8;
}

.pm-seo-content{
    max-width:950px;
    /*margin:auto;*/
}

.pm-seo-block{
    margin-bottom:40px;
    padding-bottom:30px;
    border-bottom:1px solid #ececec;
}

.pm-seo-block:last-child{
    border-bottom:none;
}

.pm-seo-block h2{
    font-size:24px;
    font-weight:700;
    color:#232f3e;
    margin-bottom:15px;
    display:flex;
    align-items:center;
    gap:12px;
}
.pm-seo-block h3{
    font-size:22px;
    font-weight:700;
    color:#232f3e;
    margin-bottom:15px;
    display:flex;
    align-items:center;
    gap:12px;
}
.pm-seo-block h2 i{
    color:#1c9be6;
    font-size:20px;
}

.pm-seo-block p{
    font-size:16px;
    line-height:1.9;
    color:#444;
    margin-bottom:15px;
}

.pm-seo-block ul{
    padding-left:20px;
    margin-top:10px;
}

.pm-seo-block ul li{
    margin-bottom:10px;
    color:#444;
    line-height:1.8;
}

/* TABLET */
@media(max-width:991px){

.pm-seo-header h1{
    font-size:32px;
}

.pm-seo-block h2{
    font-size:22px;
}
.pm-seo-block h3{
    font-size : 20px; 
    line-height : 1.5; 
    align-items : flex-start;
}

}

/* MOBILE */
@media(max-width:768px){

.pm-seo-section{
    padding:20px 0;
}

.pm-seo-header{
    margin-bottom:35px;
}

.pm-seo-header h1{
    font-size:24px;
}

.pm-seo-header p,
.pm-seo-block p,
.pm-seo-block ul li{
    font-size:15px;
}

.pm-seo-block{
    margin-bottom:30px;
    padding-bottom:22px;
}

.pm-seo-block h2{
    font-size:20px;
    line-height:1.5;
    align-items:flex-start;
}
.pm-seo-block h3{
    font-size : 18px; 
    line-height : 1.5; 
    align-items : flex-start;
}
} 



/* =========================
   MAP SECTION
========================= */
.explore-port{
background:var(--light);
}

.explore-info{
background:#fff;
padding:20px;
border-radius:var(--radius);
box-shadow:0 10px 30px rgba(0,0,0,.08);
margin-bottom:20px;
}

.map-wrap{
width:100%;
height:385px;
border-radius:var(--radius);
overflow:hidden;
}

.map-wrap iframe{
width:100%;
height:100%;
}
