@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700;800&family=Jost:wght@300;400;500;600;700&display=swap');

:root {
  --red:       #C8102E;
  --red-dk:    #9e0b22;
  --red-lt:    #f4d0d7;
  --teal:      #007f8c;
  --teal-dk:   #005f6a;
  --teal-lt:   #e0f4f6;
  --white:     #ffffff;
  --cream:     #fdfaf8;
  --navy:      #0d1f2d;
  --gray:      #6b7685;
  --gray-lt:   #f4f6f8;
  --border:    #e2e8ed;
  --shadow-sm: 0 2px 12px rgba(13,31,45,.08);
  --shadow-md: 0 6px 28px rgba(13,31,45,.12);
  --shadow-lg: 0 16px 56px rgba(13,31,45,.18);
  --radius:    12px;
  --radius-lg: 20px;
  --font-head: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Jost', sans-serif;
  --transition: all .28s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--cream);color:var(--navy);overflow-x:hidden;line-height:1.7;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:700;line-height:1.2;color:var(--navy);}
h1{font-size:clamp(2rem,5vw,3.6rem);}
h2{font-size:clamp(1.6rem,3.5vw,2.5rem);}
h3{font-size:clamp(1.2rem,2.5vw,1.7rem);}
p{color:var(--gray);font-size:.95rem;}

.section{padding:5rem 0;}
.section-sm{padding:3rem 0;}
.eyebrow{display:inline-block;font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:.6rem;}
.section-title{margin-bottom:.5rem;}
.divider{width:48px;height:3px;border-radius:2px;background:var(--red);margin:.8rem 0 1.5rem;}
.divider-teal{background:var(--teal);}
.divider-center{margin-left:auto;margin-right:auto;}
.bg-teal-lt{background:var(--teal-lt);}
.bg-red-lt{background:var(--red-lt);}
.bg-gray-lt{background:var(--gray-lt);}
.text-teal{color:var(--teal);}
.text-red{color:var(--red);}

/* NAVBAR */
.navbar{background:var(--white);border-bottom:3px solid var(--red);position:sticky;top:0;z-index:1050;box-shadow:0 2px 20px rgba(200,16,46,.1);}
.nav-logo{display:flex;align-items:center;gap:10px;}
.nav-logo-icon{width:40px;height:40px;background:var(--red);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.nav-logo-text{font-family:var(--font-head);font-size:1.3rem;font-weight:700;color:var(--navy);line-height:1.1;}
.nav-logo-text span{color:var(--red);}
.nav-logo-sub{font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);}
.navbar-nav .nav-link{font-size:.82rem;font-weight:600;color:var(--navy)!important;letter-spacing:.04em;padding:1rem .9rem!important;position:relative;transition:var(--transition);}
.navbar-nav .nav-link::after{content:'';position:absolute;bottom:0;left:.9rem;right:.9rem;height:2px;background:var(--red);transform:scaleX(0);transition:transform .25s ease;}
.navbar-nav .nav-link:hover::after,.navbar-nav .nav-link.active::after{transform:scaleX(1);}
.navbar-nav .nav-link:hover{color:var(--red)!important;}
.btn-nav-book{background:var(--red);color:var(--white)!important;border-radius:6px;font-size:.8rem!important;font-weight:700!important;padding:.55rem 1.3rem!important;letter-spacing:.06em;transition:var(--transition);border:2px solid var(--red);}
.btn-nav-book:hover{background:var(--red-dk)!important;border-color:var(--red-dk);}
.btn-nav-book::after{display:none!important;}
.navbar-toggler{border:1px solid var(--red);padding:4px 8px;}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23C8102E' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}

/* PAGE BANNER */
.page-banner{background:linear-gradient(135deg,var(--navy) 0%,#0d3444 60%,var(--teal-dk) 100%);position:relative;overflow:hidden;padding:4.5rem 0;}
.page-banner::before{content:'';position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1548574505-5e239809ee19?w=1600&q=70') center/cover;opacity:.12;}
.page-banner-overlay{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,var(--cream),transparent);}
.page-banner h1{color:var(--white);}
.page-banner p{color:rgba(255,255,255,.7);}
.breadcrumb-item{font-size:.78rem;}
.breadcrumb-item a{color:rgba(255,255,255,.6);}
.breadcrumb-item.active{color:rgba(255,255,255,.9);}
.breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.4);}

/* BUTTONS */
.btn-red{background:var(--red);color:var(--white);border:2px solid var(--red);border-radius:6px;font-weight:600;font-size:.85rem;padding:.7rem 1.8rem;letter-spacing:.06em;transition:var(--transition);display:inline-block;cursor:pointer;}
.btn-red:hover{background:var(--red-dk);border-color:var(--red-dk);color:var(--white);}
.btn-teal{background:var(--teal);color:var(--white);border:2px solid var(--teal);border-radius:6px;font-weight:600;font-size:.85rem;padding:.7rem 1.8rem;letter-spacing:.06em;transition:var(--transition);display:inline-block;cursor:pointer;}
.btn-teal:hover{background:var(--teal-dk);border-color:var(--teal-dk);color:var(--white);}
.btn-outline-red{background:transparent;color:var(--red);border:2px solid var(--red);border-radius:6px;font-weight:600;font-size:.85rem;padding:.7rem 1.8rem;letter-spacing:.06em;transition:var(--transition);display:inline-block;}
.btn-outline-red:hover{background:var(--red);color:var(--white);}
.btn-outline-teal{background:transparent;color:var(--teal);border:2px solid var(--teal);border-radius:6px;font-weight:600;font-size:.85rem;padding:.7rem 1.8rem;letter-spacing:.06em;transition:var(--transition);display:inline-block;}
.btn-outline-teal:hover{background:var(--teal);color:var(--white);}
.btn-white{background:var(--white);color:var(--navy);border:2px solid var(--white);border-radius:6px;font-weight:700;font-size:.85rem;padding:.7rem 1.8rem;letter-spacing:.06em;transition:var(--transition);display:inline-block;}
.btn-white:hover{background:var(--red);border-color:var(--red);color:var(--white);}

/* CRUISE CARD */
.cruise-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border);display:flex;flex-direction:column;}
.cruise-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.cruise-card-img{position:relative;overflow:hidden;}
.cruise-card-img img{width:100%;height:210px;object-fit:cover;transition:transform .5s;}
.cruise-card:hover .cruise-card-img img{transform:scale(1.05);}
.cruise-badge{position:absolute;top:12px;left:12px;background:var(--red);color:var(--white);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:4px;}
.cruise-badge-teal{background:var(--teal);}
.cruise-nights{position:absolute;top:12px;right:12px;background:rgba(13,31,45,.75);color:var(--white);backdrop-filter:blur(6px);font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:20px;}
.cruise-card-body{padding:1.4rem;flex:1;display:flex;flex-direction:column;}
.cruise-card-body h4{font-size:1.05rem;margin-bottom:.4rem;line-height:1.35;}
.cruise-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem;}
.cruise-meta-item{display:flex;align-items:center;gap:5px;font-size:.78rem;color:var(--gray);}
.cruise-meta-item i{color:var(--teal);}
.cruise-rating{display:inline-flex;align-items:center;gap:4px;background:#fff8e6;color:#b07900;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:.7rem;}
.cruise-features{border-top:1px solid var(--border);padding-top:.8rem;margin-top:auto;}
.cruise-features li{font-size:.8rem;color:var(--gray);padding:2px 0;display:flex;align-items:center;gap:6px;}
.cruise-features li i{color:var(--teal);font-size:.75rem;}
.cruise-card-footer{background:var(--gray-lt);padding:1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;}
.price-tag{font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--red);}
.price-tag small{font-size:.7rem;font-weight:400;color:var(--gray);font-family:var(--font-body);display:block;}

/* BLOG CARD */
.blog-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border);}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.blog-card-img{position:relative;overflow:hidden;}
.blog-card-img img{width:100%;height:190px;object-fit:cover;transition:transform .5s;}
.blog-card:hover .blog-card-img img{transform:scale(1.04);}
.blog-cat-tag{position:absolute;bottom:10px;left:12px;background:var(--teal);color:var(--white);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:4px;}
.blog-card-body{padding:1.2rem;}
.blog-card-body h5{font-size:1rem;line-height:1.4;margin-bottom:.5rem;}
.blog-card-body h5 a{color:var(--navy);transition:color .2s;}
.blog-card-body h5 a:hover{color:var(--red);}
.blog-card-body p{font-size:.82rem;color:var(--gray);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.blog-meta{display:flex;gap:1rem;font-size:.75rem;color:var(--gray);margin-bottom:.6rem;flex-wrap:wrap;}
.blog-meta i{color:var(--teal);}

/* INLINE CRUISE CARD */
.inline-cruise-card{background:linear-gradient(135deg,var(--navy) 0%,#1a3a50 100%);border-radius:var(--radius);padding:1.5rem;display:flex;gap:1.2rem;align-items:center;margin:2rem 0;border-left:4px solid var(--red);box-shadow:var(--shadow-md);}
.inline-cruise-card img{width:110px;height:80px;object-fit:cover;border-radius:8px;flex-shrink:0;}
.inline-cruise-card-info h5{color:var(--white);font-size:1rem;margin-bottom:.3rem;}
.inline-cruise-card-info p{font-size:.8rem;color:rgba(255,255,255,.65);margin-bottom:.6rem;}
@media(max-width:576px){.inline-cruise-card{flex-direction:column;}.inline-cruise-card img{width:100%;height:150px;}}

/* FAQ */
.faq-accordion .accordion-item{border:1px solid var(--border);border-radius:10px!important;margin-bottom:.65rem;overflow:hidden;}
.faq-accordion .accordion-button{font-family:var(--font-head);font-size:1.05rem;color:var(--navy);background:var(--white);font-weight:600;}
.faq-accordion .accordion-button:not(.collapsed){color:var(--red);background:#fff5f7;box-shadow:none;}
.faq-accordion .accordion-button:focus{box-shadow:none;}
.faq-accordion .accordion-body{font-size:.9rem;color:var(--gray);}

/* SIDEBAR */
.sidebar-card{background:var(--white);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);margin-bottom:1.5rem;}
.sidebar-card h5{font-size:1.1rem;border-bottom:2px solid var(--red);padding-bottom:.6rem;margin-bottom:1rem;}
.sidebar-link{display:flex;align-items:center;gap:8px;padding:.5rem 0;font-size:.85rem;color:var(--navy);border-bottom:1px solid var(--border);transition:color .2s;}
.sidebar-link:hover{color:var(--red);}
.sidebar-link i{color:var(--teal);font-size:.8rem;}

/* FOOTER */
.site-footer{background:var(--navy);color:rgba(255,255,255,.65);}
.footer-top{padding:4rem 0 2.5rem;}
.footer-brand-text{font-family:var(--font-head);font-size:1.5rem;color:var(--white);}
.footer-brand-text span{color:var(--red);}
.footer-desc{font-size:.85rem;margin:.8rem 0 1.2rem;}
.footer-social{display:flex;gap:.8rem;}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);transition:var(--transition);font-size:.9rem;}
.footer-social a:hover{background:var(--red);border-color:var(--red);color:var(--white);}
.footer-heading{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--white);margin-bottom:1rem;}
.footer-links li{margin-bottom:.4rem;}
.footer-links a{font-size:.84rem;color:rgba(255,255,255,.55);transition:color .2s;}
.footer-links a:hover{color:var(--red);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0;}
.footer-bottom p{font-size:.8rem;margin:0;}
.footer-bottom a{color:rgba(255,255,255,.4);font-size:.8rem;transition:color .2s;}
.footer-bottom a:hover{color:var(--white);}
.footer-divider{background:var(--red);height:3px;}

/* FORMS */
.form-label{font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:.3rem;}
.form-control,.form-select{border:1px solid var(--border);border-radius:8px;font-size:.9rem;padding:.65rem 1rem;transition:border-color .2s,box-shadow .2s;font-family:var(--font-body);}
.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,127,140,.12);outline:none;}
textarea.form-control{resize:vertical;min-height:120px;}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.anim-up{opacity:0;animation:fadeUp .65s ease forwards;}
.d1{animation-delay:.1s;}.d2{animation-delay:.2s;}.d3{animation-delay:.3s;}.d4{animation-delay:.4s;}.d5{animation-delay:.55s;}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

@media(max-width:991px){.section{padding:3.5rem 0;}}
@media(max-width:767px){.section{padding:2.5rem 0;}}
