/*============================================================================================*/
/* Your custom styles below */
/*============================================================================================*/

:root{
  --theme-primary:#1e3a8a;
  --theme-primary-hover:#1d4ed8;
  --theme-accent:#1e3a8a;
  --theme-heading:#1f2937;
  --theme-body:#4b5563;
  --theme-muted:#6b7280;
  --theme-light:#ffffff;
  --theme-dark:#111827;
  --theme-outline:#1e3a8a;
  --theme-outline-hover-bg:#1e3a8a;
  --theme-outline-hover-text:#ffffff;
  --theme-small-label:#1e3a8a;
  --theme-overlay-light:rgba(255,255,255,0.72);
  --theme-overlay-dark:rgba(17,24,39,0.45);
  --theme-font-heading:"Inter",sans-serif;
  --theme-font-body:"Inter",sans-serif;
}
body{
  color:var(--theme-body);
  font-family:var(--theme-font-body);
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
a{
  color:var(--theme-accent);
}
a:hover, a:focus{
  color:var(--theme-primary-hover);
}
h1,h2,h3,h4,h5,h6{
  color:var(--theme-heading);
  font-family:var(--theme-font-heading);
}
.brand-logo-img,
.brand-logo-panel-img{
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.25));
}
.title small{
  color:var(--theme-small-label);
}
.btn_1:not(.outline){
  background-color:var(--theme-primary);
  border-color:var(--theme-primary);
  color:var(--theme-light);
}
.btn_1:not(.outline):hover{
  background-color:var(--theme-primary-hover);
  border-color:var(--theme-primary-hover);
  color:var(--theme-light);
}
.btn_1.outline{
  background-color:transparent;
  border-color:var(--theme-outline);
  color:var(--theme-outline);
}
.btn_1.outline:hover{
  background-color:var(--theme-outline-hover-bg);
  border-color:var(--theme-outline-hover-bg);
  color:var(--theme-outline-hover-text);
}
/* Ferry section button theming (scoped) */
#booking_section .btn-ferry-primary,
#booking_section .btn_1:not(.outline) {
  background-color: var(--ferry-primary, var(--theme-primary));
  border-color: var(--ferry-primary, var(--theme-primary));
  color: var(--ferry-primary-text, var(--theme-light));
}
#booking_section .btn-ferry-primary:hover,
#booking_section .btn_1:not(.outline):hover {
  background-color: var(--ferry-primary-hover, var(--theme-primary-hover));
  border-color: var(--ferry-primary-hover, var(--theme-primary-hover));
  color: var(--ferry-primary-text, var(--theme-light));
}
#booking_section .btn-ferry-outline,
#booking_section .btn_1.outline {
  background-color: transparent;
  border-color: var(--ferry-outline, var(--theme-outline));
  color: var(--ferry-outline, var(--theme-outline));
}
#booking_section .btn-ferry-outline:hover,
#booking_section .btn_1.outline:hover {
  background-color: var(--ferry-outline-hover-bg, var(--theme-outline-hover-bg));
  border-color: var(--ferry-outline-hover-bg, var(--theme-outline-hover-bg));
  color: var(--ferry-outline-hover-text, var(--theme-outline-hover-text));
}
#booking_section .ferry-badges{
  display:flex;
  flex-wrap:nowrap;
  gap:.5rem;
  white-space:nowrap;
}
#booking_section .ferry-badges .badge.rounded-pill{
  flex-shrink:0;
}
#booking_section .badge.rounded-pill{
  display:inline-flex;
  align-items:center;
  font-size:0.95rem;
  padding:.4rem .65rem;
}
#booking_section .ferry-card{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
#booking_section .ferry-top-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  width:100%;
  max-width:100%;
  margin-bottom:16px;
}
#booking_section .ferry-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
}
@media (max-width: 767px){
  #booking_section .ferry-top-badges{ gap:8px; }
  #booking_section .ferry-badge{ font-size:13px; padding:7px 10px; }
}
/* Ferry accent usage */
#booking_section .title small {
  color: var(--ferry-accent, var(--theme-small-label));
}
#booking_section .ferry-preview-item {
  border-color: var(--ferry-outline, #e5e7eb);
}

/* Ferry preview list */
#booking_section .ferry-preview-title {
  font-size: 1rem;
}
#booking_section .ferry-preview-list {
  display: grid;
  gap: .5rem;
}
#booking_section .ferry-preview-item {
  padding: .5rem .75rem;
  border: 1px solid #e5e7eb;
  border-radius: .5rem;
  background: #ffffff;
}
#booking_section .ferry-preview-item .status {
  font-weight: 600;
}
#booking_section .ferry-preview-item .status.available {
  color: #065f46;
}
#booking_section .ferry-preview-item .status.limited {
  color: #92400e;
}
#booking_section .ferry-preview-item .status.closed,
#booking_section .ferry-preview-item .status.cancelled {
  color: #991b1b;
}

/* Ferry section background overlay */
#booking_section {
  position: relative;
}
/* Ferry section overlay structure (no blur) */
#booking_section .ferry-section-wrap{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
#booking_section .ferry-section-overlay .title h2{
  color:#fff;
}
#booking_section .ferry-section-overlay p{
  color:rgba(255,255,255,0.92);
}
#booking_section .ferry-section-overlay .phone_element a,
#booking_section .ferry-section-overlay .phone_element a span{
  color:#fff;
}
#booking_section .ferry-section-overlay .phone_element a span em{
  color:rgba(255,255,255,0.78);
}

/* Testimonials accent usage */
#testimonials_section .title small {
  color: var(--test-accent, #fff);
}

/* Footer accent usage */
#footer_section h5 {
  border-bottom: 2px solid var(--footer-accent, var(--theme-accent));
  padding-bottom: .25rem;
}
#footer_section .social a:hover {
  color: var(--footer-accent, var(--theme-accent));
}
/* Override phone element link colors to use theme */
.phone_element a span{
  color: var(--theme-accent);
}
.phone_element a span em{
  color: var(--theme-muted);
}
